:root{--color-canvas: #f1f2f4;--color-surface: #fbfbfc;--color-surface-sunken: #e9ebef;--color-ink: #161a20;--color-ink-hover: #2a3038;--color-ink-2: #4a5560;--color-ink-3: #5f6874;--color-ink-4: #9aa2ac;--color-on-ink: #ffffff;--color-border-hairline: #dde1e6;--color-border-strong: #828a95;--color-accent: #0e6a6e;--color-accent-hover: #0a565a;--color-accent-soft: #dceaec;--color-accent-ink: #0b4f53;--color-status-active: #1b5e8a;--color-status-active-soft: #e1ecf5;--color-status-done: #1e6b4b;--color-status-done-soft: #e1efe7;--color-status-warn: #8a5a00;--color-status-warn-soft: #f4ebd6;--color-status-danger: #b02a22;--color-status-danger-soft: #f6e4e1;--color-status-idle: #5a6472;--color-status-idle-soft: #e7eaee;--color-focus-ring: #0e6a6e;--color-scrollbar-thumb: #c3c9d1;--color-scrollbar-thumb-hover: #a8b0ba;--color-selection-bg: #dceaec;--color-selection-fg: #0b4f53;--color-overlay-scrim: rgba(22, 26, 32, .36);--font-sans: Inter, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;--text-display-lg: 32px;--text-title-lg: 24px;--text-title-md: 18px;--text-title-sm: 15px;--text-body-md: 14px;--text-body-sm: 13px;--text-label-md: 13px;--text-label-sm: 12px;--text-meta: 12px;--text-metric-lg: 40px;--text-metric-md: 24px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--space-base: 4px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-xxl: 32px;--space-xxxl: 48px;--sidebar-width: 232px;--sidebar-rail-width: 56px;--topbar-height: 56px;--control-height: 40px;--control-height-sm: 32px;--touch-target: 44px;--row-compact: 36px;--row-standard: 44px;--row-mobile: 56px;--content-inline: 32px;--measure: 70ch;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 16px;--radius-full: 9999px;--shadow-overlay: 0 8px 24px rgba(15, 23, 32, .12);--z-sticky: 10;--z-drawer: 40;--z-dialog: 50;--z-toast: 60;--motion-state: .12s;--motion-overlay: .16s;--ease-console: cubic-bezier(.2, 0, 0, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body-md);font-weight:var(--weight-regular);line-height:1.6;-webkit-font-smoothing:antialiased;caret-color:var(--color-accent)}::selection{background:var(--color-selection-bg);color:var(--color-selection-fg)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-canvas)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-canvas)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border:3px solid var(--color-canvas);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.tnum,td.num,.metric,.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}h1,h2,h3,h4{margin:0;font-weight:var(--weight-semibold);line-height:1.3;text-wrap:balance}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:3px}button{font:inherit;color:inherit}.display-lg{font-size:var(--text-display-lg);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.2}.title-lg{font-size:var(--text-title-lg);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.28}.title-md{font-size:var(--text-title-md);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:1.4}.title-sm{font-size:var(--text-title-sm);font-weight:var(--weight-semibold);line-height:1.45}.body-sm{font-size:var(--text-body-sm);line-height:1.55}.meta{font-size:var(--text-meta);color:var(--color-ink-3);line-height:1.5}.mono-data{font-family:var(--font-mono);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:0}.mono-hash{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.02em;word-break:break-all;-webkit-user-select:all;user-select:all}.measure{max-width:var(--measure)}.muted{color:var(--color-ink-2)}.dim{color:var(--color-ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.u-gap-xs{gap:var(--space-xs)}.u-gap-sm{gap:var(--space-sm)}.u-gap-md{gap:var(--space-md)}.u-gap-lg{gap:var(--space-lg)}.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100%}.app-shell.rail{grid-template-columns:var(--sidebar-rail-width) 1fr}.sidebar{display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border-hairline);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:var(--space-md);height:var(--topbar-height);padding:0 var(--space-lg);border-bottom:1px solid var(--color-border-hairline);flex:0 0 auto}.brand-mark{display:block;width:28px;height:28px;flex:0 0 auto;border-radius:var(--radius-sm);background:#fff;object-fit:contain}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-text strong{font-size:var(--text-title-sm);font-weight:var(--weight-semibold);line-height:1.3}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);flex:1 1 auto}.nav-group-label{padding:var(--space-md) var(--space-md) var(--space-xs);font-size:var(--text-meta);font-weight:var(--weight-medium);letter-spacing:.06em;color:var(--color-ink-3)}.nav-item{position:relative;display:flex;align-items:center;gap:var(--space-md);height:var(--control-height);padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-ink-2);font-size:var(--text-label-md);font-weight:var(--weight-medium);text-decoration:none;transition:background var(--motion-state) var(--ease-console)}.nav-item:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.nav-item .nav-icon{flex:0 0 auto;color:currentColor}.nav-item.active{background:var(--color-accent-soft);color:var(--color-accent-ink)}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:var(--radius-full);background:var(--color-accent)}.nav-empty{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin:4px 0;border-left:2px solid var(--color-accent);border-radius:6px;background:var(--color-accent-soft);color:var(--color-accent-ink);font-size:12.5px;line-height:1.5}.nav-empty-title{margin:0;font-size:12.5px;font-weight:600}.nav-empty-text{margin:0}.nav-empty-action{align-self:flex-start;margin-top:2px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.app-shell.rail .nav-item{justify-content:center;padding:0}.app-shell.rail .nav-label,.app-shell.rail .brand-text,.app-shell.rail .nav-group-label,.app-shell.rail .sidebar-foot-text{display:none}.sidebar-foot{padding:var(--space-md);border-top:1px solid var(--color-border-hairline);flex:0 0 auto}.sidebar-foot-text{font-size:var(--text-meta);color:var(--color-ink-3);line-height:1.5}.main-col{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;gap:var(--space-lg);height:var(--topbar-height);padding:0 var(--space-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border-hairline);flex:0 0 auto}.topbar-title{font-size:var(--text-title-sm);font-weight:var(--weight-semibold)}.topbar-spacer{flex:1 1 auto}.topbar-user{display:flex;align-items:center;gap:var(--space-sm);padding-left:var(--space-lg);border-left:1px solid var(--color-border-hairline)}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-ink-2);font-size:var(--text-meta);font-weight:var(--weight-medium)}.user-meta{display:flex;flex-direction:column;line-height:1.25}.user-meta strong{font-size:var(--text-label-md);font-weight:var(--weight-medium)}.user-meta span{font-size:var(--text-meta);color:var(--color-ink-3)}.content{flex:1 1 auto;overflow-y:auto;overflow-x:hidden}.sample-data-banner{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-sm);min-height:var(--control-height-sm);padding:var(--space-xs) var(--content-inline);background:var(--color-status-warn-soft);color:var(--color-status-warn);font-size:var(--text-label-sm);font-weight:var(--weight-medium);border-bottom:1px solid var(--color-border-hairline)}.page{padding:var(--space-xxl) var(--content-inline) var(--space-xxxl)}.page-head{margin-bottom:var(--space-xl)}.page-head h1{font-size:var(--text-title-lg);font-weight:var(--weight-semibold);letter-spacing:-.02em}.page-head .page-sub{margin-top:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-body-sm);max-width:var(--measure)}.panel{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md)}.panel-head{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);border-bottom:1px solid var(--color-border-hairline)}.panel-head h2{font-size:var(--text-title-sm);font-weight:var(--weight-semibold)}.panel-body{padding:var(--space-lg)}.panel-body.tight{padding:var(--space-md)}.section{margin-top:var(--space-xxl)}.section>h2{margin-bottom:var(--space-md);font-size:var(--text-title-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--control-height);padding:0 var(--space-lg);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-label-md);font-weight:var(--weight-medium);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--motion-state) var(--ease-console),border-color var(--motion-state) var(--ease-console)}.btn-primary{background:var(--color-ink);color:var(--color-on-ink);border-color:var(--color-ink)}.btn-primary:hover:not(:disabled){background:var(--color-ink-hover);border-color:var(--color-ink-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.btn-danger{background:var(--color-surface);color:var(--color-status-danger);border-color:var(--color-status-danger)}.btn-danger:hover:not(:disabled){background:var(--color-status-danger-soft)}.btn-quiet{min-height:var(--control-height-sm);padding:0 var(--space-md);background:transparent;color:var(--color-ink-2);border-color:transparent}.btn-quiet:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-ink)}.btn-sm{min-height:var(--control-height-sm);padding:0 var(--space-md);font-size:var(--text-label-sm)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-surface-sunken);color:var(--color-ink-3);border-color:var(--color-border-hairline);cursor:not-allowed}.btn-icon{display:inline-grid;place-items:center;position:relative;width:var(--control-height-sm);height:var(--control-height-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-2);cursor:pointer}.btn-icon:after{content:"";position:absolute;inset:calc((var(--touch-target) - var(--control-height-sm)) / -2)}.btn-icon:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.btn-block-note{font-size:var(--text-meta);color:var(--color-ink-3)}.field{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.field-label{font-size:var(--text-label-md);font-weight:var(--weight-medium)}.field-label .req{color:var(--color-status-danger);margin-left:var(--space-xs)}.field-hint{font-size:var(--text-meta);color:var(--color-ink-3)}.field-error{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-meta);color:var(--color-status-danger)}.input,.select,.textarea{width:100%;min-height:var(--control-height);padding:10px var(--space-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body-md);transition:border-color var(--motion-state) var(--ease-console)}.textarea{min-height:120px;resize:vertical;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--color-ink-3)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--color-focus-ring);outline-offset:0;border-color:var(--color-accent)}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--color-status-danger)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--color-surface-sunken);color:var(--color-ink-3);cursor:not-allowed}.field-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-xl)}.form-error-summary{display:flex;gap:var(--space-sm);padding:var(--space-md);margin-bottom:var(--space-xl);border:1px solid var(--color-status-danger);border-radius:var(--radius-sm);background:var(--color-status-danger-soft);color:var(--color-status-danger);font-size:var(--text-body-sm)}.form-error-summary ul{margin-top:var(--space-xs);padding-left:var(--space-lg);list-style:disc}.form-actions{display:flex;align-items:center;gap:var(--space-sm);padding-top:var(--space-lg);border-top:1px solid var(--color-border-hairline)}.chip-status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-label-sm);font-weight:var(--weight-medium);white-space:nowrap}.chip-status .dot{width:8px;height:8px;border-radius:var(--radius-full);background:currentColor;flex:0 0 auto}.chip-status.is-idle{background:var(--color-status-idle-soft);color:var(--color-status-idle)}.chip-status.is-active{background:var(--color-status-active-soft);color:var(--color-status-active)}.chip-status.is-done{background:var(--color-status-done-soft);color:var(--color-status-done)}.chip-status.is-warn{background:var(--color-status-warn-soft);color:var(--color-status-warn)}.chip-status.is-danger{background:var(--color-status-danger-soft);color:var(--color-status-danger)}.chip{display:inline-flex;align-items:center;gap:var(--space-xs);height:var(--control-height-sm);padding:0 var(--space-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-label-md);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--motion-state) var(--ease-console)}.chip:hover{background:var(--color-surface-sunken)}.chip[aria-pressed=true],.chip.is-active{background:var(--color-accent-soft);border-color:var(--color-accent-soft);color:var(--color-accent-ink)}.chip span.count{font-variant-numeric:tabular-nums;color:var(--color-ink-3)}.chip[aria-pressed=true] span.count,.chip.is-active span.count{color:var(--color-accent-ink)}.filter-bar{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--color-border-hairline)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.filter-field{display:flex;align-items:center;gap:var(--space-sm)}.filter-field label{font-size:var(--text-meta);color:var(--color-ink-3);white-space:nowrap}.filter-field .select,.filter-field .input{width:auto;min-width:140px}.search-field{position:relative;display:flex;align-items:center;flex:1 1 260px;max-width:360px}.search-field .input{padding-left:34px}.search-field svg{position:absolute;left:var(--space-md);color:var(--color-ink-3);pointer-events:none}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);font-size:var(--text-meta);color:var(--color-ink-3)}.filter-summary-chip{display:inline-flex;align-items:center;gap:var(--space-xs);height:var(--control-height-sm);padding:0 var(--space-sm) 0 var(--space-md);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-ink-2);font-size:var(--text-label-sm)}.filter-summary-chip button{display:grid;place-items:center;width:20px;height:20px;border:none;border-radius:var(--radius-full);background:transparent;color:inherit;cursor:pointer}.filter-summary-chip button:hover{background:var(--color-border-hairline)}.table-wrap{width:100%;overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--text-body-sm)}table.data caption{padding:var(--space-md) var(--space-lg);text-align:left;color:var(--color-ink-3);font-size:var(--text-meta)}table.data thead th{height:var(--control-height);padding:0 var(--space-lg);background:var(--color-surface-sunken);color:var(--color-ink-3);font-size:var(--text-label-sm);font-weight:var(--weight-medium);letter-spacing:.02em;text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border-hairline)}table.data thead th.num,table.data tbody td.num{text-align:right}table.data tbody td{height:var(--row-standard);padding:0 var(--space-lg);border-bottom:1px solid var(--color-border-hairline);vertical-align:middle}table.data tbody tr:hover{background:var(--color-surface-sunken)}table.data tbody tr.is-selected{background:var(--color-accent-soft)}table.data tbody tr.is-overdue td:first-child{box-shadow:inset 3px 0 0 var(--color-status-danger)}table.data tbody tr.clickable{cursor:pointer}.cell-primary{font-weight:var(--weight-medium);color:var(--color-ink)}.cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-stack .sub{font-size:var(--text-meta);color:var(--color-ink-3)}.cell-secondary{color:var(--color-ink-3);font-size:var(--text-meta)}table.data.sw-table{table-layout:fixed;min-width:980px}table.data.sw-table th,table.data.sw-table td{overflow-wrap:anywhere}table.data.sw-table tbody tr>td:nth-child(5){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.data.sw-table tbody.sw-group>tr:not(.sw-group-head)>td:first-child{position:relative;padding-left:30px}table.data.sw-table tbody.sw-group>tr:not(.sw-group-head)>td:first-child:before{content:"";position:absolute;left:13px;top:50%;width:9px;height:1px;background:var(--color-border-strong);transform:translateY(-50%)}table.data tbody.sw-group>tr.sw-group-head>th{height:auto;padding:var(--space-md) var(--space-lg);text-align:left;font-weight:var(--weight-regular);white-space:normal;border-top:2px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-hairline);background:var(--color-surface-sunken)}table.data tbody.sw-group:first-of-type>tr.sw-group-head>th{border-top-width:1px}table.data tbody.sw-group>tr.sw-group-head:hover>th{background:var(--color-surface-sunken)}.sw-group-title{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.sw-group-name{font-size:var(--text-body-md);font-weight:var(--weight-semibold);color:var(--color-ink)}.sw-group-meta{font-size:var(--text-meta);color:var(--color-ink-3)}.sw-identities{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-sm)}.sw-identity{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-meta);color:var(--color-ink-2);cursor:pointer;transition:border-color .12s linear,background-color .12s linear}.sw-identity:hover{border-color:var(--color-border-strong)}.sw-identity.is-picked{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-ink)}.sw-identity input{margin:0}.sw-group-note{margin-left:var(--space-xs)}.cell-note{display:block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink-2)}.link-cell{background:none;border:none;padding:0;color:var(--color-accent);font:inherit;font-weight:var(--weight-medium);cursor:pointer;text-align:left}.link-cell:hover{text-decoration:underline;text-underline-offset:3px}.list-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-hairline);font-size:var(--text-meta);color:var(--color-ink-3)}.pagination{display:flex;align-items:center;gap:var(--space-xs)}.page-btn{min-width:var(--control-height-sm);height:var(--control-height-sm);padding:0 var(--space-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-2);font-size:var(--text-label-md);font-variant-numeric:tabular-nums;cursor:pointer}.page-btn:hover:not(:disabled){background:var(--color-surface-sunken)}.page-btn[aria-current=page]{color:var(--color-ink);font-weight:var(--weight-medium);box-shadow:inset 0 -2px 0 var(--color-accent)}.page-btn:disabled{color:var(--color-ink-3);cursor:not-allowed}.record-list{display:flex;flex-direction:column}.record-row{display:flex;align-items:center;gap:var(--space-md);width:100%;min-height:var(--row-mobile);padding:var(--space-md) var(--space-lg);border:none;border-bottom:1px solid var(--color-border-hairline);background:var(--color-surface);text-align:left;cursor:pointer}.record-row:hover{background:var(--color-surface-sunken)}.record-row.is-overdue{box-shadow:inset 3px 0 0 var(--color-status-danger)}.record-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.record-main .code{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-3)}.record-main .name{font-size:var(--text-body-sm);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);padding:var(--space-xl);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);background:var(--color-surface)}.state-block h3{font-size:var(--text-title-sm);font-weight:var(--weight-semibold)}.state-block p{font-size:var(--text-body-sm);color:var(--color-ink-2);max-width:var(--measure)}.state-block.is-blocked{background:var(--color-status-idle-soft);border-color:var(--color-border-hairline);color:var(--color-ink)}.state-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-ink-2)}.state-block.is-blocked .state-icon{background:var(--color-surface);color:var(--color-status-idle)}.state-block.is-error{border-color:var(--color-status-danger);background:var(--color-status-danger-soft)}.state-block.is-error .state-icon{background:var(--color-surface);color:var(--color-status-danger)}.state-block.is-error p{color:var(--color-status-danger)}.error-ref{display:inline-block;margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-meta)}.skeleton{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}.skeleton-line{height:12px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);animation:skeleton-pulse 1.4s var(--ease-console) infinite}.skeleton-line.u-w-40{width:40%}.skeleton-line.u-w-60{width:60%}.skeleton-line.u-w-80{width:80%}.skeleton-line.u-w-100{width:100%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.inline-loading{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-label-md)}.spinner{width:14px;height:14px;border:2px solid var(--color-border-hairline);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);padding:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md)}.primary-status .ps-body{flex:1 1 320px;min-width:0}.primary-status h2{font-size:var(--text-title-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.primary-status p{margin-top:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-body-sm);max-width:var(--measure)}.primary-status .metric-lg{font-size:var(--text-metric-lg);font-weight:var(--weight-semibold);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.count-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);overflow:hidden}.count-cell{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-lg);border-right:1px solid var(--color-border-hairline);background:var(--color-surface);text-align:left;border-top:none;border-bottom:none;border-left:none;cursor:pointer;transition:background var(--motion-state) var(--ease-console)}.count-cell:last-child{border-right:none}.count-cell:hover{background:var(--color-surface-sunken)}.count-cell .metric-md{font-size:var(--text-metric-md);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.2;color:var(--color-ink);font-variant-numeric:tabular-nums}.count-cell .count-label{font-size:var(--text-label-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.count-cell .count-foot{font-size:var(--text-meta);color:var(--color-ink-3)}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:flex-start;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);border:none;border-bottom:1px solid var(--color-border-hairline);background:transparent;text-align:left;cursor:pointer}.activity-item:last-child{border-bottom:none}a.activity-item{color:inherit;text-decoration:none}.activity-item:hover{background:var(--color-surface-sunken)}.activity-item time{flex:0 0 auto;width:7ch;font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-3);font-variant-numeric:tabular-nums}.activity-body{flex:1 1 auto;min-width:0}.activity-body .line{font-size:var(--text-body-sm);color:var(--color-ink)}.activity-body .sub{margin-top:2px;font-size:var(--text-meta);color:var(--color-ink-3)}.rule-block{padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-ink-2);font-size:var(--text-body-sm)}.rule-block ul{display:flex;flex-direction:column;gap:var(--space-sm);padding-left:0}.rule-block li{display:flex;gap:var(--space-sm)}.rule-block li b{flex:0 0 auto;width:12ch;font-weight:var(--weight-medium);color:var(--color-ink)}.disclosure{border:1px solid var(--color-border-hairline);border-radius:var(--radius-sm);background:var(--color-surface)}.disclosure>summary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:var(--text-label-md);font-weight:var(--weight-medium);cursor:pointer;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"";width:8px;height:8px;border-right:1.5px solid var(--color-ink-3);border-bottom:1.5px solid var(--color-ink-3);transform:rotate(-45deg);transition:transform var(--motion-state) var(--ease-console)}.disclosure[open]>summary:before{transform:rotate(45deg)}.disclosure .disclosure-body{padding:0 var(--space-lg) var(--space-lg)}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg)}.summary-item{display:flex;flex-direction:column;gap:var(--space-xs);padding-right:var(--space-lg);border-right:1px solid var(--color-border-hairline)}.summary-item:last-child{border-right:none}.summary-item dt{font-size:var(--text-label-sm);color:var(--color-ink-3)}.summary-item dd{margin:0;font-size:var(--text-title-md);font-weight:var(--weight-semibold);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.summary-item dd .unit{font-size:var(--text-body-sm);font-weight:var(--weight-regular);color:var(--color-ink-2);margin-left:var(--space-xs)}.summary-item.is-total dd{color:var(--color-ink)}.timeline{display:flex;flex-direction:column;position:relative}.timeline-node{position:relative;display:grid;grid-template-columns:24px minmax(0,1.1fr) minmax(0,2.4fr);gap:var(--space-lg);padding-bottom:var(--space-xl)}.timeline-node:last-child{padding-bottom:0}.timeline-node .rail{position:relative;display:flex;justify-content:center}.timeline-node .rail:before{content:"";position:absolute;top:14px;bottom:calc(var(--space-xl) * -1);width:1px;background:var(--color-border-hairline)}.timeline-node:last-child .rail:before{display:none}.timeline-node .dot{position:relative;z-index:1;width:12px;height:12px;margin-top:4px;border-radius:var(--radius-full);background:var(--color-surface);border:2px solid var(--color-border-strong)}.timeline-node.is-current .dot,.timeline-node.is-done .dot{background:var(--color-accent);border-color:var(--color-accent)}.timeline-node.is-overdue .dot{background:var(--color-status-danger);border-color:var(--color-status-danger)}.timeline-node .node-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);min-width:0}.timeline-node .node-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);font-size:var(--text-body-sm);font-weight:var(--weight-medium)}.timeline-node.is-overdue .node-title{font-weight:var(--weight-medium);color:var(--color-status-danger)}.timeline-node .node-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);min-width:0;margin:0}.fact{display:flex;flex-direction:column;gap:2px;min-width:0}.fact dt{font-size:var(--text-meta);color:var(--color-ink-3)}.fact dd{margin:0;font-size:var(--text-body-sm);color:var(--color-ink);overflow-wrap:anywhere}.fact dd.missing{color:var(--color-ink-3)}.fact dd.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.software-item{padding:var(--space-xl) var(--space-lg);border-bottom:1px solid var(--color-border-hairline)}.software-item:last-child{border-bottom:none}.software-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-lg)}.software-head .sw-main{flex:1 1 300px;min-width:0}.software-head h3{font-size:var(--text-title-sm);font-weight:var(--weight-semibold)}.software-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md) var(--space-lg);margin-top:var(--space-lg)}.hash-block{padding:var(--space-sm) 10px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-ink-2)}.changelog{margin-top:var(--space-md);font-size:var(--text-body-sm);color:var(--color-ink-2);max-width:var(--measure)}.software-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm);flex:0 0 auto}.version-history{margin-top:var(--space-lg)}.login-page{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:var(--color-canvas)}.login-center{flex:1 1 auto;display:grid;place-items:center;padding:var(--space-xxl) var(--space-xl)}.login-card{width:100%;max-width:420px;padding:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg)}.login-head{margin-bottom:var(--space-xl)}.login-head .brand-line{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.login-head h1{font-size:var(--text-title-lg);font-weight:var(--weight-semibold);letter-spacing:-.02em}.login-head p{margin-top:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-body-sm);max-width:var(--measure)}.role-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);padding:var(--space-xs);margin-bottom:var(--space-md);border-radius:var(--radius-full);background:var(--color-surface-sunken)}.role-segmented button{min-height:var(--control-height-sm);padding:0 var(--space-md);border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-ink-2);font-size:var(--text-label-md);font-weight:var(--weight-medium);cursor:pointer}.role-segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-accent-ink);box-shadow:0 1px 2px #0f172014}.demo-note{display:flex;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-ink-2);font-size:var(--text-meta);line-height:1.5}.login-foot{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-hairline);font-size:var(--text-meta);color:var(--color-ink-3)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:var(--space-lg);background:var(--color-overlay-scrim)}.dialog{width:100%;max-width:560px;max-height:calc(100vh - var(--space-xxxl));overflow-y:auto;padding:var(--space-xl);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.dialog h2{font-size:var(--text-title-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.dialog p{margin-top:var(--space-md);color:var(--color-ink-2);font-size:var(--text-body-sm);max-width:var(--measure)}.dialog .dialog-facts{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--text-body-sm);color:var(--color-ink-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl)}.dialog-error{display:flex;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md);border:1px solid #f0c2c2;border-radius:var(--radius-sm);background:#fdeeee;color:#8c1c1c;font-size:var(--text-body-sm);line-height:1.5}.dialog-error>svg{flex:0 0 auto;margin-top:2px}.dialog-error strong{font-weight:var(--weight-semibold)}.dialog-error p{margin-top:var(--space-xs);max-width:none;color:inherit;font-size:var(--text-meta)}.dialog-error-code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);opacity:.7;word-break:break-all}html.gx-modal-open .content{overflow:hidden}.toast{position:fixed;left:50%;bottom:var(--space-xl);z-index:var(--z-toast);transform:translate(-50%);display:flex;align-items:center;gap:var(--space-sm);max-width:min(560px,calc(100vw - var(--space-xxl)));padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-body-sm)}.toast.is-success{border-color:var(--color-status-done);color:var(--color-status-done)}.toast.is-error{border-color:var(--color-status-danger);color:var(--color-status-danger)}.local-note{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-status-idle-soft);color:var(--color-ink-2);font-size:var(--text-meta);line-height:1.55}.detail-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-xl);align-items:start}.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-xl)}.back-link{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);background:none;border:none;padding:0;color:var(--color-ink-2);font-size:var(--text-label-md);cursor:pointer}.back-link:hover{color:var(--color-accent)}.transition-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.transition-note{width:100%;font-size:var(--text-meta);color:var(--color-ink-3)}.desktop-only{display:block}.mobile-only{display:none}@media (max-width: 1599px){.count-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1279px){.app-shell{grid-template-columns:var(--sidebar-rail-width) 1fr}.app-shell .brand-text,.app-shell .nav-label,.app-shell .nav-group-label,.app-shell .sidebar-foot-text{display:none}.app-shell .nav-item{justify-content:center;padding:0}.count-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.count-cell:nth-child(2){border-right:none}.count-cell:nth-child(1),.count-cell:nth-child(2){border-bottom:1px solid var(--color-border-hairline)}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-item:nth-child(2){border-right:none}.detail-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width: 1023px){.col-optional{display:none}.page{padding:var(--space-xl) var(--space-lg) var(--space-xxxl)}.sample-data-banner{padding-left:var(--space-lg);padding-right:var(--space-lg)}.topbar{padding:0 var(--space-lg)}}@media (max-width: 767px){.app-shell,.app-shell.rail{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{display:none}.sidebar.is-open{display:flex;position:fixed;inset:0 auto 0 0;z-index:var(--z-drawer);width:min(280px,82vw);box-shadow:var(--shadow-overlay)}.sidebar.is-open .brand-text,.sidebar.is-open .nav-label,.sidebar.is-open .nav-group-label,.sidebar.is-open .sidebar-foot-text{display:block}.sidebar.is-open .nav-item{justify-content:flex-start;padding:0 var(--space-md)}.desktop-only{display:none}.mobile-only{display:block}.record-list.mobile-only{display:flex;flex-direction:column}.btn-icon.mobile-only{display:inline-grid}.count-strip{grid-template-columns:minmax(0,1fr)}.count-cell{border-right:none;border-bottom:1px solid var(--color-border-hairline)}.count-cell:last-child{border-bottom:none}.summary-strip{grid-template-columns:minmax(0,1fr)}.summary-item{border-right:none;border-bottom:1px solid var(--color-border-hairline);padding-bottom:var(--space-md)}.summary-item:last-child{border-bottom:none}.detail-facts,.field-columns{grid-template-columns:minmax(0,1fr)}.timeline-node{grid-template-columns:20px minmax(0,1fr);gap:var(--space-md)}.timeline-node .node-facts{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-md)}.software-head{flex-direction:column}.software-actions{align-items:stretch;width:100%}.page-head h1{font-size:var(--text-title-md)}}.state-block.is-warn{background:var(--color-status-warn-soft);border-color:var(--color-status-warn)}.state-block.is-warn .state-icon{background:var(--color-surface);color:var(--color-status-warn)}.state-block.is-warn h3,.state-block.is-warn p{color:var(--color-status-warn)}.state-block.is-ok{background:var(--color-status-done-soft);border-color:var(--color-status-done)}.state-block.is-ok .state-icon{background:var(--color-surface);color:var(--color-status-done)}.state-block.is-ok h3,.state-block.is-ok p{color:var(--color-status-done)}.state-block.is-warn .btn,.state-block.is-ok .btn{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink)}.state-block.is-warn .btn:hover,.state-block.is-ok .btn:hover{background:var(--color-surface-sunken)}.state-block .state-meta{font-size:var(--text-meta);color:inherit}table.data th.cell-action,table.data td.cell-action{text-align:right;white-space:nowrap}.probe-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border-hairline);border-radius:var(--radius-sm);background:var(--color-surface)}.probe-line .probe-time{font-size:var(--text-meta);color:var(--color-ink-3)}.sim-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.sim-strip .sim-label{font-size:var(--text-label-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.kv-list{display:flex;flex-direction:column;gap:var(--space-sm)}.kv-list>div{display:flex;gap:var(--space-md);font-size:var(--text-body-sm)}.kv-list>div>b{flex:0 0 auto;width:11ch;font-weight:var(--weight-medium);color:var(--color-ink)}.kv-list>div>span{min-width:0;color:var(--color-ink-2);overflow-wrap:anywhere}@media (max-width: 767px){table.data td.cell-action,table.data th.cell-action{text-align:left}}.file-input{width:100%;font-family:inherit;font-size:var(--text-body-md);color:var(--color-ink);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer}.file-input:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.file-input:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.upload-progress{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.upload-bar{height:6px;width:100%;border-radius:var(--radius-full);background:var(--color-surface-sunken);position:relative;overflow:hidden}.upload-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--pct, 0%);background:var(--color-accent);transition:width var(--motion-overlay) var(--ease)}.upload-pct{font-size:var(--text-meta);color:var(--color-ink-3);font-variant-numeric:tabular-nums}.software-card{padding:var(--space-xl) var(--space-lg);border-bottom:1px solid var(--color-border-hairline)}.software-card:last-of-type{border-bottom:none}.software-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-md)}.software-card-title{flex:1 1 260px;min-width:0}.software-card-title h3{font-size:var(--text-title-md);font-weight:var(--weight-semibold)}.software-card-desc-block{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.software-card-desc-label{margin:0}.software-card-desc{font-size:var(--text-title-sm);color:var(--color-ink-2);max-width:var(--measure)}.slot-grid{list-style:none;margin:var(--space-lg) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.slot{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;padding:var(--space-md);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.slot-active{border-color:var(--color-accent);background:var(--color-surface, #fff)}.slot-empty{border-style:dashed}.slot-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.slot-label{font-size:var(--text-label-md);font-weight:var(--weight-semibold);color:var(--color-ink-2)}.slot-flag{font-size:var(--text-label-sm);color:var(--color-accent)}.slot-version{font-size:var(--text-title-sm);overflow-wrap:anywhere}.slot-facts{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-label-sm);color:var(--color-ink-2)}.slot-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-top:auto;padding-top:var(--space-sm)}.slot-hint{max-width:none}.slot-detail{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-hairline)}.slot-facts-line{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.slot-changelog{display:flex;flex-direction:column;gap:var(--space-xs)}.slot-changelog .changelog{margin-top:0}.btn-link{padding:0;border:none;background:none;color:var(--color-accent);font-size:var(--text-body-sm);text-decoration:underline;cursor:pointer}.btn-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (max-width: 767px){.slot-grid{grid-template-columns:1fr}}.embed-shell{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg) var(--space-xl) var(--space-md)}.embed-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.embed-bar-text h1{font-size:var(--text-title-md);font-weight:var(--weight-semibold)}.embed-bar-text .meta{margin-top:var(--space-xs);max-width:62ch}.embed-frame{width:100%;height:calc(100vh - 220px);min-height:460px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);background:#fff}@media (max-width: 767px){.embed-shell{padding:var(--space-md)}.embed-frame{height:calc(100vh - 250px);min-height:380px}}.crash-panel{max-width:640px;margin:12vh auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.crash-panel h1{font-size:var(--text-title-md);font-weight:var(--weight-semibold)}.crash-panel .btn-row{margin-top:var(--space-md)}.cell-edit{display:flex;align-items:center;gap:var(--space-xs)}.input-compact{padding:4px 8px;font-size:var(--text-body-sm)}.btn-xs{padding:3px 8px;font-size:var(--text-label);line-height:1.5}.btn-danger{border-color:#b4453c;color:#b4453c}.row-protected{background:#5a6a6a0f}.audit-policy{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.row-detail>td{background:var(--color-surface-sunken);padding:var(--space-sm) var(--space-md)}.detail-json{margin:0;padding:var(--space-sm);border:1px solid var(--color-border-hairline);border-radius:var(--radius-sm);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-2);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs);max-width:34rem}.order-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-hairline);border-radius:var(--radius-sm)}.order-index{min-width:1.4rem;color:var(--color-ink-2);font-variant-numeric:tabular-nums}.order-label{flex:1 1 auto}.order-actions{display:flex;gap:var(--space-xs)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:var(--space-md)}.theme-option{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border-hairline);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-body-sm);font-family:inherit;text-align:left;cursor:pointer;transition:background var(--motion-state) var(--ease-console)}.theme-option:hover{background:var(--color-surface-sunken)}.theme-option[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.theme-option-name{font-weight:var(--weight-medium);color:var(--color-ink)}.theme-swatches{display:flex;align-items:center;gap:var(--space-xs)}.theme-swatch{width:18px;height:18px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong)}.theme-option[data-theme=daylight]{--theme-sw-canvas: #f1f2f4;--theme-sw-surface: #fbfbfc;--theme-sw-accent: #0e6a6e}.theme-option[data-theme=navy]{--theme-sw-canvas: #eef1f7;--theme-sw-surface: #ffffff;--theme-sw-accent: #1c5187}.theme-option[data-theme=graphite]{--theme-sw-canvas: #13161b;--theme-sw-surface: #1b1f26;--theme-sw-accent: #57b8bd}.theme-option[data-theme=sand]{--theme-sw-canvas: #f6f2ea;--theme-sw-surface: #fffdf9;--theme-sw-accent: #9a5a1e}.theme-option[data-theme=moss]{--theme-sw-canvas: #f0f3ee;--theme-sw-surface: #fdfefc;--theme-sw-accent: #2c6b3f}.theme-option[data-theme=contrast]{--theme-sw-canvas: #ffffff;--theme-sw-surface: #ffffff;--theme-sw-accent: #0b4f8a}.theme-swatch:nth-child(1){background:var(--theme-sw-canvas)}.theme-swatch:nth-child(2){background:var(--theme-sw-surface)}.theme-swatch:nth-child(3){background:var(--theme-sw-accent)}.table-scroll,.table-scroll-container,[class*=table-scroll],.overflow-x-auto{overflow-x:scroll!important;overflow-y:hidden!important;scrollbar-width:auto!important;scrollbar-color:#94a3b8 #eef2f6!important}::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}::-webkit-scrollbar-track{background:#f1f5f9!important;border:1px solid #cbd5e1!important;border-radius:6px!important}::-webkit-scrollbar-thumb{background:#94a3b8!important;border:2px solid #f1f5f9!important;border-radius:6px!important;min-width:50px!important}::-webkit-scrollbar-thumb:hover{background:#64748b!important}:root{--gx-ease: cubic-bezier(.22, .61, .36, 1);--gx-ease-out: cubic-bezier(.16, 1, .3, 1);--gx-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--gx-fast: .12s;--gx-base: .22s;--gx-slow: .38s;--gx-lift: -2px;--gx-ring: 0 0 0 3px rgba(37, 99, 235, .18)}@keyframes gx-fade-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes gx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gx-zoom-in{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}@keyframes gx-slide-in-right{0%{opacity:0;transform:translate3d(16px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes gx-slide-in-left{0%{opacity:0;transform:translate3d(-16px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes gx-slide-in-down{0%{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes gx-pop{0%{transform:scale(.94)}60%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes gx-ripple{0%{opacity:.35;transform:scale(0)}to{opacity:0;transform:scale(2.6)}}@keyframes gx-spin{to{transform:rotate(360deg)}}@keyframes gx-shimmer{0%{background-position:-320px 0}to{background-position:320px 0}}@keyframes gx-pulse-ring{0%{box-shadow:0 0 #2563eb59}70%{box-shadow:0 0 0 8px #2563eb00}to{box-shadow:0 0 #2563eb00}}@keyframes gx-shake{0%,to{transform:translateZ(0)}20%{transform:translate3d(-4px,0,0)}40%{transform:translate3d(4px,0,0)}60%{transform:translate3d(-3px,0,0)}80%{transform:translate3d(3px,0,0)}}@keyframes gx-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html.gx-js :where(.gx-page){animation:gx-fade-up var(--gx-base) var(--gx-ease-out) backwards}html.gx-js :where(.gx-in){animation:gx-fade-up var(--gx-slow) var(--gx-ease-out) backwards;animation-delay:calc(var(--gx-i, 0) * 32ms)}html.gx-js :where(.gx-in--zoom){animation-name:gx-zoom-in}html.gx-js :where(.gx-in--right){animation-name:gx-slide-in-right}html.gx-js :where(.gx-in--left){animation-name:gx-slide-in-left}html.gx-js :where(.gx-in--down){animation-name:gx-slide-in-down}html.gx-js :where(tbody)>:where(tr).gx-row-in{animation:gx-fade-up .26s var(--gx-ease-out) backwards;animation-delay:calc(var(--gx-i, 0) * 24ms)}html.gx-js :where(button,.btn,[role=button],input[type=button],input[type=submit]){position:relative;overflow:hidden;transition:transform var(--gx-fast) var(--gx-ease),box-shadow var(--gx-base) var(--gx-ease),background-color var(--gx-fast) linear,border-color var(--gx-fast) linear,color var(--gx-fast) linear,filter var(--gx-fast) linear;-webkit-tap-highlight-color:transparent}html.gx-js :where(button,.btn,[role=button],input[type=button],input[type=submit]):not(:disabled):hover{transform:translate3d(0,var(--gx-lift),0);filter:brightness(1.03)}html.gx-js :where(button,.btn,[role=button],input[type=button],input[type=submit]):not(:disabled):active{transform:translateZ(0) scale(.972);transition-duration:60ms}html.gx-js :where(button,.btn,[role=button]):disabled{filter:saturate(.85)}html.gx-js :where(button,.btn,[role=button]).gx-busy{pointer-events:none;opacity:.75}html.gx-js :where(button,.btn,[role=button]).gx-busy:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent) 0 0 / 60% 100% no-repeat;animation:gx-shimmer 1.1s linear infinite;pointer-events:none}html.gx-js :where(button,.btn,[role=button])>.gx-ripple-dot{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;width:120px;height:120px;margin:-60px 0 0 -60px;animation:gx-ripple .62s var(--gx-ease-out) forwards}html.gx-js :where(.btn-primary,.btn.btn-primary,button.primary):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.22) 50%,transparent 80%);transform:translate3d(-120%,0,0);transition:transform .62s var(--gx-ease-out);pointer-events:none}html.gx-js :where(.btn-primary,.btn.btn-primary,button.primary):hover:before{transform:translate3d(120%,0,0)}html.gx-js :where(a:not(.btn):not([role=button])){transition:color var(--gx-fast) linear,opacity var(--gx-fast) linear}html.gx-js :where(a:not(.btn):not([role=button]))>:where(span,strong){display:inline-block;transition:transform var(--gx-fast) var(--gx-ease)}html.gx-js :where(a:not(.btn):not([role=button])):hover>:where(span){transform:translate3d(0,-.5px,0)}html.gx-js :where(.card,.panel,.stat-card,.kpi-card,.tile,.software-card,.login-card,.state-block,.import-card){transition:transform var(--gx-base) var(--gx-ease),box-shadow var(--gx-base) var(--gx-ease),border-color var(--gx-base) linear}html.gx-js :where(.card,.stat-card,.kpi-card,.tile,.software-card,.login-card,.import-card):hover{transform:translate3d(0,var(--gx-lift),0);box-shadow:0 10px 24px -12px #0f172a47;border-color:#2563eb47}html.gx-js :where(.panel):hover{box-shadow:0 8px 22px -16px #0f172a4d;border-color:#2563eb33}html.gx-js :where(.card,.panel,.software-card):active{transform:translateZ(0)}html.gx-js :where(body){transition:background-color .26s var(--gx-ease),color .26s var(--gx-ease)}html.gx-js :where(.app-shell,.main-col,.topbar,.sidebar,.content){transition:background-color .26s var(--gx-ease),border-color .26s var(--gx-ease),color .26s var(--gx-ease)}html.gx-js :where(.avatar,.chip,.badge,.user-tag){transition:transform var(--gx-fast) var(--gx-ease-spring),background-color var(--gx-fast) linear,box-shadow var(--gx-fast) linear}html.gx-js :where(.avatar,.chip,.badge,.user-tag):hover{transform:translate3d(0,-1px,0) scale(1.02)}html.gx-js :where(tbody)>:where(tr){transition:background-color var(--gx-fast) linear,box-shadow var(--gx-fast) linear}html.gx-js :where(tbody)>:where(tr):hover{background-color:#2563eb0e;box-shadow:inset 3px 0 #2563eb8c}html.gx-js :where(.list-item,.nav-item,.menu-item,.row,.activity-item,.order-item){transition:background-color var(--gx-fast) linear,transform var(--gx-fast) var(--gx-ease)}html.gx-js :where(.list-item,.nav-item,.menu-item,.row,.activity-item,.order-item):hover{transform:translate3d(2px,0,0)}html.gx-js :where(.sidebar a,.nav-link,.menu-link){position:relative;overflow:hidden}html.gx-js :where(.sidebar a,.nav-link,.menu-link):after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor;transform:scaleY(0);transform-origin:center;transition:transform var(--gx-base) var(--gx-ease-out);opacity:.9}html.gx-js :where(.sidebar a,.nav-link,.menu-link):hover:after,html.gx-js :where(.sidebar a,.nav-link,.menu-link).is-active:after,html.gx-js :where(.sidebar a,.nav-link,.menu-link)[aria-current=page]:after{transform:scaleY(1)}html.gx-js :where(.tab,.tab-btn,.kpi-role-tab,[role=tab]){transition:color var(--gx-fast) linear,background-color var(--gx-fast) linear,transform var(--gx-fast) var(--gx-ease)}html.gx-js :where(.tab,.tab-btn,.kpi-role-tab,[role=tab]):hover{transform:translate3d(0,-1px,0)}html.gx-js :where(.tab,.tab-btn,.kpi-role-tab,[role=tab])[aria-selected=true],html.gx-js :where(.tab,.tab-btn,.kpi-role-tab,[role=tab]).active{animation:gx-pop .26s var(--gx-ease-spring) both}html.gx-js :where(input:not([type=checkbox]):not([type=radio]),select,textarea){transition:border-color var(--gx-fast) linear,box-shadow var(--gx-base) var(--gx-ease),background-color var(--gx-fast) linear}html.gx-js :where(input:not([type=checkbox]):not([type=radio]),select,textarea):hover{border-color:#2563eb73}html.gx-js :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{box-shadow:var(--gx-ring);outline:none}html.gx-js :where(input[type=checkbox],input[type=radio]){transition:transform var(--gx-fast) var(--gx-ease-spring),box-shadow var(--gx-fast) linear}html.gx-js :where(input[type=checkbox],input[type=radio]):active{transform:scale(.88)}html.gx-js :where(label){transition:color var(--gx-fast) linear}html.gx-js :where(.gx-invalid){animation:gx-shake .32s var(--gx-ease) backwards;border-color:#dc2626!important}html.gx-js :where(.modal,.modal-card,.dialog,.drawer,.popover,[role=dialog]){animation:gx-zoom-in var(--gx-base) var(--gx-ease-out) backwards}html.gx-js :where(.modal-backdrop,.overlay,.backdrop,.scrim){animation:gx-fade-in var(--gx-fast) linear backwards;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}html.gx-js :where(.sidebar.is-open){animation:gx-slide-in-left var(--gx-base) var(--gx-ease-out) backwards}@keyframes gx-toast-in{0%{opacity:0;transform:translate(-50%) translate3d(0,12px,0) scale(.98)}to{opacity:1;transform:translate(-50%) translateZ(0) scale(1)}}html.gx-js :where(.toast,.snackbar){animation:gx-toast-in var(--gx-base) var(--gx-ease-spring) both}html.gx-js :where(.toast-item){animation:gx-slide-in-right var(--gx-base) var(--gx-ease-spring) both}html.gx-js :where(.skeleton,.shimmer,.loading-block){background-image:linear-gradient(90deg,#94a3b81a 0,#94a3b838 40px,#94a3b81a 80px);background-size:320px 100%;background-repeat:no-repeat;animation:gx-shimmer 1.15s linear infinite}html.gx-js :where(.spinner,.loading-spinner){animation:gx-spin .8s linear infinite}html.gx-js .gx-progress-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;background:linear-gradient(90deg,#2563eb,#38bdf8);transform-origin:0 50%;animation:gx-progress .9s var(--gx-ease-out) forwards;pointer-events:none}html.gx-js :where(.gx-pulse){animation:gx-pulse-ring 1.6s var(--gx-ease-out) 2}html.gx-js :where([data-gx-count]){font-variant-numeric:tabular-nums}html.gx-js :where(.icon-btn,.tool-btn,.toolbar button){transition:transform var(--gx-fast) var(--gx-ease-spring),background-color var(--gx-fast) linear,color var(--gx-fast) linear}html.gx-js :where(.icon-btn,.tool-btn,.toolbar button):hover{transform:translate3d(0,-1px,0) scale(1.04)}html.gx-js :where(.icon-btn,.tool-btn,.toolbar button):active{transform:scale(.94)}html.gx-js :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid rgba(37,99,235,.65);outline-offset:2px;border-radius:inherit;transition:outline-offset var(--gx-fast) var(--gx-ease)}html.gx-js :where(*)::-webkit-scrollbar-thumb{transition:background-color var(--gx-base) linear}@media print{html.gx-js *,html.gx-js *:before,html.gx-js *:after{animation:none!important;transition:none!important;transform:none!important}}html.gx-js :where(.inline-loading,.loading-text){animation:gx-fade-in .9s var(--gx-ease) infinite alternate}@media (prefers-reduced-motion: reduce){html.gx-js *,html.gx-js *:before,html.gx-js *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}
