:root{--bg:#f7f6f4;--surface:#ffffff;--ink:#1f1d24;--muted:#6b6672;--line:#e4e0e6;--accent:#5a2a4f;--danger:#a03a2c;--ok:#2f6b45;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}a{color:var(--accent)}.topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .brand{font-weight:700;margin-right:auto;text-decoration:none;color:var(--ink)}.topbar nav{display:flex;gap:14px}.who{color:var(--muted);font-size:13px}main{max-width:860px;margin:0 auto;padding:28px 20px 60px;display:flex;flex-direction:column;gap:24px}h1{font-size:24px;margin:0}h2{font-size:17px;margin:0 0 10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}.muted{color:var(--muted)}.notice{border-left:3px solid var(--accent);padding:8px 12px;background:#f3ecf1;border-radius:4px}.error{color:var(--danger)}.success{color:var(--ok)}.button,button{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}.button.primary,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger)}button.signout{border-color:var(--ink);font-weight:600}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);width:100%}label{flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.row,label{display:flex}.row{gap:10px;flex-wrap:wrap;align-items:end}.row>*{flex:1 1 180px}.stack{display:flex;flex-direction:column;gap:12px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:500}.table-wrap{overflow-x:auto}.signin{max-width:380px;margin:10vh auto}.divider{text-align:center;color:var(--muted);font-size:13px}