:root{--bg:#f4f6f6;--card:#fff;--border:#e3e8e8;--accent:#2b6777;--text:#222;--muted:#777;--error:#b23b3b;--notice:#2b6777;color:var(--text);font-family:system-ui,-apple-system,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.nav{align-items:center;gap:18px;display:flex}.nav a{color:#cfe3e3;font-size:.95rem;text-decoration:none}.nav a:hover{color:#fff}.nav a.active{color:#fff;font-weight:600}.signout{color:#fff;background:#ffffff29;border:none;border-radius:6px;padding:6px 12px;font-size:.9rem}.app-main{flex:1;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:28px}.card h1{margin:0 0 16px;font-size:1.4rem}form{flex-direction:column;gap:14px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}input{border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-size:1rem}input:focus{outline:2px solid var(--accent);outline-offset:0}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:1rem}button:disabled{opacity:.6;cursor:default}button.link{color:var(--accent);background:0 0;width:fit-content;padding:8px 0;text-decoration:underline}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error);margin:0;font-size:.9rem}.notice{color:var(--notice);margin:0;font-size:.9rem}.centered{color:var(--muted);padding:40px}.card.wide{max-width:640px}.section{margin:20px 0}.section h2{margin:0 0 10px;font-size:1rem}.section .count{color:var(--muted);font-size:.85rem;font-weight:400}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem}.chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.chip:disabled{opacity:.45;cursor:not-allowed}.actions{align-items:center;gap:16px;margin-top:20px;display:flex}a{color:var(--accent)}
