:root{
  --navy:#0e223c; --navy-600:#1e456f; --teal:#0f8f80; --teal-600:#0c7d70;
  --gold:#c39a4c; --ink:#1b2432; --muted:#6b7789; --line:#e6eaf1; --bg-soft:#f5f7fb;
}
body{background:var(--bg-soft);color:var(--ink);font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--teal-600)}
.navbar-straton{background:#fff;border-bottom:1px solid var(--line)}
.navbar-straton .brand{font-weight:700;color:var(--navy);letter-spacing:-.01em}
.navbar-straton .brand small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.btn-teal{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-600);border-color:var(--teal-600);color:#fff}
.text-navy{color:var(--navy)!important}
.bg-navy{background:var(--navy)!important}
.card{border:1px solid var(--line);border-radius:14px}
.card-header{background:#fff;border-bottom:1px solid var(--line);font-weight:600;border-radius:14px 14px 0 0!important}
.auth-wrap{max-width:440px;margin:3rem auto}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:2rem;box-shadow:0 10px 30px -18px rgba(14,34,60,.3)}
.hero-portal{background:linear-gradient(135deg,var(--navy),var(--navy-600));color:#fff;border-radius:18px;padding:2.5rem}
.chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem;font-size:.85rem;font-weight:600;color:var(--navy);margin:.15rem}
.chip input{margin:0}
.meter{height:10px;border-radius:6px;background:var(--line);overflow:hidden}
.meter>span{display:block;height:100%;background:var(--teal)}
.photo-frame{width:150px;height:150px;border-radius:14px;object-fit:cover;border:1px solid var(--line);background:var(--bg-soft)}
.badge-status{font-weight:600}
.queue-card{transition:box-shadow .15s}
.queue-card:hover{box-shadow:0 10px 24px -14px rgba(14,34,60,.35)}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem}
.stat .n{font-size:1.7rem;font-weight:700;color:var(--navy);line-height:1}
.stat .l{color:var(--muted);font-size:.85rem}
.list-flag{width:20px;height:14px;border-radius:2px;vertical-align:-2px}
.footer-portal{color:var(--muted);font-size:.85rem;padding:2rem 0}
