
.icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:inherit}
.icon svg{width:var(--size-icon);height:var(--size-icon);stroke-width:1.75}

.sidebar{
  width:var(--layout-sidebar-w);flex:0 0 var(--layout-sidebar-w);
  background:var(--gradient-nav);color:var(--text-inverse);
  padding:var(--space-8) var(--space-7);display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow:hidden;
  transition:width var(--dur-normal) var(--ease-standard),flex-basis var(--dur-normal) var(--ease-standard),
    padding var(--dur-normal) var(--ease-standard);
}
.sidebar__seal{
  position:absolute;right:-88px;bottom:-112px;width:300px;height:300px;opacity:.07;
  background:url(/static/img/madimed-mark.png) no-repeat center/contain;pointer-events:none;
}
.sidebar__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}
.sidebar__brand{display:flex;align-items:center;gap:var(--space-4);text-decoration:none;min-width:0}
.sidebar__brand:hover{text-decoration:none}
.sidebar__brand-mark{width:28px;height:28px;flex:0 0 28px}
.sidebar__brand-name{font:var(--type-h3);font-size:19px;color:var(--text-inverse);letter-spacing:var(--ls-snug)}
.sidebar__beta{
  font:var(--fw-semibold) var(--fs-3xs)/1 var(--font-body);text-transform:uppercase;
  letter-spacing:var(--ls-caps);padding:var(--space-1) var(--space-3);
  border-radius:var(--radius-pill);background:rgba(255,255,255,.18);color:var(--text-inverse);
}
.sidebar__close,.sidebar__toggle{
  display:none;align-items:center;gap:var(--space-4);border:0;background:transparent;
  color:rgba(255,255,255,.82);cursor:pointer;border-radius:var(--radius-md);
  font:var(--type-caption);transition:var(--transition-control);
}
.sidebar__close:hover,.sidebar__toggle:hover{background:rgba(255,255,255,.14);color:var(--text-inverse)}
.sidebar__close:focus-visible,.sidebar__toggle:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.sidebar__close{padding:var(--space-2);flex:0 0 auto}
.sidebar__toggle{display:flex;padding:var(--space-3) var(--space-5);margin-top:var(--space-6);position:relative;text-align:left}
.sidebar__toggle-open{display:none}
.sidebar__menu{display:flex;flex-direction:column;gap:var(--space-1);flex:1;position:relative;overflow-y:auto}
.sidebar__group{
  font:var(--type-overline);text-transform:uppercase;letter-spacing:var(--ls-caps);
  color:rgba(255,255,255,.78);padding:var(--space-6) var(--space-5) var(--space-3);
}
.sidebar__item{
  display:flex;align-items:center;gap:var(--space-5);
  padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);
  font:var(--type-body-sm);font-weight:var(--fw-medium);color:rgba(255,255,255,.95);
  text-decoration:none;transition:var(--transition-control);
}
.sidebar__text{flex:1;min-width:0}
.sidebar__org{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.18)}
.sidebar__item:hover{background:rgba(255,255,255,.14);color:var(--text-inverse);text-decoration:none}
.sidebar__item--on{background:rgba(255,255,255,.2);color:var(--text-inverse);font-weight:var(--fw-semibold);position:relative}
.sidebar__item--on::before{
  content:"";position:absolute;left:0;top:var(--space-4);bottom:var(--space-4);
  width:3px;border-radius:0 3px 3px 0;background:var(--cyan-500);
}
.sidebar__item--on .icon{color:var(--cyan-300)}
.sidebar__item--idle{color:rgba(255,255,255,.45);cursor:default}
.sidebar__item--idle:hover{background:none;color:rgba(255,255,255,.45)}
.sidebar__count{
  font:var(--type-caption);font-size:var(--fs-2xs);line-height:1.5;font-weight:var(--fw-semibold);
  font-variant-numeric:tabular-nums;background:var(--amber-500);color:var(--blue-950);
  border-radius:var(--radius-pill);padding:0 var(--space-3);cursor:help;
}
.sidebar__count--clean{background:rgba(255,255,255,.18);color:rgba(255,255,255,.88)}

