:root{
  --bg: #071022;
  --card: #0e1722;
  --muted: #9fb0c8;
  --accent: #0a84ff;
  --text: #e6f0fb;
  --muted-2: #6b7f8f;
}
*{box-sizing:border-box;font-family:Inter,Segoe UI,Helvetica,Arial,sans-serif}
body{margin:0;background:var(--bg);color:var(--text)}
.topbar{height:56px;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,0.04)}
.brand{font-weight:600}
.nav{display:flex;gap:12px}
.nav-item{color:var(--muted);text-decoration:none}
.container{max-width:980px;margin:28px auto;padding:0 16px}

.login{max-width:420px;margin:40px auto;padding:24px;background:var(--card);border-radius:12px;box-shadow:0 6px 24px rgba(2,6,23,0.6)}
.login h2{margin-top:0;color:var(--text)}
.login label{display:block;margin:12px 0;color:var(--muted)}
.login input{width:100%;padding:10px;border:1px solid rgba(255,255,255,0.05);border-radius:8px;background:rgba(255,255,255,0.02);color:var(--text)}
.login button{background:var(--accent);color:#fff;padding:10px 14px;border:0;border-radius:8px;cursor:pointer}
.error{color:#ffd7d9;background:rgba(185,28,28,0.12);padding:8px;border-radius:6px}

.loading-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,0.85);z-index:9999}
.loading-overlay img{width:96px;height:96px}

.app .cards{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.card{display:block;padding:20px;background:var(--card);border-radius:10px;min-width:160px;text-decoration:none;color:var(--text);box-shadow:0 8px 30px rgba(2,6,23,0.6)}

.mobile-only{height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--text)}

@media(max-width:720px){
  body>*:not(.mobile-only){display:none}
  .mobile-only{display:flex}
}

/* Modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,0.7);z-index:10000}
.modal .dialog{background:var(--card);padding:18px;border-radius:12px;max-width:720px;width:90%;animation:pop .16s ease;color:var(--text)}
@keyframes pop{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}

.maintenance{background:rgba(255,255,255,0.02);padding:8px;text-align:center;color:var(--muted)}
