:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-muted:#f2f4f7;--color-surface-hover:#f7f8fb;--color-border:#e4e7ec;--color-border-strong:#d0d5dd;--color-text:#101828;--color-text-muted:#475467;--color-text-subtle:#667085;--color-accent:#4353e0;--color-accent-hover:#3542c4;--color-accent-soft:#eef0fd;--color-accent-text:#3140b8;--color-on-accent:#fff;--color-success:#067647;--color-success-soft:#ecfdf3;--color-info:#175cd3;--color-info-soft:#eff8ff;--color-caution:#8a6100;--color-caution-soft:#fef9e3;--color-warning:#b54708;--color-warning-soft:#fff4e5;--color-danger:#b42318;--color-danger-soft:#fef3f2;--color-danger-hover:#912018;--color-neutral:#475467;--color-neutral-soft:#f2f4f7;--focus-ring:0 0 0 3px #4353e059;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 4px 12px -2px #10182814, 0 2px 4px -2px #1018280a;--shadow-lg:0 24px 48px -12px #10182838;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:1.75rem;--row-height:64px;--sidebar-width:248px;--content-max:1180px;--ease:cubic-bezier(.2, .8, .2, 1);--duration:.25s;--duration-fast:.16s}@media (prefers-color-scheme:dark){:root{--color-bg:#0e1116;--color-surface:#161a21;--color-surface-muted:#1d222b;--color-surface-hover:#1b2029;--color-border:#2a303b;--color-border-strong:#3a4250;--color-text:#eef1f6;--color-text-muted:#b2bac7;--color-text-subtle:#8a93a3;--color-accent:#7b88ff;--color-accent-hover:#95a0ff;--color-accent-soft:#232a4d;--color-accent-text:#aeb6ff;--color-on-accent:#0e1116;--color-success:#5fd39a;--color-success-soft:#13291f;--color-info:#7cb7ff;--color-info-soft:#14243a;--color-caution:#f2cf63;--color-caution-soft:#2c2610;--color-warning:#ffad66;--color-warning-soft:#33200f;--color-danger:#ff8a80;--color-danger-soft:#361816;--color-danger-hover:#ffb0a8;--color-neutral:#b2bac7;--color-neutral-soft:#222833;--focus-ring:0 0 0 3px #7b88ff73;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px -2px #00000073;--shadow-lg:0 24px 48px -12px #0009}}@media (prefers-reduced-motion:reduce){:root{--duration:.01ms;--duration-fast:.01ms}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-md);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:650;line-height:1.2}h2{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:620}h3{font-size:var(--text-md);font-weight:600}a{color:var(--color-accent-text);border-radius:4px;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}img{max-width:100%;display:block}ul,ol{margin:0;padding:0;list-style:none}code,.mono{font-family:var(--font-mono);font-size:.875em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.muted{color:var(--color-text-muted)}.subtle{color:var(--color-text-subtle);font-size:var(--text-sm)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pop-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%,to{opacity:.55}50%{opacity:1}}.enter,.enter-list>*{animation:rise-in var(--duration) var(--ease) both}.enter-list>:nth-child(2){animation-delay:20ms}.enter-list>:nth-child(3){animation-delay:40ms}.enter-list>:nth-child(4){animation-delay:60ms}.enter-list>:nth-child(5){animation-delay:80ms}.enter-list>:nth-child(n+6){animation-delay:.1s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease), opacity var(--duration-fast) var(--ease);border:1px solid #0000;font-weight:560;line-height:1;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--sm{min-height:32px;padding:0 var(--space-3)}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn--danger-outline{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-border-strong)}.btn--danger-outline:hover:not(:disabled){background:var(--color-danger-soft)}.btn--block{width:100%}.btn-icon{flex:none;width:16px;height:16px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.badge{border-radius:var(--radius-pill);height:24px;font-size:var(--text-xs);white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-neutral);align-items:center;gap:6px;padding:0 10px;font-weight:560;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--info{background:var(--color-info-soft);color:var(--color-info)}.badge--caution{background:var(--color-caution-soft);color:var(--color-caution)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-3);display:flex}.card-header p{margin-top:2px}.card-body{padding:var(--space-2) var(--space-6) var(--space-6)}.card-body--flush{padding:0 0 var(--space-2)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-size:var(--text-sm);color:var(--color-text);font-weight:560}.field-optional{color:var(--color-text-subtle);font-weight:400}.field-hint{font-size:var(--text-xs);color:var(--color-text-subtle)}.field-error{font-size:var(--text-xs);color:var(--color-danger);animation:slide-down var(--duration-fast) var(--ease) both}.input,.select,.textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:42px;font-size:var(--text-md);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);padding:9px 12px}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text-subtle)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--color-accent)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger)}.textarea{resize:vertical;min-height:88px}.input--code{font-family:var(--font-mono);letter-spacing:.4em;text-align:center;padding-left:.4em;font-size:1.375rem}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid>.span-2{grid-column:1/-1}@media (width<=640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.checkbox{align-items:flex-start;gap:var(--space-3);font-size:var(--text-md);cursor:pointer;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--color-accent);flex:none;margin:2px 0 0}.checklist{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:240px;overflow:auto}.checklist-item{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color var(--duration-fast) var(--ease);display:flex}.checklist-item:last-child{border-bottom:0}.checklist-item:hover{background:var(--color-surface-hover)}.checklist-item input{width:18px;height:18px;accent-color:var(--color-accent);flex:none}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font-size:var(--text-sm);margin-bottom:6px;padding:0;font-weight:560}.notice{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-info-soft);color:var(--color-text);animation:slide-down var(--duration) var(--ease) both;border:1px solid #0000;display:flex}.notice-icon{width:18px;height:18px;color:var(--color-info);flex:none;margin-top:1px}.notice--danger{background:var(--color-danger-soft)}.notice--danger .notice-icon{color:var(--color-danger)}.notice--warning{background:var(--color-warning-soft)}.notice--warning .notice-icon{color:var(--color-warning)}.notice--neutral{background:var(--color-surface-muted)}.notice--neutral .notice-icon{color:var(--color-text-subtle)}.empty{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);animation:fade-in var(--duration) var(--ease) both;flex-direction:column;display:flex}.empty-icon{background:var(--color-accent-soft);width:44px;height:44px;color:var(--color-accent-text);margin-bottom:var(--space-2);border-radius:50%;place-items:center;display:grid}.empty-icon svg{width:22px;height:22px}.empty p{max-width:420px}.avatar{width:36px;height:36px;font-size:var(--text-xs);letter-spacing:.02em;background:var(--color-accent-soft);color:var(--color-accent-text);border-radius:50%;flex:none;place-items:center;font-weight:650;display:grid}.pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);height:34px;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease);padding:0 14px;font-weight:540;display:inline-flex}.pill:hover{color:var(--color-text);border-color:var(--color-border-strong)}.pill[aria-pressed=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.pill-count{border-radius:var(--radius-pill);min-width:22px;height:20px;font-size:var(--text-xs);background:var(--color-surface-muted);color:var(--color-text-muted);transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);place-items:center;padding:0 6px;display:inline-grid}.pill[aria-pressed=true] .pill-count{color:inherit;background:#ffffff2e}.copy-field{align-items:stretch;gap:var(--space-2);min-width:0;display:flex}.copy-value{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-muted);min-width:0;font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;word-break:break-all;flex:1;align-items:center;padding:8px 12px;display:flex}.code-block{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#e6e9f5;font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;background:#0f1729;margin:0}.recovery-grid{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skeleton{border-radius:var(--radius-sm);background:var(--color-surface-muted);animation:1.4s ease-in-out infinite shimmer}.modal-backdrop{z-index:50;padding:var(--space-4);animation:fade-in var(--duration) var(--ease) both;background:#1018287a;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-backdrop[data-state=closed]{animation:fade-out var(--duration) var(--ease) both}.modal{width:100%;max-width:520px;max-height:calc(100dvh - 2 * var(--space-4));background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:pop-in var(--duration) var(--ease) both;outline:none;flex-direction:column;display:flex}.modal[data-state=closed]{animation:pop-out var(--duration) var(--ease) both}.modal--sm{max-width:420px}.modal--lg{max-width:720px}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-6) var(--space-2);display:flex}.modal-header p{margin-top:4px}.modal-body{padding:var(--space-3) var(--space-6) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;display:flex}@media (width<=480px){.modal-backdrop{padding:var(--space-3)}.modal-header{padding:var(--space-5) var(--space-4) var(--space-2)}.modal-body{padding:var(--space-3) var(--space-4) var(--space-5)}.modal-footer{padding:var(--space-3) var(--space-4)}.modal-footer .btn{flex:1}}.close-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-subtle);cursor:pointer;transition:background-color var(--duration-fast) var(--ease);background:0 0;border:0;flex:none;place-items:center;display:grid}.close-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.stepper{gap:var(--space-2);display:flex}.stepper-item{font-size:var(--text-xs);color:var(--color-text-subtle);flex-direction:column;flex:1;gap:6px;display:flex}.stepper-bar{border-radius:var(--radius-pill);background:var(--color-border);height:4px;overflow:hidden}.stepper-bar:after{content:"";background:var(--color-accent);transform-origin:0;height:100%;transition:transform var(--duration) var(--ease);display:block;transform:scaleX(0)}.stepper-item[data-done=true] .stepper-bar:after{transform:scaleX(1)}.stepper-item[aria-current=step]{color:var(--color-text);font-weight:560}.step-panel{gap:var(--space-4);animation:rise-in var(--duration) var(--ease) both;flex-direction:column;display:flex}.toaster{z-index:80;bottom:var(--space-6);gap:var(--space-2);width:min(420px, calc(100vw - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--text-sm);pointer-events:auto;animation:rise-in var(--duration) var(--ease) both;display:flex}.toast-dot{background:var(--color-success);border-radius:50%;flex:none;width:8px;height:8px}.toast--danger .toast-dot{background:var(--color-danger)}.toast--info .toast-dot{background:var(--color-info)}.toast-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:2px 6px}.search{flex:1;min-width:0;max-width:340px;position:relative}.search svg{width:16px;height:16px;color:var(--color-text-subtle);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{padding-left:36px}@media (width<=640px){.search{flex-basis:100%;max-width:none}}.link-btn{color:var(--color-accent-text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-weight:540}.link-btn:hover{text-decoration:underline}.dl{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);grid-template-columns:minmax(120px,34%) minmax(0,1fr);display:grid}.dl dt{color:var(--color-text-subtle)}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=480px){.dl{grid-template-columns:minmax(0,1fr);gap:2px}.dl dd{margin-bottom:var(--space-2)}}.provider-box{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.notice--success{background:var(--color-success-soft)}.notice--success .notice-icon{color:var(--color-success)}.choice-list{gap:var(--space-2);flex-direction:column;display:flex}.choice{align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);font-weight:540;display:flex}.choice:hover{background:var(--color-surface-hover)}.choice[data-checked=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.choice input{width:18px;height:18px;accent-color:var(--color-accent)}.setting-readonly{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;display:flex}.disclosure{border:1px solid var(--color-border);border-radius:var(--radius-md)}.disclosure>summary{cursor:pointer;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md);font-weight:560;list-style-position:inside}.disclosure>.disclosure-body{padding:0 var(--space-4) var(--space-4);gap:var(--space-4);animation:slide-down var(--duration) var(--ease) both;flex-direction:column;display:flex}.progress{flex-direction:column;gap:6px;display:flex}.progress-bar{border-radius:var(--radius-pill);background:var(--color-border);height:6px;overflow:hidden}.progress-bar>span{background:var(--color-accent);transform-origin:0;height:100%;transition:transform var(--duration) var(--ease);display:block}.question{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:640;line-height:1.3}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=960px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.pill-slider-scroll{scrollbar-width:none;border-radius:var(--radius-pill);max-width:100%;overflow-x:auto}.pill-slider-scroll::-webkit-scrollbar{display:none}.pill-slider{grid-template-columns:repeat(var(--pill-count), minmax(88px, 1fr));border-radius:var(--radius-pill);background:var(--color-surface-muted);border:1px solid var(--color-border);width:max-content;min-width:100%;padding:4px;display:grid;position:relative}.pill-slider-thumb{width:calc((100% - 8px) / var(--pill-count));border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm), inset 0 -2px 0 var(--pill-color);transform:translateX(calc(var(--pill-index) * 100%));transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);position:absolute;top:4px;bottom:4px;left:4px}.pill-slider-option{z-index:1;border-radius:var(--radius-pill);height:32px;color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:color var(--duration) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:560;display:inline-flex;position:relative}.pill-slider-option[aria-checked=true]{color:var(--color-text)}.env-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;flex:none}.env-chip{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);height:24px;font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:560;display:inline-flex}.env-swatch{border:1px solid #1018281f;border-radius:6px;flex:none;width:20px;height:20px}.swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatch-btn{cursor:pointer;width:32px;height:32px;transition:transform var(--duration-fast) var(--ease);border:2px solid #0000;border-radius:8px}.swatch-btn[aria-pressed=true]{border-color:var(--color-text);transform:scale(1.08)}.key-group-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.key-env-chip{border-radius:var(--radius-pill);border:1px solid var(--color-border);font-size:var(--text-xs);background:var(--color-surface);align-items:center;gap:6px;padding:3px 4px 3px 10px;font-weight:560;display:inline-flex}.subrows{background:var(--color-surface-muted);animation:slide-down var(--duration) var(--ease) both}.env-card{border-top:3px solid var(--env-color,var(--color-border))}.env-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.env-option{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);height:38px;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);padding:0 14px;font-weight:540;display:inline-flex}.env-option:has(input:focus-visible){box-shadow:var(--focus-ring)}.env-option input{opacity:0;pointer-events:none;position:absolute}.env-option[data-checked=true]{border-color:var(--color-text);background:var(--color-surface-muted)}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{gap:var(--space-6);height:100dvh;padding:var(--space-6) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2);font-weight:680;font-size:var(--text-lg);letter-spacing:-.01em;color:var(--color-text);display:flex}.brand-mark{background:var(--color-accent);width:32px;height:32px;color:var(--color-on-accent);border-radius:9px;flex:none;place-items:center;display:grid}.brand-mark svg{width:18px;height:18px}.nav{flex-direction:column;gap:2px;display:flex}.nav-link{align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);font-weight:540;display:flex}.nav-link:hover{background:var(--color-surface-muted);color:var(--color-text);text-decoration:none}.nav-link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-text)}.nav-link svg{flex:none;width:18px;height:18px}.sidebar-footer{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--color-border);min-width:0;margin-top:auto;display:flex}.sidebar-footer .who{flex-direction:column;min-width:0;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar,.mobile-nav{display:none}.main{min-width:0;padding:var(--space-10) var(--space-10) var(--space-12)}.page{max-width:var(--content-max);gap:var(--space-6);animation:rise-in var(--duration) var(--ease) both;flex-direction:column;margin:0 auto;display:flex}.page-header{gap:var(--space-2);flex-direction:column;display:flex}.page-header p{color:var(--color-text-muted);max-width:720px}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=960px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{z-index:30;height:60px;padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-nav{z-index:29;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);animation:slide-down var(--duration) var(--ease) both;display:block;position:sticky;top:60px}.main{padding:var(--space-6) var(--space-4) var(--space-12)}}.kpis{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.kpi{gap:var(--space-2);padding:var(--space-5);flex-direction:column;display:flex}.kpi-label{font-size:var(--text-sm);color:var(--color-text-muted)}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:650;line-height:1.1}.kpi[data-tone=danger] .kpi-value{color:var(--color-danger)}.kpi[data-tone=warning] .kpi-value{color:var(--color-warning)}@media (width<=1200px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:var(--space-4)}.kpi-value{font-size:1.625rem}}.dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=960px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.health{gap:var(--space-2);flex-wrap:wrap;display:flex}.list{flex-direction:column;display:flex}.list-row{align-items:center;gap:var(--space-4);min-height:var(--row-height);padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border);text-align:left;width:100%;font:inherit;color:inherit;transition:background-color var(--duration-fast) var(--ease);background:0 0;border-bottom:0;border-left:0;border-right:0;display:grid}.list>.list-row:first-child,.list>li:first-child>.list-row{border-top:0}button.list-row{cursor:pointer}button.list-row:hover{background:var(--color-surface-hover)}.list-head{gap:var(--space-4);padding:var(--space-3) var(--space-6);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle);border-bottom:1px solid var(--color-border);font-weight:560;display:grid}.cell{flex-direction:column;gap:2px;min-width:0;display:flex}.cell-label{font-size:var(--text-xs);color:var(--color-text-subtle);display:none}.cell-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.cell-title{min-width:0;font-weight:560}.cols-people{grid-template-columns:minmax(0,2.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,2.2fr)}.cols-keys{grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,3fr)}.cols-machines{grid-template-columns:minmax(0,2fr) minmax(0,.9fr) minmax(0,1.8fr) minmax(0,1.2fr) minmax(0,.9fr)}.cols-groups{grid-template-columns:minmax(0,2.4fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr)}.cols-audit{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1.6fr) minmax(0,2fr)}.simple-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-6);border-top:1px solid var(--color-border);display:flex}.simple-row:first-child{border-top:0}.simple-row .cell-main{flex:1}@media (width<=860px){.list-head{display:none}.list-row{gap:var(--space-3) var(--space-4);padding:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.list-row>.cell:first-child,.list-row>.cell--wide{grid-column:1/-1}.cell-label{display:block}.simple-row{padding:var(--space-3) var(--space-4)}}.auth-page{min-height:100dvh;padding:var(--space-6) var(--space-4);background:radial-gradient(1200px 600px at 10% -10%, var(--color-accent-soft), transparent 60%), var(--color-bg);place-items:center;display:grid}.auth-card{width:100%;max-width:440px;padding:var(--space-8);gap:var(--space-5);animation:pop-in var(--duration) var(--ease) both;flex-direction:column;display:flex}.auth-card--wide{max-width:560px}@media (width<=480px){.auth-card{padding:var(--space-6) var(--space-5)}}.qr{border-radius:var(--radius-md);border:1px solid var(--color-border);width:200px;height:200px;image-rendering:pixelated;background:#fff;margin:0 auto;padding:8px}.strength{gap:4px;display:flex}.strength span{border-radius:var(--radius-pill);background:var(--color-border);height:4px;transition:background-color var(--duration) var(--ease);flex:1}.strength[data-level="1"] span:nth-child(-n+1){background:var(--color-danger)}.strength[data-level="2"] span:nth-child(-n+2){background:var(--color-warning)}.strength[data-level="3"] span:nth-child(-n+3){background:var(--color-caution)}.strength[data-level="4"] span:nth-child(-n+4){background:var(--color-success)}.center-screen{min-height:100dvh;color:var(--color-text-subtle);place-items:center;display:grid}.app-header{z-index:20;justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-10);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.app-header .subtle{white-space:nowrap}@media (width<=960px){.app-header{padding:var(--space-2) var(--space-4);justify-content:flex-start;top:60px}.app-header .subtle{display:none}}.cols-envs{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.6fr)}