@media (min-width:901px){
  html.nav-collapsed .sidebar{
    width:var(--layout-sidebar-collapsed-w);flex-basis:var(--layout-sidebar-collapsed-w);
    padding:var(--space-8) var(--space-3);
  }
  html.nav-collapsed .sidebar__top{justify-content:center}
  html.nav-collapsed .sidebar__brand-name,html.nav-collapsed .sidebar__beta,html.nav-collapsed .sidebar__text,
  html.nav-collapsed .sidebar__toggle-close{display:none}
  html.nav-collapsed .sidebar__toggle-open{display:inline-flex}
  html.nav-collapsed .sidebar__group{
    height:1px;padding:0;margin:var(--space-4) var(--space-4);font-size:0;line-height:0;
    background:rgba(255,255,255,.18);overflow:hidden;
  }
  html.nav-collapsed .sidebar__group:first-child{display:none}
  html.nav-collapsed .sidebar__item{justify-content:center;padding:var(--space-4) 0;position:relative}
  html.nav-collapsed .sidebar__count{
    position:absolute;top:var(--space-3);right:var(--space-5);width:8px;height:8px;padding:0;
    font-size:0;line-height:0;border-radius:var(--radius-circle);cursor:default;
  }
  html.nav-collapsed .sidebar__toggle{justify-content:center;padding:var(--space-3) 0}
}
@media (max-height:719px){
  .sidebar{padding-top:var(--space-6);padding-bottom:var(--space-6)}
  .sidebar__top{margin-bottom:var(--space-5)}
  .sidebar__group{padding-top:var(--space-4);padding-bottom:var(--space-2)}
  .sidebar__item{padding-top:var(--space-3);padding-bottom:var(--space-3)}
  .sidebar__toggle{margin-top:var(--space-4)}
}

.backdrop{display:none;position:fixed;inset:0;background:var(--surface-overlay);z-index:19}
@media (max-width:900px){
  .sidebar{
    position:fixed;left:0;top:0;bottom:0;height:auto;z-index:20;visibility:hidden;
    transform:translateX(-100%);
    transition:transform var(--dur-normal) var(--ease-standard),visibility 0s linear var(--dur-normal);
    box-shadow:var(--shadow-lg);
  }
  html.nav-open .sidebar{transform:none;visibility:visible;transition-delay:0s}
  html.nav-open .backdrop{display:block}
  .sidebar__close{display:inline-flex}
  .sidebar__toggle{display:none}
}

.topbar{
  min-height:var(--layout-topbar-h);display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-6);padding:var(--space-4) var(--layout-gutter);
  background:var(--surface-card);border-bottom:1px solid var(--border-subtle);
  position:sticky;top:0;z-index:2;
}
.topbar__heading{min-width:10rem;flex:1}
.topbar__section{font:var(--type-caption);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar__title{font:var(--type-h4);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar__period{color:var(--text-body);white-space:nowrap;font-variant-numeric:tabular-nums}
.topbar__side{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap;justify-content:flex-end}
.topbar__actions{display:flex;align-items:center;gap:var(--space-4)}
.topbar__snapshot{display:inline-flex;flex-direction:column;font:var(--type-caption);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;cursor:help}
.session{display:inline-flex;align-items:center;gap:var(--space-4)}
.session__user{
  display:inline-flex;align-items:center;max-width:26ch;
  font:var(--type-caption);color:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
@media (max-width:1439px){.session__user{display:none}}
@media (max-width:1199px){.topbar__heading{min-width:17rem}}
.topbar__menu{
  display:none;align-items:center;justify-content:center;flex:0 0 auto;
  width:var(--size-control-md);height:var(--size-control-md);border:1px solid var(--border-default);
  border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-strong);cursor:pointer;
  transition:var(--transition-control);
}
.topbar__menu:hover{background:var(--grey-50)}
.topbar__menu:focus-visible{outline:none;box-shadow:var(--ring-focus)}
@media (max-width:900px){
  .topbar{flex-wrap:wrap;padding:var(--space-3) var(--space-5);gap:var(--space-3) var(--space-4)}
  .topbar__menu{display:inline-flex;order:0}
  .topbar__heading{order:1;min-width:50%}
  .topbar__side{display:contents}
  .zoom{order:2;margin-left:auto}
  .lang{order:2}
  .topbar__actions{order:3}
  .topbar__snapshot{order:4;flex-direction:row;flex-wrap:wrap;column-gap:var(--space-2)}
  .session{order:5}
  .session__user{display:none}
}

.lang,.zoom{display:inline-flex;gap:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:var(--space-1)}
.lang__option,.zoom__option{
  padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);
  font:var(--type-caption);font-weight:var(--fw-semibold);color:var(--text-muted);text-decoration:none;
}
.lang__option:hover,.zoom__option:hover{text-decoration:none;color:var(--text-brand)}
.lang__option--on,.zoom__option--on{background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-xs)}
.zoom__option--off{opacity:.4}

