:root{
  --dark:#0A1428; --dark-2:#101E3C; --sky:#1B71D6; --sky-bright:#4C97EE;
  --sky-pale:#EAF3FD; --white:#FFFFFF; --ink:#101828; --muted:#5B6B7F; --line:rgba(16,24,40,0.1);
  --radius:16px;
}
*{box-sizing:border-box;}
body{margin:0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--ink); background:var(--sky-pale);}
h1,h2,h3{font-weight:800; margin:0;}
.admin-body{background:var(--sky-pale);}
.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.admin-login-card{background:#fff;border-radius:24px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 30px 60px -26px rgba(27,113,214,.3);}
.admin-alert-err{background:#FEECEC;color:#B3261E;padding:10px 14px;border-radius:10px;font-size:0.84rem;margin-bottom:16px;}
.admin-label{font-size:0.76rem;font-weight:700;color:var(--muted);display:block;margin-bottom:6px;}
.admin-input, select.admin-input, textarea.admin-input{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;
  font-family:inherit;font-size:0.9rem;color:var(--ink);background:#fff;
}
.admin-input:focus{outline:none;border-color:var(--sky);}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:999px;font-weight:700;font-size:0.88rem;border:none;cursor:pointer;background:var(--sky);color:#fff;}
.btn:hover{background:#155FBB;}

.admin-shell{display:flex;min-height:100vh;background:var(--sky-pale);}
.admin-sidebar{width:230px;background:var(--dark);color:#fff;flex-shrink:0;padding:24px 18px;display:flex;flex-direction:column;}
.admin-sidebar .brand{display:flex;align-items:center;gap:10px;margin-bottom:34px;padding:0 6px;}
.admin-sidebar .brand img{height:36px;border-radius:8px;}
.admin-sidebar .brand span{font-weight:700;font-size:0.9rem;}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;color:rgba(255,255,255,0.65);font-size:0.86rem;font-weight:600;margin-bottom:4px;text-decoration:none;}
.admin-nav a:hover{background:rgba(255,255,255,0.06);color:#fff;}
.admin-nav a.active{background:var(--sky);color:#fff;}
.admin-sidebar .spacer{flex:1;}
.admin-sidebar .logout{color:rgba(255,255,255,0.45);font-size:0.82rem;padding:11px 14px;text-decoration:none;display:block;}
.admin-sidebar .logout:hover{color:#fff;}

.admin-main{flex:1;padding:34px 40px;max-width:1000px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.admin-topbar h1{font-size:1.5rem;}
.admin-card{background:#fff;border-radius:20px;padding:26px;box-shadow:0 4px 20px -10px rgba(16,24,40,.1);margin-bottom:24px;}
.admin-table{width:100%;border-collapse:collapse;font-size:0.86rem;}
.admin-table th{text-align:left;padding:10px 12px;font-size:0.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:2px solid var(--line);}
.admin-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;}
.admin-table tr:hover td{background:var(--sky-pale);}
.admin-btn-sm{padding:7px 14px;border-radius:999px;font-size:0.78rem;font-weight:700;border:none;cursor:pointer;text-decoration:none;display:inline-block;}
.admin-btn-edit{background:var(--sky-pale);color:var(--sky);}
.admin-btn-del{background:#FEECEC;color:#B3261E;}

.admin-modal-overlay{position:fixed;inset:0;background:rgba(10,20,40,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.admin-modal-overlay.hidden{display:none;}
.admin-modal{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:88vh;overflow:auto;padding:28px;}

.gallery-upload-drop{border:2px dashed var(--line);border-radius:16px;padding:30px;text-align:center;margin-bottom:18px;}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.admin-gallery-item{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;}
.admin-gallery-item img{width:100%;height:100%;object-fit:cover;}
.admin-gallery-item .del-btn{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6);color:#fff;border:none;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:0.8rem;}

@media(max-width:820px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;flex-direction:row;align-items:center;padding:14px 18px;overflow-x:auto;}
  .admin-sidebar .brand{margin-bottom:0;}
  .admin-nav{display:flex;gap:4px;}
  .admin-nav a span.lbl-text{display:none;}
  .admin-sidebar .spacer{display:none;}
  .admin-main{padding:20px;}
}
