@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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}:root{color-scheme:light;--gray-0: #ffffff;--gray-25: #fbfcfd;--gray-50: #f6f7f9;--gray-100: #eef0f3;--gray-150: #e5e8ec;--gray-200: #dce0e6;--gray-300: #c4cad3;--gray-400: #9aa2ae;--gray-500: #6b7380;--gray-600: #4f5866;--gray-700: #3a414d;--gray-800: #252a33;--gray-900: #161a20;--gray-950: #0c0e12;--bg: var(--gray-50);--bg-subtle: var(--gray-100);--surface: var(--gray-0);--surface-raised: var(--gray-0);--surface-sunken: var(--gray-50);--border: var(--gray-150);--border-strong: var(--gray-300);--text: var(--gray-900);--text-muted: var(--gray-600);--text-subtle: var(--gray-500);--overlay: rgb(12 14 18 / 48%);--brand: #2563eb;--on-brand: #ffffff;--brand-50: color-mix(in srgb, var(--brand) 6%, white);--brand-100: color-mix(in srgb, var(--brand) 12%, white);--brand-200: color-mix(in srgb, var(--brand) 24%, white);--brand-300: color-mix(in srgb, var(--brand) 40%, white);--brand-400: color-mix(in srgb, var(--brand) 70%, white);--brand-500: var(--brand);--brand-600: color-mix(in srgb, var(--brand) 88%, black);--brand-700: color-mix(in srgb, var(--brand) 74%, black);--brand-800: color-mix(in srgb, var(--brand) 58%, black);--brand-900: color-mix(in srgb, var(--brand) 42%, black);--brand-text: color-mix(in srgb, var(--brand) 82%, black);--brand-subtle: var(--brand-50);--brand-hover: var(--brand-600);--focus-ring: color-mix(in srgb, var(--brand) 70%, white);--success: #16a34a;--success-subtle: #ecfdf3;--success-strong: #166534;--warning: #d97706;--warning-subtle: #fffbeb;--warning-strong: #92400e;--danger: #dc2626;--danger-subtle: #fef2f2;--danger-strong: #991b1b;--info: #2563eb;--info-subtle: #eff6ff;--info-strong: #1e40af;--on-danger: #ffffff;--series-1: #2a78d6;--series-2: #eb6834;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgb(16 24 40 / 5%);--shadow-sm: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 8%);--shadow-md: 0 4px 8px -2px rgb(16 24 40 / 8%), 0 2px 4px -2px rgb(16 24 40 / 6%);--shadow-lg: 0 16px 32px -8px rgb(16 24 40 / 18%), 0 4px 8px -4px rgb(16 24 40 / 8%);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-30: 30px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .16s;--topbar-h: 56px;--sidebar-w: 248px;--rail-w: 64px}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0d12;--bg-subtle: #11141a;--surface: #14181f;--surface-raised: #1a1f28;--surface-sunken: #0f1217;--border: #252b35;--border-strong: #353d4a;--text: #e8ebf0;--text-muted: #a8b0bd;--text-subtle: #8b94a3;--overlay: rgb(0 0 0 / 62%);--brand-50: color-mix(in srgb, var(--brand) 10%, #14181f);--brand-100: color-mix(in srgb, var(--brand) 18%, #14181f);--brand-200: color-mix(in srgb, var(--brand) 30%, #14181f);--brand-text: color-mix(in srgb, var(--brand) 55%, white);--brand-subtle: color-mix(in srgb, var(--brand) 16%, #14181f);--brand-hover: color-mix(in srgb, var(--brand) 85%, white);--focus-ring: color-mix(in srgb, var(--brand) 60%, white);--success: #22c55e;--success-subtle: rgb(34 197 94 / 13%);--success-strong: #86efac;--warning: #f59e0b;--warning-subtle: rgb(245 158 11 / 13%);--warning-strong: #fcd34d;--danger: #f87171;--danger-subtle: rgb(248 113 113 / 13%);--danger-strong: #fca5a5;--info: #60a5fa;--info-subtle: rgb(96 165 250 / 13%);--info-strong: #93c5fd;--on-danger: #1b0606;--series-1: #3987e5;--series-2: #d95926;--shadow-xs: none;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 4px 12px rgb(0 0 0 / 40%);--shadow-lg: 0 16px 40px rgb(0 0 0 / 55%)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-14);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{margin:0;line-height:1.3;letter-spacing:-.01em;font-weight:650}h1{font-size:var(--fs-24)}h2{font-size:var(--fs-18)}h3{font-size:var(--fs-16)}h4{font-size:var(--fs-14)}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}a{color:var(--brand-text);text-decoration:none;text-underline-offset:2px}a:hover{text-decoration:underline}code,kbd,.mono{font-family:var(--mono);font-size:.92em}kbd{display:inline-flex;align-items:center;padding:0 5px;min-width:20px;height:20px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;font-size:11px;color:var(--text-muted);background:var(--surface)}hr{border:none;border-top:1px solid var(--border);margin:var(--s-4) 0}img{max-width:100%}:focus{outline:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}[tabindex="-1"]:focus-visible{outline:none}::selection{background:var(--brand-200)}.num,.tabular{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;left:var(--s-3);top:-100px;z-index:1000;background:var(--surface);color:var(--text);padding:var(--s-2) var(--s-4);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-weight:600}.skip-link:focus{top:var(--s-3)}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.small{font-size:var(--fs-13)}.xsmall{font-size:var(--fs-12)}.strong{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wrap-anywhere{overflow-wrap:anywhere}.stack{display:flex;flex-direction:column;gap:var(--s-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--s-2)}.stack-lg{display:flex;flex-direction:column;gap:var(--s-6)}.row{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.row-nowrap{display:flex;gap:var(--s-2);align-items:center;min-width:0}.row-between{display:flex;gap:var(--s-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s-4)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}@media(max-width:720px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.icon{flex:none;width:16px;height:16px}.icon-20{flex:none;width:20px;height:20px}.btn{--btn-bg: var(--surface);--btn-fg: var(--text);--btn-border: var(--border-strong);--btn-hover: var(--bg-subtle);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font:inherit;font-weight:560;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--btn-hover);text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn--primary{--btn-bg: var(--brand);--btn-fg: var(--on-brand);--btn-border: var(--brand);--btn-hover: var(--brand-hover);box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f}.btn--secondary{--btn-bg: var(--surface)}.btn--ghost{--btn-bg: transparent;--btn-border: transparent;--btn-hover: var(--bg-subtle);box-shadow:none}.btn--danger{--btn-bg: var(--danger);--btn-fg: var(--on-danger);--btn-border: var(--danger);--btn-hover: color-mix(in srgb, var(--danger) 86%, black)}.btn--danger-outline{--btn-fg: var(--danger-strong);--btn-border: color-mix(in srgb, var(--danger) 45%, transparent);--btn-hover: var(--danger-subtle)}.btn--link{--btn-bg: transparent;--btn-border: transparent;--btn-hover: transparent;--btn-fg: var(--brand-text);padding:0;min-height:auto;box-shadow:none;font-weight:560}.btn--link:hover{text-decoration:underline}.btn--sm{min-height:30px;padding:0 var(--s-3);font-size:var(--fs-13)}.btn--lg{min-height:44px;font-size:var(--fs-16)}.btn--block{width:100%}.btn--icon{padding:0;width:36px}.btn--icon.btn--sm{width:30px}.btn .spinner{width:14px;height:14px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(pointer:coarse){.btn{min-height:44px}.btn--sm{min-height:36px}.btn--icon{width:44px}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-4);min-width:0}.field:last-child{margin-bottom:0}.form>.field:last-of-type{margin-bottom:var(--s-4)}.label,.field>label,.label-row>label{font-weight:560;font-size:var(--fs-13);color:var(--text)}.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-2)}.label-row a{font-size:var(--fs-13);font-weight:500}.req{color:var(--danger);margin-left:2px}.hint{font-size:var(--fs-13);color:var(--text-muted)}.field-error{display:flex;gap:6px;align-items:flex-start;font-size:var(--fs-13);color:var(--danger-strong)}.field-error .icon{margin-top:2px}.input,.select,.textarea{width:100%;min-height:38px;padding:0 var(--s-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.textarea{padding:var(--s-2) var(--s-3);min-height:88px;resize:vertical}.select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7380' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--gray-400)}.input:focus,.select:focus,.textarea:focus,.input-group:focus-within{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true],.input-group[data-invalid=true]{border-color:var(--danger)}.input[readonly]{background:var(--surface-sunken)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}.input-group{display:flex;align-items:stretch;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-xs);min-width:0}.input-group .input{border:none;box-shadow:none;background:transparent;min-width:0}.input-group .input:focus{box-shadow:none}.input-group .addon{display:inline-flex;align-items:center;padding:0 var(--s-3);color:var(--text-muted);font-size:var(--fs-13);white-space:nowrap;border-left:1px solid var(--border)}.input-group .addon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.input-group .addon-btn:hover{color:var(--text);background:var(--bg-subtle)}.input-group .lead{display:inline-flex;align-items:center;padding-left:var(--s-3);color:var(--text-subtle)}.input-group[data-readonly=true]{background:var(--surface-sunken)}.mono-input{font-family:var(--mono);font-size:var(--fs-13)}@media(pointer:coarse){.input,.select{min-height:44px;font-size:16px}}.check{display:flex;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3);cursor:pointer}.check:last-child{margin-bottom:0}.check input[type=checkbox],.check input[type=radio]{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:var(--brand);cursor:pointer}.check-text{display:flex;flex-direction:column;gap:2px}.check-text .hint{font-size:var(--fs-13)}.switch-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.switch-row:last-child{border-bottom:none}.switch-row:first-child{padding-top:0}.switch{position:relative;flex:none;width:38px;height:22px;margin-top:1px}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch .track{position:absolute;inset:0;border-radius:var(--radius-full);background:var(--gray-300);transition:background-color var(--dur) var(--ease)}:root[data-theme=dark] .switch .track{background:var(--gray-700)}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--dur) var(--ease)}.switch input:checked+.track{background:var(--brand)}.switch input:checked+.track:after{transform:translate(16px)}.switch input:focus-visible+.track{outline:2px solid var(--focus-ring);outline-offset:2px}.switch input:disabled+.track{opacity:.5}.radio-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-3);border:none;padding:0;margin:0}.radio-card{position:relative;display:flex;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.radio-card:hover{border-color:var(--gray-400)}.radio-card input{position:absolute;opacity:0;inset:0;cursor:pointer}.radio-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:var(--brand-subtle)}.radio-card:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.radio-card .rc-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--brand-text)}.radio-card .rc-title{font-weight:600}.radio-card .rc-desc{font-size:var(--fs-13);color:var(--text-muted)}.segmented{display:inline-flex;padding:2px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border)}.segmented button{border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--fs-13);font-weight:560;padding:4px 10px;border-radius:5px;cursor:pointer;min-height:28px}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 8px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border);font-size:var(--fs-13);line-height:20px}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip--static{padding-right:8px}.chip button{display:inline-grid;place-items:center;width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;flex:none}.chip button:hover{background:var(--border);color:var(--text)}.chips{display:flex;flex-wrap:wrap;gap:6px}.tag-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:38px;padding:5px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-xs);cursor:text}.tag-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.tag-input[data-invalid=true]{border-color:var(--danger)}.tag-input input{flex:1 1 160px;min-width:120px;border:none;outline:none;background:transparent;color:var(--text);font:inherit;padding:2px 4px}.popover{position:absolute;z-index:80;min-width:220px;max-width:min(420px,calc(100vw - 24px));background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px;animation:pop var(--dur) var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.listbox{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.option{display:flex;align-items:center;gap:var(--s-2);padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;min-height:34px}.option[aria-selected=true],.option[data-active=true]{background:var(--bg-subtle)}.option .opt-check{margin-left:auto;color:var(--brand-text)}.option .opt-text{display:flex;flex-direction:column;min-width:0}.option .opt-desc{font-size:var(--fs-12);color:var(--text-muted)}.combobox{position:relative}.otp{display:flex;gap:var(--s-2);justify-content:space-between}.otp input{width:100%;max-width:52px;aspect-ratio:5 / 6;min-height:48px;text-align:center;font-size:var(--fs-20);font-weight:600;font-variant-numeric:tabular-nums;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);caret-color:var(--brand);padding:0}.otp input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.otp[data-invalid=true] input{border-color:var(--danger)}.otp .otp-sep{align-self:center;color:var(--text-subtle)}.pw-req{list-style:none;padding:0;margin:var(--s-2) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px var(--s-3);font-size:var(--fs-13)}.pw-req li{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.pw-req li[data-ok=true]{color:var(--success-strong)}.pw-req li .icon{width:14px;height:14px}.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:var(--s-2)}.meter span{height:4px;border-radius:2px;background:var(--border);transition:background-color var(--dur) var(--ease)}.meter[data-score="1"] span:nth-child(-n+1){background:var(--danger)}.meter[data-score="2"] span:nth-child(-n+2){background:var(--warning)}.meter[data-score="3"] span:nth-child(-n+3){background:color-mix(in srgb,var(--success) 70%,var(--warning))}.meter[data-score="4"] span{background:var(--success)}.meter-label{display:flex;justify-content:space-between;font-size:var(--fs-12);color:var(--text-muted);margin-top:4px}.match{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13)}.match[data-ok=true]{color:var(--success-strong)}.match[data-ok=false]{color:var(--danger-strong)}.copy-field .input{font-family:var(--mono);font-size:var(--fs-13);text-overflow:ellipsis}.alert{display:flex;gap:var(--s-3);align-items:flex-start;border-radius:var(--radius);padding:var(--s-3) var(--s-4);border:1px solid transparent;font-size:var(--fs-14)}.alert>.icon{margin-top:2px}.alert-body{flex:1;min-width:0}.alert-title{font-weight:600;display:block}.alert ul{margin:var(--s-1) 0 0;padding-left:var(--s-5)}.alert--danger{background:var(--danger-subtle);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger-strong)}.alert--success{background:var(--success-subtle);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success-strong)}.alert--warning{background:var(--warning-subtle);border-color:color-mix(in srgb,var(--warning) 35%,transparent);color:var(--warning-strong)}.alert--info{background:var(--info-subtle);border-color:color-mix(in srgb,var(--info) 30%,transparent);color:var(--info-strong)}.alert--neutral{background:var(--bg-subtle);border-color:var(--border);color:var(--text)}.alert .alert-body .btn--link{color:inherit;text-decoration:underline}.pill{display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border-radius:var(--radius-full);font-size:var(--fs-12);font-weight:560;line-height:20px;white-space:nowrap;background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill .icon{width:12px;height:12px}.pill--success{background:var(--success-subtle);color:var(--success-strong);border-color:transparent}.pill--warning{background:var(--warning-subtle);color:var(--warning-strong);border-color:transparent}.pill--danger{background:var(--danger-subtle);color:var(--danger-strong);border-color:transparent}.pill--info{background:var(--info-subtle);color:var(--info-strong);border-color:transparent}.pill--brand{background:var(--brand-subtle);color:var(--brand-text);border-color:transparent}.avatar{--av: 32px;flex:none;display:inline-grid;place-items:center;width:var(--av);height:var(--av);border-radius:50%;font-weight:620;font-size:calc(var(--av) * .4);letter-spacing:.01em;color:#fff;overflow:hidden;user-select:none;text-transform:uppercase}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--xs{--av: 22px}.avatar--sm{--av: 28px}.avatar--md{--av: 36px}.avatar--lg{--av: 56px}.avatar--xl{--av: 72px}.avatar--square{border-radius:22%}.monogram{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--brand);color:var(--on-brand);font-weight:700;font-size:14px;overflow:hidden}.monogram img{width:100%;height:100%;object-fit:contain;background:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);min-width:0}.card-body{padding:var(--s-6)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-5) var(--s-6) 0;flex-wrap:wrap}.card-header:last-child{padding-bottom:var(--s-5)}.card-header+.card-body{padding-top:var(--s-4)}.card-title{font-size:var(--fs-16);font-weight:620}.card-desc{font-size:var(--fs-13);color:var(--text-muted);margin-top:2px}.card-footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--border);background:var(--surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap}.card--danger{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.card--interactive{transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}@media(max-width:640px){.card-body{padding:var(--s-4)}.card-header{padding:var(--s-4) var(--s-4) 0}.card-footer{padding:var(--s-3) var(--s-4)}}.icon-tile{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius);background:var(--brand-subtle);color:var(--brand-text)}.icon-tile--neutral{background:var(--bg-subtle);color:var(--text-muted)}.icon-tile--success{background:var(--success-subtle);color:var(--success-strong)}.icon-tile--warning{background:var(--warning-subtle);color:var(--warning-strong)}.icon-tile--danger{background:var(--danger-subtle);color:var(--danger-strong)}.settings-section{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:var(--s-6);padding:var(--s-6) 0;border-bottom:1px solid var(--border)}.settings-section:first-child{padding-top:0}.settings-section:last-child{border-bottom:none}.settings-section h2,.settings-section h3{font-size:var(--fs-14);font-weight:620}.settings-section .section-desc{font-size:var(--fs-13);color:var(--text-muted);margin-top:4px}@media(max-width:900px){.settings-section{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}}.dl{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:var(--s-3) var(--s-6);margin:0}.dl dt{color:var(--text-muted);font-size:var(--fs-13)}.dl dd{margin:0;overflow-wrap:anywhere;min-width:0}@media(max-width:560px){.dl{grid-template-columns:minmax(0,1fr);gap:2px}.dl dd{margin-bottom:var(--s-3)}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2);padding:var(--s-10) var(--s-6)}.empty-state .empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg-subtle);color:var(--text-muted);margin-bottom:var(--s-2)}.empty-state h3{font-size:var(--fs-16)}.empty-state p{color:var(--text-muted);max-width:420px}.empty-state .btn{margin-top:var(--s-2)}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--border) 37%,var(--bg-subtle) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;height:12px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-stack{display:flex;flex-direction:column;gap:var(--s-3)}.center-page{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--s-6) var(--s-4)}.loading-inline{display:inline-flex;gap:var(--s-2);align-items:center;color:var(--text-muted)}.table-wrap{position:relative;width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-14)}.table caption{text-align:left}.table th{position:sticky;top:0;z-index:1;background:var(--surface-sunken);font-weight:560;font-size:var(--fs-12);color:var(--text-muted);text-align:left;white-space:nowrap;padding:9px var(--s-4);border-bottom:1px solid var(--border);letter-spacing:.01em}.table th .sort{display:inline-flex;align-items:center;gap:4px;border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.table th .sort:hover{color:var(--text)}.table td{padding:10px var(--s-4);border-bottom:1px solid var(--border);vertical-align:middle;min-width:0}.table tbody tr:last-child td{border-bottom:none}.table tbody tr[data-clickable=true]{cursor:pointer}.table tbody tr:hover td{background:color-mix(in srgb,var(--bg-subtle) 60%,transparent)}.table td.actions,.table th.actions{text-align:right;white-space:nowrap;width:1%}.table td.num,.table th.num{text-align:right}.table .cell-primary{display:flex;align-items:center;gap:var(--s-3);min-width:0}.table .cell-two{display:flex;flex-direction:column;min-width:0;line-height:1.35}.table .cell-two .sub{color:var(--text-muted);font-size:var(--fs-13)}.table a.row-link{color:var(--text);font-weight:560}.table-empty{padding:0!important}@media(max-width:640px){.table-wrap[data-cards=true]{border:none;background:transparent;box-shadow:none;overflow:visible}.table-wrap[data-cards=true] .table,.table-wrap[data-cards=true] tbody,.table-wrap[data-cards=true] tr,.table-wrap[data-cards=true] td{display:block;width:100%}.table-wrap[data-cards=true] thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-wrap[data-cards=true] tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-2);box-shadow:var(--shadow-xs)}.table-wrap[data-cards=true] td{border:none;padding:4px 0;display:flex;gap:var(--s-3);justify-content:space-between;align-items:center;text-align:right}.table-wrap[data-cards=true] td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--fs-12);text-align:left;flex:none}.table-wrap[data-cards=true] td[data-primary=true]{text-align:left;padding-bottom:var(--s-2)}.table-wrap[data-cards=true] td[data-primary=true]:before,.table-wrap[data-cards=true] td.actions:before{display:none}.table-wrap[data-cards=true] td.actions{justify-content:flex-end;width:100%}.table-wrap[data-cards=true] tbody tr:hover td{background:transparent}}.mlist{display:none;list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden}.mrow{display:flex;align-items:center;gap:var(--s-3);min-height:64px;padding:10px var(--s-3) 10px var(--s-4);border-bottom:1px solid var(--border);min-width:0}.mrow:last-child{border-bottom:none}.mrow[data-clickable=true]{cursor:pointer}.mrow[data-clickable=true]:active{background:var(--bg-subtle)}.mrow-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;line-height:1.3}.mrow-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow-title a{color:var(--text)}.mrow-sub{font-size:var(--fs-13);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow-pills{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.mrow-actions{flex:none}.mrow-empty{list-style:none}@media(max-width:640px){.mlist{display:block}.table-wrap.has-mlist{display:none}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) 0 0;flex-wrap:wrap;font-size:var(--fs-13);color:var(--text-muted)}.tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--border);margin-bottom:var(--s-6);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;padding:var(--s-2) var(--s-3) 10px;margin-bottom:-1px;font:inherit;font-weight:560;color:var(--text-muted);cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--brand)}.tab .icon{width:15px;height:15px}.tab-count{font-size:var(--fs-12);padding:0 6px;border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-muted)}.side-tabs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s-8);align-items:start}.side-tabs [role=tablist]{position:sticky;top:calc(var(--topbar-h) + var(--s-4));display:flex;flex-direction:column;gap:2px}.side-tab{display:flex;align-items:center;gap:var(--s-2);border:none;background:transparent;font:inherit;text-align:left;color:var(--text-muted);padding:7px var(--s-3);border-radius:var(--radius-sm);cursor:pointer;font-weight:520}.side-tab:hover{background:var(--bg-subtle);color:var(--text)}.side-tab[aria-selected=true]{background:var(--brand-subtle);color:var(--brand-text);font-weight:600}.side-tab--danger[aria-selected=true]{background:var(--danger-subtle);color:var(--danger-strong)}@media(max-width:900px){.side-tabs{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.side-tabs [role=tablist]{position:static;flex-direction:row;overflow-x:auto;border-bottom:1px solid var(--border);padding-bottom:var(--s-2);scrollbar-width:none}.side-tab{white-space:nowrap}}.overlay{position:fixed;inset:0;z-index:100;background:var(--overlay);animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}}.modal-wrap{position:fixed;inset:0;z-index:101;display:flex;align-items:flex-start;justify-content:center;padding:10vh var(--s-4) var(--s-4);overflow-y:auto}.modal{width:100%;max-width:520px;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise .2s var(--ease)}.modal--lg{max-width:760px}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.985)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-5) var(--s-6) 0}.modal-header h2{font-size:var(--fs-18)}.modal-desc{color:var(--text-muted);margin-top:4px;font-size:var(--fs-14)}.modal-body{padding:var(--s-4) var(--s-6) var(--s-5)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--border);flex-wrap:wrap}@media(max-width:560px){.modal-wrap{padding:var(--s-4) var(--s-3);align-items:flex-end}.modal-footer .btn{flex:1}}.drawer{position:fixed;z-index:101;top:0;right:0;bottom:0;width:min(520px,100vw);display:flex;flex-direction:column;background:var(--surface-raised);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);animation:slide-in .2s var(--ease)}.drawer--lg{width:min(720px,100vw)}.drawer--left{right:auto;left:0;border-left:none;border-right:1px solid var(--border);width:min(300px,86vw);animation-name:slide-in-left}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@keyframes slide-in-left{0%{transform:translate(-24px);opacity:0}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--border)}.drawer-header h2{font-size:var(--fs-18)}.drawer-body{flex:1;overflow-y:auto;padding:var(--s-6)}.drawer-footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--border);background:var(--surface-sunken)}@media(max-width:560px){.drawer-body,.drawer-header,.drawer-footer{padding:var(--s-4)}}.menu{position:fixed;z-index:90;min-width:220px;max-width:calc(100vw - 16px);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px;animation:pop var(--dur) var(--ease)}.menu-header{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3);min-width:0}.menu-sep{height:1px;background:var(--border);margin:4px 0}.menu-label{font-size:var(--fs-12);color:var(--text-subtle);padding:6px 10px 2px}.menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;text-decoration:none;min-height:34px}.menu-item:hover,.menu-item:focus-visible{background:var(--bg-subtle);outline:none;text-decoration:none}.menu-item .icon{color:var(--text-muted)}.menu-item[aria-checked=true] .menu-check{visibility:visible}.menu-item .menu-check{margin-left:auto;visibility:hidden;color:var(--brand-text)}.menu-item--danger,.menu-item--danger .icon{color:var(--danger-strong)}.tooltip{position:fixed;z-index:120;pointer-events:none;background:var(--gray-900);color:#fff;font-size:var(--fs-12);line-height:1.4;padding:5px 8px;border-radius:var(--radius-sm);max-width:320px;box-shadow:var(--shadow-md);animation:fade .12s var(--ease)}:root[data-theme=dark] .tooltip{background:var(--gray-100);color:var(--gray-900)}.toasts{position:fixed;top:var(--s-4);right:var(--s-4);z-index:200;display:flex;flex-direction:column;gap:var(--s-2);width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:toast-in .2s var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}}.toast>.icon{margin-top:2px}.toast--success>.icon{color:var(--success)}.toast--error>.icon{color:var(--danger)}.toast--info>.icon{color:var(--info)}.toast p{margin:0;flex:1;min-width:0}.palette{width:100%;max-width:600px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:rise .16s var(--ease)}.palette-input{display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4);border-bottom:1px solid var(--border)}.palette-input input{flex:1;min-width:0;height:52px;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-16)}.palette .listbox{max-height:min(420px,60vh);padding:6px}.palette-group{font-size:var(--fs-12);color:var(--text-subtle);padding:8px 10px 4px}.palette-footer{display:flex;gap:var(--s-4);padding:var(--s-2) var(--s-4);border-top:1px solid var(--border);font-size:var(--fs-12);color:var(--text-muted);background:var(--surface-sunken)}.savebar{position:sticky;bottom:var(--s-4);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-6);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);background:var(--gray-900);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:rise .18s var(--ease);flex-wrap:wrap}:root[data-theme=dark] .savebar{background:var(--surface-raised);border:1px solid var(--border-strong);color:var(--text)}.savebar .btn--ghost{--btn-fg: inherit;--btn-hover: rgb(255 255 255 / 10%)}.savebar .msg{display:inline-flex;gap:var(--s-2);align-items:center;font-weight:560}.shell{flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.topbar .brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:650;min-width:0;flex:none}.topbar .brand:hover{text-decoration:none}.topbar .brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.topbar .brand-sub{color:var(--text-muted);font-weight:500;padding-left:10px;border-left:1px solid var(--border-strong)}.topbar .spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:var(--s-1)}.search-btn{display:inline-flex;align-items:center;gap:var(--s-2);min-width:220px;height:34px;padding:0 6px 0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);font:inherit;cursor:pointer}.search-btn:hover{border-color:var(--border-strong)}.search-btn .kbds{margin-left:auto;display:inline-flex;gap:2px}.shell-body{flex:1;display:flex;min-height:0}.sidebar-col{flex:none;border-right:1px solid var(--border);background:var(--surface)}.sidebar{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));width:var(--sidebar-w);display:flex;flex-direction:column;transition:width .18s var(--ease)}.sidebar-scroll{flex:1;overflow-y:auto;padding:var(--s-3) var(--s-3) var(--s-4)}.nav-group+.nav-group{margin-top:var(--s-4)}.nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding:0 var(--s-3) 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.nav-link{display:flex;align-items:center;gap:10px;height:36px;padding:0 var(--s-3);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:520;text-decoration:none;white-space:nowrap;overflow:hidden}.nav-link:hover{background:var(--bg-subtle);color:var(--text);text-decoration:none}.nav-link[aria-current=page]{background:var(--brand-subtle);color:var(--brand-text);font-weight:600}.nav-link .icon-20{width:18px;height:18px}.nav-link .nav-text{overflow:hidden;text-overflow:ellipsis}.sidebar-foot{border-top:1px solid var(--border);padding:var(--s-2) var(--s-3)}.sidebar.collapsed{width:var(--rail-w)}.sidebar.collapsed .nav-text,.sidebar.collapsed .nav-group-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sidebar.collapsed .nav-link{justify-content:center;padding:0}.sidebar.collapsed .nav-group+.nav-group{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--border)}.sidebar.collapsed .sidebar-foot .btn{width:100%}.main{flex:1;min-width:0;display:flex;flex-direction:column}.content{flex:1;width:100%;margin:0 auto;padding:var(--s-8) var(--s-8) var(--s-10)}.content--admin{max-width:1264px}.content--account{max-width:944px}.menu-toggle{display:none}@media(max-width:1023px){.menu-toggle{display:inline-flex}.sidebar-col{display:none}.search-btn{min-width:0;width:36px;padding:0;justify-content:center}.search-btn .label,.search-btn .kbds{display:none}.content{padding:var(--s-6) var(--s-4) var(--s-8)}.topbar .brand-sub{display:none}}@media(max-width:640px){.hide-sm{display:none!important}}@media(max-width:480px){.topbar{gap:var(--s-2);padding:0 var(--s-2) 0 var(--s-3)}.topbar .brand-name{max-width:140px}.content{padding:var(--s-5) var(--s-4) var(--s-8)}}.drawer-nav .sidebar-scroll{padding:var(--s-4) var(--s-3)}.avatar-trigger{display:inline-flex;align-items:center;gap:var(--s-2);padding:3px 8px 3px 3px;border:1px solid transparent;border-radius:var(--radius-full);background:transparent;color:var(--text);font:inherit;cursor:pointer;max-width:260px;min-width:0}.avatar-trigger:hover{background:var(--bg-subtle)}.avatar-trigger[aria-expanded=true]{background:var(--bg-subtle);border-color:var(--border)}.avatar-trigger .who{display:flex;flex-direction:column;text-align:left;line-height:1.2;min-width:0}.avatar-trigger .who .name{font-weight:600;font-size:var(--fs-13)}.avatar-trigger .who .email{font-size:var(--fs-12);color:var(--text-muted)}@media(max-width:767px){.avatar-trigger .who,.avatar-trigger .chev{display:none}.avatar-trigger{padding:3px}}.switcher-btn{display:inline-flex;align-items:center;gap:var(--s-2);height:36px;max-width:280px;min-width:0;padding:0 8px 0 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.switcher-btn:hover{border-color:var(--border-strong)}.switcher-btn .monogram{width:26px;height:26px;font-size:12px;border-radius:7px}.switcher-btn .sw-text{display:flex;flex-direction:column;line-height:1.15;text-align:left;min-width:0}.switcher-btn .sw-name{font-weight:600;font-size:var(--fs-13)}.switcher-btn .sw-slug{font-size:var(--fs-12);color:var(--text-muted)}.switcher-pop{width:300px}.switcher-pop .search{padding:4px 4px 6px}.switcher-pop .search .input{min-height:34px}@media(max-width:767px){.switcher-btn{max-width:150px}.switcher-btn .sw-slug{display:none}}.footer{border-top:1px solid var(--border);padding:var(--s-5) var(--s-8);font-size:var(--fs-13);color:var(--text-muted)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3) var(--s-6);flex-wrap:wrap;margin:0 auto}.footer nav ul{display:flex;gap:var(--s-2) var(--s-5);list-style:none;margin:0;padding:0;flex-wrap:wrap}.footer a{color:var(--text-muted)}.footer a:hover{color:var(--text)}.secured{display:inline-flex;align-items:center;gap:6px}@media(max-width:1023px){.footer{padding:var(--s-5) var(--s-4)}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap}.page-header-text{min-width:0;flex:1 1 320px}.page-header h1{font-size:var(--fs-24);overflow-wrap:anywhere}.page-desc{color:var(--text-muted);margin-top:6px;max-width:680px}.page-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;margin:0 0 var(--s-2);padding:0;font-size:var(--fs-13);color:var(--text-muted)}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs .icon{width:14px;height:14px;color:var(--text-subtle)}@media(max-width:640px){.page-header{flex-direction:column;align-items:stretch}.page-header-text{flex:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.kpi{padding:var(--s-4)}.kpi-value{font-size:var(--fs-24)}.page-header h1{font-size:var(--fs-20)}}.toolbar{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--s-4)}.toolbar .search{flex:1 1 260px;max-width:360px}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:var(--radius-full);border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-muted);font:inherit;font-size:var(--fs-13);font-weight:560;cursor:pointer}.filter-chip[data-active=true]{border-style:solid;border-color:var(--brand);color:var(--brand-text);background:var(--brand-subtle)}.filter-chip select{border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}.auth{flex:1;display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);min-height:100vh;background:var(--surface);font-size:var(--fs-16)}.auth-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:var(--s-12);color:var(--on-brand);background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--brand) 70%,white) 0%,transparent 55%),radial-gradient(90% 80% at 100% 100%,color-mix(in srgb,var(--brand) 55%,black) 0%,transparent 60%),linear-gradient(150deg,var(--brand) 0%,color-mix(in srgb,var(--brand) 70%,black) 100%)}.auth-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--on-brand) 14%,transparent) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(160deg,black 10%,transparent 75%);pointer-events:none}.auth-panel:after{content:"";position:absolute;width:520px;height:520px;right:-180px;top:32%;border-radius:50%;border:1px solid color-mix(in srgb,var(--on-brand) 18%,transparent);box-shadow:0 0 0 60px color-mix(in srgb,var(--on-brand) 4%,transparent),0 0 0 120px color-mix(in srgb,var(--on-brand) 3%,transparent);pointer-events:none}.auth-panel>*{position:relative;z-index:1}.auth-mark{display:flex;align-items:center;gap:var(--s-3);font-weight:650;font-size:var(--fs-18)}.auth-monogram{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--on-brand) 16%,transparent);border:1px solid color-mix(in srgb,var(--on-brand) 28%,transparent);font-weight:700;font-size:18px;overflow:hidden}.auth-monogram img{width:100%;height:100%;object-fit:contain;background:#fff}.auth-hero h2{font-size:34px;line-height:1.15;letter-spacing:-.02em;font-weight:700;max-width:440px}.auth-hero p{margin-top:var(--s-3);font-size:var(--fs-18);opacity:.88;max-width:420px}.auth-panel-foot{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-13);opacity:.85}.auth-main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.auth-center{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--s-10) var(--s-6)}.auth-form{width:100%;max-width:400px}.auth-form--wide{max-width:480px}.auth-head{margin-bottom:var(--s-6)}.auth-head h1{font-size:var(--fs-24);letter-spacing:-.015em}.auth-head p{margin-top:6px;color:var(--text-muted);font-size:var(--fs-16)}.auth-head .step{display:inline-block;margin-bottom:var(--s-2);font-size:var(--fs-13);font-weight:600;color:var(--brand-text)}.auth-hero-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--brand-subtle);color:var(--brand-text);margin-bottom:var(--s-5)}.auth-hero-icon svg{width:26px;height:26px}.auth-hero-icon--success{background:var(--success-subtle);color:var(--success-strong)}.auth-hero-icon--danger{background:var(--danger-subtle);color:var(--danger-strong)}.auth-hero-icon--warning{background:var(--warning-subtle);color:var(--warning-strong)}.auth .field>label,.auth .label-row>label,.auth .label{font-size:var(--fs-14)}.auth .input{min-height:42px;font-size:var(--fs-16)}.auth .input-group .input{min-height:40px}.auth .btn--lg{min-height:44px}.auth-alt{margin-top:var(--s-6);text-align:center;color:var(--text-muted);font-size:var(--fs-14)}.auth-alt a{font-weight:600}.divider{display:flex;align-items:center;gap:var(--s-3);color:var(--text-subtle);font-size:var(--fs-13);margin:var(--s-5) 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.providers{display:grid;gap:var(--s-2)}.provider-btn{font-weight:560}.provider-btn svg{width:18px;height:18px}.auth-mobile-brand{display:none}.auth-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-4) var(--s-6);font-size:var(--fs-13);color:var(--text-muted)}.auth-foot ul{display:flex;gap:var(--s-4);list-style:none;padding:0;margin:0;flex-wrap:wrap}.auth-foot a{color:var(--text-muted)}.lang-select{display:inline-flex;align-items:center;gap:6px}.lang-select select{border:none;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.method-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.method-btn{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.method-btn:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.method-btn .chev{margin-left:auto;color:var(--text-subtle)}.steps{list-style:none;margin:0;padding:0;counter-reset:step;display:flex;flex-direction:column;gap:var(--s-5)}.steps>li{position:relative;padding-left:44px;counter-increment:step}.steps>li:before{content:counter(step);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--brand-subtle);color:var(--brand-text);font-weight:650;font-size:var(--fs-13)}.steps>li:not(:last-child):after{content:"";position:absolute;left:13px;top:32px;bottom:calc(-1 * var(--s-5) + 4px);width:2px;background:var(--border)}.steps h3{font-size:var(--fs-16);margin-bottom:4px}.qr-box{display:inline-grid;place-items:center;padding:var(--s-3);background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin:var(--s-3) 0}.qr-box img{display:block;width:168px;height:168px}.secret-key{font-family:var(--mono);font-size:var(--fs-14);letter-spacing:.04em;word-spacing:.3em}details.disclosure>summary{cursor:pointer;color:var(--brand-text);font-weight:560;font-size:var(--fs-14);list-style:none;display:inline-flex;align-items:center;gap:6px}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary .icon{transition:transform var(--dur) var(--ease)}details.disclosure[open]>summary .icon{transform:rotate(90deg)}.codes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px var(--s-4);list-style:none;margin:0;padding:var(--s-4);font-family:var(--mono);font-size:var(--fs-14);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius)}.codes-grid li{display:flex;gap:var(--s-2)}.codes-grid li:before{content:counter(list-item) ".";color:var(--text-subtle);min-width:2ch;text-align:right}.scope-list{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:var(--radius)}.scope-list li{display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.scope-list li:last-child{border-bottom:none}.scope-list .scope-icon{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--bg-subtle);color:var(--text-muted)}.user-chip{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);min-width:0}.consent-apps{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5)}.consent-apps .link-dots{color:var(--text-subtle)}@media(max-width:1023px){.auth{grid-template-columns:minmax(0,1fr);background:var(--bg)}.auth-panel{display:none}.auth-mobile-brand{display:flex;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-8) var(--s-4) 0;font-weight:650;font-size:var(--fs-18)}.auth-mobile-brand .monogram{width:40px;height:40px;border-radius:11px;font-size:16px}.auth-center{align-items:flex-start;padding:var(--s-6) var(--s-4) var(--s-8)}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s-8) var(--s-6);box-shadow:var(--shadow-sm)}.auth-foot{justify-content:center}}@media(max-width:480px){.auth-form{padding:var(--s-6) var(--s-4)}}.full-page-msg{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--s-8) var(--s-4);background:var(--bg)}.full-page-msg .inner{max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-3)}.full-page-msg .big-code{font-size:56px;font-weight:750;letter-spacing:-.03em;color:var(--text-subtle);line-height:1}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-4);margin-bottom:var(--s-6)}.kpi{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5)}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:var(--fs-13);font-weight:560}.kpi-top .icon-tile{width:32px;height:32px;border-radius:8px}.kpi-value{font-size:var(--fs-30);font-weight:680;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.kpi-context{font-size:var(--fs-12);color:var(--text-muted)}.dash-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:var(--s-4);margin-bottom:var(--s-4)}@media(max-width:1100px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .grid-line{stroke:var(--border);stroke-width:1}.chart .axis-label{fill:var(--text-subtle);font-size:11px;font-family:var(--font)}.chart .bar-success{fill:var(--series-1)}.chart .bar-failed{fill:var(--series-2)}.chart .hit{fill:transparent}.chart .hit:hover,.chart .hit:focus{fill:color-mix(in srgb,var(--text) 5%,transparent);outline:none}.chart-legend{display:flex;gap:var(--s-4);font-size:var(--fs-13);color:var(--text-muted);flex-wrap:wrap}.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.chart-tooltip{position:absolute;pointer-events:none;z-index:2;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:var(--s-2) var(--s-3);font-size:var(--fs-13);white-space:nowrap;transform:translate(-50%,calc(-100% - 10px))}.mini-list{list-style:none;margin:0;padding:0}.mini-list li{display:flex;align-items:center;gap:var(--s-3);padding:9px 0;border-bottom:1px solid var(--border);min-width:0}.mini-list li:last-child{border-bottom:none}.event-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--bg-subtle);color:var(--text-muted)}.event-icon .icon{width:14px;height:14px}.event-icon--success{background:var(--success-subtle);color:var(--success-strong)}.event-icon--danger{background:var(--danger-subtle);color:var(--danger-strong)}.event-icon--warning{background:var(--warning-subtle);color:var(--warning-strong)}.event-icon--info{background:var(--info-subtle);color:var(--info-strong)}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.checklist li:last-child{border-bottom:none;padding-bottom:0}.checklist li:first-child{padding-top:0}.check-dot{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px dashed var(--border-strong);color:transparent}.check-dot[data-done=true]{border:none;background:var(--success);color:#fff}.check-dot .icon{width:14px;height:14px}.progress{height:6px;border-radius:var(--radius-full);background:var(--bg-subtle);overflow:hidden}.progress span{display:block;height:100%;background:var(--brand);border-radius:inherit}.code-block{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--gray-950);color:#e5e7eb;overflow:hidden}.code-block-head{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 6px 12px;border-bottom:1px solid #262b33;font-size:var(--fs-12);color:#9aa2ae}.code-block-head .btn{--btn-bg: transparent;--btn-fg: #c4cad3;--btn-border: #3a414d;--btn-hover: #252a33}.code-block pre{margin:0;padding:var(--s-3) var(--s-4);overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.6}.tree{list-style:none;margin:0;padding:0}.tree .tree{margin-left:15px;padding-left:10px;border-left:1px solid var(--border)}.tree-row{display:flex;align-items:center;gap:2px;border-radius:var(--radius-sm);min-height:34px;padding-right:var(--s-2)}.tree-row:hover{background:var(--bg-subtle)}.tree-row[data-selected=true]{background:var(--brand-subtle)}.tree-row[data-selected=true] .tree-label{color:var(--brand-text);font-weight:600}.tree-toggle{display:grid;place-items:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;flex:none}.tree-toggle .icon{transition:transform var(--dur) var(--ease)}.tree-toggle[aria-expanded=true] .icon{transform:rotate(90deg)}.tree-spacer{width:24px;flex:none}.tree-label{display:flex;align-items:center;gap:var(--s-2);flex:1;min-width:0;border:none;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;padding:6px 4px}.split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:var(--s-4);align-items:start}@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}.preview-frame{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:42% 58%;min-height:300px;background:#fff;color:#161a20;box-shadow:var(--shadow-md);font-size:12px}.preview-frame .pv-panel{padding:var(--s-5);color:var(--pv-on, #fff);background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--pv, #2563eb) 70%,white) 0%,transparent 55%),linear-gradient(150deg,var(--pv, #2563eb) 0%,color-mix(in srgb,var(--pv, #2563eb) 70%,black) 100%);display:flex;flex-direction:column;justify-content:space-between}.preview-frame .pv-mark{display:flex;align-items:center;gap:8px;font-weight:650}.preview-frame .pv-mono{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#ffffff2e;font-weight:700;overflow:hidden}.preview-frame .pv-mono img{width:100%;height:100%;object-fit:contain;background:#fff}.preview-frame .pv-form{padding:var(--s-6) var(--s-5);display:flex;flex-direction:column;gap:8px;justify-content:center}.preview-frame .pv-input{height:26px;border:1px solid #dce0e6;border-radius:5px}.preview-frame .pv-btn{height:28px;border-radius:5px;display:grid;place-items:center;font-weight:600;background:var(--pv, #2563eb);color:var(--pv-on, #fff)}.preview-frame .pv-links{display:flex;gap:10px;color:#6b7380;font-size:10px;margin-top:6px}.kbd-hint{display:inline-flex;gap:4px;align-items:center;color:var(--text-subtle)}.status-line{display:inline-flex;align-items:center;gap:6px}.device-card{display:flex;gap:var(--s-4);align-items:flex-start;padding:var(--s-4) var(--s-5)}.device-card+.device-card{border-top:1px solid var(--border)}.device-meta{display:flex;flex-wrap:wrap;gap:2px var(--s-3);color:var(--text-muted);font-size:var(--fs-13)}.list-card>*+*{border-top:1px solid var(--border)}.list-row{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);min-width:0}@media(max-width:560px){.list-row,.device-card{flex-wrap:wrap;padding:var(--s-4)}}.json-view{margin:0;padding:var(--s-3) var(--s-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--mono);font-size:var(--fs-12);white-space:pre-wrap;overflow-wrap:anywhere}.wizard-steps{display:flex;gap:var(--s-2);list-style:none;margin:0 0 var(--s-6);padding:0;flex-wrap:wrap}.wizard-steps li{display:flex;align-items:center;gap:var(--s-2);color:var(--text-subtle);font-weight:560;font-size:var(--fs-13)}.wizard-steps li+li:before{content:"";width:28px;height:1px;background:var(--border-strong);margin-right:var(--s-1)}.wizard-steps .n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);font-size:var(--fs-12)}.wizard-steps li[aria-current=step]{color:var(--text)}.wizard-steps li[aria-current=step] .n,.wizard-steps li[data-done=true] .n{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.danger-zone .row-between+.row-between{border-top:1px solid var(--border);padding-top:var(--s-4);margin-top:var(--s-4)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media print{.topbar,.sidebar,.footer,.auth-panel,.auth-foot,.no-print{display:none!important}}
