:root{--bg:#0f172a;--card:#111c35;--muted:#94a3b8;--text:#e2e8f0;--accent:#e6007e;--accent2:#004d7c;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:linear-gradient(180deg,#0b1225,#0f172a);color:var(--text);}
a{color:#8ab4ff;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1150px;margin:0 auto;padding:18px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:rgba(17,28,53,.7);border:1px solid rgba(148,163,184,.18);border-radius:16px;backdrop-filter: blur(10px);}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.badge{display:inline-flex;gap:8px;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.18);color:var(--muted);font-size:12px}
.nav{display:flex;flex-wrap:wrap;gap:10px}
.nav a{padding:8px 10px;border-radius:12px;background:rgba(148,163,184,.10);border:1px solid rgba(148,163,184,.18);color:var(--text)}
.nav a.active{outline:2px solid rgba(230,0,126,.55)}
.grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}
@media(min-width:900px){.grid.two{grid-template-columns:1.1fr .9fr}}
.card{background:rgba(17,28,53,.75);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.card h2{margin:0 0 10px 0;font-size:18px}
.card h3{margin:0 0 8px 0;font-size:16px;color:#dbeafe}
.muted{color:var(--muted)}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.row.between{justify-content:space-between}
.btn{appearance:none;border:0;cursor:pointer;padding:10px 12px;border-radius:14px;background:rgba(148,163,184,.14);border:1px solid rgba(148,163,184,.18);color:var(--text);font-weight:650}
.btn:hover{filter:brightness(1.08)}
.btn.primary{background:linear-gradient(135deg,var(--accent),#ff4da6);border:0}
.btn.blue{background:linear-gradient(135deg,var(--accent2),#2d79a8);border:0}
.btn.danger{background:linear-gradient(135deg,#b91c1c,#ef4444);border:0}
.btn.small{padding:7px 10px;border-radius:12px;font-size:13px}
.btn.link{background:transparent;border:1px dashed rgba(148,163,184,.25)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 8px;border-bottom:1px solid rgba(148,163,184,.16);vertical-align:top}
.table th{color:#cbd5e1;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(148,163,184,.2);background:rgba(148,163,184,.10)}
.pill.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.25)}
.pill.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.25)}
.pill.bad{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.25)}
.input, select, textarea{width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.22);background:rgba(2,6,23,.35);color:var(--text);outline:none}
label{font-size:13px;color:#cbd5e1}
.formgrid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:900px){.formgrid.two{grid-template-columns:1fr 1fr}}
hr{border:0;border-top:1px solid rgba(148,163,184,.18);margin:12px 0}
.notice{padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:rgba(148,163,184,.08)}
.notice.ok{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.08)}
.notice.bad{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}
.kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:900px){.kpi{grid-template-columns:repeat(4,1fr)}}
.k{padding:12px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(148,163,184,.08)}
.k .v{font-size:20px;font-weight:800}
.k .l{font-size:12px;color:var(--muted);margin-top:3px}


/* Mobile "native" bottom navigation */
.bottomnav{display:none}
@media(max-width:720px){
  .topbar{position:sticky;top:0;z-index:10}
  .nav{display:none} /* hide crowded top links */
  .bottomnav{
    display:flex;
    position:fixed;
    left:12px; right:12px; bottom:12px;
    gap:10px;
    padding:10px;
    border-radius:18px;
    background:rgba(17,28,53,.82);
    border:1px solid rgba(148,163,184,.18);
    backdrop-filter: blur(10px);
    z-index:20;
    justify-content:space-around;
  }
  .bottomnav a{
    flex:1;
    text-align:center;
    padding:10px 8px;
    border-radius:14px;
    background:rgba(148,163,184,.10);
    border:1px solid rgba(148,163,184,.18);
    color:var(--text);
    font-weight:650;
    font-size:13px;
  }
  .bottomnav a.active{outline:2px solid rgba(230,0,126,.55)}
  body{padding-bottom:86px} /* space for bottom nav */
}
