/* =====================================================
   CAFETERÍA DCARMEN - STYLE.CSS
   ===================================================== */

/* ---------- RESET ---------- */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background:#F3ECE1;
    color:#342012;
    min-height:100vh;
}




button,
input,
select,
textarea{
    font-family:inherit;
}

/* ---------- WRAPPER ---------- */
.wrapper{
    display:flex;
    min-height:100vh;
    background:linear-gradient(180deg, #F7F1E7 0%, #EFE1D2 100%);
}

/* =====================================================
   SIDEBAR
   ===================================================== */
.sidebar{
    width:280px;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    background:#2C1A12;
    color:#F5E6D0;
    overflow-y:auto;
    box-shadow:6px 0 28px rgba(0,0,0,.18);
    z-index:1000;
}

.sidebar-header{
    padding:32px 24px;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.08);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.sidebar-logo{
    width:80px;
    max-width:100%;
    height:auto;
}



.sidebar-header h4{
    color:#FFD89E;
    margin-bottom:6px;
    font-weight:700;
    font-size:1.25rem;
}

.sidebar-header small{
    color:#E9D6BB;
    font-size:13px;
    letter-spacing:0.08em;
}

.menu{
    list-style:none;
    padding:18px 0;
}

.menu-title{
    padding:18px 28px 10px;
    color:#E6C09A;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.4px;
}

.menu li{
    margin:4px 0;
}

.menu li a{
    display:flex;
    align-items:center;
    gap:14px;
    color:#F7E7D4;
    text-decoration:none;
    padding:14px 26px;
    border-radius:14px;
    transition:.28s ease;
}

.menu li a i{
    font-size:18px;
    min-width:24px;
    text-align:center;
}

.menu li a:hover{
    background:rgba(255,255,255,.08);
    transform:translateX(4px);
}

.menu li a.active{
    background:#A9774F;
    color:#FFF;
    border-left:4px solid #FFD89E;
}

.menu li a.logout{
    color:#FFE5E0;
}

.menu li a.logout:hover{
    background:#A12A2C;
}

/* =====================================================
   MAIN
   ===================================================== */
.main{
    margin-left:280px;
    width:calc(100% - 280px);
    min-height:100vh;
}

/* =====================================================
   NAVBAR
   ===================================================== */
.navbar{
    height:76px;
    background:rgba(255,255,255,.96);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
    border-bottom:1px solid rgba(39,16,8,.08);
    box-shadow:0 6px 20px rgba(0,0,0,.06);
    position:sticky;
    top:0;
    z-index:999;
}

.navbar-left,
.navbar-right{
    display:flex;
    align-items:center;
    gap:18px;
}

.navbar-title h5{
    margin:0;
    color:#3F271E;
    font-weight:800;
}

.navbar-title small{
    color:#78543B;
}

.search-box input{
    width:260px;
    border-radius:999px;
    border:1px solid rgba(117,82,61,.24);
    padding:10px 18px;
    outline:none;
    transition:.25s ease;
    background:rgba(255,255,255,.95);
    color:#5A3D2B;
}

.search-box input:focus{
    border-color:#C08C5C;
    box-shadow:0 0 0 4px rgba(192,140,92,.12);
}

.icon-btn{
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:#FFF;
    cursor:pointer;
    transition:.3s ease;
    display:flex;
    justify-content:center;
    align-items:center;
}

.icon-btn:hover{
    background:#F2E4D6;
    transform:translateY(-2px);
}

.notification{
    position:relative;
}

.notification .badge{
    position:absolute;
    top:-6px;
    right:-6px;
    background:#D9534F;
    color:#FFF;
    border-radius:50%;
    padding:3px 7px;
    font-size:11px;
}

.user-profile{
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
}

.user-profile img{
    width:46px;
    height:46px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #D1A66F;
}

.user-info strong{
    display:block;
    font-size:14px;
    color:#432913;
}

.user-info small{
    color:#7A5B44;
}

.dropdown-menu{
    border:none;
    border-radius:14px;
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.dropdown-item{
    padding:11px 18px;
}

.dropdown-item:hover{
    background:#FAF2E8;
}

/* =====================================================
   CONTENIDO
   ===================================================== */
.contenido{
    padding:32px 34px;
}

.card{
    border:none;
    border-radius:22px;
    box-shadow:0 16px 40px rgba(0,0,0,.08);
    transition:.28s ease;
    background:#fff;
}

.card:hover{
    transform:translateY(-4px);
}

.card-header{
    background:#FBF5EF;
    border-bottom:1px solid #F0E2D5;
    font-weight:700;
}

.table{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
}

.table thead{
    background:#3E2316;
    color:#FFF;
}

.table thead th{
    border:none;
    font-weight:600;
}

.table tbody tr{
    border-bottom:1px solid #F0E0D3;
}

.table tbody tr:last-child{
    border-bottom:none;
}

.table tbody td{
    vertical-align:middle;
    padding:16px 18px;
}

.table tbody tr:nth-child(even){
    background:#FBF3EC;
}

.btn-primary{
    background:#9F6B42;
    border:none;
    border-radius:10px;
    padding:10px 20px;
}

.btn-primary:hover{
    background:#7C5538;
}

.btn-success{
    background:#3C8D5B;
    border:none;
}

.btn-danger{
    background:#BB3B38;
    border:none;
}

.btn-secondary{
    background:#7A5E49;
    border:none;
}

.btn{
    transition:.25s ease;
}

.btn:hover{
    transform:translateY(-1px);
}

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-thumb{
    background:rgba(136,79,35,.55);
    border-radius:10px;
}

@media(max-width:992px){
    .sidebar{
        width:240px;
    }

    .main{
        margin-left:240px;
        width:calc(100% - 240px);
    }

    .search-box{
        display:none;
    }
}

@media(max-width:768px){
    .sidebar{
        left:-280px;
        transition:.3s;
    }

    .sidebar.active{
        left:0;
    }

    .main{
        margin-left:0;
        width:100%;
    }

    .navbar{
        padding:0 18px;
    }

    .navbar-title{
        display:none;
    }

    .user-info{
        display:none;
    }
}

@media(max-width:576px){
    .contenido{
        padding:18px;
    }

    .icon-btn{
        width:38px;
        height:38px;
    }

    .menu li a{
        padding:12px 22px;
    }
}

/* ===============================
   DASHBOARD
================================ */
.dashboard-card{
    border:none;
    border-radius:22px;
    transition:.3s ease;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(0,0,0,.1);
}

.dashboard-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.16);
}

.dashboard-card .card-body{
    padding:30px;
}

.dashboard-card i{
    opacity:.88;
}

.dashboard-card h5{
    margin-top:15px;
    font-weight:600;
}

.dashboard-card h2{
    font-size:2.3rem;
    font-weight:bold;
}