.admin-body{background:#F3F1EA;}
.admin-shell{display:flex; min-height:100vh;}
.admin-sidebar{
  width:230px; background:var(--green-dark); color:#fff; display:flex; flex-direction:column;
  padding:22px 16px; position:sticky; top:0; height:100vh;
}
.admin-brand{display:flex; align-items:center; gap:10px; font-weight:700; margin-bottom:26px; font-family:var(--font-display);}
.admin-sidebar nav{display:flex; flex-direction:column; gap:4px; flex:1;}
.admin-sidebar nav a{padding:10px 12px; border-radius:8px; color:rgba(255,255,255,.8); font-size:.92rem;}
.admin-sidebar nav a:hover{background:rgba(255,255,255,.08); color:#fff;}
.admin-sidebar nav a.active{background:var(--brick); color:#fff; font-weight:600;}
.admin-logout{padding:10px 12px; color:rgba(255,255,255,.65); font-size:.88rem;}
.admin-logout:hover{color:#fff;}

.admin-main{flex:1; min-width:0;}
.admin-topbar{
  background:#fff; padding:18px 28px; display:flex; justify-content:space-between; align-items:center;
  box-shadow:0 2px 6px rgba(0,0,0,.04); position:sticky; top:0; z-index:5;
}
.admin-topbar h1{font-size:1.3rem; margin:0;}
.admin-content{padding:26px 28px;}

.admin-grid-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-bottom:24px;}
.stat-card{background:#fff; border-radius:12px; padding:20px; box-shadow:var(--shadow);}
.stat-card .num{font-size:1.9rem; font-weight:700; color:var(--green-dark); font-family:var(--font-display);}
.stat-card .label{color:var(--muted); font-size:.85rem;}

.admin-panel{background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:22px; margin-bottom:22px;}
.admin-panel-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:10px;}

table.admin-table{width:100%; border-collapse:collapse; font-size:.9rem;}
.admin-table th{text-align:left; color:var(--muted); font-weight:600; padding:10px 8px; border-bottom:2px solid #EEE9DE; font-size:.8rem; text-transform:uppercase;}
.admin-table td{padding:12px 8px; border-bottom:1px solid #F1EEE5; vertical-align:middle;}
.admin-table tr:hover td{background:#FAF8F2;}
.admin-thumb{width:42px; height:42px; border-radius:8px; object-fit:cover; background:#eee;}

.tag{display:inline-block; padding:3px 10px; border-radius:999px; font-size:.75rem; font-weight:600;}
.tag-green{background:#E4F5EC; color:#0B6E4F;}
.tag-red{background:#FBE9E4; color:#8A2E1B;}
.tag-gold{background:#FCF0D8; color:#8A5A0F;}
.tag-gray{background:#EEECE5; color:#666;}

.action-links{display:flex; gap:10px;}
.action-links a, .action-links button{
  background:none; border:none; cursor:pointer; font-size:.85rem; color:var(--green); font-family:var(--font-ui); padding:0;
}
.action-links .danger{color:var(--brick);}

.admin-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 20px;}
.admin-form-grid .full{grid-column:1/-1;}
@media (max-width:700px){ .admin-form-grid{grid-template-columns:1fr;} }

.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--green-dark);}
.login-card{background:#fff; padding:40px 36px; border-radius:16px; width:100%; max-width:380px; box-shadow:0 20px 50px rgba(0,0,0,.25);}
.login-card h2{text-align:center;}
.login-card .brand-mark{margin:0 auto 14px;}