.badge{
  display:inline-flex;align-items:center;
  padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);
  font:var(--type-caption);font-weight:var(--fw-semibold);
}
.badge--sm{padding:var(--space-1) var(--space-4);font-size:var(--fs-2xs)}
.badge--neutral{background:var(--surface-sunken);color:var(--grey-700)}
.badge--info{background:var(--info-50);color:var(--info-700)}
.badge--success{background:var(--success-50);color:var(--success-700)}
.badge--warning{background:var(--warning-50);color:var(--amber-900)}
.badge--danger{background:var(--danger-50);color:var(--danger-700)}
.badge--fault{background:var(--fault-50);color:var(--fault-700)}
.badge--idle{background:var(--surface-sunken);color:var(--text-muted)}

.card{
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--space-5);
  position:relative;overflow:hidden;
}
.card__head{display:flex;flex-direction:column;gap:var(--space-2)}
.card__title{font:var(--type-h4);color:var(--text-strong);margin:0}
.card__note{font:var(--type-caption);color:var(--text-muted);margin:0}
.card__note--danger{color:var(--danger-700)}
.card__body{min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}
.card__body>.badge,.card__body>.report,.card__body>.button,.card__body>.run,
.card__body>.actions{align-self:flex-start}
.card--info::before,.card--success::before,.card--warning::before,.card--danger::before,.card--idle::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
}
.card--info::before{background:var(--info-500)}
.card--success::before{background:var(--success-500)}
.card--warning::before{background:var(--warning-500)}
.card--danger::before{background:var(--danger-500)}
.card--idle::before{background:var(--grey-400)}

