:root{color-scheme:light;--c-bg: #f6f7f9;--c-surface: #ffffff;--c-surface-2: #f9fafb;--c-surface-hover: #f2f4f7;--c-border: #e4e7ec;--c-border-strong: #d0d5dd;--c-text: #101828;--c-text-2: #475467;--c-text-3: #667085;--c-text-inverse: #ffffff;--c-accent: #4f46e5;--c-accent-hover: #4338ca;--c-accent-soft: #eef2ff;--c-accent-text: #3730a3;--c-focus: #6366f1;--c-success: #067647;--c-success-soft: #ecfdf3;--c-success-border: #abefc6;--c-warning: #b54708;--c-warning-soft: #fffaeb;--c-warning-border: #fedf89;--c-danger: #d92d20;--c-danger-hover: #b42318;--c-danger-soft: #fef3f2;--c-danger-border: #fecdca;--c-info: #026aa2;--c-info-soft: #f0f9ff;--c-info-border: #b9e6fe;--c-purple: #6941c6;--c-purple-soft: #f9f5ff;--c-purple-border: #e9d7fe;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--lh: 1.5;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);--shadow-lg: 0 20px 24px -4px rgba(16, 24, 40, .08), 0 8px 8px -4px rgba(16, 24, 40, .03);--ring: 0 0 0 3px rgba(99, 102, 241, .35);--topbar-h: 56px;--nav-w: 220px;--nav-w-rail: 76px;--content-max: 1280px;--control-h: 36px;--control-h-sm: 30px}:root[data-stage=dev]{--c-accent: #b54708;--c-accent-hover: #93370d;--c-accent-soft: #fffaeb;--c-accent-text: #93370d;--c-focus: #dc6803;--c-dev-banner: #b54708;--c-dev-banner-text: #ffffff}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--c-accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}code,.mono{font-family:var(--font-mono);font-size:.92em;overflow-wrap:anywhere}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}[hidden]{display:none!important}.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}.muted{color:var(--c-text-3)}.icon{flex:none;width:18px;height:18px}.noscript{padding:var(--s-4);text-align:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;left:var(--s-2);top:-100px;z-index:100;padding:var(--s-2) var(--s-3);background:var(--c-surface);border-radius:var(--r-sm);box-shadow:var(--shadow-md)}.skip-link:focus{top:var(--s-2)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4);background:var(--c-surface);border-bottom:1px solid var(--c-border)}.btn.topbar-menu{display:none}.brand{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--c-text);font-weight:600;font-size:var(--fs-lg)}.brand:hover{text-decoration:none}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--r-md);background:var(--c-accent);color:var(--c-text-inverse);font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em}.brand-mark-lg{width:44px;height:44px;font-size:var(--fs-lg);border-radius:var(--r-lg)}.brand-sub{color:var(--c-text-3);font-weight:500}.stage{padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stage-dev{background:var(--c-accent-soft);color:var(--c-accent-text);border:1px solid var(--c-dev-banner, var(--c-accent))}.stage-prod{background:var(--c-danger-soft);color:var(--c-danger);border:1px solid var(--c-danger-border)}.topbar-spacer{flex:1}.topbar-user{color:var(--c-text-2);font-size:var(--fs-sm);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-body{--nav-col: var(--nav-w);flex:1;display:flex;min-height:0;position:relative}.app-body:before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--nav-col);background:var(--c-surface);border-right:1px solid var(--c-border);pointer-events:none}.sidenav{flex:none;z-index:1;width:var(--nav-col);padding:var(--s-4) var(--s-3);background:var(--c-surface);border-right:1px solid var(--c-border);position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--c-text-2);font-weight:500}.nav-link:hover{background:var(--c-surface-hover);color:var(--c-text);text-decoration:none}.nav-link[aria-current=page]{background:var(--c-accent-soft);color:var(--c-accent-text)}.main{flex:1;min-width:0;padding:var(--s-6) var(--s-8) var(--s-10)}.main:focus{outline:none}.page{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:var(--s-5)}.page-header{display:flex;flex-direction:column;gap:var(--s-2)}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.page-title{font-size:var(--fs-2xl);font-weight:650;line-height:1.25;letter-spacing:-.01em}.page-title:focus{outline:none}.page-description{margin-top:var(--s-1);color:var(--c-text-2)}.page-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;gap:var(--s-2);font-size:var(--fs-sm)}.breadcrumbs li+li:before{content:"/";margin-right:var(--s-2);color:var(--c-text-3)}.gate{min-height:100vh;display:grid;place-items:center;padding:var(--s-4)}.gate-card{width:100%;max-width:400px;padding:var(--s-8);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center}.gate-title{font-size:var(--fs-xl);font-weight:650}.gate-text{color:var(--c-text-2)}@media(max-width:1100px){.main{padding:var(--s-5) var(--s-5) var(--s-8)}}@media(max-width:1023px){.app-body{--nav-col: var(--nav-w-rail)}.sidenav{padding:var(--s-3) var(--s-2)}.nav-link{flex-direction:column;gap:2px;padding:var(--s-2) var(--s-1);font-size:var(--fs-xs);text-align:center}.nav-link .icon{width:22px;height:22px}.col-secondary{display:none}}@media(max-width:767px){.btn.topbar-menu{display:inline-flex}.topbar-user,.topbar-signout-label,.brand-sub{display:none}.app-body:before{display:none}.sidenav{display:none;position:fixed;left:0;top:var(--topbar-h);z-index:15;width:var(--nav-w);box-shadow:var(--shadow-lg)}.nav-open .sidenav{display:block}.nav-link{flex-direction:row;font-size:var(--fs-md);gap:var(--s-3);padding:var(--s-2) var(--s-3);text-align:left}.main{padding:var(--s-4) var(--s-4) var(--s-8)}}.dev-banner{padding:var(--s-1) var(--s-4);background:var(--c-dev-banner);color:var(--c-dev-banner-text);font-size:var(--fs-sm);text-align:center}.dev-banner strong{letter-spacing:.08em;margin-right:var(--s-2)}:root[data-stage=dev] .topbar{border-bottom:3px solid var(--c-dev-banner)}.topbar-switch{white-space:nowrap}.mode-switch{display:inline-flex;padding:2px;border:1px solid var(--c-border-strong);border-radius:var(--r-pill);background:var(--c-surface-2)}.mode-option{min-height:var(--control-h-sm);padding:0 var(--s-3);border:0;border-radius:var(--r-pill);background:transparent;color:var(--c-text-2);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.mode-option:hover{color:var(--c-text)}.mode-option:focus-visible{outline:none;box-shadow:var(--ring)}.mode-option[aria-pressed=true]{background:var(--c-accent);color:var(--c-text-inverse);cursor:default}.mode-test[aria-pressed=true]{background:var(--c-dev-banner)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--control-h);padding:0 var(--s-4);border:1px solid transparent;border-radius:var(--r-md);font-weight:550;font-size:var(--fs-md);line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s,box-shadow .12s}.btn:hover{text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-sm{height:var(--control-h-sm);padding:0 var(--s-3);font-size:var(--fs-sm)}.btn-lg{height:44px;padding:0 var(--s-6);font-size:var(--fs-lg)}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn-primary{background:var(--c-accent);color:var(--c-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--c-accent-hover)}.btn-secondary{background:var(--c-surface);border-color:var(--c-border-strong);color:var(--c-text);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--c-surface-hover)}.btn-danger{background:var(--c-danger);color:var(--c-text-inverse);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--c-danger-hover)}.btn-ghost{background:transparent;color:var(--c-text-2)}.btn-ghost:hover:not(:disabled){background:var(--c-surface-hover);color:var(--c-text)}.btn-danger-ghost{background:transparent;color:var(--c-danger)}.btn-danger-ghost:hover:not(:disabled){background:var(--c-danger-soft)}.btn.is-busy{position:relative;color:transparent}.btn.is-busy:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-color:var(--c-border-strong) var(--c-border-strong) var(--c-text-3) var(--c-text-3);border-radius:50%;animation:spin .7s linear infinite}.btn-primary.is-busy:after,.btn-danger.is-busy:after{border-color:rgba(255,255,255,.4) rgba(255,255,255,.4) #fff #fff}.btn.is-done{background:var(--c-success)}.copy-wrap{display:inline-flex;vertical-align:middle}.btn.copy-btn.is-done{background:var(--c-success-soft);color:var(--c-success)}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--s-2);border-radius:var(--r-pill);border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text-2);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.badge-success{background:var(--c-success-soft);border-color:var(--c-success-border);color:var(--c-success)}.badge-warning{background:var(--c-warning-soft);border-color:var(--c-warning-border);color:var(--c-warning)}.badge-danger{background:var(--c-danger-soft);border-color:var(--c-danger-border);color:var(--c-danger)}.badge-info{background:var(--c-info-soft);border-color:var(--c-info-border);color:var(--c-info)}.badge-accent{background:var(--c-purple-soft);border-color:var(--c-purple-border);color:var(--c-purple)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.card-title{font-size:var(--fs-lg);font-weight:600}.dl{margin:0;display:grid;gap:var(--s-3)}.dl-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:var(--s-4)}.dl dt{color:var(--c-text-3)}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.alert{display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid}.alert .icon{margin-top:2px}.alert-body{display:flex;flex-direction:column;gap:var(--s-1)}.alert-danger{background:var(--c-danger-soft);border-color:var(--c-danger-border);color:var(--c-danger-hover)}.alert-warning{background:var(--c-warning-soft);border-color:var(--c-warning-border);color:var(--c-warning)}.alert-info{background:var(--c-info-soft);border-color:var(--c-info-border);color:var(--c-info)}.alert-success{background:var(--c-success-soft);border-color:var(--c-success-border);color:var(--c-success)}.fieldset{border:0;margin:0;padding:0;display:grid;gap:var(--s-4)}.fieldset-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldset-legend{padding:0;margin-bottom:var(--s-2);font-weight:600}.field{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.field-label{font-weight:550;color:var(--c-text)}.field-required{color:var(--c-danger)}.field-hint{color:var(--c-text-3);font-size:var(--fs-sm)}.field-error{color:var(--c-danger);font-size:var(--fs-sm)}.input{width:100%;height:var(--control-h);padding:0 var(--s-3);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.input:focus{outline:none;border-color:var(--c-focus);box-shadow:var(--ring)}.input[aria-invalid=true]{border-color:var(--c-danger)}.input:disabled{background:var(--c-surface-2);color:var(--c-text-3)}.textarea{height:auto;padding:var(--s-2) var(--s-3);resize:vertical}.select{padding-right:var(--s-6)}.select-sm{height:var(--control-h-sm);width:auto;font-size:var(--fs-sm)}.select.is-set{border-color:var(--c-accent);background:var(--c-accent-soft);color:var(--c-accent-text)}.input-number{max-width:200px}.checkbox{width:16px;height:16px;accent-color:var(--c-accent)}.check-row{display:flex;align-items:center;gap:var(--s-2)}.toggle-row{display:flex;align-items:center;gap:var(--s-3)}.switch{flex:none;position:relative;width:40px;height:22px;padding:0;border:0;border-radius:var(--r-pill);background:var(--c-border-strong);cursor:pointer;transition:background-color .15s}.switch[aria-checked=true]{background:var(--c-accent)}.switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s}.switch[aria-checked=true] .switch-thumb{transform:translate(18px)}.switch:focus-visible{outline:none;box-shadow:var(--ring)}.switch:disabled{opacity:.5;cursor:not-allowed}.chips-field{position:relative}.chips-box{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1);min-height:var(--control-h);padding:3px var(--s-2);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:text}.chips-box:focus-within{border-color:var(--c-focus);box-shadow:var(--ring)}.chips{display:contents;list-style:none}.chip{display:inline-flex;align-items:center;gap:2px;height:26px;padding:0 2px 0 var(--s-2);border-radius:var(--r-sm);background:var(--c-accent-soft);color:var(--c-accent-text);font-size:var(--fs-sm);font-weight:500}.chip-remove{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.chip-remove .icon{width:14px;height:14px}.chip-remove:hover{background:#4f46e526}.chips-input{flex:1;min-width:120px;height:28px;border:0;outline:none;background:transparent}.chips-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow-y:auto;margin:0;padding:var(--s-1);list-style:none;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.chips-option{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);cursor:pointer}.chips-option:hover,.chips-option.is-active{background:var(--c-surface-hover)}.chips-empty{padding:var(--s-2) var(--s-3);color:var(--c-text-3)}.domain-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2)}.domain-rows{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:var(--s-2)}.domain-row-main{display:flex;gap:var(--s-2);align-items:center}.data-table{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-border)}.table-toolbar-main,.table-toolbar-extra,.table-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.table-toolbar-main{flex:1;min-width:0}.search{position:relative;flex:0 1 320px;min-width:200px}.search .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--c-text-3);pointer-events:none}.search-input{height:var(--control-h-sm);padding-left:34px;font-size:var(--fs-sm)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.table thead th{position:sticky;top:0;background:var(--c-surface-2);color:var(--c-text-3);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--c-border);white-space:nowrap}.th-sort{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px 4px;margin:-2px -4px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort .icon{width:14px;height:14px;opacity:.45}.th-sort.is-active{color:var(--c-text)}.th-sort.is-active .icon{opacity:1}.th-sort:hover{color:var(--c-text)}.table tbody .td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-border);vertical-align:middle;text-align:left;font-weight:400}.table tbody tr:last-child .td{border-bottom:0}.td-primary{font-weight:550!important;color:var(--c-text)}.tr.is-clickable{cursor:pointer}.tr:hover .td{background:var(--c-surface-2)}.tr.is-muted .td{color:var(--c-text-3)}.row-link{color:inherit}.row-link:hover{color:var(--c-accent)}.align-end{text-align:right!important}.col-narrow,.td-actions{width:1%;white-space:nowrap}.row-actions{display:inline-flex;gap:var(--s-1)}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-top:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text-3);font-size:var(--fs-sm)}.pager{display:flex;align-items:center;gap:var(--s-2)}.table-body>.state{margin:var(--s-6) var(--s-4)}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2);padding:var(--s-8) var(--s-4)}.state-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-surface-hover);color:var(--c-text-3);margin-bottom:var(--s-1)}.state-error .state-icon{background:var(--c-danger-soft);color:var(--c-danger)}.state-title{font-weight:600;font-size:var(--fs-lg)}.state-message{color:var(--c-text-2);max-width:460px;margin-bottom:var(--s-2)}.skeleton{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4)}.skeleton-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--s-6);padding:var(--s-2) 0}.skeleton-line{height:12px;border-radius:var(--r-sm);background:linear-gradient(90deg,#eef0f3,#f7f8fa,#eef0f3);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dialog{width:calc(100% - 2 * var(--s-4));max-height:calc(100vh - 2 * var(--s-8));padding:0;border:0;border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-lg)}.dialog::backdrop{background:#10182880}.dialog-sm{max-width:440px}.dialog-md{max-width:560px}.dialog-lg{max-width:760px}.dialog-form{display:flex;flex-direction:column;max-height:inherit}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-5) var(--s-6) var(--s-3)}.dialog-title{font-size:var(--fs-xl);font-weight:650}.dialog-close{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-md);background:transparent;color:var(--c-text-3);cursor:pointer}.dialog-close:hover{background:var(--c-surface-hover)}.dialog-body{padding:0 var(--s-6) var(--s-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4)}.dialog-description{color:var(--c-text-2)}.dialog-error:empty{display:none}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--c-border);background:var(--c-surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.confirm-phrase{padding:1px 6px;border-radius:4px;background:var(--c-surface-hover);-webkit-user-select:all;user-select:all}.secret-panel{display:flex;flex-direction:column;gap:var(--s-2)}.secret-row{display:flex;gap:var(--s-2)}.secret-value{background:var(--c-surface-2);font-size:var(--fs-sm)}.secret-status{min-height:1.2em;color:var(--c-success);font-size:var(--fs-sm)}.toasts{position:fixed;right:var(--s-4);bottom:var(--s-4);z-index:60;display:flex;flex-direction:column;gap:var(--s-2);width:min(400px,calc(100vw - 2 * var(--s-4)));pointer-events:none}.toast-list{display:flex;flex-direction:column;gap:var(--s-2)}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);border-left-width:4px;box-shadow:var(--shadow-lg);animation:toast-in .18s ease-out}.toast .icon{margin-top:2px}.toast-success{border-left-color:var(--c-success)}.toast-success>.icon{color:var(--c-success)}.toast-error{border-left-color:var(--c-danger)}.toast-error>.icon{color:var(--c-danger)}.toast-warning{border-left-color:var(--c-warning)}.toast-info{border-left-color:var(--c-info)}.toast-message{flex:1}.toast-close{display:inline-grid;place-items:center;width:26px;height:26px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-3);cursor:pointer}.toast-close .icon{width:16px;height:16px;margin:0}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media(max-width:767px){.fieldset-2{grid-template-columns:1fr}.dl-row{grid-template-columns:1fr;gap:0}.search{flex-basis:100%}}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}.row-wrap{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}:root{--c-series-v1: #2a78d6;--c-series-legacy: #eb6834;--c-series-unattributed: #1baf7a;--c-grid: #eef0f3}.filters-bar{display:flex;flex-direction:column;gap:var(--s-2)}.filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3)}.filters-row .select-sm{max-width:260px}input.input-sm[name=target]{min-width:270px}.filters-note{font-size:var(--fs-sm);margin:0}.input-sm{height:var(--control-h-sm);width:auto;min-width:200px;font-size:var(--fs-sm)}.segmented{display:inline-flex;padding:2px;background:var(--c-surface-hover);border:1px solid var(--c-border);border-radius:var(--r-md);gap:2px}.segmented-btn{height:calc(var(--control-h-sm) - 6px);padding:0 var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.segmented-btn:hover{color:var(--c-text)}.segmented-btn[aria-pressed=true]{background:var(--c-surface);color:var(--c-text);font-weight:600;box-shadow:var(--shadow-sm)}.segmented-btn:focus-visible{outline:none;box-shadow:var(--ring)}.range-custom{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-2) var(--s-3)}.range-custom[hidden]{display:none}.range-custom-field{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);color:var(--c-text-2)}.input-date{height:var(--control-h-sm);width:auto;font-size:var(--fs-sm)}.range-custom .field-error{flex-basis:100%;margin:0}.dashboard{display:flex;flex-direction:column;gap:var(--s-5);transition:opacity .15s}.dashboard.is-refreshing{opacity:.55;pointer-events:none}.dash-section,.audit-list{display:flex;flex-direction:column;gap:var(--s-3)}.section-title{font-size:var(--fs-lg);font-weight:600;margin:0}.section-note{margin:0;font-size:var(--fs-sm)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.card-sub{margin:2px 0 0;font-size:var(--fs-sm)}.focus-note{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-1)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s-3)}.stat-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1279px){.stat-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat-tile{display:flex;flex-direction:column;gap:var(--s-1);min-width:0;padding:var(--s-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none}.stat-tile p{margin:0}a.stat-link:hover{border-color:var(--c-border-strong);box-shadow:var(--shadow-md)}a.stat-link:focus-visible{outline:none;box-shadow:var(--ring)}.stat-label{font-size:var(--fs-sm);color:var(--c-text-2);font-weight:500}.stat-value{font-size:var(--fs-2xl);font-weight:600;line-height:1.2;color:var(--c-text)}.stat-detail{font-size:var(--fs-sm);color:var(--c-text-3)}.stat-error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);color:var(--c-danger)}.sparkline{width:120px;height:32px;margin-top:var(--s-1)}.sparkline-line{fill:none;stroke:var(--c-text-3);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.sparkline-dot{fill:var(--c-series-v1);stroke:var(--c-surface);stroke-width:2}.chart{margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.chart-frame{width:100%}.chart-svg{display:block;width:100%;height:auto;overflow:visible}.chart-svg:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.chart-grid line{stroke:var(--c-grid);stroke-width:1}.chart-baseline{stroke:var(--c-border-strong);stroke-width:1}.chart-tick{fill:var(--c-text-3);font-size:11px;font-family:var(--font-sans)}.chart-hit{fill:transparent;cursor:pointer}.chart-col.is-active .chart-hit{fill:var(--c-surface-hover)}.chart-svg.has-active .chart-col:not(.is-active) .chart-seg{opacity:.75}.series-v1{fill:var(--c-series-v1);background:var(--c-series-v1)}.series-legacy{fill:var(--c-series-legacy);background:var(--c-series-legacy)}.series-unattributed{fill:var(--c-series-unattributed);background:var(--c-series-unattributed)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);font-size:var(--fs-sm);color:var(--c-text-2)}.chart-legend li{display:inline-flex;align-items:center;gap:var(--s-2)}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.chart-readout{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-4);margin:0;padding:var(--s-2) var(--s-3);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fs-sm);min-height:2.25rem}.chart-readout-total{font-weight:600}.chart-readout-item{display:inline-flex;align-items:center;gap:var(--s-2);font-variant-numeric:tabular-nums}.day-table td,.changes-table td{font-variant-numeric:tabular-nums}.name-cell{display:flex;flex-direction:column;min-width:11rem}.name-cell-id{font-size:var(--fs-xs);color:var(--c-text-3);overflow-wrap:anywhere}.link-button{border:0;padding:0;background:none;color:var(--c-accent-text);font:inherit;cursor:pointer;text-align:start;white-space:nowrap}.link-button:hover{text-decoration:underline}.link-button:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.row-warning{background:var(--c-warning-soft)}.load-more{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3)}.load-more p{margin:0;font-size:var(--fs-sm)}.load-more .btn[hidden]{display:none}.audit-detail{display:flex;flex-direction:column;gap:var(--s-4)}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.change-value{overflow-wrap:anywhere}.small{font-size:var(--fs-sm);margin:0}.activity-list{list-style:none;margin:0;padding:0}.activity-item{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--s-1) var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--c-border)}.activity-item:first-child{border-top:0;padding-top:0}.activity-action{font-weight:500}.activity-meta{font-size:var(--fs-sm)}@media(max-width:1023px){.stat-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:599px){.stat-grid-4,.stat-grid-6{grid-template-columns:minmax(0,1fr)}.input-sm{min-width:0;flex:1 1 100%}}.pv-stack{display:grid;gap:var(--s-4);min-width:0}.pv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-bottom:var(--s-4)}.pv-grid>.card{margin:0}.pv-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.pv-suffix{color:var(--c-text-3);font-weight:400}.pv-small{font-size:var(--fs-sm)}.pv-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 var(--s-3)}.pv-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-3)}.pv-inline{display:flex;align-items:flex-end;gap:var(--s-2)}.pv-inline>.field{flex:1}.pv-flags{display:grid;gap:var(--s-2)}.pv-subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);font-size:var(--fs-lg);font-weight:600;margin:0 0 var(--s-3)}.pv-plain-list{margin:0;padding-left:var(--s-5)}.pv-tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--c-border);margin-bottom:var(--s-4);overflow-x:auto;scrollbar-width:thin}.pv-tab{-webkit-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:var(--s-2) var(--s-3);min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--c-text-2);cursor:pointer;white-space:nowrap}.pv-tab:hover{color:var(--c-text)}.pv-tab[aria-selected=true]{color:var(--c-accent-text);border-bottom-color:var(--c-accent);font-weight:600}.pv-tab:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.pv-segmented{display:inline-flex;border:1px solid var(--c-border-strong);border-radius:var(--r-md);overflow:hidden;width:fit-content}.pv-seg{-webkit-appearance:none;appearance:none;border:0;background:var(--c-surface);padding:var(--s-2) var(--s-4);min-height:40px;font:inherit;font-size:var(--fs-sm);color:var(--c-text-2);cursor:pointer}.pv-seg+.pv-seg{border-left:1px solid var(--c-border-strong)}.pv-seg[aria-pressed=true]{background:var(--c-accent-soft);color:var(--c-accent-text);font-weight:600}.pv-seg:focus-visible{outline:none;box-shadow:var(--ring)}.pv-radios{display:grid;gap:var(--s-2)}.pv-radio{display:flex;align-items:flex-start;gap:var(--s-2);cursor:pointer;min-height:32px}.pv-radio input{margin-top:.2rem;accent-color:var(--c-accent)}.pv-more>summary,.pv-advanced>summary{cursor:pointer;color:var(--c-text-2);font-weight:500;padding:var(--s-2) 0;min-height:36px}.pv-more[open]>summary,.pv-advanced[open]>summary{margin-bottom:var(--s-3)}.pv-json-editor{display:grid;gap:var(--s-2);margin-top:var(--s-4)}.pv-json{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.45;tab-size:2;min-height:12rem;white-space:pre;overflow:auto}.pv-json-status{margin:0;font-size:var(--fs-sm);color:var(--c-text-3)}.pv-json-status.is-ok{color:var(--c-success)}.pv-json-status.is-error{color:var(--c-danger)}.pv-problem-list{margin:0;padding-left:var(--s-5);color:var(--c-danger);font-size:var(--fs-sm);display:grid;gap:var(--s-1)}.pv-json-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s-2)}.pv-dirty{margin-right:auto;color:var(--c-warning);font-size:var(--fs-sm);font-weight:500}.pv-rule-list,.pv-template-list,.pv-candidates{margin:0;padding-left:var(--s-5);display:grid;gap:var(--s-1)}.pv-dl-compact{gap:var(--s-2)}.pv-result-summary{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);align-items:center;padding:var(--s-3) var(--s-4);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.pv-candidates li.is-hit code{background:var(--c-success-soft);color:var(--c-success);border-radius:var(--r-sm);padding:0 var(--s-1);font-weight:600}.pv-results td{vertical-align:top}@media(max-width:1023px){.pv-grid{grid-template-columns:1fr}}@media(max-width:767px){.pv-inline{flex-direction:column;align-items:stretch}}.key-cell{display:flex;flex-direction:column;gap:2px;min-width:9rem}.partner-cell{display:inline-block;min-width:6rem}.key-label{font-weight:500;overflow-wrap:anywhere}.key-prefix{display:block;font-size:var(--fs-xs);color:var(--c-text-3)}.badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2)}.domain-cell{display:inline-block;max-width:10rem;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;font-size:var(--fs-sm);white-space:nowrap}.key-page-form{display:flex;flex-direction:column;gap:var(--s-4);max-width:760px}.key-form{display:flex;flex-direction:column;gap:var(--s-5)}.key-form-note:empty,.key-form-origins:empty,.key-form-sets:empty,.form-error:empty{display:none}.kind-choice{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.kind-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.kind-option{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);cursor:pointer}.kind-option:hover{background:var(--c-surface-hover)}.kind-option:has(.kind-radio:checked){border-color:var(--c-accent);background:var(--c-accent-soft);box-shadow:0 0 0 1px var(--c-accent)}.kind-option:has(.kind-radio:focus-visible){box-shadow:var(--ring)}.kind-radio{margin-top:3px;accent-color:var(--c-accent);flex:none}.kind-text{display:flex;flex-direction:column;gap:var(--s-1)}.kind-title{font-weight:600}.kind-help{font-size:var(--fs-sm);color:var(--c-text-2)}.set-row{display:flex;flex-direction:column;gap:var(--s-2)}.set-row+.set-row{padding-top:var(--s-3);border-top:1px solid var(--c-border)}.set-venue{font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:var(--s-3)}.key-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);align-items:start}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-1)}.venue-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.table-compact .td,.table-compact .th{padding-top:var(--s-2);padding-bottom:var(--s-2)}.page-footnote{font-size:var(--fs-sm);color:var(--c-text-3)}.stack-sm{display:flex;flex-direction:column;gap:var(--s-2)}@media(max-width:1023px){.keys-table .td-actions,.keys-table thead th:last-child:not([aria-sort]){display:none}.key-detail-grid,.kind-options{grid-template-columns:1fr}}.gl-note:empty{display:none}.gl-note{margin-bottom:var(--s-4)}.gl-cell{display:inline-flex;flex-direction:column;gap:var(--s-1);min-width:0}.gl-path{white-space:nowrap}.gl-sub{color:var(--c-text-3);font-size:var(--fs-sm)}.gl-cell time,.gl-cell .muted{font-size:var(--fs-sm)}.gl-cell>time+time{color:var(--c-text-3)}.gl-side>.card{margin:0}.gl-keys{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s-1)}.gl-lost{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2);margin:0;padding:0;list-style:none}.gl-sets{display:grid;gap:var(--s-2);margin:0;padding:0;border:0;min-width:0}.gl-set{cursor:pointer}.gl-confirm,.gl-counts{margin:0;padding-left:var(--s-5);display:grid;gap:var(--s-1)}.gl-problem:empty{display:none}.gl-id{display:inline-flex;align-items:center;gap:var(--s-1);white-space:nowrap}.gl-title-id{display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}
