:root{
  --teal-deep:#3D0A22; --teal:#E2136E; --green:#FF6FA5; --orange:#E8862E; --orange-deep:#C96A1A;
  --paper:#FAEBF1; --card:#FFFFFF; --ink:#2A0E1D; --ink-soft:#70505f; --line:#F0CFDF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--paper); color:var(--ink); font-family:'Hind Siliguri','Inter',sans-serif; line-height:1.6;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif; color:var(--teal-deep);}
a{color:var(--teal); text-decoration:none;}
code{background:#eee; padding:2px 6px; border-radius:4px;}

/* login/setup */
.admin-auth-page{display:flex; align-items:center; justify-content:center; min-height:100vh; background:linear-gradient(160deg,#0E3230,#123f41);}
.auth-box{background:#fff; border-radius:16px; padding:36px; width:100%; max-width:400px; box-shadow:0 20px 60px rgba(0,0,0,.3);}
.auth-box h1{font-size:1.4rem; margin-bottom:6px;}
.muted{color:var(--ink-soft); font-size:.88rem; margin-bottom:18px;}
.muted.small{font-size:.78rem; margin-top:16px; margin-bottom:0;}
.auth-box label{display:block; font-size:.82rem; font-weight:600; margin:12px 0 6px; color:var(--teal-deep);}
.auth-box input{width:100%; padding:10px 12px; border:1.5px solid var(--line); border-radius:8px; font-size:.95rem;}
.auth-box button{width:100%; margin-top:20px; padding:12px; background:var(--orange); color:#fff; border:none; border-radius:8px; font-weight:600; font-size:.95rem; cursor:pointer;}
.auth-box button:hover{background:var(--orange-deep);}
.alert-ok{background:#DFF3DE; color:#245C1D; padding:10px 14px; border-radius:8px; font-size:.85rem; margin-bottom:14px;}
.alert-err{background:#FBE1DC; color:#8A2A19; padding:10px 14px; border-radius:8px; font-size:.85rem; margin-bottom:14px;}

/* dashboard shell */
.admin-shell{display:flex; min-height:100vh;}
.admin-sidebar{width:230px; background:var(--teal-deep); color:#DCE7DF; flex-shrink:0; padding:24px 0;}
.admin-sidebar .brand{padding:0 20px 20px; font-weight:700; color:#fff; font-size:1.05rem; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:16px;}
.admin-sidebar .brand small{display:block; font-size:.7rem; color:#9FB3A8; font-weight:500;}
.admin-sidebar a{display:block; padding:11px 20px; color:#DCE7DF; font-size:.9rem; font-weight:500;}
.admin-sidebar a:hover, .admin-sidebar a.active{background:rgba(255,255,255,.08); color:#fff; border-right:3px solid var(--orange);}
.admin-main{flex:1; padding:30px 36px; max-width:1000px;}
.admin-topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:26px;}
.admin-topbar h1{font-size:1.4rem;}
.admin-topbar .user{font-size:.85rem; color:var(--ink-soft);}

.panel{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:24px; margin-bottom:24px;}
.panel h2{font-size:1.05rem; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--line);}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:760px){.grid2{grid-template-columns:1fr;} .admin-shell{flex-direction:column;} .admin-sidebar{width:100%;}}
.frow{margin-bottom:14px;}
.frow label{display:block; font-size:.82rem; font-weight:600; color:var(--teal-deep); margin-bottom:6px;}
.frow input, .frow textarea, .frow select{width:100%; padding:10px 12px; border:1.5px solid var(--line); border-radius:8px; font-family:inherit; font-size:.92rem;}
.frow textarea{min-height:70px;}
.frow .hint{font-size:.75rem; color:var(--ink-soft); margin-top:4px;}
.btn-save{padding:11px 24px; background:var(--orange); color:#fff; border:none; border-radius:8px; font-weight:600; cursor:pointer; font-size:.9rem;}
.btn-save:hover{background:var(--orange-deep);}
.btn-danger{padding:8px 16px; background:#C0392B; color:#fff; border:none; border-radius:8px; font-weight:600; cursor:pointer; font-size:.82rem;}
.btn-sec{padding:8px 16px; background:#eee; color:var(--ink); border:none; border-radius:8px; font-weight:600; cursor:pointer; font-size:.82rem;}

table.admin-table{width:100%; border-collapse:collapse; font-size:.88rem;}
table.admin-table th, table.admin-table td{text-align:left; padding:10px 8px; border-bottom:1px solid var(--line);}
table.admin-table th{color:var(--ink-soft); font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em;}
table.admin-table img{width:60px; height:44px; object-fit:cover; border-radius:6px;}

.stat-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px;}
@media (max-width:760px){.stat-cards{grid-template-columns:repeat(2,1fr);}}
.stat-cards .c{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px;}
.stat-cards .c b{display:block; font-size:1.6rem; color:var(--orange); font-family:'Space Grotesk',sans-serif;}
.stat-cards .c span{font-size:.78rem; color:var(--ink-soft);}