.stat{
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--space-3);
  position:relative;overflow:hidden;
}
.stat--info::before,.stat--success::before,.stat--warning::before,.stat--danger::before,.stat--idle::before,
.stat--fault::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
}
.stat--info::before{background:var(--info-500)}
.stat--success::before{background:var(--success-500)}
.stat--warning::before{background:var(--warning-500)}
.stat--danger::before{background:var(--danger-500)}
.stat--idle::before{background:var(--grey-400)}
.stat--fault::before{background:var(--fault-500)}
.stat__label{font:var(--type-overline);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-muted)}
.stat__value{
  font:var(--type-metric);color:var(--text-strong);
  font-variant-numeric:tabular-nums;overflow-wrap:break-word;
}
.stat__value .icon{width:.8em;height:.8em;vertical-align:-.05em;margin-right:var(--space-1)}
.stat__value .icon svg{width:100%;height:100%}
.stat--text .stat__value{
  font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug);
}
.stat--link{text-decoration:none;color:inherit;cursor:pointer;transition:var(--transition-control)}
.stat--link:hover{text-decoration:none;box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.stat--on,.stat--link.stat--on:hover{border-color:var(--blue-500);box-shadow:inset 0 0 0 1px var(--blue-500)}
.stat--success .stat__value{color:var(--success-700)}
.stat--warning .stat__value{color:var(--warning-700)}
.stat--danger .stat__value{color:var(--danger-700)}
.stat--fault .stat__value{color:var(--fault-700)}
.stat--idle .stat__value{color:var(--grey-600)}
.stat__hint{font:var(--type-caption);color:var(--text-muted)}

.progress{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.progress__head{display:flex;justify-content:space-between;gap:var(--space-5);align-items:baseline}
.progress__label{font:var(--type-label);color:var(--text-strong)}
.progress__caption{font:var(--type-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}
.progress__track{height:8px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}
.progress__fill{display:block;height:100%;border-radius:var(--radius-pill);transition:width var(--dur-slow) var(--ease-standard)}
.progress__fill--brand{background:var(--blue-500)}
.progress__fill--success{background:var(--success-500)}
.progress__fill--warning{background:var(--warning-500)}
.progress__fill--danger{background:var(--danger-500)}

.button{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);
  border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;
  font:var(--type-label);text-decoration:none;transition:var(--transition-control);
  padding:0 var(--pad-control-x);height:var(--size-control-md);
}
.button:hover{text-decoration:none}
.button:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.button:active{transform:translateY(1px);box-shadow:none}
.button--sm{height:var(--size-control-sm);font:var(--type-caption);font-weight:var(--fw-semibold);padding:0 var(--space-5)}
.button--primary{background:var(--blue-600);color:var(--text-on-brand);box-shadow:var(--shadow-brand)}
.button--primary:hover{background:var(--blue-700);color:var(--text-on-brand)}
.button--secondary{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-default);box-shadow:var(--shadow-xs)}
.button--secondary:hover{background:var(--grey-50);color:var(--text-strong)}
.button--ghost{background:transparent;color:var(--text-brand)}
.button--ghost:hover{background:var(--state-hover-tint);color:var(--text-brand)}
.button--danger{background:var(--danger-500);color:var(--text-on-brand)}
.button--danger:hover{background:var(--danger-700);color:var(--text-on-brand)}
.button[disabled]{
  background:var(--state-disabled-bg);color:var(--state-disabled-fg);border-color:transparent;
  box-shadow:none;cursor:not-allowed;
}
.button[disabled]:active{transform:none}

.field{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.field__label{font:var(--type-label);color:var(--text-body);display:inline-flex;align-items:center;gap:var(--space-2)}
.field__hint{display:inline-flex;color:var(--text-muted);cursor:help}
.field__hint .icon svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}
.field__control{
  width:100%;box-sizing:border-box;height:var(--size-control-md);
  padding:0 var(--pad-control-x);border:1px solid var(--border-default);border-radius:var(--radius-md);
  background:var(--surface-card);color:var(--text-strong);font:var(--type-body);
  transition:var(--transition-control);
}
.field__control--area{height:auto;min-height:calc(var(--size-control-md) * 2);padding:var(--space-3) var(--pad-control-x);resize:vertical}
.field__control:hover{border-color:var(--border-strong)}
.field__control:focus{outline:none;border-color:var(--border-brand);box-shadow:var(--ring-focus)}
.field__control::placeholder{color:var(--text-subtle)}
.field__control[disabled]{background:var(--state-disabled-bg);color:var(--state-disabled-fg);cursor:not-allowed}
.field__select{position:relative;display:block}
.field__select::after{
  content:"\25BE";position:absolute;right:var(--space-5);top:50%;transform:translateY(-50%);
  color:var(--text-muted);pointer-events:none;font-size:var(--fs-xs);
}
.field__select .field__control{appearance:none;padding-right:var(--space-9)}
.field__note{font:var(--type-caption);color:var(--text-muted)}

.switch{display:inline-flex;align-items:center;gap:var(--space-4);cursor:pointer}
.switch__input{position:absolute;opacity:0;width:0;height:0}
.switch__track{
  width:calc(44px * var(--ui-scale,1));height:calc(24px * var(--ui-scale,1));border-radius:var(--radius-pill);background:var(--grey-300);
  display:inline-flex;align-items:center;padding:calc(2px * var(--ui-scale,1));flex:0 0 calc(44px * var(--ui-scale,1));
  transition:background-color var(--dur-fast) var(--ease-standard);
}
.switch__knob{
  width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));border-radius:var(--radius-circle);background:var(--grey-0);
  box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-spring);
}
.switch__input:checked + .switch__track,.switch__track--on{background:var(--blue-500)}
.switch__input:checked + .switch__track .switch__knob,.switch__track--on .switch__knob{transform:translateX(calc(20px * var(--ui-scale,1)))}
a.switch{text-decoration:none}
a.switch:hover{text-decoration:none}
a.switch:hover .switch__label{color:var(--text-brand)}
.switch__input:focus-visible + .switch__track{box-shadow:var(--ring-focus)}
.switch__label{font:var(--type-body-sm);color:var(--text-body)}

.alert{
  display:flex;gap:var(--space-5);align-items:flex-start;
  border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  padding:var(--pad-card-tight) var(--pad-card);background:var(--surface-card);
}
.alert__body{min-width:0}
.alert__title{font:var(--type-label);color:var(--text-strong);margin:0}
.alert__text{font:var(--type-caption);color:var(--text-body);margin:var(--space-2) 0 0}
.alert__link{font:var(--type-caption);margin:var(--space-3) 0 0}
.alert__list{font:var(--type-caption);color:var(--text-body);margin:var(--space-3) 0 0;padding-left:var(--space-7)}
.alert__list li{margin-top:var(--space-1)}
.alert--info{background:var(--info-50);border-color:var(--blue-100)}
.alert--info .icon{color:var(--info-700)}
.alert--success{background:var(--success-50);border-color:var(--success-500)}
.alert--success .icon{color:var(--success-700)}
.alert--warning{background:var(--warning-50);border-color:var(--amber-300)}
.alert--warning .icon{color:var(--warning-700)}
.alert--danger{background:var(--danger-50);border-color:var(--danger-500)}
.alert--danger .icon{color:var(--danger-700)}

