:root{--sauter-blue:#0082c8;--sauter-blue-light:#99c7ed;--sauter-yellow:#f8de22;--sauter-slate:#44546a;--sauter-blue-deep:#003b78;--sauter-blue-night:#121f2c;--blue-50:#e6f3fb;--blue-100:#cce7f7;--blue-200:#99c7ed;--blue-300:#66aae3;--blue-400:#338cd5;--blue-500:#0082c8;--blue-600:#006aa6;--blue-700:#00528b;--blue-800:#003b78;--blue-900:#002851;--yellow-300:#fced7a;--yellow-400:#fae64d;--yellow-500:#f8de22;--yellow-600:#e6c70a;--yellow-700:#b89e00;--white:#fff;--neutral-50:#f5f7f9;--neutral-100:#eaeef2;--neutral-200:#d8dee6;--neutral-300:#bcc6d1;--neutral-400:#97a3b2;--neutral-500:#6f7d8f;--neutral-600:#54637a;--neutral-700:#44546a;--neutral-800:#313e50;--neutral-900:#1d2733;--black:#0d141c;--status-ok-bg:#e3f4ec;--status-ok:#1f8a5b;--status-info-bg:#e6f3fb;--status-info:#0082c8;--status-warning-bg:#fdf4d6;--status-warning:#b07900;--status-alarm-bg:#fbe6e6;--status-alarm:#c4362f;--brand-primary:var(--sauter-blue);--brand-primary-hover:var(--blue-600);--brand-primary-press:var(--blue-700);--brand-accent:var(--sauter-yellow);--brand-accent-press:var(--yellow-600);--surface-page:var(--neutral-50);--surface-card:var(--white);--surface-sunken:var(--neutral-100);--surface-raised:var(--white);--surface-inverse:var(--sauter-blue-night);--surface-brand:var(--sauter-blue);--surface-brand-deep:var(--sauter-blue-deep);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--text-muted:var(--neutral-500);--text-inverse:var(--white);--text-on-brand:var(--white);--text-on-dark:var(--sauter-blue-light);--text-link:var(--sauter-blue);--border-subtle:var(--neutral-200);--border-default:var(--neutral-300);--border-strong:var(--neutral-400);--border-brand:var(--sauter-blue);--focus-ring:var(--blue-400);--accent-keyline:var(--sauter-yellow);--font-display:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Consolas", monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-display:800;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:4rem;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.08em;--type-display:var(--weight-display) var(--text-4xl)/var(--leading-tight) var(--font-display);--type-hero:var(--weight-bold) var(--text-3xl)/var(--leading-tight) var(--font-display);--type-title:var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-display);--type-section:var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-display);--type-card-title:var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-display);--type-lead:var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-body);--type-body:var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-body);--type-body-sm:var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-body);--type-caption:var(--weight-regular) var(--text-xs)/var(--leading-normal) var(--font-body);--type-data:var(--weight-medium) var(--text-base)/var(--leading-snug) var(--font-mono);--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-12:7.5rem;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-pill:999px;--control-sm:32px;--control-md:40px;--control-lg:48px;--border-hair:1px;--border-thick:2px;--keyline-w:3px;--container-max:1200px;--container-wide:1440px;--sidebar-w:248px;--shadow-xs:0 1px 2px #1d27330f;--shadow-sm:0 1px 3px #1d273314, 0 1px 2px #1d27330f;--shadow-md:0 4px 12px #1d27331a, 0 1px 3px #1d27330f;--shadow-lg:0 12px 28px #1d273324, 0 2px 6px #1d273314;--shadow-xl:0 24px 48px #1d27332e;--shadow-focus:0 0 0 3px #338cd573;--ease-standard:cubic-bezier(.2, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-var-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/ibm-plex-sans-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/ibm-plex-sans-var-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-data:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--ds-danger-hover:#a82c26}.ds-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-family:var(--font-body);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);line-height:1;text-decoration:none;display:inline-flex}.ds-btn--sm{height:var(--control-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.ds-btn--md{height:var(--control-md);padding:0 var(--space-5);font-size:var(--text-base)}.ds-btn--lg{height:var(--control-lg);padding:0 var(--space-6);font-size:var(--text-md)}.ds-btn--full{width:100%}.ds-btn--primary{background:var(--brand-primary);color:var(--text-on-brand);border:var(--border-hair) solid var(--brand-primary)}.ds-btn--primary:hover:not(:disabled){background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.ds-btn--primary:active:not(:disabled){background:var(--brand-primary-press)}.ds-btn--secondary{background:var(--surface-card);color:var(--brand-primary);border:var(--border-hair) solid var(--border-default)}.ds-btn--secondary:hover:not(:disabled){background:var(--surface-sunken)}.ds-btn--ghost{color:var(--brand-primary);border:var(--border-hair) solid transparent;background:0 0}.ds-btn--accent{background:var(--brand-accent);color:var(--neutral-900);border:var(--border-hair) solid var(--brand-accent)}.ds-btn--accent:hover:not(:disabled){background:var(--brand-accent-press);border-color:var(--brand-accent-press)}.ds-btn--danger{background:var(--status-alarm);color:var(--text-inverse);border:var(--border-hair) solid var(--status-alarm)}.ds-btn--danger:hover:not(:disabled){background:var(--ds-danger-hover);border-color:var(--ds-danger-hover)}.ds-btn:active:not(:disabled){transform:translateY(1px)}.ds-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ds-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.ds-iconbtn{border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ds-iconbtn--sm{width:var(--control-sm);height:var(--control-sm)}.ds-iconbtn--md{width:var(--control-md);height:var(--control-md)}.ds-iconbtn--lg{width:var(--control-lg);height:var(--control-lg)}.ds-iconbtn--ghost{color:var(--text-secondary);border:var(--border-hair) solid transparent;background:0 0}.ds-iconbtn--outline{background:var(--surface-card);color:var(--brand-primary);border:var(--border-hair) solid var(--border-default)}.ds-iconbtn--solid{background:var(--brand-primary);color:var(--text-inverse);border:var(--border-hair) solid var(--brand-primary)}.ds-iconbtn--ghost:hover:not(:disabled),.ds-iconbtn--outline:hover:not(:disabled){background:var(--surface-sunken)}.ds-iconbtn--solid:hover:not(:disabled){background:var(--brand-primary-hover)}.ds-iconbtn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ds-iconbtn:disabled{opacity:.45;cursor:not-allowed}.ds-field{gap:var(--space-2);min-width:0;font-family:var(--font-body);flex-direction:column;display:flex}.ds-field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary)}.ds-field__hint{font-size:var(--text-xs);color:var(--text-muted)}.ds-field__error{font-size:var(--text-xs);color:var(--status-alarm)}.ds-input{align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--surface-card);border:var(--border-hair) solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:flex}.ds-input--sm{height:var(--control-sm)}.ds-input--md{height:var(--control-md)}.ds-input--lg{height:var(--control-lg)}.ds-input:focus-within{border-color:var(--brand-primary);box-shadow:var(--shadow-focus)}.ds-input--error{border-color:var(--status-alarm)}.ds-input--disabled{background:var(--surface-sunken)}.ds-input__icon{color:var(--text-muted);flex:none;display:inline-flex}.ds-input input{min-width:0;min-height:0;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0}.ds-input input:focus-visible{box-shadow:none}.ds-select{align-items:center;display:flex;position:relative}.ds-select select{appearance:none;width:100%;min-height:0;padding:0 var(--space-7) 0 var(--space-3);background:var(--surface-card);border:var(--border-hair) solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none}.ds-select--sm select{height:var(--control-sm)}.ds-select--md select{height:var(--control-md)}.ds-select--lg select{height:var(--control-lg)}.ds-select select:focus{border-color:var(--brand-primary);box-shadow:var(--shadow-focus)}.ds-select select:disabled{background:var(--surface-sunken);cursor:not-allowed}.ds-select__chevron{right:var(--space-3);pointer-events:none;color:var(--text-muted);position:absolute}.ds-checkbox{align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;display:inline-flex}.ds-checkbox--disabled{opacity:.5;cursor:not-allowed}.ds-checkbox__box{background:var(--surface-card);border:var(--border-hair) solid var(--border-strong);border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-inverse);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.ds-checkbox__box:has(input:checked){background:var(--brand-primary);border-color:var(--brand-primary)}.ds-checkbox__box:has(input:focus-visible){box-shadow:var(--shadow-focus)}.ds-checkbox__mark{opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.ds-checkbox__box:has(input:checked) .ds-checkbox__mark{opacity:1}.ds-checkbox input{opacity:0;width:100%;height:100%;min-height:0;cursor:inherit;margin:0;padding:0;position:absolute;inset:0}.ds-switch{align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;display:inline-flex}.ds-switch--disabled{opacity:.5;cursor:not-allowed}.ds-switch__track{background:var(--neutral-300);border-radius:var(--radius-pill);width:40px;height:22px;transition:background var(--duration-normal) var(--ease-standard);flex:none;position:relative}.ds-switch__track:has(input:checked){background:var(--brand-primary)}.ds-switch__knob{background:var(--white);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:left var(--duration-normal) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.ds-switch__track:has(input:checked) .ds-switch__knob{left:20px}.ds-switch input{opacity:0;width:100%;height:100%;min-height:0;cursor:inherit;margin:0;padding:0;position:absolute;inset:0}.ds-switch__track:has(input:focus-visible){box-shadow:var(--shadow-focus)}.ds-badge{min-width:20px;height:20px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;line-height:1;display:inline-flex}.ds-badge--neutral{background:var(--surface-sunken);color:var(--text-secondary)}.ds-badge--brand{background:var(--blue-50);color:var(--brand-primary)}.ds-badge--accent{background:var(--yellow-500);color:var(--neutral-900)}.ds-badge--ok{background:var(--status-ok-bg);color:var(--status-ok)}.ds-badge--warning{background:var(--status-warning-bg);color:var(--status-warning)}.ds-badge--alarm{background:var(--status-alarm-bg);color:var(--status-alarm)}.ds-statuspill{align-items:center;gap:var(--space-2);white-space:nowrap;height:24px;padding:0 var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;line-height:1;display:inline-flex}.ds-statuspill__dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.ds-statuspill--ok{background:var(--status-ok-bg);color:var(--status-ok)}.ds-statuspill--info{background:var(--status-info-bg);color:var(--status-info)}.ds-statuspill--warning{background:var(--status-warning-bg);color:var(--status-warning)}.ds-statuspill--alarm{background:var(--status-alarm-bg);color:var(--status-alarm)}.ds-statuspill--offline{background:var(--surface-sunken);color:var(--text-secondary)}.ds-statuspill--offline .ds-statuspill__dot{background:var(--neutral-400)}.ds-tag{align-items:center;gap:var(--space-2);height:26px;padding:0 var(--space-3);background:var(--surface-card);border:var(--border-hair) solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);line-height:1;display:inline-flex}.ds-tag__dot{border-radius:50%;flex:none;width:8px;height:8px}.ds-tag__remove{border-radius:var(--radius-xs);width:16px;height:16px;min-height:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.ds-tag__remove:hover{background:var(--surface-sunken);color:var(--text-primary)}.ds-card{background:var(--surface-card);border:var(--border-hair) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-body);overflow:hidden}.ds-card--keyline{border-top:var(--keyline-w) solid var(--accent-keyline)}.ds-card--hoverable{transition:transform var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard)}.ds-card--hoverable:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ds-card__header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:var(--border-hair) solid var(--border-subtle);display:flex}.ds-card__header>div:first-child{min-width:0}.ds-card__title{font:var(--type-card-title);color:var(--text-primary);margin:0}.ds-card__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0}.ds-card__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.ds-metric{gap:var(--space-3);padding:var(--space-5);background:var(--surface-card);border:var(--border-hair) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-body);flex-direction:column;display:flex}.ds-metric__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ds-metric__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary)}.ds-metric__icon{color:var(--brand-primary);flex:none;display:inline-flex}.ds-metric--warning .ds-metric__icon{color:var(--status-warning)}.ds-metric--alarm .ds-metric__icon{color:var(--status-alarm)}.ds-metric__value{align-items:baseline;gap:var(--space-2);display:flex}.ds-metric__number{font-family:var(--font-data);font-weight:var(--weight-medium);font-size:var(--text-2xl);color:var(--text-primary);line-height:1}.ds-metric__unit{font-family:var(--font-data);font-size:var(--text-sm);color:var(--text-muted)}.ds-metric__trend{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);display:flex}.ds-metric__trend--up{color:var(--status-ok)}.ds-metric__trend--down{color:var(--status-alarm)}.ds-tabs{gap:var(--space-5);border-bottom:var(--border-hair) solid var(--border-subtle);font-family:var(--font-body);display:flex}.ds-tabs__tab{align-items:center;gap:var(--space-2);min-height:0;padding:var(--space-3) 0;border:none;border-bottom:var(--keyline-w) solid transparent;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard);background:0 0;border-radius:0;margin-bottom:-1px;display:inline-flex;position:relative}.ds-tabs__tab:hover{color:var(--text-primary);background:0 0}.ds-tabs__tab[aria-selected=true]{font-weight:var(--weight-semibold);color:var(--text-primary);border-bottom-color:var(--accent-keyline)}.ds-tabs__badge{border-radius:var(--radius-pill);background:var(--surface-sunken);min-width:18px;height:18px;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.ds-tabs__tab[aria-selected=true] .ds-tabs__badge{background:var(--blue-50);color:var(--brand-primary)}.ds-avatar{flex:none;display:inline-flex;position:relative}.ds-avatar__face{background:var(--sauter-blue);color:var(--text-inverse);font-family:var(--font-body);font-weight:var(--weight-semibold);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.ds-avatar__face img{object-fit:cover;width:100%;height:100%}.ds-avatar--image .ds-avatar__face{background:var(--surface-sunken)}.ds-avatar__status{border:var(--border-thick) solid var(--surface-card);border-radius:50%;position:absolute;bottom:0;right:0}.ds-avatar__status--ok{background:var(--status-ok)}.ds-avatar__status--warning{background:var(--status-warning)}.ds-avatar__status--alarm{background:var(--status-alarm)}.ds-avatar__status--offline{background:var(--neutral-400)}.ds-overflow{display:inline-flex;position:relative}.ds-overflow__trigger{border:var(--border-hair) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);place-items:center;display:inline-grid}.ds-overflow__trigger:hover,.ds-overflow__trigger--open{background:var(--surface-sunken);color:var(--text-primary)}.ds-overflow__menu{top:calc(100% + var(--space-2));z-index:20;min-width:220px;padding:var(--space-2);border:var(--border-hair) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-lg);gap:2px;display:grid;position:absolute}.ds-overflow__menu--end{right:0}.ds-overflow__menu--start{left:0}.ds-overflow__item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);text-align:left;font:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:0}.ds-overflow__item:hover:not(:disabled){background:var(--surface-sunken)}.ds-overflow__item:disabled{color:var(--text-muted);cursor:not-allowed}.ds-overflow__item--danger{color:var(--status-alarm)}.ds-overflow__item--danger:hover:not(:disabled){background:var(--status-alarm-bg)}.ds-hint{margin-left:var(--space-2);display:inline-flex;position:relative}.ds-hint__button{cursor:pointer;border:1px solid var(--border-strong);width:1.05rem;height:1.05rem;color:var(--text-muted);font:700 .7rem/1 var(--font-sans);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ds-hint__button:hover,.ds-hint__button:focus-visible{border-color:var(--brand-primary);color:var(--brand-primary)}.ds-hint__bubble{left:0;top:calc(100% + var(--space-2));z-index:20;width:max-content;max-width:min(22rem,70vw);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);box-shadow:var(--shadow-md,0 6px 20px #0000001f);color:var(--text-secondary);font-size:var(--text-sm);text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;font-weight:400;line-height:1.5;position:absolute}.ds-hint:hover .ds-hint__bubble,.ds-hint__button:focus-visible+.ds-hint__bubble,.ds-hint.is-pinned .ds-hint__bubble{opacity:1;visibility:visible}.ds-field--third .ds-hint__bubble,.ds-field--quarter .ds-hint__bubble{max-width:min(18rem,70vw)}*{box-sizing:border-box}html,body,#root{background:var(--blue-50);min-width:320px;min-height:100%;color:var(--text-primary);font:var(--type-body);-webkit-font-smoothing:antialiased;margin:0}body{min-height:100vh}h1{font:var(--type-title);letter-spacing:var(--tracking-tight);margin:0}h1:before{content:"";inline-size:2.5rem;block-size:var(--keyline-w);background:var(--accent-keyline);margin-block-end:1rem;display:block}h2{font:var(--type-section);letter-spacing:var(--tracking-tight);margin:0}h3{font:var(--type-card-title);margin:0}p{line-height:var(--leading-normal)}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--blue-700);text-decoration:underline}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}.data,.kpi,time{font-family:var(--font-data)}code{padding:1px var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-xs);font-family:var(--font-data);letter-spacing:var(--tracking-wide);font-size:.95em}textarea{font:inherit}.icon{flex:none;display:block}.eyebrow,.card-label{margin:0 0 var(--space-3);align-items:center;gap:var(--space-2);font:var(--weight-semibold) var(--text-xs)/1 var(--font-body);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-secondary);display:flex}.eyebrow:before,.card-label:before{content:"";width:20px;height:var(--keyline-w);background:var(--accent-keyline);flex:none}.eyebrow--light{color:var(--text-on-dark)}.link-button{align-items:center;gap:var(--space-2);padding:var(--space-1);font:var(--type-body-sm);font-weight:var(--weight-semibold);color:var(--text-link);cursor:pointer;background:0 0;border:0;display:inline-flex}.link-button:hover{color:var(--blue-700);text-decoration:underline}.link-button:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.file-button{position:relative;overflow:hidden}.file-button input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{z-index:5;width:var(--sidebar-w);padding:var(--space-6) var(--space-4);background:linear-gradient(170deg, var(--blue-800) 0%, var(--blue-900) 100%);color:var(--text-inverse);border-inline-end:var(--keyline-w) solid var(--accent-keyline);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar:after{content:"";opacity:.13;pointer-events:none;background:url(/assets/sauter-mark-white.png) 50%/contain no-repeat;block-size:13rem;inline-size:13rem;position:absolute;inset-block-end:-3rem;inset-inline-start:-3rem}.brand{align-items:flex-start;gap:var(--space-2);padding:0 var(--space-2);color:var(--text-inverse);flex-direction:column;text-decoration:none;display:flex}.brand:hover{color:var(--text-inverse);text-decoration:none}.brand img{width:132px;height:auto}.brand span{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-on-dark)}.sidebar nav{gap:var(--space-2);margin-top:var(--space-9);display:grid}.sidebar nav a{min-height:var(--control-lg);padding:0 var(--space-4);border-inline-start:var(--keyline-w) solid transparent;border-radius:var(--radius-md);align-items:center;gap:var(--space-3);color:var(--text-inverse);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);text-decoration:none;display:flex}.sidebar nav a:hover{color:var(--text-inverse);background:#ffffff14;text-decoration:none}.sidebar nav a.active{color:var(--text-inverse);border-inline-start-color:var(--accent-keyline);background:#ffffff24}.sidebar nav a.active .icon{color:var(--accent-keyline)}.sidebar-foot{padding:var(--space-5) var(--space-2) 0;border-top:var(--border-hair) solid var(--neutral-700);align-items:center;gap:var(--space-3);min-width:0;margin-top:auto;display:flex}.sidebar-foot>div{min-width:0}.sidebar-foot strong,.sidebar-foot small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-foot strong{font-size:var(--text-xs)}.sidebar-foot small{margin-top:var(--space-1);font-size:var(--text-2xs);color:var(--blue-100)}.sidebar-foot small.reach{white-space:normal;text-overflow:clip;overflow:visible}.main{flex-direction:column;grid-column:2;min-width:0;display:flex}.topbar{height:72px;padding:0 var(--space-7);z-index:4;justify-content:flex-end;align-items:center;gap:var(--space-4);background:var(--surface-card);border-bottom:var(--border-hair) solid var(--border-subtle);display:flex;position:sticky;top:0}.mobile-brand{display:none}.subsidiary-select,.currency-select{align-items:center;gap:var(--space-3);display:flex}.subsidiary-select>span,.currency-select>span{font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary)}.subsidiary-select .ds-field{min-width:170px}.currency-select .ds-field{min-width:84px}.access-warning,.error-text{color:var(--status-alarm)}.success-text{color:var(--status-ok)}.page{width:min(100%, var(--container-wide));padding:var(--space-8) clamp(var(--space-5), 5vw, var(--space-10)) var(--space-10);margin:0 auto}.page>*+*{margin-top:var(--space-5)}.page>.scale-note{margin-top:var(--space-2)}.page-heading{margin-bottom:var(--space-7);justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;display:flex}.page-heading>:first-child{flex:22rem;min-width:0}.page-heading>*+*{flex:0 auto}.page-heading p:not(.eyebrow){margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-md)}.section-heading{margin:var(--space-8) 0 var(--space-4);justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.section-heading.compact{margin:0 0 var(--space-5)}.table-card{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:var(--space-4) var(--space-5);border-bottom:var(--border-hair) solid var(--border-subtle);text-align:left}th{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}td{font-size:var(--text-sm)}td small{margin-top:var(--space-1);color:var(--text-muted);display:block}tbody tr{transition:background var(--duration-fast) var(--ease-standard)}tbody tr:hover{background:var(--neutral-50)}tbody tr:last-child td{border-bottom:0}.table-score{font-size:var(--text-lg)}.app-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-8);border-top:var(--border-hair) solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;margin-top:auto;display:flex}.app-footer nav{gap:var(--space-5);display:flex}.app-footer a{align-items:center;gap:var(--space-1);color:var(--text-secondary);display:inline-flex}.app-footer a:hover{color:var(--brand-primary)}.legal-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.legal-grid h2{margin:0 0 var(--space-3);font-size:var(--text-lg)}.legal-grid h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-sm)}.num,th.num,td.num{text-align:right;font-family:var(--font-data);font-variant-numeric:tabular-nums}.row{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.row label{gap:var(--space-1);font:var(--type-caption);color:var(--text-secondary);flex-direction:column;display:flex}.row label.grow{flex:16rem}tr.muted-row td{color:var(--text-muted)}tr.pot-caption th{padding-top:var(--space-6);border-bottom:var(--border-hair) solid var(--border-subtle);text-align:left;vertical-align:bottom;font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:normal;text-transform:none;color:var(--text-primary)}tr.pot-caption .eyebrow{margin-bottom:var(--space-1);display:block}tr.pot-caption .small{font-weight:var(--weight-regular)}tr.pot-caption th.num{font-family:var(--font-data);vertical-align:bottom}.ds-metric.metric--name .ds-metric__label{text-transform:none;letter-spacing:normal}tbody:first-of-type tr.pot-caption th{padding-top:var(--space-3)}tbody.pot--aside td{color:var(--text-muted)}.chart{margin:0}.chart svg{width:100%;height:clamp(140px,22vw,220px);display:block}.chart-axis{margin-top:var(--space-2);font:var(--type-caption);color:var(--text-muted);text-align:center;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.chart-legend{margin-top:var(--space-4);gap:var(--space-2) var(--space-5);font:var(--type-caption);color:var(--text-secondary);flex-wrap:wrap;display:flex}.chart-legend span{align-items:center;gap:var(--space-2);display:inline-flex}.swatch{border-radius:var(--radius-xs,2px);background:var(--brand-primary);flex:none;width:14px;height:14px}.swatch--estimated{background:var(--sauter-yellow)}.swatch--booked{background:var(--sauter-blue-deep)}.chart-unit{font:var(--type-caption);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-1)}.chart-plot{padding-right:3.2rem;position:relative}.chart-scale{width:3rem;position:absolute;top:0;bottom:0;right:0}.chart-scale span{font:var(--type-caption);color:var(--text-muted);position:absolute;right:0;transform:translateY(50%)}.year-table{min-width:60rem}.year-table th,.year-table td{padding:var(--space-3) var(--space-3)}.year-table td.num,.year-table th.num{font-size:var(--text-xs);white-space:nowrap}.year-table thead .small{font-weight:var(--weight-regular);display:block}.year-table tr.row--mine td{background:var(--surface-sunken);font-weight:var(--weight-medium)}.year-table tr.row--mine td:first-child{box-shadow:inset var(--keyline-w) 0 0 var(--accent-keyline)}.range-shortcuts{align-items:center;gap:var(--space-4);display:flex}.year-table th:first-child,.year-table td:first-child{min-width:11rem}.year-table th:nth-child(2),.year-table td:nth-child(2){box-shadow:inset -1px 0 0 var(--border-subtle)}.disclaimer{margin-top:var(--space-6);padding:var(--space-5) var(--space-6);background:var(--surface-sunken);border-left:var(--keyline-w) solid var(--accent-keyline);border-radius:var(--radius-md)}.disclaimer p{margin:0 0 var(--space-3);font:var(--type-caption);color:var(--text-secondary)}.disclaimer p:last-child{margin-bottom:0}.disclaimer .eyebrow{color:var(--text-secondary)}td.warn-cell{color:var(--status-warning)}td>.ds-tag{margin-left:var(--space-2);vertical-align:middle}.muted{color:var(--text-secondary)}.small{font:var(--type-caption)}.error{color:var(--status-alarm)}tfoot th{border-top:var(--border-thick) solid var(--border-default);font-family:var(--font-data);font-size:var(--text-sm);text-transform:none;letter-spacing:var(--tracking-normal);color:var(--text-primary)}.disclosure{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.disclosure:hover{background:var(--surface-sunken);color:var(--text-primary)}.disclosure:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chevron{transition:transform .12s}.chevron--open{transform:rotate(90deg)}.disclosure-row>td{background:var(--surface-sunken)}.disclosure-panel{gap:var(--space-6);padding:var(--space-3) 0;grid-template-columns:minmax(0,3fr) minmax(0,2fr);display:grid}@media (width<=900px){.disclosure-panel{gap:var(--space-4);grid-template-columns:1fr}}.scope-text{margin:var(--space-2) 0;white-space:pre-wrap;max-width:62ch}.scope-editor{width:100%;min-height:9rem;padding:var(--space-3);font:var(--type-body-sm);color:var(--text-primary);background:var(--surface-card);border:var(--border-hair) solid var(--border-default);border-radius:var(--radius-md);resize:vertical}.scope-editor:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.picker{margin:var(--space-2) 0 0;max-height:15rem;padding:0;list-style:none;overflow:auto}.picker li{padding:var(--space-2) 0;border-bottom:var(--border-hair) solid var(--border-subtle);font-size:var(--text-sm)}.picker li:last-child{border-bottom:0}.sidebar nav button{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;border-inline-start:var(--keyline-w) solid transparent;color:var(--text-inverse);font:var(--type-body-sm);text-align:left;cursor:pointer;background:0 0;border-radius:0;width:100%;display:flex}.sidebar nav button:hover{color:var(--text-inverse);background:#ffffff14}.sidebar nav button.active{color:var(--text-inverse);border-inline-start-color:var(--accent-keyline);background:#ffffff24}.sidebar nav button.active .icon{color:var(--accent-keyline)}.center-state{text-align:center;place-content:center;gap:var(--space-4);min-height:70vh;display:grid}.button-row{justify-content:center;gap:var(--space-2);display:flex}.spinner{border:3px solid var(--border-subtle);border-top-color:var(--brand-primary);border-radius:50%;width:36px;height:36px;margin:auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-list{border-radius:var(--radius-lg);background:var(--surface-sunken);height:180px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.skeleton{border-radius:var(--radius-lg);background:var(--surface-sunken);place-items:center;animation:1.4s ease-in-out infinite pulse;display:grid}.skeleton__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.inline-spinner{opacity:.7;border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;animation:.8s linear infinite spin;display:inline-block}.inline-spinner--light{border-color:var(--text-on-dark);border-top-color:#0000}.metric-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.door-row{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));display:grid}.section-door__open{text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;width:100%;padding:0;display:block}.section-door__open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.section-door .eyebrow{margin-bottom:var(--space-2);color:var(--text-primary);white-space:normal}.section-door .small{white-space:normal}.section-door:hover .eyebrow{color:var(--brand-primary)}.back-row{margin-bottom:var(--space-5)}.welcome{background:var(--surface-brand);grid-template-columns:minmax(420px,46%) 1fr;min-height:100vh;display:grid}.welcome-panel{padding:clamp(var(--space-7), 8vw, var(--space-12));color:var(--text-inverse);background:var(--surface-brand-deep);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.welcome-logo{width:170px;margin-bottom:var(--space-10)}.welcome h1{font:var(--type-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl));margin:var(--space-2) 0 var(--space-5)}.welcome-panel>p:not(.eyebrow){max-width:520px;margin:0 0 var(--space-7);font:var(--type-lead);color:var(--text-on-dark)}.welcome{grid-template-columns:1fr}.welcome-panel{text-align:center;align-items:center}.welcome-panel .eyebrow{justify-content:center}.change-total{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);font-size:var(--text-lg);display:flex}.change-up{color:var(--status-alarm)}.change-down{color:var(--status-ok)}.change-table{width:100%}.change-table td,.change-table th{vertical-align:middle}.change-table th:nth-child(3),.change-table td:nth-child(3){width:40%}.change-table thead .small{font-weight:var(--weight-regular);display:block}.change-table th.num{white-space:nowrap}.change-bar{background:linear-gradient(var(--border-subtle), var(--border-subtle)) no-repeat center / 1px 100%;width:100%;height:14px;position:relative}.change-bar__seg{border-radius:2px;height:10px;display:block;position:absolute;top:2px}.change-bar__seg--volume{background:var(--brand-primary)}.change-bar__seg--price{background:var(--sauter-blue-deep)}.toolbar{gap:var(--space-3);margin:0 0 var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.dialog-actions{gap:var(--space-3);margin-top:var(--space-6);justify-content:flex-end;display:flex}.range-row{align-items:flex-end}.range-shortcuts{gap:var(--space-2);display:flex}.check{align-items:center;gap:var(--space-2);display:inline-flex}.upload-row{align-items:center;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.file-button{display:inline-flex}.note{margin:var(--space-4) 0 0;padding-left:var(--space-4);border-left:var(--keyline-w) solid var(--accent-keyline);font:var(--type-caption);color:var(--text-secondary)}.call-example{margin:var(--space-3) 0 0;padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-xs);font-family:var(--font-data);font-size:var(--text-xs);white-space:pre;line-height:1.6;overflow-x:auto}.call-example.secret{border-left:var(--keyline-w) solid var(--accent-keyline);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-all}.row .grow-field{flex:28rem;min-width:0}.plain-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.plain-list li+li{margin-top:var(--space-2)}.plain-list li{font:var(--type-caption)}.badge{margin-left:var(--space-2);font:var(--type-caption);color:var(--text-secondary);white-space:nowrap;font-style:italic}.ds-btn--ghost:hover:not(:disabled){background:var(--blue-100)}
