:root{--bg: #faf8f4;--surface: #ffffff;--text: #1f1d1a;--muted: #6b665e;--line: #e4dfd6;--accent: #2f6f5e;--accent-text: #ffffff;--danger: #a8322d;--danger-soft: #f8e7e5;--focus: #1b5dd6;--radius: 10px;--touch: 44px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;color:var(--text);background:var(--bg);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #1b1a18;--surface: #25231f;--text: #ece8e1;--muted: #a39d92;--line: #3a3732;--accent: #5fb89e;--accent-text: #11201b;--danger: #f08a84;--danger-soft: #3a2220;--focus: #8fb4ff}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}main{overflow-wrap:break-word}h1{font-size:1.375rem;margin:0 0 .5rem}h2{font-size:1.125rem;margin:0 0 .5rem}h1:focus,main:focus{outline:none}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}button,a.button{min-height:var(--touch);padding:0 1rem;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font:inherit;display:inline-flex;align-items:center;text-decoration:none;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.link{min-height:0;padding:0;background:none;color:var(--accent);text-decoration:underline}.actions{display:flex;gap:.5rem;margin-top:1rem}.field{margin-bottom:1rem}.field label{display:block;font-weight:600;margin-bottom:.25rem}.field input{width:100%;min-height:var(--touch);padding:0 .75rem;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius)}.field-hint{margin:.25rem 0 0;font-size:.875rem}.notice{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.notice-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.notice-warn{background:var(--surface);border:1px solid var(--danger)}.notice-warn h2{margin:0 0 .5rem;font-size:1.125rem;color:var(--danger)}.notice-warn p{margin:0 0 .5rem}.notice-warn .kind-list{margin-bottom:0}.tabs{display:flex;gap:.25rem;margin:.5rem 0 1rem}.tab{flex:1;justify-content:center;background:transparent;color:var(--text);border:1px solid var(--line)}.tab-active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(100%,26rem)}.skip-link{position:absolute;left:.5rem;top:-4rem;background:var(--surface);padding:.5rem 1rem;border-radius:var(--radius);z-index:10}.skip-link:focus{top:.5rem}.shell{min-height:100vh;display:grid;grid-template-areas:"top" "nav" "main";grid-template-rows:auto auto 1fr}.topbar{grid-area:top;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--surface)}.brand-block,.account{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.brand{font-weight:700}.sidebar{grid-area:nav;border-bottom:1px solid var(--line);background:var(--surface)}.sidebar ul{list-style:none;margin:0;padding:.25rem .5rem;display:flex;gap:.25rem;overflow-x:auto}.sidebar a{display:flex;align-items:center;min-height:var(--touch);padding:0 .75rem;white-space:nowrap;border-radius:var(--radius);color:var(--text);text-decoration:none}.sidebar a[aria-current=page]{background:var(--accent);color:var(--accent-text)}.content{grid-area:main;padding:1rem;max-width:64rem;width:100%}@media(min-width:1024px){.shell{grid-template-areas:"top top" "nav main";grid-template-columns:15rem 1fr;grid-template-rows:auto 1fr}.sidebar{border-bottom:0;border-right:1px solid var(--line)}.sidebar ul{flex-direction:column;overflow-x:visible;padding:.5rem}.content{padding:1.5rem}}.shell-bare{grid-template-areas:"top" "main";grid-template-rows:auto 1fr}@media(min-width:1024px){.shell-bare{grid-template-areas:"top" "main";grid-template-columns:1fr;grid-template-rows:auto 1fr}}.hall-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.hall-tabs [role=tab]{min-height:var(--touch);padding:0 1rem;border:0;border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text);font:inherit;cursor:pointer}.hall-tabs [role=tab][aria-selected=true]{background:var(--accent);color:var(--accent-text)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button.secondary{background:transparent;color:var(--text);border:1px solid var(--muted)}button.danger{background:var(--danger);color:var(--bg)}.page-header{margin-bottom:1rem}.card+.card,.card+section,section+.card,.findings-section{margin-top:1rem}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0 1rem;align-items:end}.filters .actions{grid-column:1 / -1;margin-top:0}.field select,.field textarea{width:100%;min-height:var(--touch);padding:.5rem .75rem;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius)}.field-error{color:var(--danger)}.actions.wrap{flex-wrap:wrap}.table-wrap{overflow-x:auto}table.findings{width:100%;border-collapse:collapse}table.findings th,table.findings td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}table.findings thead th{color:var(--muted);font-weight:600}table.findings tbody th{font-weight:600}tr.row-selected{background:var(--danger-soft)}.badge{display:inline-block;padding:0 .5rem;border-radius:999px;border:1px solid currentColor;font-size:.875rem}.badge-critical{color:var(--danger)}.badge-info{color:var(--muted)}.kind-list{list-style:none;margin:0 0 1rem;padding:0}.card-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.facts{display:grid;grid-template-columns:minmax(8rem,14rem) 1fr;gap:.25rem 1rem;margin:0 0 1rem}.facts dt{color:var(--muted)}.facts dd{margin:0}.resolve fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem}.choice{display:block;padding:.25rem 0}.notice-ok{background:var(--surface);border:1px solid var(--accent);color:var(--accent)}a.button.secondary{background:transparent;color:var(--text);border:1px solid var(--muted)}.code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:2rem;font-weight:700;letter-spacing:.25em;margin:.5rem 0}.code-once{border-color:var(--accent)}.link-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;width:100%}.login-line{display:block;font-weight:400}.row-actions{margin-top:0}.admin-action{border-top:1px solid var(--line);padding:1rem 0 .25rem}.confirm-panel{border:2px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);padding:.75rem 1rem;margin-bottom:1rem}.confirm-panel h3{margin-top:0}.totp-key{margin:.5rem 0}.totp-key dd{margin:0}.totp-key .code-value{display:block;font-size:1.25rem;letter-spacing:.1em;overflow-wrap:anywhere}.qr-figure{margin:.75rem 0}.qr-figure figcaption{margin-top:.5rem}.qr-code{display:block;width:100%;max-width:20rem;height:auto;margin:.75rem 0}.qr-figure .qr-code{margin:0}.backup-codes{columns:2;padding-left:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
