:root{--bg: #f6f4ef;--surface: #ffffff;--ink: #1b2528;--muted: #5d6a6e;--line: #e3dfd5;--soft: #eef3f2;--accent: #0f5e63;--accent-ink: #ffffff;--brass: #8a6a2f;--good: #17693f;--good-bg: #e4f3ea;--bad: #a8322a;--bad-bg: #fbe9e6;--warn: #8a5a00;--warn-bg: #fdf1d9;--info: #2b5f9e;--info-bg: #e5eef9;--shadow: 0 1px 2px rgba(20, 30, 30, .06), 0 4px 14px rgba(20, 30, 30, .04);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #12181a;--surface: #1a2225;--ink: #e8ecea;--muted: #9aa7a9;--line: #2c373a;--soft: #1f2b2d;--accent: #4fb3b9;--accent-ink: #0b1c1e;--brass: #c9a560;--good: #55c58a;--good-bg: #173024;--bad: #f08a80;--bad-bg: #3a1e1b;--warn: #e5b04f;--warn-bg: #3a2c12;--info: #86b4ee;--info-bg: #1b2a3f;--shadow: none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h1,h2,h3{line-height:1.2;margin:0 0 .5rem;font-weight:650;letter-spacing:-.01em}h1{font-size:1.55rem}h2{font-size:1.15rem}h2.section{margin:1.8rem 0 .7rem}p{margin:0 0 .75rem}a{color:var(--accent)}.muted{color:var(--muted)}.tiny{font-size:.78rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8em}.nowrap{white-space:nowrap}.center{text-align:center}.warn-text{color:var(--warn)}.r{text-align:right}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--accent-ink);padding:8px 12px;border-radius:6px;z-index:50}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.top-inner{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.brand{font-weight:700;display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none}.brand-mark{width:22px;height:16px;border-radius:3px;background:var(--accent);position:relative;display:inline-block}.brand-mark:after{content:"";position:absolute;left:0;right:0;top:5px;height:3px;background:var(--brass)}.brand-lg{font-size:1.3rem;margin-bottom:1rem}.who{margin-left:auto;display:flex;align-items:center;gap:12px}.who-text{text-align:right;line-height:1.2}.who .name{font-weight:600}.tabs{max-width:1180px;margin:0 auto;padding:0 12px;display:flex;gap:2px;overflow-x:auto}.tabs a{padding:10px 12px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}.tabs a:hover{color:var(--ink)}.tabs a.active{color:var(--ink);border-color:var(--accent);font-weight:600}.content{max-width:1180px;margin:0 auto;padding:22px 16px 80px}.center-screen{min-height:70vh;display:grid;place-items:center;padding:16px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page-head h1{margin-bottom:.2rem}.lead{margin:0;max-width:70ch}.page-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.btn{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;min-height:40px}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn.danger{color:var(--bad)}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}.btn.sm{padding:4px 10px;min-height:32px;font-size:.85rem}.btn.block{width:100%;margin-top:8px}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}label{display:block;font-size:.85rem;color:var(--muted);margin:12px 0 4px}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-height:40px;width:100%;max-width:100%}input[type=checkbox]{width:auto;min-height:0}fieldset{border:1px solid var(--line);border-radius:8px;margin:14px 0 0;padding:8px 12px 10px}legend{padding:0 6px;font-size:.85rem;color:var(--muted)}.check{display:flex;gap:8px;align-items:center;margin:6px 0;color:var(--ink);font-size:.95rem}.field{margin:0}.hint{font-size:.8rem;color:var(--muted);margin:4px 0 0}.form-error{color:var(--bad);font-size:.88rem;margin:6px 0 0}.form-info{color:var(--info);font-size:.9rem}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px}.grid2{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:8px}.grid2 .card{margin:0}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 12px}.kv dt{color:var(--muted)}.kv dd{margin:0}ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:4px 0}ul.activity li{border-bottom:1px solid var(--line);padding:6px 0}.banner{display:flex;gap:12px;align-items:center;justify-content:space-between;border-radius:10px;padding:10px 14px;margin-bottom:12px;border:1px solid var(--line);background:var(--info-bg)}.banner.bad{background:var(--bad-bg)}.banner.warn{background:var(--warn-bg)}.banner.good{background:var(--good-bg)}.empty{border:1px dashed var(--line);border-radius:12px;padding:28px 16px;text-align:center;color:var(--muted);background:var(--surface)}.chip{display:inline-block;padding:1px 9px;margin:1px 4px 1px 0;border-radius:99px;font-size:.75rem;font-weight:600;background:var(--soft);color:var(--muted);white-space:nowrap}.chip.good{background:var(--good-bg);color:var(--good)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.info{background:var(--info-bg);color:var(--info)}.chip.brass{color:var(--brass)}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;background:var(--soft);white-space:nowrap}tr:last-child td{border-bottom:0}td.actions{white-space:nowrap}td.actions .btn{margin-left:4px}td.r,th.r{text-align:right}details summary{cursor:pointer;color:var(--accent);font-size:.8rem}pre{margin:6px 0 0;white-space:pre-wrap;background:var(--soft);padding:8px;border-radius:8px}ol.steps{list-style:none;margin:0;padding:0}ol.steps li{display:flex;gap:12px;padding:8px 0;align-items:flex-start}.tick{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.8rem;color:var(--accent-ink)}ol.steps li.done .tick{background:var(--good);border-color:var(--good)}ol.steps li.done a{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);width:min(520px,94vw);padding:20px;box-shadow:0 20px 60px #0000004d}dialog.wide{width:min(760px,94vw)}dialog::backdrop{background:#0a141480}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dialog-body{margin-bottom:4px}.toasts{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:60;display:grid;gap:8px;width:min(560px,92vw)}.toast{background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:10px;box-shadow:0 8px 30px #00000040;font-size:.9rem}.toast.err{background:var(--bad);color:#fff}.signin{min-height:100vh;display:grid;place-items:center;padding:16px}.signin-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.qr{display:block;margin:8px auto;border-radius:8px;background:#fff;padding:4px}.qr-pending{width:192px;height:192px;background:var(--soft)}.setup-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;letter-spacing:.06em;background:var(--soft);padding:8px 10px;border-radius:8px;word-break:break-all;-webkit-user-select:all;user-select:all}@media (max-width: 640px){.row2{grid-template-columns:1fr}.who-text{display:none}.content{padding-top:16px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
