*,:before,:after{box-sizing:border-box}body{color:var(--text-primary);background:var(--background);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}h1{margin:0 0 .25rem;font-size:1.5rem}.muted{color:var(--text-secondary)}.center{text-align:center;padding:3rem 1rem}a{color:var(--brand-blue-text)}.auth{min-height:100vh}.auth-header{background:linear-gradient(135deg, var(--primary) 55%, var(--brand-blue));text-align:center;padding:2.5rem 1rem 4rem}.auth .card{max-width:28rem;margin:-2.5rem auto 2rem}.wordmark{color:var(--on-primary);letter-spacing:.02em;font-size:1.4rem;font-weight:800}.app{min-height:100vh;padding-bottom:4.5rem}.topbar{background:var(--primary);color:var(--on-primary);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.topbar .biz{opacity:.9;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.content{max-width:48rem;margin:0 auto;padding:1rem}.tabs{background:var(--surface);border-top:1px solid var(--border-subtle);display:flex;position:fixed;top:auto;bottom:0;left:0;right:0}.tabs a{text-align:center;color:var(--text-secondary);flex:1;padding:.9rem .25rem;font-weight:600;text-decoration:none}.tabs a.active{color:var(--primary);background:var(--selected-soft)}.card{background:var(--surface);border-radius:12px;margin:.75rem 0;padding:1rem;box-shadow:0 1px 2px #031f4714}.row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.list{margin:0;padding:0;list-style:none}form label{margin-bottom:.9rem;font-weight:600;display:block}input,select{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text-primary);border-radius:8px;margin-top:.3rem;padding:.8rem;font-size:1rem;display:block}input:focus,select:focus{outline:2px solid var(--brand-blue-text);outline-offset:1px}button:focus-visible{outline:2px solid var(--brand-blue-text);outline-offset:1px}button{width:100%;min-height:3rem;color:var(--on-primary);background:var(--primary);cursor:pointer;border:none;border-radius:10px;padding:.75rem 1rem;font-size:1rem;font-weight:700}button:disabled{opacity:.6}button.secondary{background:var(--surface);color:var(--primary);border:1px solid var(--border-strong)}button.link{background:0 0;width:auto;min-height:auto;padding:.25rem;font-weight:600}.error{background:var(--danger-soft);color:var(--text-primary);border-radius:8px;padding:.75rem}.warning{background:var(--warning-soft);border-radius:8px;padding:.75rem}.ok{color:var(--primary);font-weight:600}.badge{border-radius:999px;padding:.2rem .6rem;font-size:.85rem;font-weight:700}.badge.active{background:var(--selected-soft);color:var(--primary)}.badge.revoked{background:var(--border-subtle);color:var(--text-secondary)}.code-card{text-align:center}.code{letter-spacing:.15em;color:var(--primary);font-family:ui-monospace,Cascadia Mono,monospace;font-size:2.2rem;font-weight:800}@media (min-width:48rem){.tabs{background:0 0;border:none;max-width:48rem;margin:0 auto;position:static}.app{padding-bottom:0}}.field{margin-bottom:.9rem}.field>label{margin:0;font-weight:600;display:block}.password-row{margin-top:.3rem;position:relative}.password-row input{margin-top:0;padding-right:7.5rem}button.toggle{width:auto;min-height:2.5rem;color:var(--brand-blue-text);background:0 0;border-radius:8px;padding:.4rem .75rem;font-size:.9rem;font-weight:700;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}button.toggle:hover{background:var(--selected-soft)}.field-error{color:var(--danger);margin:.35rem 0 0;font-size:.95rem;font-weight:600}input[aria-invalid=true]{border-color:var(--danger)}
