:root{
    --admin-bg:#f5f7fb;
    --admin-surface:#ffffff;
    --admin-border:#e3e8ef;
    --admin-text:#16263a;
    --admin-muted:#748399;
    --admin-primary:#173d6d;
    --admin-primary-2:#245c9e;
    --admin-soft:#eef4fb;
    --admin-success:#eaf7ef;
    --admin-success-text:#2d6c44;
    --admin-sidebar:#0f2138;
    --admin-sidebar-text:#d9e4f0;
    --admin-sidebar-muted:#91a3b9;
    --admin-danger:#a33a3a;
    --shadow:0 14px 40px rgba(16,38,66,.08);
}

body{
    background:var(--admin-bg);
    color:var(--admin-text);
}

.admin-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
}

.admin-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    background:var(--admin-sidebar);
    color:var(--admin-sidebar-text);
    display:flex;
    flex-direction:column;
    padding:22px 16px;
    z-index:30;
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 8px 22px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.admin-brand-mark{
    width:42px;
    height:42px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--admin-sidebar);
    font-weight:800;
    letter-spacing:.04em;
}

.admin-brand-text{
    display:grid;
    gap:2px;
}

.admin-brand-text strong{
    font-size:14px;
}

.admin-brand-text span{
    color:var(--admin-sidebar-muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.admin-nav{
    display:grid;
    gap:6px;
    margin-top:22px;
    overflow:auto;
}

.admin-nav-section{
    margin:18px 10px 6px;
    color:var(--admin-sidebar-muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-weight:800;
}

.admin-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 12px;
    color:var(--admin-sidebar-text);
    text-decoration:none;
    border-radius:10px;
    font-size:14px;
}

.admin-nav a:hover{
    background:rgba(255,255,255,.06);
}

.admin-nav a.active{
    background:#fff;
    color:var(--admin-sidebar);
    font-weight:700;
}

.nav-icon{
    width:22px;
    text-align:center;
    font-size:16px;
}

.admin-sidebar-footer{
    margin-top:auto;
    padding:18px 10px 4px;
    display:grid;
    gap:6px;
    border-top:1px solid rgba(255,255,255,.08);
    color:var(--admin-sidebar-muted);
    font-size:12px;
}

.admin-sidebar-footer a{
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.admin-main{
    min-width:0;
}

.admin-topbar-shell{
    position:sticky;
    top:0;
    z-index:20;
    min-height:74px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--admin-border);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 28px;
}

.admin-topbar-left,
.admin-topbar-right{
    display:flex;
    align-items:center;
    gap:14px;
}

.admin-topbar-left>div{
    display:grid;
    gap:2px;
}

.admin-topbar-kicker{
    color:var(--admin-muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.admin-user-chip{
    display:flex;
    align-items:center;
    gap:10px;
}

.admin-user-avatar{
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--admin-soft);
    color:var(--admin-primary);
    display:grid;
    place-items:center;
    font-weight:800;
}

.admin-user-meta{
    display:grid;
    gap:2px;
}

.admin-user-meta strong{
    font-size:13px;
}

.admin-user-meta span{
    font-size:11px;
    color:var(--admin-muted);
}

.icon-button,
.sidebar-toggle{
    width:38px;
    height:38px;
    border:1px solid var(--admin-border);
    border-radius:10px;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--admin-primary);
    cursor:pointer;
}

.sidebar-toggle{
    display:none;
}

.logout-form{
    display:block;
}

.admin-content{
    padding:30px;
}

.admin-page{
    padding:0;
}

.admin-page-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:28px;
}

.admin-page h1{
    font-size:42px;
    margin:0 0 8px;
    letter-spacing:-.03em;
}

.admin-page h2{
    font-size:28px;
    letter-spacing:-.02em;
}

.admin-page p{
    margin:0;
    color:var(--admin-muted);
    font-size:15px;
}

.eyebrow{
    color:var(--admin-primary-2);
}

.stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:38px;
}

