:root{--bg-surface:var(--bg-l1);--bg-subtle:var(--bg-canvas);--bg-field:var(--bg-canvas);--surface:var(--bg-l1);--surface-2:var(--bg-l2);--surface-3:var(--bg-l3);--panel-2:var(--bg-canvas);--drop-bg:var(--bg-canvas);--topbar-bg:var(--bg-l1);--code-bg:var(--bg-canvas);--code-fg:var(--text-primary);--border:var(--border-hairline);--border-subtle:var(--border-strong);--border-active:var(--ring);--line:var(--border-hairline);--line-strong:var(--border-strong);--legacy-accent:var(--accent-text);--legacy-accent-deep:var(--positive);--emerald-tint:var(--accent-tint);--accent-soft:var(--accent-tint);--ok:var(--positive);--text:var(--text-primary);--muted:var(--text-secondary);--danger-red:var(--danger);--error-fg:var(--danger);--error-bg:var(--danger-tint);--error-border:var(--danger-tint);--badge-neutral-bg:var(--neutral-badge-bg);--shadow-card:none;--radius-card:var(--r-3);--radius-btn:var(--r-2);--radius-pill:var(--r-pill)}*{box-sizing:border-box}body,html{margin:0;min-height:100dvh;overflow-x:hidden;overflow-y:auto;color:var(--text-primary);font-family:var(--font-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;background:var(--bg-canvas)}body{font-size:var(--fs-15)}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-heading);letter-spacing:var(--track-heading)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;border-radius:var(--r-pill);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-input);background-clip:padding-box}.filename,.mailbox-panel code,.mono,code,pre{font-family:var(--font-mono);font-variant-ligatures:none;letter-spacing:-.015em;font-feature-settings:"tnum" 1,none}code{display:inline-block;padding:2px 7px;border-radius:6px;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--line);font-size:var(--fs-13);line-height:1.45;word-break:break-all}.app-shell{min-height:100dvh;--shell-pad-x:var(--sp-5)}.app-shell,.app-shell__body{display:flex;flex-direction:column}.app-shell__body{flex:1 1 auto;min-height:0;width:100%;max-width:1320px;margin:0 auto;padding:var(--sp-5) var(--shell-pad-x) var(--sp-16)}.app-header.topbar,.topbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--sp-5);flex:0 0 auto;height:var(--topbar-height);min-height:var(--topbar-height);padding:0 var(--shell-pad-x);padding-top:env(safe-area-inset-top,0);box-sizing:content-box;border-bottom:1px solid var(--border-hairline);background:var(--topbar-bg);overflow:visible}.brand{display:flex;align-items:center;flex-shrink:0;min-width:0;height:100%}.brand,.brand:hover{text-decoration:none;color:inherit}.komod-logo{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0}.komod-logo-mark{flex-shrink:0;display:block;width:34px;height:34px;object-fit:contain}.komod-logo-mark[data-size="24"]{width:24px;height:24px;image-rendering:auto;background:none;border:0;border-radius:0;box-shadow:none;filter:none}.komod-logo-mark[data-size="28"]{width:28px;height:28px}.komod-logo-mark[data-size="36"]{width:36px;height:36px}.komod-logo-mark[data-size="40"]{width:40px;height:40px}.komod-logo-text{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;overflow:visible;line-height:1.25}.komod-logo-name{font-family:var(--font-display);font-size:var(--fs-20);font-weight:600;letter-spacing:var(--track-20);color:var(--text-primary,var(--text))}.komod-logo-tagline{color:var(--text-secondary,var(--muted));font-size:var(--fs-12);font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:visible;line-height:1.3}.app-header .komod-logo-name{font-size:var(--fs-15);letter-spacing:var(--track-heading);line-height:1}.app-header .komod-logo-tagline{display:none}.nav{justify-content:flex-start;height:100%;overflow:visible;padding-block:0}.nav,.nav-links{display:flex;gap:0;flex-wrap:nowrap;align-items:stretch;flex:1 1 auto;min-width:0}.nav-links{overflow:hidden}.nav a,.nav button{display:inline-flex;align-items:center;height:100%;border:0;background:transparent;padding:0 var(--sp-3);border-radius:0;color:var(--text-secondary);cursor:pointer;font-weight:500;font-size:var(--fs-14);letter-spacing:0;white-space:nowrap;flex-shrink:0;position:relative;transition:color var(--dur-1) var(--ease)}.nav a:hover,.nav button:hover{background:transparent;color:var(--text-primary)}.nav a:focus-visible,.nav button:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.nav a.active{background:transparent;color:var(--text-primary);font-weight:500}.nav a.active:after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:-1px;height:1px;background:currentColor}.nav .org-switch{align-self:center;border:1px solid var(--border-hairline);background:transparent;color:var(--text-secondary);border-radius:var(--r-2);padding:var(--sp-1) var(--sp-2);cursor:pointer;font-size:var(--fs-13);max-width:160px;margin-left:var(--sp-2)}.nav .org-switch:hover{color:var(--text-primary);border-color:var(--border-strong)}.nav .org-switch:disabled{opacity:.6;cursor:not-allowed}.nav-more{position:relative;display:flex;flex-shrink:0;overflow:visible;z-index:80}.nav-more-btn{color:var(--text-secondary);font-weight:500;font-size:var(--fs-14);padding:0 var(--sp-3);background:transparent;border:0;cursor:pointer}.nav-more-btn[aria-expanded=true]{color:var(--text-primary)}.account-menu__popup,.nav-more-menu{position:absolute;top:calc(100% + var(--sp-1));right:0;min-width:200px;padding:var(--sp-1);border-radius:var(--r-2);border:1px solid var(--border-hairline);background:var(--bg-l3);box-shadow:var(--shadow-popover);z-index:80;display:flex;flex-direction:column}.account-menu__item,.nav-more-menu a{display:flex;align-items:center;width:100%;height:auto;padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--r-1);background:transparent;font:inherit;font-size:var(--fs-14);font-weight:400;text-align:left;color:var(--text-primary);cursor:pointer;transition:background var(--dur-1) var(--ease)}.account-menu__item:focus-visible,.account-menu__item:hover,.nav-more-menu a:focus-visible,.nav-more-menu a:hover{background:var(--neutral-badge-bg);color:var(--text-primary)}.account-menu__item:focus-visible,.nav-more-menu a:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.account-menu__item.is-active,.nav-more-menu a.active{font-weight:500}.header-actions{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0;margin-left:auto}.account-menu__button,.header-actions .theme-toggle,.header-actions .ui-btn--icon{width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:var(--r-2);background:transparent;color:var(--text-secondary)}.account-menu__button:hover,.account-menu__button[aria-expanded=true],.header-actions .theme-toggle:hover,.header-actions .ui-btn--icon:hover:not(:disabled){background:var(--neutral-badge-bg);color:var(--text-primary);border-color:transparent}.theme-toggle{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--text-secondary);border-radius:var(--r-2);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.theme-toggle:hover{color:var(--text-primary);background:var(--neutral-badge-bg)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.theme-toggle svg{width:16px;height:16px;display:block}.account-menu{position:relative;display:flex;flex-shrink:0}.account-menu__button{display:inline-grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.account-menu__button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.account-menu__avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--r-pill);background:var(--neutral-badge-bg);border:1px solid var(--neutral-badge-border);color:var(--text-primary);font-size:var(--fs-11);font-weight:600;letter-spacing:.02em;line-height:1}.account-menu__popup{min-width:224px}.account-menu__identity{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border-hairline);margin-bottom:var(--sp-1);min-width:0}.account-menu__name{font-size:var(--fs-14);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__detail,.account-menu__role{font-size:var(--fs-12);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__group{display:flex;flex-direction:column}.account-menu__group+.account-menu__group{margin-top:var(--sp-1);padding-top:var(--sp-1);border-top:1px solid var(--border-hairline)}.principal-banner{margin:-8px 0 18px;padding:10px 16px;font-size:var(--fs-13);border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--muted)}.principal-banner a{color:var(--legacy-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}.controller-banner{margin:-8px 0 18px;padding:10px 16px;font-size:var(--fs-13);border:1px solid var(--border-strong);border-radius:var(--r-3);background:var(--accent-soft);color:var(--text)}.controller-banner a{color:var(--legacy-accent-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}.document-outage-banner{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--danger);border-radius:var(--r-2);background:var(--danger-tint);color:var(--danger);font-size:var(--fs-14);font-weight:600;line-height:var(--lh-body)}.document-outage-banner:empty{display:none}@media (max-width:960px){.app-shell{--shell-pad-x:var(--sp-4)}.app-header.topbar,.topbar{gap:var(--sp-4)}.app-shell__body{padding-block:var(--sp-4) var(--sp-12)}}@media (max-width:560px){.app-shell{--shell-pad-x:var(--sp-3)}.app-header.topbar,.topbar{gap:var(--sp-3)}}.chat,.drop,.panel{border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-card)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:var(--bg-subtle);color:var(--text-secondary);font-size:var(--fs-12)}.pill strong{color:var(--text-primary);font-weight:600}.panel{padding:18px}.panel h2{margin:0 0 4px;font-family:var(--font-display);font-size:var(--fs-20);color:var(--text)}.panel .sub{margin:0 0 14px;color:var(--muted);font-size:var(--fs-15)}a.btn{display:inline-flex;align-items:center;text-decoration:none}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius-btn);padding:9px 14px;background:var(--accent);background-image:none;color:var(--on-accent);font-weight:600;cursor:pointer;letter-spacing:.01em;box-shadow:none;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),transform .1s ease}[data-theme=dark] .btn.ghost,html.dark .btn.ghost{color:var(--text-secondary)}[data-theme=dark] .btn.danger,html.dark .btn.danger{color:var(--text-muted)}.btn:hover{background:var(--accent-hover);filter:none}.btn:not(:disabled):active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-hairline);font-weight:550}.btn.ghost:hover{background:var(--emerald-tint);border-color:var(--border-subtle)}.btn.ghost:hover,[data-theme=dark] .btn.ghost:hover,html.dark .btn.ghost:hover{color:var(--text-primary)}.btn.warn{background:var(--warn);color:var(--on-warn)}.btn.danger{background:transparent;border:1px solid transparent;color:var(--text-muted);font-weight:550}.btn.danger:hover{background:var(--danger-tint);border-color:transparent}.btn.danger:hover,[data-theme=dark] .btn.danger:hover,html.dark .btn.danger:hover{color:var(--danger-red)}.btn.is-busy{opacity:.7;pointer-events:none}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.drop{padding:22px;text-align:center;border-style:dashed;border-color:var(--border-strong);background:var(--drop-bg);transition:all var(--dur-1) var(--ease);cursor:pointer}.drop.dragging{border-color:var(--legacy-accent);background:var(--accent-tint);transform:translateY(-1px)}.drop h3{margin:0 0 6px;font-family:var(--font-display);font-size:var(--fs-20)}.drop p{margin:0;color:var(--muted);font-size:var(--fs-15);line-height:1.45}.drop input{display:none}.list{flex-direction:column;gap:8px}.list,.row{display:flex}.row{justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-card);border:1px solid var(--border-hairline);background:var(--bg-subtle);transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}a.row:focus-visible,a.row:hover{border-color:var(--border-active);background:var(--emerald-tint)}.row .meta{color:var(--muted);font-size:var(--fs-13);margin-top:3px}.row select{border:1px solid var(--border-hairline);background:var(--bg-field);color:var(--text-primary);border-radius:var(--radius-btn);padding:6px 10px;font-size:var(--fs-13);cursor:pointer;transition:border-color var(--dur-1) var(--ease)}.row select:hover:not(:disabled){border-color:var(--border-subtle)}.row select:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:var(--fs-12);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge.ok{background:var(--positive-tint);color:var(--ok)}.badge.warn{background:var(--warn-tint);color:var(--warn)}.badge.danger{background:var(--danger-tint);color:var(--danger)}.badge.neutral{background:var(--badge-neutral-bg);color:var(--muted)}.chat{display:flex;flex-direction:column;min-height:560px;max-height:720px;overflow:hidden}.section{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.section h3{margin:0 0 8px;font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--legacy-accent-deep)}.bank-panel{margin-top:14px}.login-wrap{min-height:100dvh;display:grid;place-items:center;place-items:safe center;align-content:safe center;padding:max(24px,env(safe-area-inset-top,0px)) 24px 24px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:var(--muted);font-size:var(--fs-15);font-weight:500}.field input{border:1px solid var(--border-hairline);border-radius:10px;padding:12px;background:var(--bg-field);color:var(--text)}.field input:focus-visible,.field select:focus-visible{border-color:var(--border-active)}.field select{border:1px solid var(--line-strong);border-radius:10px;padding:12px;background:var(--surface);color:var(--text);font:inherit}.error{color:var(--error-fg);background:var(--error-bg);border:1px solid var(--error-border);padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:var(--fs-15)}.muted{color:var(--muted)}.toast{margin-bottom:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-hairline);background:var(--bg-subtle);color:var(--text-primary);font-size:var(--fs-15)}.toast-host{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item{pointer-events:auto;min-width:240px;max-width:380px;padding:12px 14px;border-radius:10px;border:1px solid var(--border-hairline);background:var(--bg-surface);box-shadow:var(--shadow-popover);color:var(--text-primary);font-size:var(--fs-15);animation:toast-in .22s ease}.toast-item.ok{border-color:var(--border-subtle)}.toast-item.warn{border-color:var(--warn)}.toast-item.danger{border-color:var(--danger);background:var(--danger-tint)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.close-first-run{max-width:560px;margin:0 auto}.close-first-run,.close-index,.controller-route-note{padding:var(--sp-6)}.mailbox-panel code{color:var(--code-fg);font-size:var(--fs-13);font-weight:500}.tools-fold{margin-top:14px}.tools-fold>summary{list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tools-fold>summary::-webkit-details-marker{display:none}.tools-fold-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tools-fold-summary h2{margin:0 0 4px}.tools-fold-summary:after{content:"Show";flex-shrink:0;margin-top:4px;font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--panel-2)}.tools-fold[open]>.tools-fold-summary:after{content:"Hide"}.tools-fold[open]>.tools-fold-summary{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.exec-page{display:flex;flex-direction:column;gap:20px}.close-checklist{margin:0 0 4px;padding-left:18px}.close-checklist li{margin:2px 0}.linklike{padding:0;border:0;background:none;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.skeleton-list{display:flex;flex-direction:column;gap:8px}.skeleton-row{height:68px;border-radius:var(--radius-card);border:1px solid var(--border-hairline);background:linear-gradient(100deg,var(--bg-subtle) 40%,var(--bg-surface) 50%,var(--bg-subtle) 60%);background-size:200% 100%;animation:skeleton-slide 1.4s ease-in-out infinite}.skeleton-row.sm{height:48px}@keyframes skeleton-slide{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton-row,.toast-item{animation:none}}.cam-lines,.cam-walks{display:flex;flex-direction:column;gap:14px}.cam-ladder,.cam-line,.cam-walk{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-2)}.cam-ladder-step-head,.cam-line-head,.cam-walk-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.cam-ladder-title,.cam-line-tenant{margin:0;font-size:var(--fs-15);font-weight:600}.cam-line-figures,.cam-line-trueup{font-size:var(--fs-15)}.cam-line-figures{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;grid-gap:4px 12px;gap:4px 12px;margin:10px 0 0}.cam-line-figure{display:contents}.cam-line-figure dt{color:var(--muted)}.cam-line-figure dd{margin:0;overflow-wrap:anywhere}.cam-line-inclusions{margin-top:10px;font-size:var(--fs-15)}.cam-line-inclusions h5{margin:0 0 4px;font-size:var(--fs-13);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.cam-line-inclusions ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cam-line-inclusions li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.cam-ladder{margin-top:10px}.cam-ladder-steps{margin:8px 0 0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:8px;font-size:var(--fs-15)}.cam-ladder-step-label{font-weight:600}.cam-ladder-output{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.cam-ladder-op,.cam-walk .cam-ladder-op{font-size:var(--fs-13);padding:0 6px;border-radius:6px;background:var(--surface-3)}.cam-ladder-inputs{display:grid;grid-template-columns:max-content 1fr;grid-gap:2px 10px;gap:2px 10px;margin:4px 0 0;font-size:var(--fs-13)}.cam-ladder-input{display:contents}.cam-ladder-input dt{color:var(--muted);font-family:var(--font-mono,ui-monospace,monospace)}.cam-ladder-input dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cam-ladder-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.cam-ladder-source{font:inherit;font-size:var(--fs-13);padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:inherit;text-align:left}.cam-ladder-source.is-link{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.cam-ladder-source.is-link:hover{border-color:var(--accent,currentColor)}.cam-walk-steps{margin:8px 0 0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:8px;font-size:var(--fs-15)}.cam-walk-step{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.cam-walk-file{font-weight:600}.cam-walk-quote{flex:1 1 100%;margin:2px 0 0;padding-left:10px;border-left:2px solid var(--border);color:var(--muted);font-size:var(--fs-13)}.cam-line-sources{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.cam-line-sources .cam-ladder-sources{margin-top:0}.report-x14{margin:4px 0 10px;font-size:var(--fs-15)}.report-x14>.cam-line,.report-x14>.cam-walks{margin-top:8px}.muted.small{font-size:var(--fs-12)}