:root{
  --bg0:#070a12;
  --bg1:#0b1220;
  --bg2:#0f172a;
  --surface:#111827;
  --surface2:#0b1220;
  --line:rgba(255,255,255,.08);
  --line2:rgba(255,255,255,.12);
  --text:#e5e7eb;
  --muted:rgba(229,231,235,.70);
  --muted2:rgba(229,231,235,.55);
  --brand:#ffc107;
  --brand2:#ffd54a;
  --danger:#ef4444;
  --ok:#22c55e;
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --shadow2: 0 10px 30px rgba(0,0,0,.32);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 20% -10%, rgba(255,193,7,.14), transparent 60%),
    radial-gradient(900px 600px at 105% 5%, rgba(99,102,241,.14), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 40%, var(--bg2));
}
a{color:inherit;text-decoration:none}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.pill:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16);transform:translateY(-1px)}

.layout{display:flex;min-height:100vh}
.drawer{
  width:280px;
  padding:16px;
  background:linear-gradient(180deg, rgba(17,24,39,.92), rgba(17,24,39,.78));
  border-right:1px solid var(--line);
  position:sticky;
  top:0;
  height:100vh;
  backdrop-filter: blur(10px);
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.6px;
  margin:6px 8px 16px;
}
.brandMark{
  width:34px;height:34px;border-radius:12px;
  background:radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,.32), transparent 60%),
             linear-gradient(135deg, rgba(255,193,7,.95), rgba(255,150,0,.85));
  box-shadow: 0 12px 30px rgba(255,193,7,.15);
}
.brandText{line-height:1.1}
.brandText .t{font-size:14px}
.brandText .s{font-size:11px;color:var(--muted2);font-weight:700;margin-top:2px}

.navlist{display:flex;flex-direction:column;gap:10px}
.navSection{margin:14px 10px 8px;color:var(--muted2);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.10em}
.navitem{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.navitem:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);transform:translateY(-1px)}
.navitem.active{
  background:rgba(255,193,7,.12);
  border-color:rgba(255,193,7,.25);
}
.navIcon{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.navIcon svg{width:18px;height:18px;opacity:.9}
.navLabel{font-weight:800}
.navHint{margin-left:auto;color:var(--muted2);font-weight:700;font-size:12px}

.content{flex:1;min-width:0}
.topbar{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  background:linear-gradient(180deg, rgba(17,24,39,.82), rgba(17,24,39,.66));
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter: blur(10px);
}
.spacer{flex:1}
.menuBtn{
  display:none;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
}
.menuBtn:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16)}
.userPill{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
}
.avatar{
  width:28px;height:28px;border-radius:10px;
  background:linear-gradient(135deg, rgba(99,102,241,.75), rgba(34,197,94,.65));
}
.userEmail{font-weight:800;color:var(--text);font-size:13px}
.wrap{padding:18px;max-width:1200px;margin:0 auto}

.pageHeader{
  display:flex;
  align-items:flex-end;
  gap:14px;
  margin-bottom:14px;
}
.pageTitle{font-size:20px;font-weight:950;letter-spacing:.2px;margin:0}
.pageSub{margin:4px 0 0;color:var(--muted2);font-weight:700;font-size:12px}
.pageActions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}

.card{
  background:linear-gradient(180deg, rgba(17,24,39,.92), rgba(17,24,39,.76));
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  box-shadow: var(--shadow);
}
.cardSoft{
  background:linear-gradient(180deg, rgba(17,24,39,.78), rgba(17,24,39,.55));
  box-shadow: var(--shadow2);
}
.cardHeader{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.cardHeader .h{font-weight:950;letter-spacing:.2px}
.cardHeader .m{margin-left:auto;color:var(--muted2);font-weight:700;font-size:12px}
.muted{color:var(--muted)}

.row{display:flex;gap:14px;flex-wrap:wrap}
.row > *{flex:1;min-width:240px}

table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted2);font-weight:900}
tr:hover td{background:rgba(255,255,255,.03)}
td{color:rgba(229,231,235,.86)}

input,select,button{font:inherit}
input,select{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--line2);
  background:rgba(15,23,42,.55);
  color:var(--text);
  outline:none;
}
input:focus,select:focus{border-color:rgba(255,193,7,.45);box-shadow:0 0 0 3px rgba(255,193,7,.12)}
button{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--line2);
  background:rgba(31,41,55,.75);
  color:var(--text);
  cursor:pointer;
}
button:hover{background:rgba(36,50,68,.80);border-color:rgba(255,255,255,.18)}

.btnPrimary{
  border-color:rgba(255,193,7,.35);
  background:linear-gradient(135deg, rgba(255,193,7,.98), rgba(255,150,0,.90));
  color:#111827;
  font-weight:900;
}
.btnPrimary:hover{filter:brightness(1.02)}
.btnDanger{
  border-color:rgba(239,68,68,.35);
  background:linear-gradient(135deg, rgba(239,68,68,.95), rgba(190,18,60,.85));
  color:#fff;
  font-weight:900;
}
.btnDanger:hover{filter:brightness(1.03)}

.kpiGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
}
.kpi{
  position:relative;
  overflow:hidden;
}
.kpi:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(135deg, rgba(255,193,7,.18), rgba(99,102,241,.12), rgba(34,197,94,.10));
  filter:blur(12px);
  opacity:.9;
}
.kpiInner{
  position:relative;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(17,24,39,.92), rgba(17,24,39,.72));
  padding:16px;
  box-shadow: var(--shadow2);
}
.kpiTop{display:flex;align-items:center;gap:12px}
.kpiIcon{
  width:44px;height:44px;border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  display:grid;place-items:center;
}
.kpiIcon svg{width:22px;height:22px;opacity:.92}
.kpiLabel{color:var(--muted2);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.kpiValue{font-size:30px;font-weight:950;letter-spacing:-.6px;margin-top:8px}

.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,193,7,.25);
  background:rgba(255,193,7,.14);
  color:var(--brand2);
  font-weight:900;
  font-size:11px;
  letter-spacing:.03em;
}
.badge.danger{
  border-color:rgba(239,68,68,.28);
  background:rgba(239,68,68,.12);
  color:#fecaca;
}

img.thumb{
  width:160px;height:96px;object-fit:cover;border-radius:14px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.15);
}

@media (max-width: 880px){
  .drawer{position:fixed;left:-300px;transition:left .2s ease;z-index:20}
  #drawerToggle:checked ~ .layout .drawer{left:0}
  #drawerToggle:checked ~ .layout .drawerMask{display:block}
  .menuBtn{display:inline-flex;align-items:center;gap:8px}
  .drawerMask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:15}
}
@media (max-width: 980px){
  .kpiGrid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px){
  .kpiGrid{grid-template-columns: 1fr;}
}