.state{
  display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xs);padding:var(--space-10) var(--pad-card);
}
.state--bare{background:none;border:none;box-shadow:none;padding:var(--space-5) 0}
.state__mark{display:inline-flex;color:var(--text-muted)}
.state__mark .icon svg{width:var(--size-icon-lg);height:var(--size-icon-lg)}
.state--brand .state__mark{color:var(--blue-500)}
.state--warning .state__mark{color:var(--warning-500)}
.state--danger .state__mark{color:var(--danger-500)}
.state__title{font:var(--type-h4);color:var(--text-strong);margin:0;overflow-wrap:anywhere}
.state__text{font:var(--type-body-sm);color:var(--text-body);margin:0;max-width:70ch}
.state__action{
  margin-top:var(--space-3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)
}
.state__mark--spinning .icon{animation:state-spin var(--dur-slower) linear infinite}
@keyframes state-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.state__mark--spinning .icon,.refresh__wait .icon{animation:none}}

.refresh{display:inline-flex;align-items:center}
.refresh__wait{display:none;align-items:center;gap:var(--space-2);font:var(--type-caption);color:var(--text-muted);white-space:nowrap}
.refresh__wait .icon{animation:state-spin var(--dur-slower) linear infinite}
.refresh.htmx-request .refresh__wait{display:inline-flex}
.refresh.htmx-request .button{display:none}
.upload{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}
.upload .field{flex:0 1 32rem}
.upload.htmx-request .refresh__wait{display:inline-flex}
.upload.htmx-request .button{display:none}
.field__control--file{height:auto;padding:var(--space-2) var(--pad-control-x)}
.quotes{margin:var(--space-2) 0 var(--space-4);padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-body-sm);color:var(--text-body)}
.quotes__value{white-space:nowrap;font-weight:600;margin-right:var(--space-2)}
.quotes__section{display:block;font:var(--type-caption);color:var(--text-muted)}

