:root {
    --bg: #081220;
    --panel: #0f1c2f;
    --panel-2: #11243b;
    --line: rgba(143, 188, 255, .14);
    --text: #eef5ff;
    --muted: #95afc9;
    --accent: #3bd2ff;
    --accent-2: #4b73ff;
    --danger: #ff5b82;
    --success: #6df7b6;
}
* { box-sizing:border-box; }
body { margin:0; font-family: Inter, system-ui, Arial, sans-serif; background: linear-gradient(180deg, #07111e, #0a1727); color: var(--text); }
a { color: inherit; text-decoration:none; }
.admin-shell { display:grid; grid-template-columns: 280px 1fr; min-height:100vh; }
.admin-sidebar { border-right:1px solid var(--line); background: rgba(7,17,30,.86); padding: 1.4rem; position: sticky; top:0; height:100vh; }

.admin-main { padding: 1.5rem; }
.admin-topbar { margin-bottom: 1rem; }
.admin-topbar h1 { margin:.2rem 0; font-size: 2rem; }
.admin-topbar p { color: var(--muted); margin:0; }
.flash { padding: 1rem 1.1rem; border-radius: 18px; margin-bottom:1rem; }
.flash-success { background: rgba(109,247,182,.12); color: var(--success); border:1px solid rgba(109,247,182,.2); }
.flash-error { background: rgba(255,91,130,.12); color: #ff9bb5; border:1px solid rgba(255,91,130,.2); }
.panel, .stat-card, .login-card { background: var(--panel); border:1px solid var(--line); border-radius: 26px; padding: 1.35rem; }
.stats-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.stat-card strong { display:block; font-size: 2rem; margin-bottom: .3rem; }
.stat-card span { color: var(--muted); }
.admin-grid, .quick-grid, .form-grid, .toggle-grid { display:grid; gap:1rem; }
.admin-grid { grid-template-columns: 1fr; }
.quick-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.quick-grid a, .btn-admin, .form-actions button, .login-form button {
    display:inline-flex; align-items:center; justify-content:center; padding: .95rem 1.2rem; border-radius: 16px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#07111e; font-weight:700; border:0; cursor:pointer;
}
.btn-admin { width: fit-content; }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.table-scroll { overflow:auto; }
table { width:100%; border-collapse: collapse; }
th, td { padding: .95rem .7rem; border-bottom: 1px solid var(--line); text-align:left; }
th { color: var(--muted); font-weight:600; }
.actions { display:flex; gap:1rem; }
.actions a:last-child { color: #ff9bb5; }
.admin-search { display:flex; gap:1rem; margin-bottom:1rem; }
.admin-search input, .editor-form input, .editor-form textarea, .editor-form select, .login-form input {
    width:100%; padding: .95rem 1rem; border-radius:16px; border:1px solid var(--line); background: var(--panel-2); color: var(--text);
}
.editor-form { display:grid; gap:1rem; }
.form-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.editor-form label { display:grid; gap:.5rem; color: var(--muted); }
.ingredient-row { display:grid; grid-template-columns: .7fr 1fr 1fr; gap:.8rem; margin-bottom:.8rem; }
.toggle-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.form-actions { display:flex; gap:1rem; align-items:center; }
.login-body { display:grid; place-items:center; min-height:100vh; }
.login-card { width:min(520px, calc(100% - 2rem)); }
.login-brand { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.login-form { display:grid; gap:1rem; }
.login-note { color: var(--muted); margin-top: 1rem; font-size:.95rem; }
@media (max-width: 960px) {
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; height:auto; }
    .stats-grid, .quick-grid, .form-grid, .toggle-grid, .ingredient-row { grid-template-columns: 1fr; }
}
.admin-nav{
    display:flex;
    flex-direction:column;
    gap:28px;
    margin-top:20px;
}

.admin-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    border-radius:10px;
    color:#9fb4c9;
    text-decoration:none;
    font-size:15px;
    transition:.18s ease;
}

.admin-nav a:hover{
    background:rgba(255,255,255,.05);
    color:#ffffff;
}

.nav-icon{
    width:20px;
    text-align:center;
    opacity:.8;
}

.nav-group{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.nav-group-title{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#5f7a95;
    margin-bottom:6px;
    padding-left:4px;
}

.nav-logout{
    color:#ff8c8c;
}

.nav-logout:hover{
    background:rgba(255,0,0,.08);
    color:#ffb0b0;
}