@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:light;--f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-disp:var(--f-body);--f-mono:var(--f-body);--bg:#ECECEE;--surface:#FFFFFF;--sunken:#F4F4F5;--ink:#242424;--muted:#6E6E70;--border:#DEDEE0;--border-2:#EBEBED;--brand:#A01923;--brand-d:#7C0F19;--brand-l:#F7E3E5;--brand-ink:#7C0F19;--focus-ring:0 0 0 3px rgba(160,25,35,.14);--ok:#2E7A57;--ok-bg:#DCEEE3;--ok-ink:#1c5b3d;--bad:#C0293A;--bad-bg:#FBE2E5;--bad-ink:#8a1526;--warn:#9A6B1E;--warn-bg:#F6E8CE;--warn-ink:#7a5313;--neutral-bg:#ECECEE;--neutral-ink:#575758;--hi:#F5B301;--glass:rgba(255,255,255,.66);--glass-strong:rgba(255,255,255,.85);--glass-brd:rgba(255,255,255,.55);--glass-blur:22px;--sh-glass:0 8px 30px -8px rgba(20,20,25,.22),0 2px 8px -4px rgba(20,20,25,.14);--r-s:9px;--r-m:14px;--r-l:20px;--r-xl:26px;--sh:0 1px 2px rgba(20,20,25,.05),0 10px 30px -18px rgba(20,20,25,.3);--content-max:1100px;--sidebar-w:264px;--brand-primary:var(--brand);--brand-primary-contrast:#FFFFFF;--surface-page:var(--bg);--surface-panel:var(--surface);--surface-sunken:var(--sunken);--surface-popover:var(--surface);--text-primary:var(--ink);--text-muted:var(--muted);--text-on-brand:var(--brand-primary-contrast);--border-default:var(--border);--border-subtle:var(--border-2);--status-success:var(--ok);--status-success-surface:var(--ok-bg);--status-success-text:var(--ok-ink);--status-warning:var(--warn);--status-warning-surface:var(--warn-bg);--status-warning-text:var(--warn-ink);--status-error:var(--bad);--status-error-surface:var(--bad-bg);--status-error-text:var(--bad-ink);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--font-display:48px;--lh-display:1.1;--fw-display:700;--font-h1:36px;--lh-h1:1.15;--fw-h1:700;--font-h2:28px;--lh-h2:1.2;--fw-h2:700;--font-h3:22px;--lh-h3:1.3;--fw-h3:600;--font-body-lg:18px;--lh-body-lg:1.6;--font-body:15px;--lh-body:1.55;--font-sm:13px;--lh-sm:1.5;--font-caption:12px;--lh-caption:1.3;--fw-caption:500;--lh-ui:1.2;--touch-min:44px;--motion-micro:.15s;--motion-overlay:.22s}.t-display{font-size:var(--font-display);line-height:var(--lh-display);font-weight:var(--fw-display);letter-spacing:-.02em}.t-h1{font-size:var(--font-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1);letter-spacing:-.02em}.t-h2{font-size:var(--font-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2);letter-spacing:-.01em}.t-h3{font-size:var(--font-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3);letter-spacing:-.01em}.t-body-lg{font-size:var(--font-body-lg);line-height:var(--lh-body-lg)}.t-body{font-size:var(--font-body);line-height:var(--lh-body)}.t-sm{font-size:var(--font-sm);line-height:var(--lh-sm)}.t-caption{font-size:var(--font-caption);line-height:var(--lh-caption);font-weight:var(--fw-caption)}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;left:var(--space-2);top:-100vh;z-index:100;display:inline-flex;align-items:center;min-height:var(--touch-min);padding:var(--space-3) var(--space-4);border-radius:var(--r-m);background:var(--brand);color:var(--brand-primary-contrast);font-weight:600;font-size:var(--font-sm);line-height:var(--lh-ui);text-decoration:none;box-shadow:var(--sh)}.skip-link:focus{top:calc(var(--space-2) + env(safe-area-inset-top))}.scroll:focus{outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{margin:0;height:100%}body{color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45;background:radial-gradient(120% 90% at 88% 6%,rgba(160,25,35,.1),transparent 55%),radial-gradient(110% 80% at 6% 96%,rgba(160,25,35,.07),transparent 52%),linear-gradient(180deg,#f3f3f5,#e9e9ec);background-attachment:fixed;-webkit-tap-highlight-color:transparent}#root{min-height:100dvh;display:flex;justify-content:center}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.mono{font-variant-numeric:tabular-nums slashed-zero;letter-spacing:.01em}.strong{font-weight:700}.shell{width:100%;max-width:480px;min-height:100dvh;display:flex;position:relative}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh;overflow:hidden;position:relative}.sidebar{display:none}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 12px calc(16px + env(safe-area-inset-left));background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-bottom:1px solid var(--border-2);color:var(--ink)}.topbar-mark{height:24px;width:auto;flex-shrink:0;display:block}.topbar-txt{flex:1;min-width:0}.topbar-title{font-family:var(--f-disp);font-weight:700;font-size:17px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-sub{font-size:12px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .icon-btn{width:44px;height:44px}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.topbar{background:var(--glass-strong)}}.scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px 16px 132px}@media (min-width:768px){.shell{max-width:none}.scroll{padding:24px 28px 132px}.page{max-width:var(--content-max);width:100%;margin-inline:auto}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}}@media (min-width:1024px){.shell{max-width:none}.scroll{padding:32px 40px 48px}.page{max-width:none}.topbar{display:none}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-w);flex-shrink:0;background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-right:1px solid var(--border-2);padding:22px 16px;height:100dvh;align-self:flex-start;position:sticky;top:0;overflow-x:hidden;overflow-y:auto;transition:width .2s ease,padding .2s ease}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:2px 8px 18px;border-bottom:1px solid var(--border-2)}.sidebar-logo{height:30px;width:auto;display:block;min-width:0;flex-shrink:1}.sidebar-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--r-s);color:var(--muted)}.sidebar-sub{font-size:12px;color:var(--muted);padding:12px 8px 0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{display:flex;flex-direction:column;gap:3px;padding-top:14px}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:var(--r-m);min-height:var(--touch-min);color:var(--muted);font-weight:600;font-size:14px;text-decoration:none;position:relative;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s}.sidebar-nav a svg{flex-shrink:0}.sidebar-nav a.on{background:var(--brand-l);color:var(--brand-ink)}.sidebar-nav a.on svg{stroke:var(--brand-ink)}.sidebar-nav .tab-badge{position:static;margin-left:auto}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-2);display:flex;flex-direction:column;gap:3px}.sidebar-footer button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 13px;min-height:var(--touch-min);border-radius:var(--r-m);color:var(--muted);font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s}.sidebar-footer button svg{flex-shrink:0}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.sidebar{background:var(--glass-strong)}}.side-collapsed .sidebar{width:76px;padding:22px 12px}.side-collapsed .sidebar-brand{justify-content:center;padding:2px 0 18px}.side-collapsed .sidebar-logo{display:none}.side-collapsed .sidebar-toggle{margin-left:0}.side-collapsed .sidebar-sub,.side-collapsed .sidebar-label{display:none}.side-collapsed .sidebar-nav a{justify-content:center;padding:11px 0}.side-collapsed .sidebar-nav .tab-badge{position:absolute;top:3px;right:5px;margin-left:0}.side-collapsed .sidebar-footer button{justify-content:center;padding:11px 0}}@media (min-width:1024px) and (hover:hover) and (pointer:fine){.sidebar-nav a:hover:not(.on){background:var(--sunken);color:var(--ink)}.sidebar-footer button:hover,.sidebar-toggle:hover{background:var(--sunken);color:var(--ink)}}.tabbar{position:relative;flex-shrink:0;z-index:45;display:flex;gap:2px;margin:0 calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));padding:8px;background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-brd);border-radius:var(--r-xl);box-shadow:var(--sh-glass)}.tabbar button,.tabbar a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;padding:11px 4px;color:var(--muted);border-radius:var(--r-m);text-decoration:none;transition:color .18s,background .18s,transform .18s}.tabbar button.on,.tabbar a.on{color:var(--brand);background:var(--brand-l);transform:translateY(-1px)}.tabbar button.on svg,.tabbar a.on svg{stroke:var(--brand)}.tabbar button:active,.tabbar a:active{transform:scale(.94)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.tabbar{background:var(--glass-strong)}}.tab-badge{position:absolute;top:2px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--hi);color:#3a2a00;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}@media (min-width:1024px){.tabbar{display:none}}.tabbar-sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1414196b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tabbar-sheet{position:fixed;z-index:44;left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));margin:0 auto;padding:8px;display:flex;flex-direction:column;gap:2px;max-height:420px;max-height:min(55dvh,420px);overflow-y:auto;background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-brd);border-radius:var(--r-l);box-shadow:var(--sh-glass);animation:up .18s ease}.tabbar-sheet a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:var(--r-m);color:var(--muted);font-weight:600;font-size:14px;text-decoration:none}.tabbar-sheet a.on{background:var(--brand-l);color:var(--brand-ink)}.tabbar-sheet a.on svg{stroke:var(--brand-ink)}.tabbar-sheet .tab-badge{position:static;margin-left:auto}@media (min-width:1024px){.tabbar-sheet,.tabbar-sheet-bg{display:none}}:root[data-theme=dark] .tabbar-sheet-bg{background:#0009}.page{display:flex;flex-direction:column;gap:14px}.page-head{display:flex;align-items:center;justify-content:space-between;min-height:var(--touch-min)}.page-h{font-family:var(--f-disp);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:2px 0 4px}.section-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:8px}.section-label svg{stroke:var(--muted)}.card{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-l);padding:16px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}.card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--f-disp);font-weight:600;font-size:15px}.card-h-title{display:flex;align-items:center;gap:8px}.fld{display:flex;flex-direction:column;gap:6px}.fld>span{font-size:12.5px;font-weight:600;color:var(--muted)}.fld-row{display:flex;gap:10px;align-items:flex-end}.fld-row .fld{flex:1}input,select,textarea{width:100%;min-height:var(--touch-min);padding:11px 12px;background:var(--sunken);border:1px solid var(--border);border-radius:var(--r-m);transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--brand)}input:focus,textarea:focus,select:focus{box-shadow:var(--focus-ring)}textarea{resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;border-radius:var(--r-m);min-height:var(--touch-min);font-weight:600;font-size:14.5px;transition:transform .06s,background .12s,opacity .12s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.btn-sm{padding:8px 12px;font-size:13px;border-radius:var(--r-s);min-height:var(--touch-min)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-d)}.btn-ghost{background:var(--sunken);color:var(--ink);border:1px solid var(--border)}.btn-danger{background:var(--bad);color:#fff}.btn-danger-ghost{color:var(--bad);background:transparent;border:1px solid var(--bad-bg);margin-top:4px}.row-btns{display:flex;gap:10px}.row-btns .btn{flex:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);flex-shrink:0;border-radius:var(--r-s);color:var(--muted)}.icon-btn.light{color:#fff}@media (hover:hover) and (pointer:fine){.icon-btn:hover{background:var(--sunken)}.icon-btn.light:hover{background:#ffffff1f}}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.01em}.badge-ok{background:var(--ok-bg);color:var(--ok-ink)}.badge-bad{background:var(--bad-bg);color:var(--bad-ink)}.badge-warn{background:var(--warn-bg);color:var(--warn-ink)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.tag{padding:3px 8px;border-radius:var(--r-s);font-size:11px;font-weight:700;font-family:var(--f-mono)}.tag-ok{background:var(--ok-bg);color:var(--ok-ink)}.tag-bad{background:var(--bad-bg);color:var(--bad-ink)}.tag-neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--sunken);border:1px solid var(--border-2);border-radius:var(--r-m);padding:12px 10px}.stat-val{font-family:var(--f-mono);font-weight:700;font-size:26px;line-height:1;letter-spacing:-.02em}.stat-val.tone-ok{color:var(--ok)}.stat-val.tone-bad{color:var(--bad)}.stat-val.tone-warn{color:var(--warn)}.stat-label{font-size:11.5px;font-weight:600;color:var(--muted);margin-top:6px}.stat-sub{font-size:11px;color:var(--muted);opacity:.8;margin-top:1px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:8px 14px;border-radius:999px;background:var(--sunken);border:1px solid var(--border);font-weight:600;font-size:13px;color:var(--muted)}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.empty{text-align:center;color:var(--muted);font-size:13.5px;padding:22px 16px;background:var(--sunken);border:1px dashed var(--border);border-radius:var(--r-m)}.hint{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.err{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--bad-ink);background:var(--bad-bg);border-radius:var(--r-m);padding:10px 12px}.err svg{stroke:var(--bad-ink);flex-shrink:0;margin-top:1px}.success{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-l);padding:28px 20px;text-align:center;box-shadow:var(--sh);display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:20px}.success-mark{width:56px;height:56px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:flex;align-items:center;justify-content:center}.success h2{font-family:var(--f-disp);margin:6px 0 0;font-size:20px}.success p{color:var(--muted);font-size:13.5px;margin:0 0 8px;max-width:32ch}.success .btn{width:100%}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#1414196b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:60;padding:0}.modal{width:100%;max-width:480px;background:var(--surface);border-radius:var(--r-l) var(--r-l) 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:up .18s ease}@keyframes up{0%{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}.modal-h{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-disp);font-weight:700;font-size:18px}.modal-sub{font-size:13px;color:var(--muted);margin:-6px 0 2px}@media (min-width:1024px){.modal-bg{align-items:center;padding:24px}.modal{max-width:520px;border-radius:var(--r-l);max-height:min(640px,85vh);overflow-y:auto;padding:22px 22px calc(22px + env(safe-area-inset-bottom))}}.seg{display:flex;gap:4px;background:var(--sunken);border:1px solid var(--border);border-radius:var(--r-m);padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}.seg button{flex:1;min-height:var(--touch-min);padding:9px;border-radius:10px;font-weight:600;font-size:13.5px;color:var(--muted);white-space:nowrap}.seg button.on{background:var(--surface);color:var(--brand-ink);box-shadow:0 1px 2px #14211b1a}.seg button:disabled{opacity:.4}@media (hover:hover) and (pointer:fine){.seg button:hover:not(.on):not(:disabled){color:var(--ink)}}.seg.small button{padding:7px;font-size:13px}.login{width:100%;max-width:420px;padding:32px 20px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100dvh}.theme-fab{position:fixed;top:calc(12px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));z-index:40;background:var(--glass-strong);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-brd);border-radius:999px;box-shadow:var(--sh-glass)}.theme-fab .icon-btn{width:44px;height:44px;border-radius:999px}.brand{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.brand-logo{height:44px;width:auto;display:block}.brand-name{font-family:var(--f-disp);font-weight:700;font-size:20px;letter-spacing:-.02em}.brand-sub{font-size:12.5px;color:var(--muted)}.login .card{gap:14px;background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-brd);box-shadow:var(--sh-glass)}.demo{background:var(--sunken);border:1px dashed var(--border);border-radius:var(--r-m);padding:12px 14px;font-size:12.5px;color:var(--muted)}.demo-t{font-weight:700;color:var(--ink);margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.demo-r{display:flex;gap:8px;padding:2px 0}.demo-r span{display:inline-block;min-width:82px;font-weight:600;color:var(--brand)}.table-wrap{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-l);box-shadow:var(--sh);overflow-x:auto;max-height:70dvh;overflow-y:auto}@media (min-width:1024px){.page-vult{height:100%;min-height:0}.page-vult>.table-wrap{flex:1;min-height:0;max-height:none;overflow-y:auto}}.table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}.table th{position:sticky;top:0;z-index:1;background:var(--sunken);color:var(--muted);font-family:var(--f-disp);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.table th .th-inner{display:inline-flex;align-items:center;gap:4px}.table td{padding:10px 14px;border-bottom:1px solid var(--border-2);white-space:nowrap;color:var(--ink)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}@media (hover:hover) and (pointer:fine){.table th:hover{color:var(--ink)}.table tbody tr.clickable:hover td{background:var(--sunken)}}.table .right{text-align:right}.table td.mono{font-family:var(--f-mono);font-size:12.5px}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.table-toolbar .search{position:relative;flex:1;min-width:180px}.table-toolbar .search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.table-toolbar .search input{width:100%;padding-left:36px}.table-toolbar select{width:auto;max-width:100%}:root[data-theme=dark]{color-scheme:dark;--bg:#141416;--surface:#1E1E21;--sunken:#2A2A2F;--ink:#ECECEE;--muted:#9C9CA4;--border:#3B3B42;--border-2:#2F2F35;--brand:#D8515E;--brand-d:#B93743;--brand-l:#3B181D;--brand-ink:#F1A7AE;--focus-ring:0 0 0 3px rgba(216,81,94,.24);--ok:#57B888;--ok-bg:#15301F;--ok-ink:#9BD9B6;--bad:#E2606C;--bad-bg:#3D191E;--bad-ink:#F2A9B0;--warn:#D9A544;--warn-bg:#38290E;--warn-ink:#E9C98B;--neutral-bg:#2C2C31;--neutral-ink:#B9B9BF;--glass:rgba(23,23,26,.72);--glass-strong:rgba(23,23,26,.9);--glass-brd:rgba(255,255,255,.09);--sh-glass:0 8px 30px -8px rgba(0,0,0,.5),0 2px 8px -4px rgba(0,0,0,.4);--sh:0 1px 2px rgba(0,0,0,.35),0 10px 30px -18px rgba(0,0,0,.6)}:root[data-theme=dark] body{background:radial-gradient(120% 90% at 88% 6%,rgba(216,81,94,.09),transparent 55%),radial-gradient(110% 80% at 6% 96%,rgba(216,81,94,.06),transparent 52%),linear-gradient(180deg,#19191c,#101012);background-attachment:fixed}:root[data-theme=dark] .tabbar button.on,:root[data-theme=dark] .tabbar a.on{color:var(--brand-ink)}:root[data-theme=dark] .tabbar button.on svg,:root[data-theme=dark] .tabbar a.on svg{stroke:var(--brand-ink)}:root[data-theme=dark] .btn-primary{background:var(--brand-d)}:root[data-theme=dark] .btn-primary:hover:not(:disabled){background:#9e2934}:root[data-theme=dark] .chip.on{background:var(--brand-d);border-color:var(--brand-d)}:root[data-theme=dark] .btn-danger{background:#b4303c}:root[data-theme=dark] .seg button.on{background:#3e3e46;box-shadow:0 1px 2px #00000059}:root[data-theme=dark] .demo-r span{color:var(--brand-ink)}:root[data-theme=dark] .modal-bg{background:#0009}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fld-label{display:block}.fld-req{color:var(--status-error);font-weight:600}.fld-opt{color:var(--text-muted);font-weight:400}.fld-hint{font-size:var(--font-caption);line-height:var(--lh-caption);color:var(--text-muted)}.fld-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-caption);line-height:var(--lh-caption);font-weight:600;color:var(--status-error-text)}.fld-error svg{flex-shrink:0}.fld-invalid input,.fld-invalid select,.fld-invalid textarea{border-color:var(--status-error)}.fld-invalid input:focus,.fld-invalid select:focus,.fld-invalid textarea:focus{box-shadow:0 0 0 3px var(--status-error-surface)}.keuze{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) 0;cursor:pointer}.keuze input{width:20px;height:20px;min-height:0;flex-shrink:0;margin:2px 0 0;accent-color:var(--brand);cursor:pointer}.keuze-txt{display:flex;flex-direction:column;gap:2px;font-size:var(--font-body);line-height:var(--lh-body)}.keuze-hint{font-size:var(--font-caption);color:var(--text-muted)}.keuze-uit{opacity:.6;cursor:not-allowed}.keuze-uit input{cursor:not-allowed}.keuze-groep{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.keuze-groep legend{padding:0 0 var(--space-1);font-size:12.5px;font-weight:600;color:var(--text-muted)}.schakelaar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-min);padding:var(--space-2) 0;cursor:pointer;position:relative}.schakelaar input{position:absolute;right:0;width:46px;height:28px;min-height:0;margin:0;opacity:0;cursor:pointer}.schakelaar-spoor{width:46px;height:28px;flex-shrink:0;border-radius:999px;background:var(--border-default);transition:background var(--motion-micro);display:flex;align-items:center;padding:3px}.schakelaar-knop{width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #1414194d;transition:transform var(--motion-micro)}.schakelaar input:checked~.schakelaar-spoor{background:var(--brand)}.schakelaar input:checked~.schakelaar-spoor .schakelaar-knop{transform:translate(18px)}.schakelaar input:focus-visible~.schakelaar-spoor{outline:2px solid var(--text-primary);outline-offset:2px}.spinner{display:inline-block;border:2px solid var(--border-default);border-top-color:var(--brand);border-radius:50%;animation:draai .7s linear infinite}@keyframes draai{to{transform:rotate(360deg)}}.skeleton{display:block;background:var(--surface-sunken);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:glans 1.4s infinite}@keyframes glans{to{transform:translate(100%)}}.skeleton-tekst,.progress-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.progress-kop{display:flex;justify-content:space-between;font-size:var(--font-sm);color:var(--text-muted)}.progress{height:8px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.progress-vul{height:100%;background:var(--brand);border-radius:999px;transition:width var(--motion-overlay)}.progress-onbepaald .progress-vul{width:35%;animation:schuif 1.2s ease-in-out infinite}@keyframes schuif{0%{margin-left:-35%}to{margin-left:100%}}.alert{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-m);border:1px solid transparent;align-items:flex-start;font-size:var(--font-body);line-height:var(--lh-body)}.alert-icoon{flex-shrink:0;display:flex;padding-top:1px}.alert-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.alert-titel{font-weight:700}.alert-actie{margin-top:var(--space-1)}.alert-ok{background:var(--status-success-surface);border-color:var(--status-success);color:var(--status-success-text)}.alert-warn{background:var(--status-warning-surface);border-color:var(--status-warning);color:var(--status-warning-text)}.alert-bad{background:var(--status-error-surface);border-color:var(--status-error);color:var(--status-error-text)}.alert-neutral{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-primary)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:var(--font-caption);font-weight:600;line-height:var(--lh-ui);background:var(--surface-sunken);color:var(--text-primary);border:1px solid var(--border-default)}.status-stip{width:7px;height:7px;border-radius:999px;flex-shrink:0;background:currentColor}.status-ok{background:var(--status-success-surface);color:var(--status-success-text);border-color:transparent}.status-warn{background:var(--status-warning-surface);color:var(--status-warning-text);border-color:transparent}.status-bad{background:var(--status-error-surface);color:var(--status-error-text);border-color:transparent}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#14141973;display:flex;align-items:flex-end;justify-content:center}.drawer{background:var(--surface-panel);width:100%;max-height:90dvh;border-radius:var(--r-xl) var(--r-xl) 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.drawer-kop{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.drawer-titel{margin:0;font-size:var(--font-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3)}.drawer-inhoud{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4)}.drawer-voet{padding:var(--space-4);border-top:1px solid var(--border-subtle);display:flex;gap:var(--space-2)}@media (min-width:1024px){.drawer-bg{align-items:stretch;justify-content:flex-end}.drawer{width:min(480px,100%);max-height:none;height:100dvh;border-radius:0}}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + 4px);z-index:40;min-width:190px;background:var(--surface-popover);border:1px solid var(--border-default);border-radius:var(--r-m);box-shadow:var(--sh);padding:var(--space-1);display:flex;flex-direction:column}.menu-rechts{right:0}.menu-links{left:0}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border-radius:var(--r-s);font-size:var(--font-body);font-weight:500;color:var(--text-primary);text-align:left}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item-bad{color:var(--status-error-text)}@media (hover:hover){.menu-item:hover:not(:disabled){background:var(--surface-sunken)}}.tip-wrap{position:relative;display:inline-flex}.tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:50;white-space:nowrap;padding:6px 10px;border-radius:var(--r-s);background:var(--text-primary);color:var(--surface-panel);font-size:var(--font-caption);line-height:var(--lh-ui);font-weight:500;opacity:0;pointer-events:none;transition:opacity var(--motion-micro)}.tip-wrap:hover .tip,.tip-wrap:focus-within .tip{opacity:1}.kruimels ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin:0;padding:0;font-size:var(--font-sm);color:var(--text-muted)}.kruimels li{display:flex;align-items:center;gap:var(--space-1)}.kruimels a,.kruimels [aria-current=page]{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);min-width:var(--touch-min);padding:0 var(--space-1)}.kruimels a{color:var(--text-muted);text-decoration:none}.kruimels [aria-current=page]{color:var(--text-primary);font-weight:600}.kruimel-scheiding{display:flex;opacity:.6}@media (hover:hover){.kruimels a:hover{color:var(--brand);text-decoration:underline}}.paginering{display:flex;align-items:center;justify-content:center;gap:var(--space-1);flex-wrap:wrap}.paginering ol{list-style:none;display:flex;align-items:center;gap:var(--space-1);margin:0;padding:0}.paginering li{display:flex;align-items:center;gap:var(--space-1)}.paginering-nr{min-width:var(--touch-min);min-height:var(--touch-min);padding:0 var(--space-2);border-radius:var(--r-s);font-size:var(--font-sm);font-weight:600;color:var(--text-muted)}.paginering-nr.on{background:var(--brand-l);color:var(--brand-ink)}.paginering-gat{color:var(--text-muted);padding:0 2px}.paginering .icon-btn:disabled{opacity:.4;cursor:not-allowed}@media (hover:hover){.paginering-nr:hover:not(.on){background:var(--surface-sunken);color:var(--text-primary)}}.accordeon{border:1px solid var(--border-default);border-radius:var(--r-m);background:var(--surface-panel);overflow:hidden}.accordeon+.accordeon{margin-top:var(--space-2)}.accordeon-kop{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--touch-min);padding:var(--space-3) var(--space-4);font-size:var(--font-body);font-weight:600;color:var(--text-primary);text-align:left}.accordeon-pijl{display:flex;color:var(--text-muted);transition:transform var(--motion-micro)}.accordeon-paneel{padding:0 var(--space-4) var(--space-4);font-size:var(--font-body);line-height:var(--lh-body);color:var(--text-primary)}@media (hover:hover){.accordeon-kop:hover{background:var(--surface-sunken)}}.geheim{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--status-warning);border-radius:var(--r-m);background:var(--status-warning-surface)}.geheim-kop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.geheim-label{font-weight:700;color:var(--status-warning-text)}.geheim-eenmalig{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-caption);font-weight:600;color:var(--status-warning-text)}.geheim-waarde{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--r-s);background:var(--surface-panel);border:1px solid var(--border-default)}.geheim-waarde code{flex:1;min-width:0;overflow-x:auto;font-size:var(--font-sm);color:var(--text-primary);white-space:nowrap}.geheim-status{font-size:var(--font-caption);color:var(--status-success-text);min-height:1em}.geheim-toelichting{margin:0;font-size:var(--font-sm);line-height:var(--lh-sm);color:var(--status-warning-text)}.taal{position:relative;display:inline-flex}.sidebar-acties{display:flex;align-items:center;padding:0 0 var(--space-2)}.sidebar-acties .taal-paneel{top:auto;bottom:calc(100% + 4px);left:0;right:auto}.taal-knop{position:relative;z-index:20;border-radius:999px}.sidebar-acties .taal{width:100%}.sidebar-acties .taal-knop{width:100%;justify-content:flex-start;gap:12px;padding:11px 13px}.taal-tekst{display:none}.sidebar-acties .taal-tekst{display:inline-block;flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-collapsed .taal-tekst{display:none}.taal-vanger{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.taal-paneel{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:180px;padding:var(--space-1);border-radius:var(--r-m);background:var(--surface-popover);border:1px solid var(--border-default);box-shadow:var(--sh);display:flex;flex-direction:column}.taal-rij{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border-radius:var(--r-s);font-size:var(--font-body);font-weight:500;color:var(--text-primary);text-align:left}.taal-rij.on{background:var(--brand-l);color:var(--brand-ink);font-weight:600}.taal-label{flex:1;min-width:0}@media (hover:hover){.taal-rij:hover:not(.on){background:var(--surface-sunken)}}.vlag{display:inline-block;width:20px;height:16px;flex-shrink:0;border-radius:3px;overflow:hidden;line-height:0}.vlag>svg{width:100%;height:100%;display:block}.vlag-terugval{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;text-transform:uppercase;line-height:1;border:1px solid var(--border-default);color:var(--text-muted)}:root[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}:root[data-theme=dark] .schakelaar-knop{background:#f2f2f4}:root[data-theme=dark] .schakelaar input:checked~.schakelaar-spoor{background:var(--brand-d)}:root[data-theme=dark] .tip{background:#f2f2f4;color:#18181b}:root[data-theme=dark] .drawer-bg{background:#0009}:root[data-theme=dark] .alert{border-color:var(--border-default)}.fb-tab{position:fixed;right:var(--scrollbar-breedte,0px);top:50%;transform:translateY(-50%);z-index:46;display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 8px;writing-mode:vertical-rl;white-space:nowrap;margin-right:env(safe-area-inset-right);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-brd);border-right:none;border-radius:var(--r-m) 0 0 var(--r-m);box-shadow:var(--sh-glass);color:var(--brand);font-weight:700;font-size:12.5px;letter-spacing:.04em;cursor:pointer}.fb-tab svg{writing-mode:horizontal-tb;flex-shrink:0}.fb-tab:disabled{opacity:.6;cursor:progress}@media (hover:hover) and (pointer:fine){.fb-tab:hover{background:var(--surface)}}@media (max-width:1023px){.fb-tab{top:auto;bottom:calc(84px + env(safe-area-inset-bottom));transform:none;right:auto;left:calc(16px + env(safe-area-inset-left));margin-right:0;writing-mode:horizontal-tb;flex-direction:row;gap:6px;padding:9px 13px;font-size:12.5px;border:1px solid var(--glass-brd);border-radius:var(--r-m)}}.fb-thumb{width:100%;border:1px solid var(--border);border-radius:var(--r-m);background:var(--sunken);display:block;cursor:zoom-in}.fb-acties{display:flex;flex-wrap:wrap;gap:8px}.fb-meta{font-size:12px;color:var(--muted)}.fb-meta code{font-family:var(--f-mono);font-size:11px}.fb-layout{display:flex;flex-direction:column;gap:12px}.fb-col{display:flex;flex-direction:column;gap:12px;min-width:0}@media (min-width:1024px){.fb-layout{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:12px;align-items:start}.fb-span{grid-column:1 / -1}}.fb-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;pointer-events:none;cursor:crosshair}.fb-picker-vak{position:fixed;z-index:56;pointer-events:none;border:2px solid var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border-radius:var(--r-s)}.fb-picker-hint{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translate(-50%);z-index:56;padding:8px 14px;border-radius:999px;background:var(--glass-strong);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-brd);box-shadow:var(--sh-glass);font-size:12.5px;font-weight:600;white-space:nowrap}.fb-annotatie{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--r-m);overflow:hidden;background:var(--sunken);cursor:crosshair;touch-action:none}.fb-annotatie>img,.fb-annotatie>canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.fb-annotatie>img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.fb-beeld-knop{display:block;padding:0;border:0;background:none;width:100%;cursor:zoom-in}.fb-beeld-knop:disabled{cursor:default}.fb-beeld-knop:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-s)}@media (min-width:1024px){.modal.modal-breed{max-width:min(960px,92vw)}}:root.fb-vastleggen .topbar,:root.fb-vastleggen .sidebar,:root.fb-vastleggen .tabbar,:root.fb-vastleggen .tabbar-sheet,:root.fb-vastleggen .theme-fab{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.login-sso{width:100%;padding:8px;font-size:13px;font-weight:600;color:var(--muted);text-align:center;border-radius:var(--r-m);transition:color .15s,background .15s}.login-sso:hover:not(:disabled){color:var(--brand-ink);background:var(--sunken)}.login-sso:disabled{opacity:.5;cursor:default}