.table-shell{
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-width:0;overflow:hidden;
  container-type:inline-size;
}
.table-shell__head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;
  padding:var(--pad-card-tight) var(--pad-card);border-bottom:1px solid var(--border-subtle);
}
.table-shell__title{font:var(--type-h4);color:var(--text-strong);margin:0}
.table-shell__lead{font:var(--type-caption);color:var(--warning-700);margin:var(--space-2) 0 0}
.table-shell__subtitle{font:var(--type-caption);color:var(--text-muted);margin:var(--space-2) 0 0}
.table-shell__scroll{overflow:auto;min-width:0}
.table-shell__tiles{padding:var(--pad-card-tight) var(--pad-card);border-bottom:1px solid var(--border-subtle)}
.table-shell__note{
  padding:var(--pad-card-tight) var(--pad-card);border-top:1px solid var(--border-subtle);
  font:var(--type-caption);color:var(--text-muted);
}
.table-shell__caveats{
  padding:var(--pad-card-tight) var(--pad-card) var(--pad-card);
  border-top:1px solid var(--border-subtle);
  display:flex;flex-direction:column;gap:var(--space-4);
}
.table-shell__caveats .row__caveat{
  margin:0;background:var(--surface-sunken);border-radius:var(--radius-md);
  padding:var(--space-5) var(--space-6);
}
.table-shell table{width:100%;border-collapse:separate;border-spacing:0}
.table-shell th,.table-shell td{padding:var(--pad-cell-y) calc(var(--space-5) - 2px);text-align:left}
.table-shell__foot{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;
  padding:var(--pad-card-tight) var(--pad-card);border-top:1px solid var(--border-subtle);
}
.table-shell thead th{
  background:var(--grey-50);
  border-bottom:1px solid var(--border-subtle);vertical-align:bottom;
  font:var(--type-overline);font-variant-numeric:tabular-nums;
  text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-muted);
}
@media (max-width:1360px){.table-shell thead th{hyphens:auto}}
.table-shell--head-nowrap thead th,.table-shell--grid thead th{hyphens:manual}
.table-shell--head-nowrap thead th{white-space:nowrap}
.table-shell--grid thead tr.th-terms th{position:static;text-align:center;vertical-align:middle;border-bottom:1px solid var(--border-subtle);color:var(--text-body);font-weight:var(--fw-semibold)}
.table-shell--grid thead tr.th-terms th.th-terms__cell{border-left:1px solid var(--border-subtle)}
.card__title[title]{cursor:help}
.table-shell--head-plain thead th{
  font:var(--fw-medium) var(--fs-xs)/1.3 var(--font-body);text-transform:none;letter-spacing:0;
  color:var(--text-body);
}
.table-shell--head-plain .th-sort__mark{opacity:0}
.table-shell--head-plain .th-sort:hover .th-sort__mark,.table-shell--head-plain .th-sort--on .th-sort__mark{opacity:1}
@media (min-width:1100px){
  .table-shell--head-sticky,.table-shell--head-sticky .table-shell__scroll{overflow:clip}
  .table-shell--head-sticky thead th{position:sticky;top:var(--topbar-h,var(--layout-topbar-h));z-index:1}
}
@media (max-width:900px){.table-shell--wide table{min-width:880px}}
@media (max-width:1279px){.table-shell--roomy .table-shell__scroll{overflow-x:auto}.table-shell--roomy table{min-width:1000px}.table-shell--roomy thead th,.table-shell--roomy tfoot{position:static}}
.table-shell tbody tr.row--banner td:not(.cell--dot)>*,.table-shell tbody tr.row--group td>.row__group-head{
  position:sticky;left:var(--space-5);max-width:calc(100cqw - 2 * var(--space-5));
}
.th-sort{color:inherit;text-decoration:none;display:inline-flex;align-items:flex-end;gap:2px}
.th-sort:hover{color:var(--text-brand);text-decoration:none}
.th-sort__mark{opacity:.45;font-size:var(--fs-xs)}
.th-sort:hover .th-sort__mark,.th-sort--on .th-sort__mark{opacity:1}
.th-sort--on{color:var(--text-brand)}
.th-tail{white-space:nowrap}
.th-hint{
  display:inline-flex;align-items:center;justify-content:center;width:calc(13px * var(--ui-scale,1));height:calc(13px * var(--ui-scale,1));
  margin-left:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-circle);
  font-size:calc(9px * var(--ui-scale,1));line-height:1;color:var(--text-muted);vertical-align:1px;
}
.outlook{display:block;font:var(--type-caption);white-space:normal}
.outlook--danger{color:var(--danger-700)}
.outlook--success{color:var(--success-700)}
.table-shell tbody td{
  border-bottom:1px solid var(--grey-100);font:var(--type-body-sm);
  font-variant-numeric:tabular-nums;
}
.table-shell tbody tr:hover td{background:var(--grey-25)}
.table-shell tfoot td{
  background:var(--surface-sunken);
  border-top:1px solid var(--border-subtle);font:var(--type-label);
  font-variant-numeric:tabular-nums;color:var(--text-strong);
}
.table-shell th.cell--num{text-align:right}
.table-shell th.cell--num .th-sort{justify-content:flex-end;position:relative}
.table-shell th.cell--num .th-sort__mark{position:absolute;left:calc(100% + 1px);bottom:0}
.table-shell td.cell--num{text-align:right;white-space:nowrap}
.table-shell td.cell--zero{color:var(--text-subtle)}
.table-shell td.cell--code{font:var(--type-mono);color:var(--text-strong);word-break:break-word}
.table-shell td.cell--muted{color:var(--text-muted)}
.table-shell td.cell--strong{color:var(--text-strong);font-weight:var(--fw-semibold)}
.table-shell td.cell--wrap{overflow-wrap:anywhere}
.table-shell td .cell__sub{display:block;color:var(--text-subtle);font-weight:var(--fw-regular)}
.table-shell td.cell--warning{color:var(--warning-700);font-weight:var(--fw-semibold)}
.table-shell td.cell--danger{color:var(--danger-700)}
.table-shell td.cell--success{color:var(--success-700)}

