:root{--sdb-blue: #004987;--sdb-blue-dark: #003a6c;--sdb-gray: #76777a;--sdb-gold: #fcb455;--ink: rgba(0, 0, 0, .8);--bg: #f4f6f8;--card: #ffffff;--line: #e1e4e8;--danger: #b3261e;--ok: #1e7d32;--radius: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Open Sans,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{min-height:100dvh;display:flex;flex-direction:column}.app-header{background:var(--sdb-blue);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 12px}.app-header h1{font-size:1.1rem;font-weight:700;margin:0;letter-spacing:.02em}.app-header .tagline{font-size:.72rem;font-weight:300;opacity:.85;margin:2px 0 0}.bottom-nav{position:sticky;bottom:0;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav a{flex:1;text-align:center;padding:10px 4px 8px;font-size:.72rem;font-weight:600;color:var(--sdb-gray);text-decoration:none;min-height:48px}.bottom-nav a .glyph{display:block;font-size:1.25rem;line-height:1.2}.bottom-nav a.active{color:var(--sdb-blue);border-top:3px solid var(--sdb-gold);margin-top:-1px}main{flex:1;padding:16px;max-width:640px;width:100%;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.section-header{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sdb-gray);margin:18px 0 8px}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}a.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 12px;text-decoration:none;color:var(--ink);min-height:88px}a.tile:active{background:#eef3f8}.tile .glyph{font-size:1.4rem}.tile .label{font-weight:700;color:var(--sdb-blue);display:block;margin-top:4px}.tile .desc{font-size:.78rem;color:var(--sdb-gray)}label{display:block;font-size:.82rem;font-weight:600;margin:12px 0 4px}input{width:100%;padding:12px;font-size:1rem;font-family:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}input:focus{outline:3px solid rgba(0,73,135,.35);border-color:var(--sdb-blue)}button,.btn{display:inline-block;width:100%;margin-top:16px;padding:13px;font-size:1rem;font-weight:700;font-family:inherit;color:#fff;background:var(--sdb-blue);border:0;border-radius:8px;cursor:pointer;min-height:48px}button:disabled{background:var(--sdb-gray);cursor:default}button.secondary{background:#fff;color:var(--sdb-blue);border:2px solid var(--sdb-blue)}button.small{width:auto;padding:8px 14px;margin:0;min-height:40px;font-size:.85rem}.error{color:var(--danger);font-size:.85rem;margin-top:10px}.success{color:var(--ok);font-size:.85rem;margin-top:10px}.muted{color:var(--sdb-gray);font-size:.85rem}.login-wrap{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:24px;max-width:420px;margin:0 auto;width:100%}.login-brand{text-align:center;margin-bottom:22px}.login-brand .mark{font-size:1.6rem;font-weight:700;color:var(--sdb-blue);letter-spacing:.02em}.login-brand .tagline{font-size:.8rem;font-weight:300;color:var(--sdb-gray)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row .primary{font-weight:600}.row .sub{font-size:.8rem;color:var(--sdb-gray)}.badge{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#0049871a;color:var(--sdb-blue)}.badge.gold{background:#fcb45540;color:#7a5217}.seg{display:flex;gap:4px;background:#e6eaef;padding:4px;border-radius:10px;margin-bottom:14px}.seg button{flex:1;margin:0;min-height:40px;padding:8px 4px;font-size:.82rem;background:transparent;color:var(--sdb-gray);border-radius:8px}.seg button.active{background:#fff;color:var(--sdb-blue);box-shadow:0 1px 2px #00000014}.seg button .count{display:inline-block;margin-left:6px;font-size:.7rem;background:#0049871f;border-radius:999px;padding:1px 7px}.reveal{border:2px dashed var(--sdb-gold);border-radius:var(--radius);padding:16px;text-align:center;margin-top:12px}.reveal .pw{font-size:1.3rem;font-weight:700;letter-spacing:.05em;color:var(--sdb-blue)}@media print{.app-header,.bottom-nav,button,.no-print{display:none!important}body{background:#fff}.reveal{border-color:#000}}
