:root{
  --a-navy:#14315C; --a-navy-deep:#0A1D38; --a-gold:#CE9B2E; --a-gold-light:#E9C46A;
  --a-bg:#F4F6FA; --a-paper:#FFFFFF; --a-ink:#1C2128; --a-ink-soft:#5B6472; --a-line:#E4E8F0;
  --a-danger:#C4432B; --a-success:#2E6B47;
  font-family:'Inter',sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--a-bg);color:var(--a-ink);font-family:'Inter',sans-serif;}
a{text-decoration:none;color:inherit;}
h1,h2,h3{font-family:'Poppins',sans-serif;margin:0 0 .4em;color:var(--a-navy-deep);}

/* ---- Login ---- */
.admin-login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(160deg,var(--a-navy-deep),var(--a-navy));}
.login-card{background:#fff;padding:38px 34px;border-radius:14px;width:340px;box-shadow:0 30px 60px -20px rgba(0,0,0,.4);}
.login-logo{width:48px;height:48px;border-radius:50%;background:var(--a-gold);color:var(--a-navy-deep);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Poppins';margin-bottom:14px;}
.login-card h1{font-size:1.3rem;margin-bottom:2px;}
.login-card .sub{color:var(--a-ink-soft);font-size:.85rem;margin-bottom:20px;}
.login-card label{display:block;font-size:.82rem;font-weight:600;margin-bottom:14px;color:var(--a-ink-soft);}
.login-card input{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--a-line);border-radius:8px;font-size:.92rem;}
.hint{font-size:.75rem;color:var(--a-ink-soft);margin-top:14px;text-align:center;}

/* ---- Shell ---- */
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;background:var(--a-navy-deep);color:#C9D4E6;flex-shrink:0;padding:22px 0;position:sticky;top:0;height:100vh;overflow-y:auto;}
.admin-sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 20px 20px;color:#fff;font-family:'Poppins';font-weight:700;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px;}
.admin-sidebar .brand img{height:32px;width:auto;}
.admin-sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 20px;font-size:.87rem;font-weight:500;border-left:3px solid transparent;}
.admin-sidebar nav a:hover{background:rgba(255,255,255,.06);}
.admin-sidebar nav a.active{background:rgba(255,255,255,.08);border-left-color:var(--a-gold);color:#fff;}
.admin-sidebar .logout{margin-top:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;}

.admin-main{flex:1;min-width:0;}
.admin-topbar{background:#fff;border-bottom:1px solid var(--a-line);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;}
.admin-topbar h1{font-size:1.15rem;margin:0;}
.admin-topbar .user{font-size:.85rem;color:var(--a-ink-soft);}
.admin-content{padding:26px 28px 60px;}

/* ---- Components ---- */
.a-card{background:var(--a-paper);border:1px solid var(--a-line);border-radius:12px;padding:22px;margin-bottom:22px;}
.a-grid{display:grid;gap:18px;}
.a-grid-2{grid-template-columns:repeat(2,1fr);}
.a-grid-4{grid-template-columns:repeat(4,1fr);}

.stat-box{background:var(--a-paper);border:1px solid var(--a-line);border-radius:12px;padding:20px;}
.stat-box b{font-size:1.7rem;font-family:'Poppins';color:var(--a-navy-deep);display:block;}
.stat-box span{font-size:.82rem;color:var(--a-ink-soft);}

table.a-table{width:100%;border-collapse:collapse;}
table.a-table th, table.a-table td{padding:11px 12px;border-bottom:1px solid var(--a-line);font-size:.87rem;text-align:left;vertical-align:middle;}
table.a-table th{color:var(--a-ink-soft);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;}
table.a-table img.thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;background:var(--a-navy);}

.btn-admin{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:7px;font-size:.85rem;font-weight:600;border:1px solid var(--a-line);background:#fff;cursor:pointer;}
.btn-admin-primary{background:var(--a-navy);color:#fff;border-color:var(--a-navy);}
.btn-admin-primary:hover{background:var(--a-navy-deep);}
.btn-admin-danger{color:var(--a-danger);border-color:#F1CFC5;background:#FDF2EF;}
.btn-admin-danger:hover{background:#FBE3DC;}
.btn-admin-sm{padding:6px 11px;font-size:.78rem;}

.a-form label{display:block;font-size:.82rem;font-weight:600;color:var(--a-ink-soft);margin-bottom:16px;}
.a-form input[type=text], .a-form input[type=email], .a-form input[type=tel], .a-form input[type=url], .a-form input[type=date], .a-form input[type=color], .a-form input[type=password], .a-form input[type=number], .a-form textarea, .a-form select{
  width:100%;margin-top:6px;padding:9px 12px;border:1px solid var(--a-line);border-radius:7px;font-size:.9rem;font-family:inherit;
}
.a-form textarea{min-height:90px;resize:vertical;}
.a-form .row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.a-form input[type=color]{height:42px;padding:4px;}
.a-form .current-img{width:70px;height:70px;object-fit:cover;border-radius:8px;background:var(--a-navy);margin-bottom:8px;display:block;}
.a-form .checkbox-row{display:flex;align-items:center;gap:8px;font-weight:500;}
.a-form .checkbox-row input{width:auto;margin:0;}

.alert{padding:11px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px;}
.alert-error{background:#FDF2EF;color:var(--a-danger);border:1px solid #F1CFC5;}
.alert-success{background:#EEF6F1;color:var(--a-success);border:1px solid #CBE6D4;}

.badge-status{padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;}
.badge-active{background:#EEF6F1;color:var(--a-success);}
.badge-inactive{background:#F3F3F3;color:#8A8F98;}

.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}

@media (max-width: 900px){
  .admin-sidebar{position:fixed;left:-230px;transition:.2s;z-index:40;}
  .admin-sidebar.open{left:0;}
  .a-grid-4,.a-grid-2,.a-form .row{grid-template-columns:1fr;}
}
