/* =====================================================
   KitchenPro
   Versão 0.1
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --primary:#2563EB;
    --dark:#0F172A;
    --dark-hover:#1E293B;
    --background:#F1F5F9;
    --white:#FFFFFF;
    --border:#E2E8F0;
    --text:#334155;
    --text-light:#94A3B8;
    --success:#22C55E;
    --danger:#EF4444;
    --warning:#F59E0B;

}

body{

    font-family:Arial, Helvetica, sans-serif;
    background:var(--background);
    color:var(--text);

}

/* ===============================
   Layout
================================ */

.wrapper{

    display:flex;
    min-height:100vh;

}

.main{

    flex:1;
    margin-left:260px;

}

/* ===============================
   Sidebar
================================ */

.sidebar{

    position:fixed;

    top:0;
    left:0;

    width:260px;
    height:100vh;

    background:var(--dark);

    color:#fff;

    display:flex;

    flex-direction:column;

}

.logo{

    padding:25px;

    display:flex;

    align-items:center;

    gap:15px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.logo-icon{

    width:50px;
    height:50px;

    border-radius:50%;

    background:var(--primary);

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:bold;

    font-size:18px;

}

.logo-text h2{

    font-size:20px;

}

.logo-text small{

    color:#CBD5E1;

}

/* ===============================
   Menu
================================ */

.menu{

    padding:20px 15px;

    flex:1;

}

.menu-title{

    color:#64748B;

    font-size:12px;

    display:block;

    margin-bottom:15px;

    text-transform:uppercase;

    letter-spacing:1px;

}

.menu-item{

    display:flex;

    align-items:center;

    gap:12px;

    color:#CBD5E1;

    text-decoration:none;

    padding:12px 15px;

    border-radius:10px;

    transition:.2s;

    margin-bottom:6px;

}

.menu-item:hover{

    background:var(--dark-hover);

    color:#fff;

}

.menu-item i{

    font-size:18px;

}

/* ===============================
   Rodapé Sidebar
================================ */

.sidebar-footer{

    padding:20px;

    border-top:1px solid rgba(255,255,255,.08);

    color:#94A3B8;

    font-size:12px;

}

/* ===============================
   Topbar
================================ */

.topbar{

    background:#fff;

    height:70px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 35px;

    border-bottom:1px solid var(--border);

}

.topbar h2{

    font-size:24px;

}

.topbar-right{

    color:#64748B;

}

/* ===============================
   Conteúdo
================================ */

.content{

    padding:35px;

}

/* ===============================
   Cards
================================ */

.card{

    background:#fff;

    border-radius:14px;

    padding:25px;

    box-shadow:0 5px 18px rgba(15,23,42,.05);

    border:1px solid var(--border);

    margin-bottom:20px;

}

.card-title{

    font-size:14px;

    color:#64748B;

    margin-bottom:12px;

}

.card-value{

    font-size:34px;

    font-weight:bold;

    color:var(--primary);

}

/* ===============================
   Grid
================================ */

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}

/* ===============================
   Responsivo
================================ */

@media(max-width:900px){

    .sidebar{

        width:80px;

    }

    .logo-text{

        display:none;

    }

    .menu span{

        display:none;

    }

    .main{

        margin-left:80px;

    }

}


/* ====================================
BOTÕES
==================================== */

.btn-primary{

    background:#2563EB;

    color:white;

    border:none;

    padding:12px 20px;

    border-radius:8px;

    cursor:pointer;

    font-size:15px;

    transition:.2s;

}

.btn-primary:hover{

    background:#1d4ed8;

}


/* ====================================
TABELAS
==================================== */

.table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

}

.table thead{

    background:#F8FAFC;

}

.table th{

    text-align:left;

    padding:15px;

    font-size:14px;

    color:#475569;

    border-bottom:1px solid #E2E8F0;

}

.table td{

    padding:15px;

    border-bottom:1px solid #E2E8F0;

}

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

}

/* ==============================
FORMULÁRIOS
============================== */

.form-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:20px;

}

.form-group{

display:flex;

flex-direction:column;

margin-bottom:20px;

}

.form-group label{

font-weight:600;

margin-bottom:8px;

color:#334155;

}

.form-group input,
.form-group select{

padding:12px;

border:1px solid #CBD5E1;

border-radius:8px;

font-size:15px;

background:white;

}

.form-group input:focus,
.form-group select:focus{

outline:none;

border-color:#2563EB;

}

.btn-secondary{

background:#64748B;

color:white;

padding:12px 20px;

border-radius:8px;

text-decoration:none;

display:flex;

align-items:center;

justify-content:center;

}