.table-shell th.cell--dot,.table-shell td.cell--dot{width:calc(26px * var(--ui-scale,1));padding-right:0;text-align:center}
.dot{display:inline-block;width:calc(7px * var(--ui-scale,1));height:calc(7px * var(--ui-scale,1));border-radius:var(--radius-circle)}
.dot--danger{background:var(--danger-500)}
.dot--warning{background:var(--warning-500)}
.dot--success{background:var(--success-500)}
.dot--idle{background:var(--grey-300)}
.dot--info{background:var(--info-500)}
.dot--fault{background:var(--fault-500)}
.table-shell tbody tr.row--group td{
  background:var(--grey-50);border-top:1px solid var(--border-subtle);
  font:var(--type-label);color:var(--text-strong);padding-top:var(--space-2);padding-bottom:var(--space-2);
}
.table-shell tbody tr.row--group:hover td{background:var(--grey-50)}
.row__note{font:var(--type-caption);color:var(--text-muted);margin-left:var(--space-4)}
.table-shell tbody tr.row--banner td{border-bottom:none;padding-top:var(--space-3);padding-bottom:0}
.table-shell tbody tr.row--open td{border-bottom:none}
.table-shell tbody tr.row--caveat td{padding-top:0;padding-bottom:var(--space-4)}
.table-shell td.cell--sub{padding-left:calc(var(--space-5) + var(--space-6));color:var(--text-muted)}
.table-shell tbody tr.row--figures td{border-bottom:1px solid var(--grey-100);padding-top:2px;padding-bottom:var(--space-3)}
.table-shell tbody tr.row--banner:hover td,.table-shell tbody tr.row--figures:hover td{background:var(--grey-25)}
.table-shell tbody tr.row--subtotal td{background:var(--surface-sunken);font-weight:var(--fw-semibold)}
.table-shell tbody tr.row--subtotal:hover td{background:var(--surface-sunken)}
.table-shell tbody tr.row--subtotal.row--banner td{
  font:var(--type-overline);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-muted);
}

