:root{--surface-canvas:#f8fafc;--surface-card:#fff;--surface-subtle:#f1f5f9;--surface-sunken:#e2e8f0;--border-default:#e2e8f0;--border-strong:#94a3b8;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#f8fafc;--brand-fill:#4f46e5;--brand-fill-hover:#4338ca;--brand-fill-active:#3730a3;--brand-text:#4338ca;--brand-subtle:#eef2ff;--brand-border:#c7d2fe;--status-success-bg:#ecfdf5;--status-success-text:#065f46;--status-success-edge:#a7f3d0;--status-warning-bg:#fffbeb;--status-warning-text:#78350f;--status-warning-edge:#fde68a;--status-danger-bg:#fef2f2;--status-danger-text:#991b1b;--status-danger-edge:#fecaca;--status-info-bg:#f0f9ff;--status-info-text:#075985;--status-info-edge:#bae6fd;--status-neutral-bg:#f1f5f9;--status-neutral-text:#334155;--status-neutral-edge:#cbd5e1;--font-ui:Inter, "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--text-display:24px;--text-h1:18px;--text-h2:14px;--text-body:13px;--text-caption:11px;--leading-display:32px;--leading-h1:24px;--leading-h2:20px;--leading-body:18px;--leading-caption:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--elevation-subtle:0 1px 2px #0f172a0d;--elevation-dropdown:0 4px 6px -1px #0f172a14, 0 2px 4px -2px #0f172a0a;--elevation-drawer:-4px 0 16px #0f172a1f;--row-height-header:36px;--row-height:44px;--topbar-height:52px;--sidebar-width:220px;--sidebar-width-collapsed:56px;--drawer-width:640px}@media (prefers-color-scheme:dark){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.skip-link{z-index:100;padding:var(--space-2) var(--space-4);background:var(--surface-card);color:var(--brand-text);border:1px solid var(--brand-border);border-radius:var(--radius-md);font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-4);top:var(--space-2)}h1{font-size:var(--text-h1);line-height:var(--leading-h1);letter-spacing:-.015em;margin:0 0 var(--space-2);font-weight:600}h2{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:-.01em;margin:var(--space-6) 0 var(--space-2);font-weight:600}h3{font-size:var(--text-body);line-height:var(--leading-body);margin:var(--space-4) 0 var(--space-1);font-weight:600}p{margin:0 0 var(--space-3);max-width:78ch}a{color:var(--brand-text);text-underline-offset:2px}small{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--text-secondary)}.num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.01em;font-weight:500}.num--money{text-align:right;white-space:nowrap}.num--absent{font-variant-numeric:normal;color:var(--text-tertiary);text-align:right;font-style:italic;font-weight:400}.mono{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:0}.mono--wrap{word-break:break-all}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:.02em;white-space:nowrap;vertical-align:middle;border:1px solid #0000;font-weight:600;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge--success{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-edge)}.badge--warning{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning-edge)}.badge--danger{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-edge)}.badge--info{background:var(--status-info-bg);color:var(--status-info-text);border-color:var(--status-info-edge)}.badge--neutral{background:var(--status-neutral-bg);color:var(--status-neutral-text);border-color:var(--status-neutral-edge)}.badge--brand{background:var(--brand-subtle);color:var(--brand-text);border-color:var(--brand-border)}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--elevation-subtle)}.card__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card__body{padding:var(--space-4)}.card__title{font-size:var(--text-h2);line-height:var(--leading-h2);margin:0;font-weight:600}.btn{align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-card);color:var(--text-primary);font-family:inherit;font-size:var(--text-body);cursor:pointer;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-subtle)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{background:var(--brand-fill);border-color:var(--brand-fill);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand-fill-hover);border-color:var(--brand-fill-hover)}.btn--danger{background:var(--surface-card);border-color:var(--status-danger-edge);color:var(--status-danger-text)}.btn--danger:hover:not(:disabled){background:var(--status-danger-bg)}.btn--quiet{color:var(--text-secondary);background:0 0;border-color:#0000}.btn--quiet:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary)}.btn--sm{min-height:26px;padding:0 var(--space-2);font-size:var(--text-caption)}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field__label{font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.field__hint{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--text-secondary);max-width:68ch}.field__error{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--status-danger-text);font-weight:500}input,select,textarea{font-family:inherit;font-size:var(--text-body);line-height:var(--leading-body);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);min-height:30px}textarea{resize:vertical;min-height:76px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--status-danger-text)}.grid-scroll{max-height:62vh;overflow:auto}table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-body)}table.grid caption{text-align:left;padding:0 var(--space-4) var(--space-2);color:var(--text-secondary);font-size:var(--text-caption)}table.grid thead th{z-index:1;height:var(--row-height-header);padding:0 var(--space-3);background:var(--surface-subtle);border-bottom:1px solid var(--border-strong);text-align:left;font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-weight:600;position:sticky;top:0}table.grid th.num--money,table.grid td.num--money{text-align:right}table.grid td,table.grid tbody th{height:var(--row-height);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border-default);vertical-align:middle}table.grid tbody th{text-align:left;font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:normal;text-transform:none;color:var(--text-primary);white-space:nowrap;background:0 0;font-weight:600;position:static}table.grid tbody tr:hover{background:var(--surface-subtle)}table.grid tbody tr[aria-selected=true]{background:var(--brand-subtle);box-shadow:inset 3px 0 0 var(--brand-fill)}table.grid tbody tr:focus-visible{outline:2px solid var(--brand-text);outline-offset:-2px}.cell-sub{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--text-secondary);display:block}.chips{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.chip{align-items:center;gap:var(--space-1);min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);cursor:pointer;white-space:nowrap;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{background:var(--brand-subtle);border-color:var(--brand-border);color:var(--brand-text)}.chip:disabled{cursor:not-allowed;opacity:.55}.chip__count{font-variant-numeric:tabular-nums;color:inherit;font-weight:500}.kpi-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.kpi{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--elevation-subtle);padding:var(--space-3) var(--space-4);gap:var(--space-1);flex-direction:column;min-height:96px;display:flex}.kpi__label{font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.kpi__value{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;font-weight:700}.kpi__value--absent{font-size:var(--text-h2);line-height:var(--leading-display);font-variant-numeric:normal;color:var(--text-tertiary);font-weight:500}.kpi__note{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--text-secondary)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-subtle) 25%, var(--surface-sunken) 37%, var(--surface-subtle) 63%);background-size:400% 100%;animation:1.4s ease-in-out infinite skeleton-sweep;display:block}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-subtle);animation:none}}.notice{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-subtle);color:var(--text-secondary);padding:var(--space-2) var(--space-3);font-size:var(--text-caption);line-height:var(--leading-caption);max-width:92ch}.notice--warning{background:var(--status-warning-bg);border-color:var(--status-warning-edge);color:var(--status-warning-text)}.notice--danger{background:var(--status-danger-bg);border-color:var(--status-danger-edge);color:var(--status-danger-text)}.notice--info{background:var(--status-info-bg);border-color:var(--status-info-edge);color:var(--status-info-text)}.notice--success{background:var(--status-success-bg);border-color:var(--status-success-edge);color:var(--status-success-text)}.notice strong{font-weight:600}.shell{grid-template-rows:var(--topbar-height) 1fr;min-height:100vh;display:grid}.topbar{height:var(--topbar-height);align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--surface-card);border-bottom:1px solid var(--border-default);z-index:20;display:flex;position:sticky;top:0}.topbar__brand{font-size:var(--text-h2);letter-spacing:-.01em;color:var(--text-primary);font-weight:700;text-decoration:none}.topbar__spacer{flex:auto}.topbar__group{align-items:center;gap:var(--space-2);min-width:0;display:flex}.shell__body{grid-template-columns:var(--sidebar-width) 1fr;align-items:start;display:grid}.shell__body--collapsed{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.sidebar{top:var(--topbar-height);height:calc(100vh - var(--topbar-height));background:var(--surface-card);border-right:1px solid var(--border-default);padding:var(--space-3) var(--space-2);position:sticky;overflow-y:auto}.sidebar__group+.sidebar__group{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-default)}.sidebar__heading{margin:0 0 var(--space-1);padding:0 var(--space-2);font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.sidebar__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__link{align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);white-space:nowrap;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.sidebar__link:hover{background:var(--surface-subtle);color:var(--text-primary)}.sidebar__link[aria-current=page]{background:var(--brand-subtle);color:var(--brand-text);font-weight:600}.sidebar__icon{text-align:center;flex:none;width:18px}.sidebar__badge{font-variant-numeric:tabular-nums;font-size:var(--text-caption);color:var(--text-secondary);margin-left:auto;font-weight:600}.workspace{padding:var(--space-6);gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.workspace__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.workspace__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.overlay{z-index:40;background:#0f172a61;position:fixed;inset:0}.drawer{z-index:41;width:min(var(--drawer-width), 100vw);background:var(--surface-card);box-shadow:var(--elevation-drawer);border-left:1px solid var(--border-default);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.drawer__body{padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.drawer__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-default);gap:var(--space-2);flex-wrap:wrap;display:flex}.dialog{z-index:41;width:min(600px, calc(100vw - var(--space-8)));max-height:calc(100vh - var(--space-8));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--elevation-dropdown);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog__body{padding:var(--space-4);overflow-y:auto}.palette{z-index:41;width:min(560px, calc(100vw - var(--space-8)));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--elevation-dropdown);position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.palette__input{border:0;border-bottom:1px solid var(--border-default);width:100%;min-height:46px;padding:0 var(--space-4);font-size:var(--text-h2);border-radius:0}.palette__list{padding:var(--space-1);max-height:46vh;margin:0;list-style:none;overflow-y:auto}.palette__item{align-items:center;gap:var(--space-2);width:100%;min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--text-body);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.palette__item[aria-selected=true]{background:var(--brand-subtle);color:var(--brand-text)}.palette__hint{font-size:var(--text-caption);color:var(--text-secondary);margin-left:auto}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.stack{gap:var(--space-2);flex-direction:column;display:flex}.panel{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-subtle);flex-direction:column;display:flex}.code-block{padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--leading-body);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary);background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:22rem;margin:0;overflow-y:auto}.muted{color:var(--text-secondary)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kbd{min-width:18px;padding:0 var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-subtle);font-family:var(--font-mono);text-align:center;color:var(--text-secondary);border-bottom-width:2px;font-size:10px;line-height:16px;display:inline-block}.pairs{gap:var(--space-1) var(--space-3);grid-template-columns:minmax(140px,max-content) 1fr;margin:0;display:grid}.pairs dt{font-size:var(--text-caption);line-height:var(--leading-body);letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.pairs dd{min-width:0;margin:0}.page{padding:var(--space-6);gap:var(--space-4);flex-direction:column;min-width:0;max-width:960px;margin:0 auto;display:flex}.page__header{gap:var(--space-1);flex-direction:column;display:flex}.page__title{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:-.01em;margin:0;font-weight:600}.identity-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.identity{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:inherit;font-size:var(--text-body);line-height:var(--leading-body);text-align:left;cursor:pointer;display:flex}.identity:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-subtle)}.identity:disabled{cursor:not-allowed;opacity:.55}.identity__who{flex-direction:column;gap:2px;min-width:0;display:flex}.identity__subject{font-family:var(--font-mono);font-weight:600}.identity__meta{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--text-secondary)}.pagemap{flex-direction:column;gap:6px;max-width:320px;margin:0;display:flex}.pagemap__page{width:100%;max-width:220px;height:auto;display:block}.pagemap__sheet{fill:var(--surface-card);stroke:var(--border-strong);stroke-width:1.5px;vector-effect:non-scaling-stroke}.pagemap__region{fill:color-mix(in srgb, var(--brand-fill) 18%, transparent);stroke:var(--brand-fill);stroke-width:1px;vector-effect:non-scaling-stroke}.pagemap__caption{font-size:var(--text-caption);line-height:var(--leading-caption);text-wrap:pretty}@media (prefers-contrast:more){.pagemap__region{fill:color-mix(in srgb, var(--brand-fill) 45%, transparent);stroke-width:2px}.pagemap__sheet{stroke:var(--text-primary)}}