.stat-card{
    background:var(--admin-surface);
    border:1px solid var(--admin-border);
    border-radius:16px;
    padding:20px;
    box-shadow:0 8px 20px rgba(16,38,66,.04);
}

.stat-card span{
    color:var(--admin-muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.stat-card strong{
    display:block;
    margin:8px 0 4px;
    font-size:34px;
    line-height:1;
}

.stat-card small{
    color:var(--admin-muted);
}

.section-heading{
    margin:10px 0 16px;
}

.admin-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
}

.admin-module{
    background:var(--admin-surface);
    border:1px solid var(--admin-border);
    border-radius:16px;
    padding:22px;
    text-decoration:none;
    color:var(--admin-text);
    display:grid;
    gap:8px;
    min-height:170px;
    transition:.2s ease;
}

.admin-module:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
}

.admin-module.featured{
    border-color:#b9cde6;
}

.module-icon{
    font-size:28px;
    color:var(--admin-primary-2);
}

.module-kicker{
    margin-top:6px;
    color:var(--admin-primary-2)!important;
    font-size:10px!important;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;
}

.admin-module strong{
    font-size:18px;
}

.admin-module span:last-child{
    color:var(--admin-muted);
    font-size:14px;
    line-height:1.5;
}

.admin-topbar,
.admin-page>.admin-topbar{
    margin-bottom:24px;
}

.table-wrap{
    background:var(--admin-surface);
    border:1px solid var(--admin-border);
    border-radius:16px;
    overflow:auto;
    box-shadow:0 8px 20px rgba(16,38,66,.04);
}

table{
    width:100%;
    border-collapse:collapse;
}

th{
    background:#f9fbfd;
    color:#58697f;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:800;
}

th,td{
    padding:14px 16px;
    border-bottom:1px solid #edf1f5;
    vertical-align:middle;
}

tbody tr:hover{
    background:#fbfcfe;
}

.table-subtitle{
    display:block;
    color:var(--admin-muted);
    margin-top:4px;
}

.status-pill{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.status-pill.published{
    background:var(--admin-success);
    color:var(--admin-success-text);
}

.status-pill.draft{
    background:#eff2f5;
    color:#6b7788;
}

.button,
button{
    border-radius:10px;
}

.button{
    background:var(--admin-primary);
}

.button:hover{
    background:var(--admin-primary-2);
}

.button-secondary,
.button-link{
    background:var(--admin-soft);
    color:var(--admin-primary);
    border-radius:10px;
}

.form-card,
.language-panel{
    border:1px solid var(--admin-border);
    box-shadow:0 8px 20px rgba(16,38,66,.04);
}

input,select,textarea{
    border-color:#d8e0ea;
}

input:focus,select:focus,textarea:focus{
    outline:none;
    border-color:#7aa3d4;
    box-shadow:0 0 0 3px rgba(36,92,158,.10);
}

.alert{
    border-radius:12px;
}

.media-grid{
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
}

.media-card{
    transition:.2s ease;
}

.media-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
}

@media(max-width:1100px){
    .stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:860px){
    .admin-shell{
        grid-template-columns:1fr;
    }

    .admin-sidebar{
        position:fixed;
        left:0;
        top:0;
        width:260px;
        transform:translateX(-100%);
        transition:transform .25s ease;
    }

    .admin-sidebar.open{
        transform:translateX(0);
    }

    .sidebar-toggle{
        display:grid;
    }

    .admin-content{
        padding:22px;
    }

    .admin-user-meta{
        display:none;
    }
}

@media(max-width:640px){
    .admin-topbar-shell{
        padding:10px 14px;
    }

    .admin-content{
        padding:16px;
    }

    .stat-grid{
        grid-template-columns:1fr;
    }

    .admin-page h1{
        font-size:34px;
    }

    .admin-page-header,
    .admin-topbar{
        flex-direction:column;
    }
}
