/* Ledger component styles. Semantic tokens only; theme switching swaps tokens, never this file. */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page);font-size:1rem;line-height:1.5}
.lx,.lx *{font-family:var(--font-sans)}
.lx-v,.lx-v *{font-family:var(--font-value)!important;font-weight:700;word-spacing:-.2em;font-variation-settings:normal}
.lx-v{color:var(--text-value)}
.lx-sheet .lx-v,.lx-slip .lx-v,.lx-receipt .lx-v{color:var(--sheet-value)}
.lx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lx-w85{font-variation-settings:"wdth" 85}.lx-w80{font-variation-settings:"wdth" 80}.lx-w75{font-variation-settings:"wdth" 75}.lx-w68{font-variation-settings:"wdth" 68}
h1,h2,h3,h4,p{margin:0}
.lx-h1{font-size:2rem;line-height:1.1;font-weight:800;font-variation-settings:"wdth" 85;letter-spacing:0}
@media(max-width:720px){.lx-h1{font-size:1.75rem}}
.lx-h2{font-size:1.125rem;line-height:1.3;font-weight:800}
.lx-h3{font-size:1.25rem;line-height:1.3;font-weight:800}
.lx-caption{font-size:.8125rem;font-weight:700;color:var(--text-muted);line-height:1.3}
.lx-label{font-size:.875rem;font-weight:700;color:var(--text-primary)}
.lx-muted{color:var(--text-secondary)}
:where(.lx-btn,.lx-iconbtn,.lx-seg button,.lx-tab,.lx-link,.lx-node,.lx-input,.lx-sel,.lx-chk,.lx-radiocard,.lx-switch,.lx-zip,.lx-daterange,.lx-opt,.lx-kebab,.lx-sugg,.lx-play):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
.is-focus{outline:3px solid var(--focus-ring)!important;outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
/* icons */
.lx-icon{display:inline-block;flex:none;vertical-align:middle}
/* buttons */
.lx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 16px;border-radius:var(--radius-control);border:1px solid transparent;font:700 .9375rem/1.2 var(--font-sans);cursor:pointer;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-ledger),transform var(--duration-fast) var(--ease-ledger)}
.lx-btn--primary{background:var(--accent);color:var(--text-on-accent)}
.lx-btn--primary:hover,.lx-btn--primary.is-hover{background:var(--accent-hover)}
.lx-btn--primary:active,.lx-btn--primary.is-active{background:var(--accent-active);transform:translateY(1px)}
.lx-btn--publish{background:var(--action-publish);color:var(--text-on-publish);font-weight:800}
.lx-btn--publish:hover,.lx-btn--publish.is-hover{background:var(--publish-hover)}
.lx-btn--publish:active,.lx-btn--publish.is-active{background:var(--publish-active);transform:translateY(1px)}
.lx-btn--secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-default)}
.lx-btn--secondary:hover,.lx-btn--secondary.is-hover{background:var(--bg-hover)}
.lx-btn--secondary:active,.lx-btn--secondary.is-active{background:var(--bg-selected);transform:translateY(1px)}
.lx-btn--ghost{background:transparent;color:var(--text-link)}
.lx-btn--ghost:hover,.lx-btn--ghost.is-hover{background:var(--bg-hover)}
.lx-btn--ghost:active,.lx-btn--ghost.is-active{background:var(--bg-selected);transform:translateY(1px)}
.lx-btn[disabled],.lx-btn.is-disabled{background:var(--bg-hover);color:var(--text-muted);border-color:transparent;cursor:not-allowed;transform:none}
.lx-btn.is-loading{opacity:var(--opacity-refetch);cursor:progress}
.lx-btn--block{display:flex;width:100%}
.lx-btn--b{border-radius:var(--radius-b-button)}
.lx-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-control);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:0}
.lx-iconbtn:hover,.lx-iconbtn.is-hover{background:var(--bg-hover)}
.lx-iconbtn:active,.lx-iconbtn.is-active{background:var(--bg-selected)}
.lx-iconbtn[disabled]{color:var(--text-muted);cursor:not-allowed;background:var(--bg-hover)}
.lx-iconbtn--flat{border-color:transparent;background:transparent}
.lx-dot{position:absolute;top:8px;right:8px;width:11px;height:11px;border-radius:999px;background:var(--stamp-deny);box-shadow:0 0 0 2px var(--bg-surface)}
.lx-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-link);font-weight:700;text-decoration:none;min-height:24px;cursor:pointer;background:none;border:0;padding:0;font-size:inherit}
.lx-link:hover,.lx-link.is-hover{text-decoration:underline}
.lx-link--stand{min-height:44px}
/* segmented + tabs */
.lx-seg{display:inline-flex;gap:0;padding:3px;border-radius:var(--radius-segmented);background:var(--status-off-bg)}
.lx-seg button{min-height:44px;min-width:44px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:var(--status-off-fg);font:700 .9375rem/1 var(--font-sans);cursor:pointer}
.lx-seg button:hover{background:var(--bg-hover)}
.lx-seg button[aria-pressed=true]{background:var(--bg-surface);color:var(--text-link);box-shadow:var(--shadow-e1)}
.lx-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-subtle);overflow-x:auto}
.lx-tab{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font:700 .9375rem/1 var(--font-sans);color:var(--text-secondary);cursor:pointer;white-space:nowrap}
.lx-tab:hover{color:var(--text-primary);background:var(--bg-hover)}
.lx-tab[aria-pressed=true]{color:var(--text-link);border-bottom-color:var(--accent)}
.lx-tab .lx-pill{min-width:24px;height:22px;padding:0 8px;border-radius:999px;background:var(--accent-subtle);color:var(--text-link);font-size:.8125rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
/* fields */
.lx-field{display:flex;flex-direction:column;gap:6px}
.lx-field>label,.lx-field>.lx-fl{font-size:.875rem;font-weight:700;color:var(--text-primary)}
.lx-hint{font-size:.8125rem;color:var(--text-secondary);font-weight:400}
.lx-err{font-size:.8125rem;color:var(--status-needs-fg);font-weight:700;display:flex;gap:6px;align-items:center}
.lx-inputwrap{position:relative;display:flex;align-items:center}
.lx-input{width:100%;min-height:44px;padding:0 14px;border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--bg-surface);color:var(--text-primary);font:400 1rem/1.2 var(--font-sans)}
.lx-input::placeholder{color:var(--text-placeholder);opacity:1}
.lx-input:hover,.lx-input.is-hover{border-color:var(--text-secondary)}
.lx-input:focus-visible,.lx-input.is-focus{outline:1px solid var(--accent);outline-offset:0;box-shadow:none;border-color:var(--accent)}
.lx-input[disabled]{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}
.lx-input.is-error{border-color:var(--status-needs-fg);border-width:2px}
.lx-input.is-value{font-family:var(--font-value);font-weight:700;color:var(--text-value)}
.lx-inputwrap .lx-icon{position:absolute;left:14px;color:var(--text-secondary);pointer-events:none}
.lx-inputwrap--icon .lx-input{padding-left:44px}
.lx-kbd{position:absolute;right:12px;font:700 .8125rem/1 var(--font-sans);color:var(--text-muted);border:1px solid var(--border-default);border-radius:6px;padding:4px 6px;background:var(--bg-sunken)}
.lx-chk{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;color:var(--text-primary);font-size:1rem}
.lx-chk input{width:22px;height:22px;margin:0;accent-color:var(--accent);flex:none;cursor:pointer}
.lx-chk input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
.lx-switch{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;background:none;border:0;padding:0;cursor:pointer;color:var(--text-primary);font:700 .9375rem/1 var(--font-sans)}
.lx-switch .lx-track{position:relative;width:44px;height:26px;border-radius:999px;background:var(--bg-surface);border:2px solid var(--border-control);flex:none}
.lx-switch .lx-track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:var(--border-control);transition:transform var(--duration-base) var(--ease-ledger)}
.lx-switch[aria-checked=true] .lx-track{background:var(--accent);border-color:var(--accent)}
.lx-switch[aria-checked=true] .lx-track::after{background:var(--text-on-accent);transform:translateX(18px)}
.lx-radiocard{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;padding:14px 16px;min-height:44px;border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font:inherit}
.lx-radiocard:hover{background:var(--bg-hover)}
.lx-radiocard[aria-checked=true]{border:2px solid var(--text-primary);background:var(--bg-selected);padding:13px 15px}
.lx-radiocard .lx-rd{width:22px;height:22px;border-radius:999px;border:2px solid var(--border-control);flex:none;margin-top:1px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface)}
.lx-radiocard[aria-checked=true] .lx-rd{border-color:var(--accent)}
.lx-radiocard[aria-checked=true] .lx-rd::after{content:"";width:10px;height:10px;border-radius:999px;background:var(--accent)}
.lx-radiocard b{display:block;font-size:1rem;font-weight:800}
.lx-radiocard span.lx-d{display:block;font-size:.9375rem;color:var(--text-secondary);margin-top:2px}
.lx-sentence{font-size:1.0625rem;line-height:2.1;color:var(--text-primary)}
.lx-sel{position:relative;display:inline-flex;align-items:center;margin:0 2px;vertical-align:baseline}
.lx-sel select{appearance:none;-webkit-appearance:none;field-sizing:content;min-height:44px;background:transparent;border:0;border-radius:0;padding:0 22px 0 2px;color:var(--text-value);font-family:var(--font-value);font-weight:700;font-size:1rem;cursor:pointer;word-spacing:-.2em}
.lx-sel select option{color:#1D2A6E;background:#fff;font-family:var(--font-sans)}
.lx-sel .lx-icon{position:absolute;right:0;pointer-events:none;color:var(--text-link)}
.lx-sel::after{content:"";position:absolute;left:0;right:0;bottom:9px;border-bottom:2px dashed var(--accent);pointer-events:none}
.lx-sel:hover select{background:var(--bg-hover)}
.lx-zipgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:420px}
.lx-zip{min-height:44px;border-radius:8px;border:0;font:700 .9375rem/1 var(--font-value);word-spacing:-.2em;cursor:pointer;background:var(--blue-50);color:var(--ink-500)}
.lx-zip[aria-pressed=true]{background:var(--blue-700);color:#fff}
.lx-zip.is-center{background:var(--navy-900);color:var(--canary-400)}
.lx-zip:hover{outline:2px solid var(--border-draft);outline-offset:-2px}
.lx-daterange{position:relative;display:inline-block}
.lx-daterange>button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--bg-surface);color:var(--text-primary);font:700 .9375rem/1 var(--font-sans);cursor:pointer}
.lx-menu{position:absolute;z-index:5;top:calc(100% + 6px);left:0;min-width:220px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-control);box-shadow:var(--shadow-e3);padding:6px}
.lx-opt{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0 12px;border:0;background:none;border-radius:8px;text-align:left;font:700 .9375rem/1 var(--font-sans);color:var(--text-primary);cursor:pointer}
.lx-opt:hover{background:var(--bg-hover)}
.lx-opt[aria-checked=true]{color:var(--text-link);background:var(--bg-selected)}
.lx-menu hr{border:0;border-top:1px solid var(--border-subtle);margin:6px 0}
.lx-askrow{display:flex;gap:8px}
.lx-send{flex:none;width:44px;height:44px;border-radius:var(--radius-control);border:0;background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lx-send:hover{background:var(--blue-800)}
/* surfaces */
.lx-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-e1);color:var(--text-primary)}
.lx-card--flush{padding:0;overflow:hidden}
.lx-card>.lx-h2{margin-bottom:14px}
.lx-card--side{border-radius:var(--radius-side-card)}
.lx-sheet{position:relative;background:var(--bg-paper);color:var(--sheet-text);border-radius:var(--radius-paper);box-shadow:var(--shadow-e2);padding:clamp(20px,4vw,44px) clamp(18px,4vw,52px);max-width:880px;width:100%}
.lx-sheet--wide{max-width:1000px}
.lx-sheet--ledger{background:var(--pink-100);color:var(--pink-ink);border-bottom:1px solid var(--pink-300)}
.lx-sheet--ledger .lx-v{color:var(--pink-ink)}
.lx-sheet--tilt{transform:rotate(.6deg)}
.lx-sheet--canary{background:var(--canary-300);color:var(--navy-900)}
.lx-sheet--canary .lx-v{color:var(--navy-900)}
.lx-sheet h2.lx-h2s{font-size:1.625rem;line-height:1.2;font-weight:800;font-variation-settings:"wdth" 85;border-top:3px solid var(--sheet-rule);padding-top:10px;margin:28px 0 12px;color:var(--sheet-text)}
.lx-sheet .lx-sheettitle{font-size:clamp(2.25rem,3.6vw,2.75rem);line-height:1.05;font-weight:800;font-variation-settings:"wdth" 80}
.lx-corner{position:absolute;top:14px;right:18px;font:700 .9375rem/1 var(--font-value);color:var(--serial);word-spacing:-.2em}
.lx-corner--label{font:800 .8125rem/1 var(--font-sans);font-variation-settings:"wdth" 75;letter-spacing:.1em;color:var(--pink-ink);text-transform:uppercase}
@media(max-width:560px){.lx-corner{position:static;display:block;margin-bottom:8px}}
.lx-slip{position:relative;background:var(--bg-paper);color:var(--sheet-text);border-radius:var(--radius-paper);box-shadow:var(--shadow-e2);padding:22px 24px 20px;display:flex;flex-direction:column;gap:12px}
.lx-slip .lx-corner{top:12px;right:16px}
.lx-slip .lx-h3{padding-right:112px}
.lx-slip .lx-fact{font-size:.9375rem;line-height:1.5;color:var(--sheet-text);max-width:68ch}
.lx-slip .lx-fact .lx-muted{color:var(--sheet-muted)}
.lx-slip .lx-note{font-size:.875rem;color:var(--sheet-muted)}
.lx-decide{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lx-slip .lx-btn--secondary{background:var(--bg-paper);border-color:var(--ink-500);color:var(--navy-900)}
.lx-slip .lx-btn--primary{background:var(--blue-700);color:#fff}
.lx-slip .lx-btn--primary:hover{background:var(--blue-800)}
.lx-slip .lx-btn--ghost{color:var(--blue-700)}
.lx-slip .lx-link{color:var(--blue-700)}
.lx-decided{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lx-decided p{flex:1;min-width:200px;font-size:.9375rem}
.lx-stack{display:flex;flex-direction:column;gap:18px}
@media(max-width:560px){.lx-slip .lx-h3{padding-right:0}.lx-decide.lx-decide--stack .lx-btn{width:100%}}
.lx-stat{position:relative;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:16px;box-shadow:var(--shadow-e1);display:flex;flex-direction:column;gap:4px;min-width:150px}
.lx-stat .lx-sl{font-size:.875rem;font-weight:600;color:var(--text-secondary);padding-right:44px}
.lx-stat .lx-sv{font-size:2rem;line-height:1.1;font-weight:800;color:var(--text-primary)}
.lx-stat .lx-sd{font-size:.8125rem;font-weight:700;color:var(--text-muted)}
.lx-stat .lx-sd.is-good{color:var(--text-link)}
.lx-stat .lx-si{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--text-link)}
.lx-stat .lx-si.is-needs{background:var(--status-needs-bg);color:var(--status-needs-fg)}
.lx-stat .lx-si.is-backup{background:var(--status-backup-bg);color:var(--status-backup-fg)}
.lx-stat a.lx-stretch{position:absolute;inset:0;border-radius:inherit}
.lx-stat a.lx-stretch:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.lx-chip{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border-radius:999px;font-size:.8125rem;font-weight:700;white-space:nowrap;line-height:1}
.lx-chip i{width:8px;height:8px;border-radius:999px;background:currentColor;flex:none}
.lx-chip--live{background:var(--status-live-bg);color:var(--status-live-fg)}
.lx-chip--needs{background:var(--status-needs-bg);color:var(--status-needs-fg)}
.lx-chip--backup{background:var(--status-backup-bg);color:var(--status-backup-fg)}
.lx-chip--off{background:var(--status-off-bg);color:var(--status-off-fg)}
.lx-chip--draft{background:var(--status-draft-bg);color:var(--status-draft-fg);border:1.5px dashed var(--border-draft)}
.lx-chip--copilot{background:var(--status-copilot-bg);color:var(--status-copilot-fg)}
.lx-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--stamp-deny);color:#fff;font-size:.8125rem;font-weight:800;line-height:1}
.lx-stamp{display:inline-block;border:3px solid currentColor;border-radius:var(--radius-stamp);padding:6px 12px;font-size:1.375rem;line-height:1;font-weight:800;font-variation-settings:"wdth" 75;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-4deg);white-space:nowrap;background:transparent}
.lx-stamp--approve{color:var(--stamp-approve)}.lx-stamp--deny{color:var(--stamp-deny)}.lx-stamp--neutral{color:var(--stamp-neutral)}
.lx-stamp--sm{font-size:.875rem;border-width:2px;padding:3px 7px;transform:rotate(-2deg)}
.lx-stamp--dashed{border-style:dashed}
.lx-stamp.is-landing{animation:lx-land var(--duration-base) var(--ease-ledger) both}
@keyframes lx-land{from{transform:scale(1.15) rotate(-9deg);opacity:.2}to{transform:scale(1) rotate(-4deg);opacity:1}}
@media(prefers-reduced-motion:reduce){.lx-stamp.is-landing{animation:none}.lx-btn,.lx-switch .lx-track::after{transition:none}}
.lx-meter{display:inline-flex;align-items:center;gap:10px}
.lx-meter .lx-segs{display:inline-flex;gap:2px}
.lx-meter .lx-segs i{width:9px;height:10px;background:var(--viz-track);display:block}
.lx-meter .lx-segs i.on{background:var(--text-primary)}
.lx-progress{display:flex;flex-direction:column;gap:6px}
.lx-progress .lx-pl{font-size:.875rem;font-weight:700}
.lx-progress .lx-bar{height:8px;border-radius:4px;background:var(--viz-track);overflow:hidden}
.lx-progress .lx-bar i{display:block;height:100%;background:var(--accent)}
.lx-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}
.lx-facts>div{padding:10px 12px 10px 0;border-top:1px solid var(--border-subtle)}
.lx-facts dt{font-size:.8125rem;font-weight:700;color:var(--text-muted)}
.lx-facts dd{margin:2px 0 0;font-size:.9375rem;color:var(--text-primary)}
.lx-callout{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-control);font-size:.9375rem;line-height:1.45}
.lx-callout .lx-icon{margin-top:2px}
.lx-callout--copilot{background:var(--copilot-tint);color:var(--status-copilot-fg)}
.lx-callout--alert{background:var(--status-needs-bg);color:var(--status-needs-fg)}
.lx-callout--backup{background:var(--status-backup-bg);color:var(--status-backup-fg)}
.lx-callout--draft{background:transparent;border:1.5px dashed var(--border-draft);color:var(--text-secondary)}
.lx-slip .lx-callout--copilot{background:var(--canary-100);color:var(--amber-ink)}
.lx-callout b{font-weight:800}
.lx-tip{display:inline-block;background:var(--navy-900);color:#fff;font-size:.8125rem;padding:8px 12px;border-radius:10px;box-shadow:var(--shadow-e3);line-height:1.4;min-width:120px}
:root[data-theme=desk] .lx-tip,[data-theme=desk] .lx-tip{background:var(--desk-text);color:var(--desk)}
.lx-tip b{font-weight:800;display:block;font-size:.875rem}
.lx-tip .lx-key{display:flex;align-items:center;gap:6px}.lx-tip .lx-key i{width:8px;height:8px;border-radius:2px;display:block}
.lx-empty{text-align:center;padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:12px}
.lx-empty p{max-width:44ch;color:var(--text-secondary)}
.lx-crumbs{display:flex;align-items:center;gap:4px;font-size:.9375rem;flex-wrap:wrap}
.lx-crumbs a{color:var(--text-link);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.lx-crumbs a:hover{text-decoration:underline}
.lx-crumbs [aria-current]{color:var(--text-secondary);font-weight:700}
.lx-avatar{width:36px;height:36px;border-radius:999px;background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.9375rem;flex:none}
[data-theme=desk] .lx-avatar{background:var(--canary-400);color:var(--navy-900)}
/* data */
.lx-tablewrap,.lx-ctable{container-type:inline-size;overflow-x:auto}
.lx-table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.45}
.lx-table th{background:var(--bg-sunken);text-align:left;font-size:.8125rem;font-weight:700;color:var(--text-muted);padding:11px 12px;white-space:nowrap}
.lx-table td{padding:12px;border-top:1px solid var(--border-subtle);vertical-align:top;color:var(--text-primary)}
.lx-table th:first-child,.lx-table td:first-child{padding-left:20px}.lx-table th:last-child,.lx-table td:last-child{padding-right:20px}
.lx-table .r{text-align:right}
.lx-table tbody tr:hover{background:var(--bg-hover)}
.lx-table tbody tr:target,.lx-table tbody tr.is-target{background:var(--copilot-tint)}
.lx-table tr.is-selected{background:var(--bg-selected)}
.lx-table td .lx-sub{display:block;font-size:.8125rem;color:var(--text-muted);font-weight:400}
.lx-table td a{color:var(--text-link);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.lx-table td a:hover{text-decoration:underline}
.lx-table td .lx-one{display:block}
.lx-lead b{display:block}
.lx-src{display:flex;gap:10px;align-items:flex-start}
.lx-src .lx-icon{margin-top:2px;color:var(--text-secondary)}
@container (max-width:720px){
 .lx-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .lx-table,.lx-table tbody,.lx-table tr,.lx-table td{display:block;width:100%}
 .lx-table tr{padding:12px 20px;border-top:1px solid var(--border-subtle)}
 .lx-table td{border:0;padding:3px 0;display:grid;grid-template-columns:6rem 1fr;gap:8px}
 .lx-table td::before{content:attr(data-label);font-size:.8125rem;font-weight:700;color:var(--text-muted)}
 .lx-table td:first-child,.lx-table td:last-child{padding-left:0;padding-right:0}
 .lx-table .r{text-align:left}
}
.lx-barlist{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.lx-barlist .lx-bl{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem}
.lx-barlist .lx-bt{height:14px;background:var(--viz-track);border-radius:0 4px 4px 0;margin-top:5px;overflow:hidden}
.lx-barlist .lx-bt i{display:block;height:100%;background:var(--viz-1);border-radius:0 4px 4px 0}
.lx-ledgerline{display:grid;grid-template-columns:84px 96px minmax(110px,1fr) minmax(160px,2fr) 100px 112px;gap:12px;align-items:baseline;padding:11px 20px;border-top:1px solid var(--border-subtle);font-size:.9375rem}
.lx-ledgerline.is-head{background:var(--bg-sunken);font-size:.8125rem;font-weight:700;color:var(--text-muted);border-top:0}
.lx-ledgerline .r{text-align:right}
.lx-sheet--ledger .lx-ledgerline{border-top-color:var(--pink-300);padding-left:0;padding-right:0}
.lx-sheet--ledger .lx-ledgerline.is-head{background:transparent;color:var(--pink-ink)}
.lx-neg{color:var(--text-primary)}
@container (max-width:760px){.lx-ledgerline{grid-template-columns:1fr 1fr;padding:12px 16px}.lx-ledgerline.is-head{display:none}.lx-ledgerline>*{display:block}.lx-ledgerline .r{text-align:left}.lx-ledgerline>[data-label]::before{content:attr(data-label) " ";font-size:.8125rem;font-weight:700;color:var(--text-muted);display:block}}
.lx-wallet{display:grid;grid-template-columns:minmax(140px,1.2fr) 110px minmax(150px,1.4fr) 130px auto;gap:12px;align-items:center;padding:12px 20px;border-top:1px solid var(--border-subtle);font-size:.9375rem}
@container (max-width:720px){.lx-wallet{grid-template-columns:1fr 1fr}}
/* chart */
.lx-chart{display:flex;flex-direction:column;gap:12px}
.lx-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.lx-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;color:var(--text-primary)}
.lx-legend span{display:inline-flex;align-items:center;gap:7px}.lx-legend i{width:12px;height:12px;border-radius:3px;display:block}
.lx-plot{position:relative;display:grid;grid-template-columns:40px 1fr;column-gap:8px}
.lx-yaxis{position:relative;font:400 .8125rem/1 var(--font-sans);color:var(--text-muted)}
.lx-yaxis span{position:absolute;right:0;transform:translateY(50%)}
.lx-area{position:relative}
.lx-grid{position:absolute;left:0;right:0;border-top:1px solid var(--viz-grid)}
.lx-grid.base{border-top-color:var(--viz-baseline)}
.lx-cols{position:absolute;inset:0;display:flex}
.lx-col{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;cursor:default;background:transparent}
.lx-col.is-hover,.lx-col:hover{background:var(--viz-hover)}
.lx-col .lx-stackbar{display:flex;flex-direction:column-reverse;gap:2px;width:min(24px,60%)}
.lx-col .lx-seg-bar{display:block;width:100%}
.lx-col .lx-seg-bar.top{border-radius:4px 4px 0 0}
.lx-col .lx-last{position:absolute;left:50%;transform:translateX(-50%);font-size:.8125rem;font-weight:800;color:var(--text-primary);white-space:nowrap}
.lx-xlabels{display:grid;grid-template-columns:40px 1fr;column-gap:8px}
.lx-xlabels>div{display:flex}.lx-xlabels span{flex:1;text-align:center;font-size:.8125rem;color:var(--text-muted)}
.lx-chart .lx-tip{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-100%)}
.lx-chart table{width:100%;border-collapse:collapse;font-size:.9375rem}
.lx-chart th,.lx-chart td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);text-align:right}
.lx-chart th:first-child,.lx-chart td:first-child{text-align:left}
.lx-chart th{font-size:.8125rem;color:var(--text-muted);background:var(--bg-sunken)}
/* copilot */
.lx-copilot{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-e1);color:var(--text-primary)}
.lx-copilot-h{background:var(--copilot-bg);color:var(--navy-900);display:flex;gap:10px;align-items:center;padding:14px 18px}
.lx-copilot-h b{font-size:1.0625rem;font-weight:800}.lx-copilot-h span{font-size:.8125rem;font-weight:700;margin-left:auto}
.lx-copilot-b{padding:18px;display:flex;flex-direction:column;gap:14px}
.lx-copilot-b .lx-greet{font-size:1.25rem;font-weight:800}
.lx-sugg{display:flex;align-items:center;gap:12px;min-height:52px;width:100%;padding:0 12px;border-radius:var(--radius-control);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font:700 .9375rem/1.25 var(--font-sans);text-align:left;cursor:pointer}
.lx-sugg:hover{background:var(--bg-hover)}
.lx-sugg .lx-sq{width:32px;height:32px;border-radius:8px;background:var(--canary-100);color:var(--amber-ink);display:flex;align-items:center;justify-content:center;flex:none}
.lx-sugg>.lx-t{flex:1}
.lx-pad{background:var(--canary-300);color:var(--navy-900);border-radius:var(--radius-paper);box-shadow:var(--shadow-e2);padding:18px;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px;align-self:flex-start}
.lx-pad .lx-sugg{background:var(--canary-100);border-color:transparent;color:var(--navy-900)}
.lx-pad .lx-sugg .lx-sq{background:var(--canary-400)}
.lx-pad .lx-input{background:#fff;color:var(--navy-900);border-color:var(--ink-600)}
.lx-pad .lx-greet{font-size:1.25rem;font-weight:800}
.lx-pad .lx-send:hover{background:var(--blue-800)}
/* route canvas */
.lx-rc>*{min-width:0}
.lx-rc{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
@media(max-width:1180px){.lx-rc{grid-template-columns:1fr}}
.lx-rc-scroll{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background-color:var(--bg-surface)}
.lx-rc-board{position:relative;width:820px;background-image:radial-gradient(#D5D9E8 1px,transparent 1px);background-size:18px 18px}
[data-theme=desk] .lx-rc-board{background-image:radial-gradient(#33363F 1px,transparent 1px)}
.lx-rc-cols{position:absolute;top:14px;left:0;right:0;display:flex;font-size:.875rem;font-weight:800}
.lx-rc-cols span{position:absolute;display:flex;align-items:center;gap:8px;color:var(--text-primary)}
.lx-rc-cols em{font-style:normal;width:24px;height:24px;border-radius:999px;background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem}
[data-theme=desk] .lx-rc-cols em{background:var(--canary-400);color:var(--navy-900)}
.lx-node{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;border-radius:var(--radius-control);border:1px solid #CDD1E4;background:#fff;color:#1D2A6E;text-align:left;cursor:pointer;font:inherit}
[data-theme=desk] .lx-node{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-default)}
.lx-node b{font-size:.9375rem;font-weight:800;line-height:1.2}.lx-node span{font-size:.8125rem;color:var(--text-secondary)}
.lx-node[aria-pressed=true]{border:2px solid var(--blue-700);background:var(--blue-50);padding:7px 11px}
[data-theme=desk] .lx-node[aria-pressed=true]{background:var(--bg-selected);border-color:var(--canary-400)}
.lx-node.is-draft{border:1.5px dashed var(--border-draft)}
.lx-node.is-backup,[data-theme=desk] .lx-node.is-backup{background:var(--status-backup-bg);border-color:var(--pink-300);color:var(--status-backup-fg)}
.lx-node.is-backup span{color:var(--status-backup-fg)}
.lx-rc svg.lx-wires{position:absolute;inset:0;pointer-events:none}
.lx-rc-hint{display:none;font-size:.8125rem;color:var(--text-secondary);padding:8px 12px}
@media(max-width:720px){.lx-rc-hint{display:block}}
.lx-inspector{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:20px;display:flex;flex-direction:column;gap:14px}
.lx-parts{display:flex;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none}
.lx-parts>li>h3{display:flex;gap:10px;align-items:center;font-size:1.125rem;font-weight:800;margin-bottom:8px}
.lx-parts>li>h3 em{font-style:normal;width:26px;height:26px;border-radius:999px;background:var(--navy-900);color:#fff;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center}
.lx-parts ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lx-parts ul li{padding:10px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--bg-surface);display:flex;justify-content:space-between;gap:8px;align-items:center}
/* rules */
.lx-rules{display:flex;flex-direction:column}
.lx-rule{display:flex;gap:12px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--border-subtle)}
.lx-rule:first-child{border-top:0}
.lx-rule .lx-chk{padding-top:0}
.lx-rule .lx-sentence{flex:1;padding-top:0}
.lx-addrule{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;margin-top:8px;border:1.5px dashed var(--border-draft);border-radius:var(--radius-control);background:transparent;color:var(--text-link);font:700 .9375rem/1 var(--font-sans);cursor:pointer;width:100%}
.lx-addrule:hover{background:var(--bg-hover)}
/* wizard */
.lx-wiz{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:24px;align-items:start}
@media(max-width:1180px){.lx-wiz{grid-template-columns:240px minmax(0,1fr)}.lx-wiz>.lx-prev{grid-column:1/-1}}
@media(max-width:900px){.lx-wiz{grid-template-columns:1fr}}
.lx-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.lx-steps li{display:flex;gap:12px;align-items:flex-start;padding:10px 8px;border-radius:10px}
.lx-steps .lx-n{width:26px;height:26px;border-radius:999px;flex:none;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;border:2px solid var(--border-control);color:var(--text-secondary)}
.lx-steps li.is-done .lx-n{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
[data-theme=desk] .lx-steps li.is-done .lx-n{background:var(--text-primary);color:var(--desk);border-color:var(--text-primary)}
.lx-steps li.is-now{background:var(--bg-hover)}
.lx-steps li.is-now .lx-n{background:var(--canary-400);border-color:var(--canary-400);color:var(--navy-900)}
.lx-steps b{display:block;font-size:.9375rem}
.lx-steps small{display:block;font-size:.8125rem;color:var(--text-secondary)}
.lx-steps li.is-now small{font-weight:800;color:var(--text-primary)}
.lx-steps .lx-ans{font-family:var(--font-value);font-weight:700;color:var(--text-value);font-size:.875rem;word-spacing:-.2em}
.lx-q{display:flex;flex-direction:column;gap:16px}
.lx-q .lx-qn{font-size:.875rem;font-weight:700;color:var(--text-secondary)}
.lx-q-why{color:var(--text-secondary)}
.lx-q-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.lx-prev{transform:rotate(.6deg)}
.lx-prev .lx-ph{font-size:1.125rem;font-weight:800;font-variation-settings:"wdth" 80;text-transform:none}
.lx-prev dl{margin:8px 0 0;display:flex;flex-direction:column}
.lx-prev dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 6px;border-top:1px solid rgba(29,42,110,.25);font-size:.9375rem;border-radius:4px}
.lx-prev dl div.is-now{background:var(--canary-400)}
.lx-prev dt{font-weight:700}.lx-prev dd{margin:0;text-align:right}
.lx-prev .lx-none{color:#4C5580;font-weight:400}
/* recording */
.lx-rec{display:flex;flex-direction:column;gap:14px}
.lx-player{display:flex;align-items:center;gap:14px}
.lx-play{flex:none;width:48px;height:48px;border-radius:999px;border:0;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lx-wave{position:relative;flex:1;height:48px;display:flex;align-items:center;gap:2px}
.lx-wave i{flex:1;min-width:2px;border-radius:2px;background:var(--border-control);display:block}
.lx-wave i.played{background:var(--accent)}
.lx-mark{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--stamp-deny)}
.lx-mark span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:.8125rem;font-weight:800;color:var(--status-needs-fg);white-space:nowrap}
.lx-time{white-space:nowrap}
.lx-transcript{display:flex;flex-direction:column}
.lx-tr{display:grid;grid-template-columns:56px 74px 1fr;gap:10px;padding:8px 10px;font-size:.9375rem;border-top:1px solid var(--border-subtle)}
.lx-tr.is-bill{background:var(--status-needs-bg);color:var(--status-needs-fg);grid-template-columns:1fr;font-weight:700}
.lx-tr b{font-weight:800}
/* timeline */
.lx-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lx-tl li{display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:start;padding:12px 0;border-top:1px solid var(--border-subtle)}
.lx-tl li:first-child{border-top:0}
.lx-tl .lx-c{width:30px;height:30px;border-radius:999px;border:2px solid var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800;color:var(--text-primary);background:transparent}
.lx-tl li.is-win .lx-c{background:var(--text-primary);color:var(--bg-surface)}
.lx-tl b{display:block;font-size:1rem}.lx-tl small{font-size:.875rem;color:var(--text-secondary)}
/* publish */
.lx-publish{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-side-card);padding:16px;display:flex;flex-direction:column;gap:12px;color:var(--text-primary)}
.lx-publish .lx-ps{font-size:.9375rem;display:flex;flex-direction:column;gap:2px}
.lx-publish .lx-ps b{font-weight:800}
.lx-publish--bar{flex-direction:row;align-items:center;border:0;border-radius:0;background:transparent;padding:0;gap:16px}
.lx-publish--bar .lx-ps{flex-direction:row;gap:10px;align-items:center;flex-wrap:wrap}
.lx-live-dot{width:9px;height:9px;border-radius:999px;background:var(--text-link);display:inline-block;margin-right:6px}
/* needs-you */
.lx-needs{display:flex;flex-direction:column;gap:14px}
.lx-needs-h{display:flex;align-items:center;gap:10px}
.lx-needs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.lx-needcard{display:flex;gap:14px;align-items:flex-start;padding:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-e1);text-decoration:none;color:var(--text-primary);min-height:44px}
.lx-needcard:hover{background:var(--bg-hover)}
.lx-needcard .lx-sq{width:40px;height:40px;border-radius:10px;background:var(--status-needs-bg);color:var(--status-needs-fg);display:flex;align-items:center;justify-content:center;flex:none}
.lx-needcard b{display:block;font-size:1rem;font-weight:800}.lx-needcard span.lx-nf{font-size:.9375rem;color:var(--text-secondary)}
.lx-needcard .lx-go{margin-left:auto;color:var(--text-link);align-self:center}
/* shells */
.lx-app{display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-rows:64px auto;min-height:100%;background:var(--bg-page);color:var(--text-primary)}
.lx-top{grid-column:1/-1;position:sticky;top:0;z-index:4;height:64px;display:flex;align-items:center;gap:16px;padding:0 20px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}
.lx-top .lx-grow{flex:1;max-width:460px}
.lx-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);min-height:44px;font-weight:800;font-size:1.125rem;font-variation-settings:"wdth" 80}
.lx-side{align-self:stretch;min-height:520px;background:var(--bg-surface);border-right:1px solid var(--border-subtle);padding:16px 12px;display:flex;flex-direction:column;gap:4px}
.lx-nav{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--text-secondary);font-weight:700;font-size:.9375rem;text-decoration:none}
.lx-nav:hover{background:var(--bg-hover);color:var(--text-primary)}
.lx-nav[aria-current=page]{background:var(--accent-subtle);color:var(--text-link)}
.lx-nav .lx-badge{margin-left:auto}
.lx-main{padding:28px;min-width:0;display:flex;flex-direction:column;gap:18px}
.lx-main.has-aside{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.lx-main.has-aside>.lx-content{display:flex;flex-direction:column;gap:18px;min-width:0}
.lx-skip{position:absolute;left:-9999px;top:8px;background:var(--navy-900);color:#fff;padding:12px 16px;border-radius:10px;z-index:9;font-weight:700}
.lx-skip:focus{left:8px}
@media(max-width:1180px){.lx-main.has-aside{grid-template-columns:1fr}}
@media(max-width:900px){
 .lx-app{grid-template-columns:1fr}
 .lx-side{min-height:0;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border-subtle);padding:8px 14px}
 .lx-main{padding:14px}
}
.lx-desk{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100%;background:var(--bg-page);color:var(--text-primary)}
.lx-rail{background:var(--bg-sunken);padding:18px 12px;display:flex;flex-direction:column;gap:4px;align-self:stretch}
.lx-rail .lx-brand{padding:0 8px 14px;color:var(--desk-text)}
.lx-rail .lx-nav{color:var(--text-secondary)}
.lx-rail .lx-nav:hover{background:var(--bg-hover);color:var(--text-primary)}
.lx-rail .lx-nav[aria-current=page]{background:var(--bg-hover);color:var(--text-primary);box-shadow:inset 3px 0 0 transparent}
.lx-desk-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 28px;min-height:64px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}
.lx-desk-body{padding:28px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.lx-desk-body>.lx-dmain{display:flex;flex-direction:column;gap:24px;min-width:0}
.lx-desk-body.no-pad{grid-template-columns:minmax(0,1fr)}
@media(max-width:1180px){.lx-desk-body{grid-template-columns:1fr}}
@media(max-width:900px){.lx-desk{grid-template-columns:1fr}.lx-rail{position:static;min-height:0;flex-direction:row;flex-wrap:wrap}.lx-desk-body{padding:14px}}
.lx-desk-title{font-size:2rem;line-height:1.1;font-weight:800;font-variation-settings:"wdth" 80;color:var(--text-primary)}
.lx-desk .lx-card{background:var(--bg-surface)}
/* brand marks */
.lx-mark2{display:inline-block;flex:none}