.legend{display:flex;gap:var(--space-6);flex-wrap:wrap;font:var(--type-caption);color:var(--text-muted)}
.legend__item{display:inline-flex;align-items:center;gap:var(--space-3)}
.legend__dot{width:calc(8px * var(--ui-scale,1));height:calc(8px * var(--ui-scale,1));border-radius:var(--radius-circle);flex:0 0 calc(8px * var(--ui-scale,1))}
.legend__dot--danger{background:var(--danger-500)}
.legend__dot--warning{background:var(--warning-500)}
.legend__dot--success{background:var(--success-500)}
.legend__dot--idle{background:var(--grey-300)}
.legend__dot--unknown{background:var(--grey-400)}
.legend__dot--info{background:var(--info-500)}
.legend__dot--fault{background:var(--fault-500)}
.legend__dot--brand{background:var(--blue-500)}
.notelist{display:flex;flex-direction:column}
.notelist__item{border-top:1px solid var(--border-subtle)}
.notelist__item:first-child{border-top:0}
.notelist__head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;cursor:pointer;list-style:none;font:var(--type-body-sm);color:var(--text-strong)}
.notelist__head::-webkit-details-marker{display:none}
.notelist__head::after{content:"";flex:0 0 auto;width:7px;height:7px;margin:0 var(--space-2);border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(-45deg);transition:transform .15s}
.notelist__item[open] .notelist__head::after{transform:rotate(45deg)}
.notelist__label{flex:1 1 auto;min-width:0}
.notelist__figure{flex:0 0 auto;color:var(--text-body);white-space:nowrap;font-variant-numeric:tabular-nums}
.notelist__item--warning .icon{color:var(--warning-500)}
.notelist__item--info .icon{color:var(--info-500)}
.notelist__text{font:var(--type-caption);color:var(--text-body);margin:0 0 var(--space-5) calc(var(--size-icon) + var(--space-4))}
.choice{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.choice__option{display:flex;align-items:flex-start;gap:var(--space-3);font:var(--type-body-sm);color:var(--text-body);cursor:pointer}
.choice__input{accent-color:var(--blue-500);margin:calc(3px * var(--ui-scale,1)) 0 0;flex:0 0 auto}
.doc-form{display:flex;flex-direction:column;gap:var(--space-6)}
.question{display:flex;flex-direction:column;gap:var(--space-3)}
.question__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.question__label{margin:0}
.question__fact{font:var(--type-caption);color:var(--text-muted);margin:0}
.question__mark{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--type-caption);color:var(--success-700)}
.question__mark .icon svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}
.question__mark:empty{display:none}
.question__mark--done{color:var(--success-700)}
.question__mark--saved{color:var(--text-muted)}
.why{display:contents}
.why__toggle{display:inline-flex;align-items:center;color:var(--text-muted);cursor:pointer;list-style:none;border-radius:var(--radius-pill)}
.why__toggle::-webkit-details-marker{display:none}
.why__toggle:hover,.why[open] .why__toggle{color:var(--text-brand)}
.why__toggle:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.why__toggle .icon svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}
.why__body{flex:1 1 100%;display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-caption);color:var(--text-muted);background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}
.why__body p{margin:0}
.choice__option--clear{font:var(--type-caption);color:var(--text-brand)}
.choice__option--clear .choice__input{position:absolute;opacity:0;width:0;height:0;margin:0}
.choice__option--clear span{text-decoration:underline}
.choice:not(:has(.choice__input:not([value=""]):checked)) .choice__option--clear{display:none}
.decisions__tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5)}
.decisions__help{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--type-caption)}
.decisions__help .icon svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}
.doc-form__actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4)}
.actions--fields{align-items:flex-end}
.doc-clause{display:flex;flex-direction:column;gap:var(--space-2);margin:0}
.doc-clause__text{font:var(--type-body-sm);color:var(--text-body);margin:0}
.doc-clause__mark{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font:var(--type-caption);color:var(--text-muted)}
.doc-section{display:flex;flex-direction:column;gap:var(--space-5)}
.doc-columns{margin:0;padding-left:var(--space-7);display:flex;flex-direction:column;gap:var(--space-1);font:var(--type-body-sm);color:var(--text-body)}
.doc-title{font:var(--type-body-sm);font-weight:600;color:var(--text-body);margin:0}
.tax-card{border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}
.tax-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);cursor:pointer;font:var(--type-body-sm);color:var(--text-muted)}
.tax-card__head::-webkit-details-marker{display:none}
.tax-card__toggle{display:inline-flex;color:var(--text-brand);transition:transform .15s}
.tax-card[open] .tax-card__toggle{transform:rotate(90deg)}
.tax-card__title{font-weight:600;color:var(--text-brand)}
.tax-card__fact:not(:last-child)::after{content:"·";margin-left:var(--space-3)}
.tax-card[open] .tax-card__head{margin-bottom:var(--space-4)}
.tax-card__rows{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:var(--space-3) var(--space-5);margin:0 0 var(--space-4)}
.tax-card__rows dt{font:var(--type-body-sm);color:var(--text-muted)}
.tax-card__rows dd{display:flex;flex-direction:column;gap:var(--space-2);margin:0}
.tax-calendar td{vertical-align:top}
.tax-calendar td:nth-child(2){width:34%}
.tax-calendar td:nth-child(3){width:30%}
.tax-calendar__list{margin:0;padding:0;list-style:none}
.tax-calendar__norm{font:var(--type-caption);color:var(--text-muted)}
.doc-form__narrow{max-width:calc(200px * var(--ui-scale,1))}
.decisions__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5)}
.decisions__progress{font:var(--type-body);font-weight:600;color:var(--text-body);margin:0}
.decision-group{display:flex;flex-direction:column;gap:var(--space-5);border-top:1px solid var(--border-subtle);padding-top:var(--space-6)}
.decision-group__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4)}
.decision-group__place{font:var(--type-caption);color:var(--text-muted)}
.decision-group__seen-title{font:var(--type-caption);font-weight:600;color:var(--text-muted);margin:0 0 calc(-1 * var(--space-4))}
.decision-group__seen{font:var(--type-caption);color:var(--text-muted);margin:0;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-1)}
.decisions:has(.switch__input:checked) .question--done,.decisions:has(.switch__input:checked) .decision-group--done{display:none}
.doc-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0}
.doc-fold{border-top:1px solid var(--border-subtle);padding:var(--space-4) 0}
.doc-fold__head{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;list-style:none}
.doc-fold__head::-webkit-details-marker{display:none}
.doc-fold__toggle{display:inline-flex;color:var(--text-brand);transition:transform .15s}
.doc-fold[open] .doc-fold__toggle{transform:rotate(90deg)}
.doc-fold__title{font:var(--type-body-sm);font-weight:600;color:var(--text-brand)}
.doc-fold__group{border-top:1px solid var(--border-subtle);padding-top:var(--space-5)}
.doc-fold__body{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-5)}
.doc-fold__body .table-shell--head-nowrap thead th:last-child{white-space:normal}
