@font-face{font-family:"Table Inter";src:url('/table-font.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
/* Independently implemented from pinned source measurements; see docs/visual-standard.md.
   Palette and dimensions are checked against ui-contract.js. No vendor/EE styles are imported. */
:root,:host{
  color-scheme:light;
  --ui-font:"Table Inter",Inter,Manrope,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --ui-font-size:14px;--ui-font-size-sm:13px;--ui-font-size-xs:12px;--ui-font-size-tiny:11px;
  --ui-line-height:20px;--ui-line-height-sm:18px;--ui-line-height-xs:16px;
  --ui-font-weight:500;--ui-font-weight-medium:600;--ui-font-weight-bold:700;
  --ui-heading-page-size:20px;--ui-heading-page-line:28px;--ui-heading-page-weight:550;
  --ui-heading-section-size:18px;--ui-heading-section-line:28px;
  --ui-heading-subsection-size:16px;--ui-heading-subsection-line:24px;
  --ui-text:#374151;--ui-title:#1f293a;--ui-muted:#6a7184;--ui-subtle:#9aa2af;
  --ui-text-secondary:#4a5268;
  --ui-brand:#3366ff;--ui-brand-hover:#2952cc;--ui-brand-soft:#f0f3ff;--ui-brand-border:#adc2ff;
  --ui-surface:#ffffff;--ui-canvas:#f9f9fa;--ui-hover:#f4f4f5;--ui-border:#e7e7e9;--ui-border-strong:#d5d5d9;
  --ui-success:#17803d;--ui-success-soft:#ecfff2;--ui-success-border:#a9efc1;
  --ui-warning:#c86827;--ui-warning-soft:#fff5ef;--ui-warning-border:#fdcdad;
  --ui-danger:#cb3f36;--ui-danger-soft:#fff2f1;--ui-danger-border:#ffb7b2;
  --ui-danger-fill:#ff4a3f;--ui-danger-hover:#e8463c;--ui-disabled-text:#d5d5d9;
  --ui-focus-color:rgba(51,102,255,.24);
  --ui-overlay:#10101566;--ui-shadow:0 4px 16px #10101514,0 1px 3px #1010150d;--ui-dialog-shadow:0 16px 56px #10101524;
  --ui-control-shadow:0 3px 1px -2px rgb(0 0 0 / 6%),0 5px 3px -2px rgb(0 0 0 / 2%);
  --ui-input-shadow:0 0 4px 0 rgb(0 0 0 / 8%);--ui-input-hover-shadow:0 0 4px 0 rgb(0 0 0 / 24%);
  --ui-focus-ring:0 0 0 2px var(--ui-surface),0 0 0 4px var(--ui-brand);
  --ui-radius:8px;--ui-radius-sm:6px;--ui-card-radius:8px;--ui-dialog-radius:16px;
  --ui-control-height:32px;--ui-control-height-sm:28px;--ui-control-height-md:40px;--ui-control-height-lg:40px;
  --ui-control-height-xs:25px;--ui-control-height-xxs:23px;
  --ui-icon-size:16px;--ui-icon-size-sm:14px;--ui-icon-size-lg:20px;
  --ui-avatar-xs:20px;--ui-avatar-sm:24px;--ui-avatar-md:32px;--ui-avatar-lg:40px;--ui-avatar-font-ratio:.375;--ui-avatar-glyph-ratio:.5;
  /* User-requested vivid identity colors; decorative, never status or role indicators. */
  --ui-avatar-foreground:#ffffff;
  --ui-avatar-purple:linear-gradient(135deg,#7c3aed,#6625d8);
  --ui-avatar-blue:linear-gradient(135deg,#2864e8,#2053ce);
  --ui-avatar-cyan:linear-gradient(135deg,#087fa3,#076b8a);
  --ui-avatar-orange:linear-gradient(135deg,#c64e12,#ad3f0b);
  --ui-avatar-teal:linear-gradient(135deg,#0e8270,#096b5c);
  --ui-avatar-rose:linear-gradient(135deg,#ce2867,#b51c55);
  --ui-space-1:2px;--ui-space-2:4px;--ui-space-3:8px;--ui-space-4:12px;
  --ui-space-5:16px;--ui-space-6:24px;--ui-space-7:32px;--ui-space-8:40px;
  --ui-topbar-height:48px;--ui-toolbar-height:44px;--ui-mini-sidebar-width:46px;--ui-footer-height:34px;
  --ui-table-row-height:54px;--ui-table-header-height:54px;--ui-grid-row-height:32px;
  --ui-menu-item-height:32px;--ui-menu-min-width:144px;--ui-touch-target:44px;
  --ui-tab-height:32px;--ui-tab-segment-height:24px;--ui-tab-indicator-width:2px;
  --ui-select-arrow:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22m2%204%204%204%204-4%22%20stroke%3D%22%236a7184%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --font:var(--ui-font);--ink:var(--ui-text);--muted:var(--ui-muted);--green:var(--ui-brand);--green-dark:var(--ui-brand-hover);
  --lime:var(--ui-brand-soft);--paper:var(--ui-canvas);--white:var(--ui-surface);--line:var(--ui-border);--border:var(--ui-border);
  --soft:var(--ui-hover);--tint:var(--ui-brand-soft);--amber:var(--ui-warning);--red:var(--ui-danger);--danger:var(--ui-danger);
  --page-gutter:var(--ui-space-6);--panel-inset:var(--ui-space-6);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ui-canvas);color:var(--ui-text);font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);-webkit-font-smoothing:antialiased}
.ui-root,:host{color:var(--ui-text);font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);-webkit-font-smoothing:antialiased}
/* Bare controls retain a low-specificity migration base. Vendor surfaces opt out. */
:where(button,input,select,textarea):not(:where([data-ui-exclude],[data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
:where(button,select):not(:where([data-ui-exclude] *)){touch-action:manipulation}
:where(button):not(:where([data-ui-exclude],[data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){cursor:pointer;min-height:var(--ui-control-height);padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);line-height:var(--ui-line-height)}
:where(button:hover:not(:disabled)):not(:where([data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){background:var(--ui-hover)}
:where(button):disabled{cursor:not-allowed}
:where(a){color:var(--ui-brand);text-underline-offset:3px}
:where(h1,h2,h3,p){margin:0}
:where(h1,h2,h3,h4){color:var(--ui-title);font-weight:var(--ui-font-weight-medium)}
:where(h1):not(:where([data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){font-size:var(--ui-heading-page-size);line-height:var(--ui-heading-page-line);font-weight:var(--ui-heading-page-weight)}
:where(h2):not(:where([data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){font-size:var(--ui-heading-section-size);line-height:var(--ui-heading-section-line)}
:where(h3):not(:where([data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){font-size:var(--ui-heading-subsection-size);line-height:var(--ui-heading-subsection-line)}
.ui-heading[data-ui-role=heading][data-ui-variant]{color:var(--ui-title);font-family:var(--ui-font);font-weight:var(--ui-font-weight-medium);letter-spacing:normal}
.ui-heading[data-ui-role=heading][data-ui-variant=page]{font-size:var(--ui-heading-page-size);line-height:var(--ui-heading-page-line);font-weight:var(--ui-heading-page-weight)}
.ui-heading[data-ui-role=heading]:is([data-ui-variant=section],[data-ui-variant=dialog]){font-size:var(--ui-heading-section-size);line-height:var(--ui-heading-section-line)}
.ui-heading[data-ui-role=heading][data-ui-variant=subsection]{font-size:var(--ui-heading-subsection-size);line-height:var(--ui-heading-subsection-line)}
.ui-title-line{display:flex;align-items:baseline;gap:var(--ui-space-3);min-width:0;max-width:100%}
.ui-title-line>:is(h1,h2,h3,h4,h5,h6){min-width:0;margin:0;overflow-wrap:anywhere}
.ui-title-line>.ui-title-metadata{flex:none;max-width:40%}
.ui-title-metadata{color:var(--ui-muted);font:var(--ui-font-weight) var(--ui-font-size-sm)/var(--ui-line-height) var(--ui-font);overflow-wrap:anywhere}
.ui-avatar{--ui-avatar-size:var(--ui-avatar-sm);--ui-avatar-text-size:calc(var(--ui-avatar-size) * var(--ui-avatar-font-ratio));position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--ui-avatar-size);height:var(--ui-avatar-size);min-width:var(--ui-avatar-size);overflow:hidden;border-radius:50%;background:var(--ui-brand-soft);color:var(--ui-brand-hover);vertical-align:middle;font:var(--ui-font-weight-medium) var(--ui-avatar-text-size)/1 var(--ui-font);letter-spacing:0;word-spacing:0;text-transform:none;text-indent:0;user-select:none}
.ui-avatar-xs{--ui-avatar-size:var(--ui-avatar-xs)}.ui-avatar-md{--ui-avatar-size:var(--ui-avatar-md)}.ui-avatar-lg{--ui-avatar-size:var(--ui-avatar-lg)}
/* Avatar typography scales from the directory's 12/32 baseline, never the surrounding prose. */
.ui-avatar>.ui-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font:var(--ui-font-weight-medium) var(--ui-avatar-text-size)/1 var(--ui-font);letter-spacing:0;word-spacing:0;text-transform:none;text-indent:0;white-space:nowrap;background:var(--ui-hover);color:var(--ui-muted)}
.ui-avatar>.ui-avatar-fallback>svg{width:calc(var(--ui-avatar-size) * var(--ui-avatar-glyph-ratio));height:calc(var(--ui-avatar-size) * var(--ui-avatar-glyph-ratio));flex:none}
.ui-avatar[data-ui-avatar-color]>.ui-avatar-fallback{color:var(--ui-avatar-foreground)}
.ui-avatar[data-ui-avatar-color=purple]>.ui-avatar-fallback{background:var(--ui-avatar-purple)}
.ui-avatar[data-ui-avatar-color=blue]>.ui-avatar-fallback{background:var(--ui-avatar-blue)}
.ui-avatar[data-ui-avatar-color=cyan]>.ui-avatar-fallback{background:var(--ui-avatar-cyan)}
.ui-avatar[data-ui-avatar-color=orange]>.ui-avatar-fallback{background:var(--ui-avatar-orange)}
.ui-avatar[data-ui-avatar-color=teal]>.ui-avatar-fallback{background:var(--ui-avatar-teal)}
.ui-avatar[data-ui-avatar-color=rose]>.ui-avatar-fallback{background:var(--ui-avatar-rose)}
.ui-avatar>.ui-avatar-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:inherit;opacity:0}
.ui-avatar-loaded>.ui-avatar-image{opacity:1}.ui-avatar-loaded>.ui-avatar-fallback{visibility:hidden}
.ui-person{display:inline-flex;align-items:center;gap:var(--ui-space-2);min-width:0;max-width:100%;vertical-align:middle;line-height:var(--ui-line-height);font-weight:inherit}
.ui-person-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-avatar-group{display:inline-flex;align-items:center;isolation:isolate;vertical-align:middle;padding-inline-start:var(--ui-space-2)}.ui-avatar-group>.ui-avatar{margin-inline-start:calc(-1 * var(--ui-space-2));box-shadow:0 0 0 2px var(--ui-surface)}.ui-avatar-overflow{background:var(--ui-hover);color:var(--ui-muted)}
.ui-toolbar-field.ui-toolbar-field{display:inline-flex;flex-direction:row;align-items:center;gap:var(--ui-space-3);margin:0;min-width:0;max-width:100%;font:var(--ui-font-weight) var(--ui-font-size-sm)/var(--ui-line-height) var(--ui-font);color:var(--ui-muted)}
.ui-toolbar-field.ui-toolbar-field>:is(label,span){flex:none;margin:0;font:inherit;color:inherit}
.ui-toolbar-field.ui-toolbar-field>:is(input,select){width:auto;min-width:0;max-width:100%;margin:0}
.ui-field.ui-toolbar-field{flex-wrap:wrap}
/* Compound rows own their internal spacing; ordinary stacked fields keep theirs. */
.ui-control-row.ui-control-row{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--ui-space-3);min-width:0}
.ui-control-row>:where(label,.ui-input-group,.ui-input){flex:1;min-width:0}
.ui-control-row.ui-control-row>:is(label,.ui-input-group,.ui-input,.ui-button),
.ui-control-row.ui-control-row>:is(label,.ui-input-group)>.ui-input,
.ui-control-row.ui-control-row>label>.ui-input-group>.ui-input{margin:0}
/* configuration.css gives modal labels an ID-scoped bottom margin. */
#modal .modal-body .ui-control-row>label{margin:0}
:where(.empty-art,.onboarding-mark,.process-dot)>svg{width:var(--ui-icon-size-lg);height:var(--ui-icon-size-lg);flex-shrink:0}
:where(strong){font-weight:var(--ui-font-weight-medium)}
:where(small){font-size:var(--ui-font-size-xs)}
:where(label):not(:where([data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){display:flex;flex-direction:column;gap:var(--ui-space-2);font-size:var(--ui-font-size);font-weight:var(--ui-font-weight);margin-bottom:var(--ui-space-4)}
:where(input,textarea,select):not(:where([data-ui-exclude],[data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){width:100%;min-width:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);padding:var(--ui-space-2) var(--ui-space-4);min-height:var(--ui-control-height);outline:none;transition:border-color .12s,box-shadow .12s}
:where(input,textarea,select):focus:not(:where([data-ui-exclude] *,.bn-editor *,.ProseMirror *,.univer-app *,.monaco-editor *)){border-color:var(--ui-brand);box-shadow:0 0 0 2px var(--ui-focus-color)}
:where(input,textarea)::placeholder{color:var(--ui-subtle);opacity:1}
:where(textarea){resize:vertical;line-height:1.7}
:where(input[type=checkbox],input[type=radio]):not(:where([data-ui-exclude] *,.bn-editor *,.univer-app *)){width:var(--ui-icon-size);height:var(--ui-icon-size);min-height:0;padding:0;flex:none;accent-color:var(--ui-brand)}
:where(select:not([multiple]):not([size])):not(:where([data-ui-exclude] *,.univer-app *)){appearance:none;padding-right:var(--ui-space-7);background-image:var(--ui-select-arrow);background-repeat:no-repeat;background-position:right var(--ui-space-3) center;background-size:var(--ui-icon-size-sm)}
:where(button,a,summary,[tabindex]):focus:not(:focus-visible){outline:none}
:where(button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ui-brand);outline-offset:-2px}
/* Explicit shared controls outrank historical two-class module rules without important. */
:is(button,a).ui-button[class],.button,.text-button,.icon-button{--ui-button-height:var(--ui-control-height);--ui-button-padding-x:7px;--ui-button-padding-y:4px;--ui-button-font:var(--ui-font-size);--ui-button-radius:var(--ui-radius);display:inline-flex;position:relative;align-items:center;justify-content:center;gap:10px;flex-shrink:0;box-sizing:border-box;height:var(--ui-button-height);min-height:var(--ui-button-height);min-width:var(--ui-button-height);padding:var(--ui-button-padding-y) var(--ui-button-padding-x);border:1px solid var(--ui-border);border-radius:var(--ui-button-radius);background:var(--ui-surface);color:var(--ui-text);font:var(--ui-font-weight-medium) var(--ui-button-font)/var(--ui-line-height) var(--ui-font);white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:var(--ui-control-shadow);transition:background-color .12s,border-color .12s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ui-button-content{display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:.95}
:is(button,a).ui-button[class]:hover:not(:disabled),.button:hover:not(:disabled){background:var(--ui-hover);border-color:var(--ui-border);transform:none}
:is(button,a).ui-button[class].ui-size-medium{--ui-button-height:var(--ui-control-height-md);--ui-button-padding-x:16px;--ui-button-padding-y:8px}
:is(button,a).ui-button[class].ui-size-xs{--ui-button-height:var(--ui-control-height-sm);--ui-button-padding-x:8px;--ui-button-padding-y:0px;--ui-button-font:var(--ui-font-size-sm)}
:is(button,a).ui-button[class].ui-size-xs .ui-button-content{gap:var(--ui-space-3);line-height:var(--ui-line-height-sm)}
:is(button,a).ui-button[class].ui-size-xsmall{--ui-button-height:var(--ui-control-height-xs);--ui-button-padding-x:1px;--ui-button-padding-y:1px;--ui-button-radius:var(--ui-radius-sm);--ui-button-font:var(--ui-font-size)}
:is(button,a).ui-button[class].ui-size-xxsmall{--ui-button-height:var(--ui-control-height-xxs);--ui-button-padding-x:0px;--ui-button-padding-y:0px;--ui-button-radius:var(--ui-radius-sm);--ui-button-font:var(--ui-font-size)}
:is(button,a).ui-button[class].ui-variant-primary,.primary,.button.primary{background:var(--ui-brand);border-color:var(--ui-brand);color:var(--ui-surface)}
:is(button,a).ui-button[class].ui-variant-primary:hover:not(:disabled),.primary:hover:not(:disabled),.button.primary:hover:not(:disabled){background:var(--ui-brand-hover);border-color:var(--ui-brand-hover);color:var(--ui-surface)}
:is(button,a).ui-button[class].ui-variant-secondary,.secondary{background:var(--ui-surface);border-color:var(--ui-border)}
:is(button,a).ui-button[class].ui-variant-danger,.destructive{background:var(--ui-danger-fill);border-color:var(--ui-danger-fill);color:var(--ui-surface)}
:is(button,a).ui-button[class].ui-variant-danger:hover:not(:disabled),.destructive:hover:not(:disabled){background:var(--ui-danger-hover);border-color:var(--ui-danger-hover);color:var(--ui-surface)}
:is(button,a).ui-button[class].ui-variant-text,:is(button,a).ui-button[class].ui-variant-link,.text-button,.icon-button{border-color:transparent;background:transparent;box-shadow:none}
:is(button,a).ui-button[class].ui-variant-text:hover:not(:disabled),.text-button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--ui-hover);border-color:transparent;color:var(--ui-text)}
:is(button,a).ui-button[class].ui-variant-link,:is(button,a).ui-button[class].ui-variant-link:hover:not(:disabled){color:var(--ui-brand);background:transparent;border-color:transparent;box-shadow:none}
:is(button,a).ui-button[class].ui-variant-link:hover:not(:disabled){text-decoration:underline}
:is(button,a).ui-button[class]:focus-visible,.button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--ui-focus-ring)}
:is(button,a).ui-button[class]:disabled,.button:disabled,.text-button:disabled,.icon-button:disabled{color:var(--ui-disabled-text);background:var(--ui-canvas);border-color:transparent;box-shadow:none;cursor:not-allowed;opacity:1}
:is(button,a).ui-button[class].ui-variant-secondary:disabled,.button.secondary:disabled{background:var(--ui-surface);border-color:var(--ui-hover)}
:is(button,a).ui-button[class].ui-variant-text:disabled,:is(button,a).ui-button[class].ui-variant-link:disabled,.text-button:disabled,.icon-button:disabled{background:transparent;border-color:transparent}
:is(button,a).ui-button[class].ui-icon-button,.icon-button{width:var(--ui-button-height);height:var(--ui-button-height);padding:0;flex:none}
:is(button,a).ui-button[class] svg,.ui-icon,.button svg,.text-button svg,.icon-button svg{display:inline-block;width:var(--ui-icon-size);height:var(--ui-icon-size);flex:none;vertical-align:middle}
:is(button,a).ui-button[class].ui-size-xs svg,:is(button,a).ui-button[class].ui-size-xsmall svg,:is(button,a).ui-button[class].ui-size-xxsmall svg,.ui-icon-14{width:var(--ui-icon-size-sm);height:var(--ui-icon-size-sm)}
:is(button,a).ui-button[class] .ui-icon-20,.ui-icon-20{width:var(--ui-icon-size-lg);height:var(--ui-icon-size-lg)}
:is(button,a).ui-button[class][aria-busy=true] .ui-button-content{visibility:hidden}
.ui-spinner{display:none;width:var(--ui-icon-size);height:var(--ui-icon-size);border:2px solid currentColor;border-right-color:transparent;border-radius:50%;position:absolute;inset:0;margin:auto;animation:ui-spin .75s linear infinite}
:is(button,a).ui-button[class][aria-busy=true] .ui-spinner{display:block}
@keyframes ui-spin{to{transform:rotate(360deg)}}
/* Semantic navigation and metrics own content geometry, never action-button height. */
button:is(.ui-nav-item,.ui-metric-card)[class]{position:relative;box-sizing:border-box;min-width:0;height:auto;max-height:none;min-height:var(--ui-control-height);margin:0;border:1px solid transparent;border-radius:var(--ui-radius);font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);text-align:start;text-decoration:none;white-space:normal;box-shadow:none;cursor:pointer;touch-action:manipulation;transition:background-color .12s,border-color .12s}
button.ui-nav-item[class]{display:flex;align-items:center;justify-content:flex-start;gap:var(--ui-space-3);padding:var(--ui-space-2) var(--ui-space-3);background:transparent;color:var(--ui-text)}
.ui-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.ui-nav-item[class]:hover:not(:disabled){background:var(--ui-hover);color:var(--ui-text)}
button.ui-nav-item[class][aria-current=page]{background:var(--ui-brand-soft);color:var(--ui-brand);font-weight:var(--ui-font-weight-medium)}
button.ui-nav-item[class][aria-current=page]:hover:not(:disabled){background:var(--ui-brand-soft);color:var(--ui-brand-hover)}
button.ui-metric-card[class]{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--ui-space-2);padding:var(--ui-space-5);border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-text);overflow-wrap:anywhere}
.ui-metric-label,.ui-metric-description{color:var(--ui-text-secondary);font:inherit}
.ui-metric-value{color:var(--ui-title);font:var(--ui-heading-page-weight) var(--ui-heading-page-size)/var(--ui-heading-page-line) var(--ui-font);font-variant-numeric:tabular-nums}
.ui-metric-description{font-size:var(--ui-font-size-xs);line-height:var(--ui-line-height-xs)}
button.ui-metric-card[class]:hover:not(:disabled){background:var(--ui-hover);border-color:var(--ui-brand-border)}
button:is(.ui-nav-item,.ui-metric-card)[class]:focus-visible{outline:2px solid var(--ui-brand);outline-offset:-2px}
button:is(.ui-nav-item,.ui-metric-card)[class]:disabled{color:var(--ui-muted);cursor:not-allowed;opacity:1}
button.ui-nav-item[class]:disabled{background:transparent}
button.ui-metric-card[class]:disabled{background:var(--ui-canvas)}
button.ui-metric-card[class]:disabled>*{color:inherit}
@media(pointer:coarse){button:is(.ui-nav-item,.ui-metric-card)[class]{min-height:var(--ui-touch-target)}}
/* Tabs are navigation controls, not secondary buttons. ARIA selection is the only style state. */
.ui-tabs[role=tablist][class]{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--ui-space-5);min-width:0;max-width:100%;padding:0 0 0 10px;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;background:transparent;box-shadow:none;overflow-x:auto;font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font)}
.ui-tabs[role=tablist][data-ui-tabs-variant=segmented]{gap:var(--ui-space-1);padding:var(--ui-space-2);border:0;border-radius:var(--ui-radius);background:var(--ui-border)}
button.ui-tab[role=tab][class]{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;width:auto;min-width:var(--ui-tab-segment-height);height:var(--ui-tab-height);min-height:var(--ui-tab-height);margin:0;padding:0 var(--ui-space-3);border:0 solid transparent;border-bottom-width:var(--ui-tab-indicator-width);border-radius:0;background:transparent;color:var(--ui-text-secondary);font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);text-align:center;text-decoration:none;white-space:nowrap;box-shadow:none;cursor:pointer;transform:none;transition:color .12s,border-color .12s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button.ui-tab[role=tab][class]:hover:not(:disabled){color:var(--ui-text);background:transparent;border-color:transparent}
button.ui-tab[role=tab][class][aria-selected=true]{color:var(--ui-brand);background:transparent;border-bottom-color:var(--ui-brand)}
button.ui-tab[role=tab][class].ui-tab-underline[aria-selected=true]:hover:not(:disabled){color:var(--ui-brand-hover);border-bottom-color:var(--ui-brand)}
button.ui-tab[role=tab][class].ui-tab-segmented{height:var(--ui-tab-segment-height);min-height:var(--ui-tab-segment-height);border:0 solid transparent;border-radius:var(--ui-radius-sm)}
button.ui-tab[role=tab][class].ui-tab-segmented[aria-selected=true]{color:var(--ui-brand-hover);background:var(--ui-surface);border-bottom-color:transparent;box-shadow:var(--ui-control-shadow)}
button.ui-tab[role=tab][class]:is(.ui-tab-underline,.ui-tab-segmented):disabled{color:var(--ui-disabled-text);border-color:transparent;cursor:not-allowed;opacity:1;box-shadow:none}
button.ui-tab[role=tab][class]:focus-visible{outline:2px solid var(--ui-brand);outline-offset:-3px}
.ui-tabs[role=tablist][aria-orientation=vertical]{flex-direction:column;align-items:stretch}
:where(.ui-input){display:block;width:100%;min-width:0}
:is(input,select,textarea).ui-input[class]:not([data-ui-exclude]){box-sizing:border-box;height:var(--ui-control-height);min-height:var(--ui-control-height);padding:var(--ui-space-2) var(--ui-space-4);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);box-shadow:var(--ui-input-shadow);outline:none}
:is(input,select,textarea).ui-input[class].ui-size-medium{height:var(--ui-control-height-md);min-height:var(--ui-control-height-md);padding-block:var(--ui-space-3)}
:is(input,select,textarea).ui-input[class].ui-size-xs{height:var(--ui-control-height-sm);min-height:var(--ui-control-height-sm);padding-block:var(--ui-space-1);font-size:var(--ui-font-size-sm)}
textarea.ui-input[class]:is(.ui-input,.ui-size-medium,.ui-size-xs){height:auto;min-height:96px;resize:vertical}
select.ui-input[class]:not([multiple]):is(:not([size]),[size="0"],[size="1"]){appearance:none;padding-right:var(--ui-space-7);background-image:var(--ui-select-arrow);background-repeat:no-repeat;background-position:right var(--ui-space-3) center;background-size:var(--ui-icon-size-sm)}
.ui-input-group{display:block;position:relative;min-width:0}
.ui-input-group>.ui-icon{position:absolute;left:var(--ui-space-4);top:50%;width:var(--ui-icon-size);height:var(--ui-icon-size);transform:translateY(-50%);color:var(--ui-muted);pointer-events:none}
.ui-input-group>input.ui-input[class]:not([data-ui-exclude]){padding-left:calc(var(--ui-space-4) + var(--ui-icon-size) + var(--ui-space-3))}
:is(input,select,textarea).ui-input[class]:hover:not(:disabled):not(:focus){box-shadow:var(--ui-input-hover-shadow)}
:is(input,select,textarea).ui-input[class]:focus{border-color:var(--ui-brand);box-shadow:0 0 0 2px var(--ui-focus-color)}
:is(input,select,textarea).ui-input[class]:disabled{background-color:var(--ui-hover);color:var(--ui-muted);cursor:not-allowed;box-shadow:none;opacity:1}
:is(input,select,textarea).ui-input[class][aria-invalid=true]{border-color:var(--ui-danger-fill)}
:is(input,select,textarea).ui-input[class][aria-invalid=true]:focus{box-shadow:0 0 0 2px var(--ui-danger-border)}
input[type=file].ui-file-input[class]{display:block;box-sizing:border-box;width:100%;min-width:0;height:var(--ui-control-height);min-height:var(--ui-control-height);padding:0;border:0;border-radius:var(--ui-radius);background:transparent;box-shadow:none;color:var(--ui-text);font:var(--ui-font-weight) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
input[type=file].ui-file-input[class]::file-selector-button{box-sizing:border-box;height:var(--ui-control-height);margin:0 var(--ui-space-3) 0 0;padding:4px 7px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:var(--ui-font-weight-medium) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);cursor:pointer}
input[type=file].ui-file-input[class]:hover:not(:disabled)::file-selector-button{background:var(--ui-hover)}
input[type=file].ui-file-input[class]:focus-visible{outline:2px solid var(--ui-brand);outline-offset:2px}
input[type=file].ui-file-input[class]:disabled::file-selector-button{color:var(--ui-disabled-text);background:var(--ui-canvas);cursor:not-allowed}
@media(pointer:coarse){input[type=file].ui-file-input[class],input[type=file].ui-file-input[class]::file-selector-button{height:var(--ui-touch-target);min-height:var(--ui-touch-target)}}
.ui-field-error{color:var(--ui-danger);font-size:var(--ui-font-size-xs);line-height:var(--ui-line-height-xs);margin-top:var(--ui-space-2)}
.full{width:100%}
.button-row{display:flex;align-items:center;gap:var(--ui-space-3)}
nav button[aria-current=page],nav button[aria-selected=true]{background:var(--ui-brand-soft);color:var(--ui-brand)}
.stats{background:var(--ui-surface)}
details.menu>summary{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text)}
details.menu>div{border-color:var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.ui-menu{display:flex;flex-direction:column;gap:var(--ui-space-1);min-width:var(--ui-menu-min-width);margin:0;padding:var(--ui-space-2);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:none;list-style:none}
.ui-menu-item{display:flex;align-items:center;gap:var(--ui-space-3);width:100%;min-height:var(--ui-menu-item-height);padding:var(--ui-space-2) var(--ui-space-3);border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-text);text-align:left;font:450 var(--ui-font-size-sm)/var(--ui-line-height) var(--ui-font);text-decoration:none;cursor:pointer}
.ui-menu[data-ui-size=small]{--ui-menu-item-height:28px}.ui-menu[data-ui-size=large]{--ui-menu-item-height:36px}
.ui-menu-item:hover:not(:disabled),.ui-menu-item:focus-visible{background:var(--ui-hover)}
.ui-menu-item[aria-current=page],.ui-menu-item[aria-selected=true]{background:var(--ui-brand-soft);color:var(--ui-brand)}
.ui-menu-item:disabled{color:var(--ui-subtle);cursor:not-allowed}
.ui-menu-item[data-ui-tone=danger]{color:var(--ui-danger-fill)}
.ui-menu-item[data-ui-tone=danger]:hover:not(:disabled){background:var(--ui-danger-soft)}
.ui-breadcrumbs{min-width:0;color:var(--ui-text);font:500 var(--ui-font-size)/var(--ui-line-height) var(--ui-font)}
.ui-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;list-style:none;padding:0;margin:0;min-width:0}
.ui-breadcrumbs li{display:flex;align-items:center;min-width:0;max-width:100%}
.ui-breadcrumb-item{display:inline-flex;align-items:center;gap:var(--ui-space-3);height:var(--ui-control-height);min-height:var(--ui-control-height);min-width:0;padding:0 var(--ui-space-3);margin:0;border:0;border-radius:var(--ui-radius);background:transparent;color:var(--ui-text);font:inherit;text-decoration:none}
.ui-breadcrumb-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(a,button).ui-breadcrumb-item:hover{background:var(--ui-canvas);color:var(--ui-title)}
.ui-breadcrumb-item[aria-current=page]{font-weight:var(--ui-font-weight-bold);color:var(--ui-title)}
.ui-breadcrumb-divider{display:flex;flex:none;color:var(--ui-muted)}
.ui-table-scroll{overflow:auto;max-width:100%;border:1px solid var(--ui-border);border-radius:var(--ui-card-radius)}
.ui-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--ui-surface);font:500 var(--ui-font-size)/var(--ui-line-height) var(--ui-font);text-align:left}
.ui-table th{height:var(--ui-table-header-height);background:var(--ui-canvas);color:var(--ui-muted);font-weight:500;text-align:inherit}
.ui-table td{height:var(--ui-table-row-height);color:var(--ui-text-secondary)}
.ui-table th,.ui-table td{padding:0 var(--ui-space-6);border-bottom:1px solid var(--ui-border)}
.ui-table tbody tr:hover td{background:var(--ui-canvas)}
.ui-table tr[aria-selected=true] td{background:var(--ui-brand-soft)}
.ui-table[data-ui-density=grid]{--ui-table-row-height:var(--ui-grid-row-height);--ui-table-header-height:var(--ui-grid-row-height);font-size:var(--ui-font-size-sm)}
.ui-table[data-ui-density=grid] :is(td,th){padding-inline:var(--ui-space-3);border-right:1px solid var(--ui-hover);border-bottom-color:var(--ui-hover)}
.danger{color:var(--ui-danger)}.muted{color:var(--ui-muted);line-height:1.7}
[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}
dialog,.ui-dialog{--ui-dialog-width:640px;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-dialog-radius);width:min(var(--ui-dialog-width),calc(100vw - 32px));max-height:90dvh;padding:0;box-shadow:var(--ui-dialog-shadow)}
dialog.wide,.ui-dialog[data-ui-size=large]{--ui-dialog-width:1280px}
.ui-dialog[data-ui-size=small]{--ui-dialog-width:448px}
dialog::backdrop{background:var(--ui-overlay);backdrop-filter:none}
.modal-header,.ui-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-4);padding:var(--ui-space-6) var(--ui-space-6) var(--ui-space-3);border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}
.modal-header h2,.ui-dialog-header h2{font-size:18px;line-height:28px;overflow-wrap:anywhere}
.modal-header>.modal-heading{min-width:0;flex:1}
.modal-header p{font-size:var(--ui-font-size-xs);color:var(--ui-muted);margin-top:var(--ui-space-2)}
.modal-header>.icon-button{flex-shrink:0}
.modal-body,.detail-body,.ui-dialog-body{padding:var(--ui-space-6)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-5) var(--ui-space-6)}.form-grid label{min-width:0}
.form-footer,.ui-dialog-footer{display:flex;justify-content:flex-end;gap:var(--ui-space-3);border-top:1px solid var(--ui-border);margin-top:var(--ui-space-6);padding-top:var(--ui-space-5)}
.form-error{font-size:var(--ui-font-size-xs);line-height:var(--ui-line-height-sm);color:var(--ui-danger);background:var(--ui-danger-soft);padding:var(--ui-space-3) var(--ui-space-4);border-radius:var(--ui-radius);margin-top:var(--ui-space-4);overflow-wrap:anywhere}
@media(max-width:480px){:is(button,a).ui-button[class].ui-size-medium{--ui-button-height:42px;--ui-button-padding-x:12px}}
@media(pointer:coarse){:is(button,a).ui-button[class],.button,.icon-button,.text-button{--ui-button-height:var(--ui-touch-target)}:is(button,a).ui-button[class]:is(.ui-size-medium,.ui-size-xs,.ui-size-xsmall,.ui-size-xxsmall){--ui-button-height:var(--ui-touch-target)}:is(input,select).ui-input[class]:is(.ui-input,.ui-size-medium,.ui-size-xs){min-height:var(--ui-touch-target);height:var(--ui-touch-target)}.ui-menu-item,.ui-breadcrumb-item{min-height:var(--ui-touch-target)}}
@media(pointer:coarse){button.ui-tab[role=tab][class]:is(.ui-tab-underline,.ui-tab-segmented){height:var(--ui-touch-target);min-height:var(--ui-touch-target);min-width:var(--ui-touch-target)}}
@media(prefers-reduced-motion:reduce){:is(button,a).ui-button[class],.ui-input,.button,.icon-button,.text-button{transition:none}.ui-spinner{animation:none}}
@media(prefers-reduced-motion:reduce){button.ui-tab[role=tab][class]{transition:none}}
@media(forced-colors:active){:is(button,a).ui-button[class]:focus-visible,.ui-input:focus-visible{outline:2px solid Highlight;outline-offset:2px}:is(button,a).ui-button[class]:disabled{color:GrayText}}
@media(forced-colors:active){button.ui-tab[role=tab][class][aria-selected=true]{border-bottom-color:Highlight}button.ui-tab[role=tab][class].ui-tab-segmented[aria-selected=true]{outline:2px solid Highlight;outline-offset:-2px}button.ui-tab[role=tab][class]:focus-visible{outline:2px dashed Highlight;outline-offset:-3px}button.ui-tab[role=tab][class]:disabled{color:GrayText}}
@media(max-width:640px){:root,:host{--page-gutter:var(--ui-space-5);--panel-inset:var(--ui-space-5)}.modal-header,.modal-body,.detail-body,.ui-dialog-header,.ui-dialog-body{padding:var(--ui-space-5)}.form-grid{grid-template-columns:minmax(0,1fr)}}
