:root{color-scheme:light;--accent: #2563eb;--accent-dark: #1d4ed8;--accent-soft: #eef3ff;--accent-ink: #ffffff;--ink: #0f172a;--ink-muted: #5b6b82;--ink-faint: #93a0b4;--surface: #ffffff;--surface-2: #f3f6fa;--canvas: #f6f7f9;--border: #e8ecf2;--border-strong: #d7dde7;--line-soft: #eef1f6;--danger: #c0352b;--danger-soft: #fdf1f0;--success: #117a44;--success-soft: #edf9f1;--warning: #955609;--warning-soft: #fdf5e8;--radius-sm: 6px;--radius: 9px;--radius-lg: 13px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 10px 30px -14px rgba(15, 23, 42, .25);--ring: color-mix(in srgb, var(--accent) 35%, transparent);--brand-bg: var(--surface);--brand-ink: var(--ink);--sidebar-bg: var(--surface);--sidebar-ink: #55637a;--sidebar-ink-strong: var(--ink);--sidebar-hover: var(--surface-2);--sidebar-active-bg: var(--accent-soft);--sidebar-active-ink: var(--accent-dark);--sidebar-heading: #93a0b4;--chrome-border: var(--border);--font: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--accent: #5b86ff;--accent-dark: #7a9fff;--accent-soft: #17213c;--accent-ink: #0b1220;--ink: #e7ebf2;--ink-muted: #9aa5b5;--ink-faint: #6a7484;--surface: #141a24;--surface-2: #1b2230;--canvas: #0d1117;--border: #242c3a;--border-strong: #323c4d;--line-soft: #202836;--danger: #f08b84;--danger-soft: #2a1618;--success: #5cd08f;--success-soft: #112619;--warning: #e0ad5e;--warning-soft: #271f10;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 34px -14px rgba(0, 0, 0, .65);--brand-bg: var(--surface);--brand-ink: var(--ink);--sidebar-bg: #10151e;--sidebar-ink: #9aa5b5;--sidebar-ink-strong: #e7ebf2;--sidebar-hover: #1a2130;--sidebar-active-bg: #1a2744;--sidebar-active-ink: #b9ccff;--sidebar-heading: #5c6677;--chrome-border: #1e2630}}:root[data-theme=dark]{color-scheme:dark;--accent: #5b86ff;--accent-dark: #7a9fff;--accent-soft: #17213c;--accent-ink: #0b1220;--ink: #e7ebf2;--ink-muted: #9aa5b5;--ink-faint: #6a7484;--surface: #141a24;--surface-2: #1b2230;--canvas: #0d1117;--border: #242c3a;--border-strong: #323c4d;--line-soft: #202836;--danger: #f08b84;--danger-soft: #2a1618;--success: #5cd08f;--success-soft: #112619;--warning: #e0ad5e;--warning-soft: #271f10;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 34px -14px rgba(0, 0, 0, .65);--brand-bg: var(--surface);--brand-ink: var(--ink);--sidebar-bg: #10151e;--sidebar-ink: #9aa5b5;--sidebar-ink-strong: #e7ebf2;--sidebar-hover: #1a2130;--sidebar-active-bg: #1a2744;--sidebar-active-ink: #b9ccff;--sidebar-heading: #5c6677;--chrome-border: #1e2630}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea){font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 12px}:where(input,textarea)::placeholder{color:var(--ink-faint)}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea):focus-visible{outline:3px solid var(--ring);outline-offset:0;border-color:var(--accent)}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea):disabled{background:var(--surface-2);color:var(--ink-muted);cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius);font:inherit;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-faint)}.btn-block{width:100%}.btn-sm{padding:5px 12px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-weight:500;font-size:13px;color:var(--ink)}.field input,.field select{padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;color:var(--ink);background:var(--surface)}.field input:focus,.field select:focus{outline:3px solid var(--ring);outline-offset:0;border-color:var(--accent)}.field-error input{border-color:var(--danger)}.field-message{font-size:12px;color:var(--danger)}.alert{padding:11px 14px;border-radius:var(--radius);border:1px solid;font-size:13px;margin-bottom:16px}.alert-error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500;border:1px solid}.pill-neutral{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink-muted)}.pill-accent{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent-dark)}.pill-success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 32%,transparent);color:var(--success)}.pill-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 34%,transparent);color:var(--warning)}.login-screen{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 50% -10%,var(--accent-soft),transparent 60%),var(--canvas)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:32px}.login-brand{margin-bottom:24px}.login-brand h1{font-size:19px}.login-brand p{margin:4px 0 0;font-size:13px;color:var(--ink-muted)}.login-hint{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--ink-faint);line-height:1.6}.shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"brand header" "sidebar main";height:100%}.shell-brand{grid-area:brand;display:flex;align-items:center;gap:10px;padding:0 18px;background:var(--brand-bg);color:var(--brand-ink);font-weight:700;font-size:14.5px;letter-spacing:-.015em;border-bottom:1px solid var(--chrome-border);border-right:1px solid var(--chrome-border)}.shell-header{grid-area:header;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--chrome-border)}.company-switcher{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted)}.company-switcher select{padding:5px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;background:var(--surface)}.header-user{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--border);font-size:13px}.header-user strong{font-weight:500}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.theme-toggle:hover{background:var(--surface-2);color:var(--ink);border-color:var(--ink-faint)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.theme-choice{display:flex;gap:8px;flex-wrap:wrap}.theme-option{flex:1 1 120px;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.theme-option:hover{border-color:var(--ink-faint)}.theme-option[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.theme-option .to-name{font-weight:600;font-size:13.5px}.theme-option .to-sub{font-size:12px;color:var(--ink-muted)}.theme-option:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.link-button{background:none;border:none;padding:0;font:inherit;font-size:13px;color:var(--accent);cursor:pointer;text-decoration:underline}.shell-sidebar{grid-area:sidebar;background:var(--sidebar-bg);border-right:1px solid var(--chrome-border);padding:12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-link{display:block;padding:9px 12px;border-radius:var(--radius);color:var(--sidebar-ink);text-decoration:none;font-size:13.5px;font-weight:500;transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-ink-strong)}.nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-ink);font-weight:600}.nav-heading{padding:16px 12px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--sidebar-heading)}.shell-main{grid-area:main;overflow-y:auto;padding:24px}.page-header{margin-bottom:20px}.page-header h2{font-size:20px}.page-header p{margin:4px 0 0;color:var(--ink-muted);font-size:13px}.placeholder{color:var(--ink-muted);font-size:13px}.placeholder strong{color:var(--ink)}.centered-note{min-height:100%;display:grid;place-items:center;color:var(--ink-muted)}.shell-menu-button,.shell-scrim{display:none}@media print{.shell{display:block;height:auto}.shell-brand,.shell-sidebar,.shell-header,.no-print{display:none!important}.shell-main{overflow:visible;padding:0}body{background:#fff;color:#000;font-size:11pt}.card{border:1px solid #999;box-shadow:none;break-inside:avoid}tr,.pill{break-inside:avoid}a[href]:after{content:""}@page{size:A4;margin:14mm}}.tabs{display:flex;gap:2px;margin-bottom:20px;border-bottom:1px solid var(--border)}.tab{padding:9px 16px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font:inherit;font-weight:500;color:var(--ink-muted);cursor:pointer}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar-search{flex:0 1 280px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit}.toolbar-select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;background:var(--surface)}.toolbar-search:focus,.toolbar-select:focus{outline:2px solid var(--accent);outline-offset:-1px}.toolbar-check{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-muted);cursor:pointer}.toolbar-check input{margin:0}.toolbar-spacer{flex:1}.summary-bar{margin-bottom:16px}.summary-stats{display:flex;flex-wrap:wrap;gap:28px 40px;align-items:flex-end}.summary-num{font-size:22px;font-weight:700;color:var(--ink);line-height:1.1}.summary-label{font-size:12px;color:var(--ink-muted);margin-top:2px}.summary-label .linklike{font-size:12px}.summary-breakdown{margin-top:14px;border-top:1px solid var(--border);padding-top:10px;display:grid;gap:6px}.summary-row{display:flex;justify-content:space-between;gap:16px;font-size:13px;flex-wrap:wrap}.summary-co{color:var(--ink-muted)}.summary-vals{color:var(--ink);font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.data-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}.data-table th{text-align:left;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);white-space:nowrap}.data-table th.sortable{padding:0}.data-table th.sortable button{width:100%;padding:10px 14px;background:none;border:none;font:inherit;font-weight:600;font-size:12.5px;color:inherit;text-align:inherit;cursor:pointer;display:flex;align-items:center;gap:6px}.data-table th.sortable button:hover{color:var(--ink)}.sort-mark{font-size:9px;color:var(--accent)}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--accent-soft)}.data-table tbody tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-state{padding:36px 16px;text-align:center;color:var(--ink-muted);font-size:13px;border:1px dashed var(--border-strong);border-radius:var(--radius)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182759;display:flex;justify-content:flex-end;z-index:50}.drawer{width:min(440px,100%);background:var(--surface);display:flex;flex-direction:column;box-shadow:-8px 0 24px #1018281f}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.drawer-header h3{font-size:16px}.drawer-header p{margin:4px 0 0;font-size:12.5px;color:var(--ink-muted)}.drawer-close{background:none;border:none;font-size:22px;line-height:1;color:var(--ink-muted);cursor:pointer;padding:0 4px}.drawer-close:hover{color:var(--ink)}.drawer-body{padding:20px 24px;overflow-y:auto;flex:1}.drawer-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:var(--canvas)}.field-hint{font-size:12px;color:var(--ink-faint)}.field input:disabled,.field select:disabled{background:var(--canvas);color:var(--ink-muted);cursor:not-allowed}.settings-intro{margin-bottom:16px}.settings-intro h2{font-size:20px}.settings-intro p{margin:4px 0 0;color:var(--ink-muted);font-size:13px;max-width:640px}.alert-success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 32%,transparent);color:var(--success)}.hint-line{margin:0 0 14px;font-size:12.5px;color:var(--ink-muted)}.orderable{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.orderable-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.orderable-row:last-child{border-bottom:none}.orderable-row:hover{background:var(--canvas)}.orderable-row.dragging{opacity:.4}.orderable-row.drop-target{box-shadow:inset 0 2px 0 var(--accent)}.orderable-row.locked{background:repeating-linear-gradient(45deg,var(--canvas),var(--canvas) 8px,var(--line-soft) 8px,var(--line-soft) 16px)}.orderable-handle{color:var(--ink-faint);cursor:grab;font-size:13px;-webkit-user-select:none;user-select:none}.orderable-row.locked .orderable-handle{cursor:not-allowed;font-size:11px}.orderable-content{flex:1;min-width:0}.orderable-main{display:block;width:100%;background:none;border:none;padding:0;font:inherit;text-align:left;cursor:pointer;color:inherit}.orderable-main:hover .orderable-title{color:var(--accent)}.orderable-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13.5px;font-weight:500}.orderable-index{color:var(--ink-faint);font-weight:400;min-width:22px}.orderable-sub{display:block;font-size:12px;color:var(--ink-muted);margin-top:2px}.orderable-hint{margin:0 0 8px;font-size:12.5px;color:var(--ink-faint)}.orderable-position{width:46px;padding:3px 4px;text-align:center;font-size:12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.orderable-position:disabled{opacity:.4;cursor:not-allowed}@keyframes orderable-flash{0%{background:var(--accent-soft, #eef2ff)}to{background:transparent}}.orderable-row.just-moved{animation:orderable-flash 2.5s ease-out;border-left:3px solid var(--accent, #4f46e5)}.orderable-moves{display:flex;gap:4px;align-items:center;flex:0 0 auto}.orderable-moves .chip{flex:0 0 auto}.orderable-moves button:not(.chip){width:26px;height:26px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink-muted);font-size:12px;line-height:1;cursor:pointer}.orderable-moves button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.orderable-moves button:disabled{opacity:.3;cursor:not-allowed}.field textarea{padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;color:var(--ink);background:var(--surface);resize:vertical}.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.detail-head{margin-bottom:10px}.detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detail-title h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-actions{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.detail-main,.detail-side{display:flex;flex-direction:column;gap:16px;min-width:0}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.panel-head h3{font-size:15px}.panel-head-actions,.revise-ask{display:flex;gap:8px;align-items:center}.revise-ask input{min-width:220px}.revise-locked{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--pill, 999px);padding:5px 11px}.card h3{font-size:15px;margin-bottom:12px}.muted-inline{color:var(--ink-muted);font-size:12.5px}.required-mark{font-size:11px;font-weight:500;color:var(--danger);background:var(--danger-soft);border-radius:4px;padding:1px 5px;margin-left:6px}.stage-card{padding:16px 20px;overflow-x:auto}.stage-tracker{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;gap:0;min-width:min-content}.stage-step{flex:1;min-width:96px;position:relative}.stage-step+.stage-step:before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--border-strong)}.stage-step.is-done:before,.stage-step.is-current:before{background:var(--accent)}.stage-step button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--ink-muted)}.stage-step button:disabled{cursor:default}.stage-step button:not(:disabled):hover .stage-dot{border-color:var(--accent);color:var(--accent)}.stage-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--border-strong);font-size:11px;font-weight:600}.stage-step.is-done .stage-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stage-step.is-current .stage-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.stage-name{font-size:11.5px;text-align:center;line-height:1.3;padding:0 4px}.stage-step.is-current .stage-name{color:var(--accent);font-weight:600}.stage-note-flag{color:var(--warning);margin-left:2px}.stage-tracker.is-cancelled{opacity:.5}.detail-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 24px;margin:0}.detail-field dt{font-size:12px;color:var(--ink-muted);margin-bottom:2px}.detail-field dd{margin:0;font-size:13.5px;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 20px}.form-grid .field{margin-bottom:14px}.field-group{grid-column:1 / -1;display:flex;align-items:center;gap:10px;margin:4px 0 12px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.field-group:after{content:"";flex:1;height:1px;background:var(--border)}.detail-fields .field-group:first-child,.form-grid .field-group:first-child{margin-top:0}.data-table tfoot td{padding:9px 14px;border-top:1px solid var(--border-strong);font-size:13px}.total-mismatch{background:var(--warning-soft)}.total-match td{color:var(--ink-muted)}.data-table td input.cell-input,.data-table td select.cell-input{width:100%;box-sizing:border-box;padding:6px 9px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;color:var(--ink);background:var(--surface);text-align:right}.data-table td select.cell-input,.data-table td input.cell-input.cell-input-left{text-align:left}.data-table td input.cell-input:focus,.data-table td select.cell-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.net-cell{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.net-status{font-size:11px;color:var(--ink-faint);white-space:nowrap}.net-status-ok{color:var(--ok, #1a7f37)}.row-edit-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:nowrap}.data-table th.line-actions,.data-table td.line-actions{width:1%;white-space:nowrap;text-align:right}.line-actions .chip,.line-actions .icon-button{vertical-align:middle}.inline-form{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}.inline-form select,.inline-form input{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit}.inline-form select{flex:2 1 220px}.inline-form input{flex:1 1 110px}.icon-button{width:24px;height:24px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-muted);cursor:pointer;line-height:1;font-size:14px}.icon-button:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.checklist-summary{display:flex;gap:6px;flex-wrap:wrap}.checklist-group{margin-bottom:18px}.checklist-group h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 6px;font-weight:600}.checklist{list-style:none;margin:0;padding:0}.checklist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:13.5px;flex-wrap:wrap}.checklist-row:last-child{border-bottom:none}.checklist-row.is-done{color:var(--ink-muted)}.checklist-row.is-na{color:var(--ink-faint)}.checklist-text{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.checklist-meta{font-size:11.5px;color:var(--ink-faint)}.checklist-cat{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:600;padding:1px 6px;border:1px solid var(--border);border-radius:6px}.checklist-actions{display:flex;gap:3px;align-items:center}.checklist-remark{flex-basis:100%;margin:4px 0 0;padding:6px 10px;background:var(--surface-sunken, rgba(0, 0, 0, .03));border-left:2px solid var(--border-strong);border-radius:0 4px 4px 0;font-size:12.5px;color:var(--ink-muted);white-space:pre-wrap}.checklist-editor{flex-basis:100%;margin:8px 0 2px;padding:12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-sunken, rgba(0, 0, 0, .02));display:flex;flex-direction:column;gap:10px}.checklist-editor .field{margin:0}.checklist-editor textarea{width:100%;resize:vertical}.checklist-editor-actions{display:flex;gap:8px}.chip{padding:3px 9px;border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;font:inherit;font-size:11.5px;color:var(--ink-muted);cursor:pointer;white-space:nowrap}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.attachment-list,.comment-list,.timeline{list-style:none;margin:0;padding:0}.attachment-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.attachment-list li:last-child{border-bottom:none}.attachment-list a{color:var(--accent);word-break:break-all}.attachment-meta{font-size:11.5px;color:var(--ink-faint);flex:1}.card textarea{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;resize:vertical}.card textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.comment-list{margin-top:14px}.comment-list li{padding:9px 0;border-top:1px solid var(--border)}.comment-list p{margin:0 0 3px;font-size:13px;white-space:pre-wrap}.comment-meta{font-size:11.5px;color:var(--ink-faint)}.comment-meta .link-button{font-size:11.5px;margin-left:6px}.comment-meta em{font-style:italic}.comment-edit textarea{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;font-size:13px;resize:vertical}.comment-edit-actions{display:flex;gap:8px;margin:8px 0 6px}.comment-edit-actions .btn{padding:6px 14px;font-size:13px}.timeline-row{padding:9px 0 9px 12px;border-left:2px solid var(--border-strong);margin-left:3px}.timeline-row.is-cancel{border-left-color:var(--danger)}.timeline-row.is-reopen{border-left-color:var(--warning)}.timeline-comment{margin:6px 0 3px;font-size:12.5px;white-space:pre-wrap}.timeline-meta{font-size:11.5px;color:var(--ink-faint)}.action-stack{display:flex;flex-direction:column;gap:8px}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 38%,transparent)}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.pill-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.alert-info{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent-dark)}.alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 34%,transparent);color:var(--warning)}.print-only{display:none}@media print{.print-only,.detail-grid{display:block}.detail-main>*,.detail-side>*{margin-bottom:12px}.stage-card{overflow:visible}.contract-warning-print{border:2px solid #000;padding:8px;margin-top:10px;font-weight:600}}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.kpi{display:flex;flex-direction:column;gap:2px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit}.kpi:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.kpi-value{font-size:26px;font-weight:600;letter-spacing:-.02em}.kpi-label{font-size:12px;color:var(--ink-muted)}.kpi-accent{border-left-color:var(--accent)}.kpi-accent .kpi-value{color:var(--accent)}.kpi-warning{border-left-color:var(--warning)}.kpi-warning .kpi-value{color:var(--warning)}.kpi-success{border-left-color:var(--success)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.stage-bars,.ageing-list,.gap-list{list-style:none;margin:0;padding:0}.stage-bar-row{display:grid;grid-template-columns:1fr 90px 34px;align-items:center;gap:10px;padding:5px 0;text-decoration:none;color:inherit;font-size:13px}.stage-bar-row:hover .stage-bar-name{color:var(--accent)}.stage-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-bar-track{height:7px;background:var(--canvas);border-radius:999px;overflow:hidden}.stage-bar-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.stage-bar-fill.is-empty{background:transparent}.stage-bar-count{text-align:right;font-weight:600;font-size:13px}.ageing-list li,.gap-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.ageing-list li:last-child,.gap-list li:last-child{border-bottom:none}.ageing-list a{text-decoration:none;color:inherit;min-width:0}.ageing-main{display:block}.ageing-meta{display:block;font-size:11.5px;color:var(--ink-faint)}.ageing-list a:hover .ageing-main{color:var(--accent)}.gap-category{font-size:11px;color:var(--ink-faint);margin-left:8px;border:1px solid var(--border-strong);border-radius:4px;padding:0 5px}.dash-footnote{margin-top:16px;font-size:12px;color:var(--ink-faint)}.print-sheet{display:none}@media print{.screen-only,.shell-brand,.shell-sidebar,.shell-header{display:none!important}.shell{display:block;height:auto}.shell-main{overflow:visible;padding:0}body{background:#fff;color:#000;font-size:9.5pt}.print-sheet{display:block}.ps-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:6px;margin-bottom:10px}.ps-head h1{font-size:15pt;margin:0}.ps-sub{margin:1px 0 0;font-size:9pt;color:#444}.ps-ref{text-align:right;display:flex;flex-direction:column;gap:1px}.ps-ref strong{font-size:12pt}.ps-ref span{font-size:9pt;color:#444}.ps-filed{font-weight:600;color:#000!important}.ps-cancelled{color:#b91c1c!important;font-weight:700}.ps-banner{border:1.5px solid #000;padding:5px 8px;margin:0 0 10px;font-weight:600;font-size:9pt}.ps-fields{width:100%;border-collapse:collapse;margin-bottom:12px}.ps-fields th{text-align:left;font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em;color:#444;font-weight:600;padding:3px 8px 3px 0;width:15%;vertical-align:top}.ps-fields td{padding:3px 14px 3px 0;font-size:9.5pt;width:35%;vertical-align:top}.ps-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:20px;row-gap:6px;margin-bottom:12px}.ps-cell{break-inside:avoid;min-width:0}.ps-k{font-size:7pt;text-transform:uppercase;letter-spacing:.04em;color:#555;font-weight:600;line-height:1.2}.ps-v{font-size:9.5pt;line-height:1.25;overflow-wrap:anywhere}.ps-grid-head{grid-column:1 / -1;font-size:8pt;text-transform:uppercase;letter-spacing:.05em;color:#555;font-weight:600;border-bottom:1px solid #bbb;padding-bottom:1px;margin-top:5px}.ps-fields tr.ps-group td{font-size:8pt;text-transform:uppercase;letter-spacing:.05em;color:#555;font-weight:600;padding:7px 0 1px;width:auto;border-bottom:1px solid #bbb}.ps-h2{font-size:9pt;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #000;padding-bottom:2px;margin:12px 0 6px}.ps-table{width:100%;border-collapse:collapse;font-size:9pt}.ps-table th{text-align:left;border-bottom:1px solid #000;padding:3px 4px;font-size:8pt;text-transform:uppercase}.ps-table td{padding:3px 4px;border-bottom:1px solid #ddd}.ps-table tfoot td{border-top:1.5px solid #000;border-bottom:none}.ps-table tr{break-inside:avoid}.ps-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ps-list{margin:0;padding-left:15px;font-size:9pt}.ps-list li{margin-bottom:3px;break-inside:avoid}.ps-comment{font-size:8.5pt;color:#333;font-style:italic;margin-top:1px}.ps-note{font-size:9pt;margin:0}.pr-to{font-size:10.5pt;margin:10px 0 2px}.pr-intro{font-size:9.5pt;margin:0 0 10px}.pr-close{font-size:9.5pt;margin:12px 0 0}.pr-overdue{color:#b42318;font-weight:600}.ps-steps{list-style:none;padding-left:0}.ps-steps li{display:flex;gap:5px;align-items:baseline;margin-bottom:4px}.ps-step-mark{width:9px;flex:none;text-align:center}.ps-step-mark.is-pending{color:#666}.ps-step-mark.is-na{color:#888}.ps-step-body{min-width:0}.ps-step-date:before{content:" — "}.ps-step-date{color:#333}.ps-step-remark{display:block;font-size:8.5pt;color:#333;font-style:italic;margin-top:1px;white-space:pre-wrap}.ps-foot{display:flex;justify-content:space-between;border-top:1px solid #000;margin-top:14px;padding-top:4px;font-size:7.5pt;color:#444}.ps-doc-table,.ps-prog-table{width:100%;border-collapse:collapse;font-size:9pt;margin-bottom:4px}.ps-doc-table th,.ps-prog-table th{text-align:left;border-bottom:1px solid #000;padding:4px 6px;font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em;color:#555;font-weight:600}.ps-doc-table td,.ps-prog-table td{padding:4px 6px;border-bottom:1px solid #e6e6e6;vertical-align:top}.ps-doc-table tr,.ps-prog-table tr{break-inside:avoid}.ps-doc-status{width:72px}.ps-tag{display:inline-block;min-width:56px;text-align:center;font-size:7pt;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 4px;border:1px solid;border-radius:3px}.ps-tag.is-done{color:#15683f;border-color:#bcd9c7}.ps-tag.is-pending{color:#9a3412;border-color:#f0c9a8}.ps-tag.is-na{color:#777;border-color:#d8d8d8}.ps-doc-date{width:92px;white-space:nowrap}.ps-doc-ref{width:120px;color:#333}.ps-doc-req{color:#9a3412;font-weight:600;font-size:7.5pt;text-transform:uppercase;letter-spacing:.03em}.ps-prog-stage{font-weight:600}.ps-prog-by{width:96px}.ps-muted{color:#999}@page{size:A4;margin:12mm}}.build-stamp-stale{display:block;width:calc(100% - 24px);margin:0 12px 8px;text-align:left;cursor:pointer;background:var(--warn-soft, #fff7ed);color:#9a3412;border:1px solid #fdba74;border-radius:var(--radius, 6px);padding:8px 10px;font-size:11px;line-height:1.35}.build-stamp-stale:hover{background:var(--warning-soft)}.build-stamp{margin-top:auto;padding:12px 12px 4px;font-size:10.5px;color:var(--ink-muted);letter-spacing:.02em}.report-head{margin-bottom:14px}.report-head h3{font-size:16px}.report-head p{margin:4px 0 0;font-size:13px;color:var(--ink-muted);max-width:780px}.report-filter{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-muted)}.report-filter input,.report-filter select{padding:7px 9px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;font-size:13px}.report-print-head{margin-bottom:8px}@media print{.report-print-head{display:flex!important;flex-direction:column;gap:2px}.report-print-head strong{font-size:12pt}.report-print-head span{font-size:8.5pt;color:#444}.tabs,.page-header p{display:none!important}.data-table{font-size:8.5pt}}.payment-list{list-style:none;margin:0;padding:0}.payment-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.payment-row:last-child{border-bottom:none}.payment-row.is-paid{opacity:.65}.payment-main{min-width:0}.payment-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;font-weight:500}.payment-meta{display:block;font-size:12px;color:var(--ink-muted);margin-top:2px}.payment-snooze{display:block;font-size:11.5px;color:var(--warning);margin-top:3px}.payment-snooze .link-button{font-size:11.5px;margin-left:6px}.payment-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.snooze-quick{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.payment-reminders{margin-bottom:16px;border-left:3px solid var(--warning)}.payment-reminders.has-overdue{border-left-color:var(--danger)}.landed-cost{list-style:none;margin:0;padding:0}.landed-cost>li{display:grid;grid-template-columns:110px 1fr 130px auto auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft, #eef0f3)}.landed-cost>li:last-child{border-bottom:none}.landed-cost-name{font-size:13px;color:var(--ink-muted)}.landed-cost-bar{display:block;height:8px;border-radius:999px;background:var(--line-soft, #eef0f3);overflow:hidden}.landed-cost-fill{display:block;height:100%;border-radius:999px;background:var(--accent, #2563eb)}.landed-cost-fill.is-empty{background:transparent}.landed-cost-value{text-align:right;font-variant-numeric:tabular-nums}.landed-cost>li>.inline-form{grid-column:1 / -1}.payment-receipts{list-style:none;margin:4px 0 0;padding:0 0 0 12px;border-left:2px solid var(--line-soft, #eef0f3)}.payment-receipts>li{font-size:12px;color:var(--ink-muted);padding:2px 0}.payment-receipts .link-button{font-size:12px;margin-left:8px}@media(max-width:720px){.landed-cost>li{grid-template-columns:1fr auto;row-gap:4px}.landed-cost-bar{grid-column:1 / -1}}.report-table .data-table th,.report-table .data-table td{white-space:nowrap}.report-table .data-table td:first-child,.report-table .data-table th:first-child{white-space:normal}.drawer-wide{width:min(760px,96vw)}.drawer-section{margin:22px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.permission-companies{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:6px}.permission-group{margin-top:14px}.permission-group h5{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 4px;font-size:13px;border-bottom:1px solid var(--line-soft, #eef0f3);padding-bottom:4px}.permission-list{list-style:none;margin:0;padding:0}.permission-list>li{border-radius:6px;padding:5px 6px}.permission-list>li.is-on{background:var(--accent-soft, #eff4ff)}.permission-list label{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;cursor:pointer;font-weight:400}.permission-list strong{display:block;font-size:13.5px}.permission-detail{display:block;font-size:12px;color:var(--ink-muted);margin-top:1px}.company-logo-preview{display:flex;align-items:center;gap:14px;padding:10px 0}.company-logo-preview img{max-height:64px;max-width:220px;object-fit:contain;border:1px solid var(--line-soft, #eef0f3);border-radius:6px;padding:6px;background:#fff}.ps-letterhead{display:flex;gap:14px;align-items:flex-start}.ps-logo{max-height:46px;max-width:190px;object-fit:contain}.ps-address{margin:1px 0 0;font-size:10.5px;color:#444;white-space:pre-line}.activity-list{list-style:none;margin:0;padding:0}.activity-list>li{padding:10px 2px;border-bottom:1px solid var(--line-soft, #eef0f3)}.activity-list>li:last-child{border-bottom:none}.activity-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink-muted)}.activity-who{font-weight:600;color:var(--ink, #111827)}.activity-summary{margin:4px 0 0;font-size:14px}.activity-link{font-size:12px}.settings-list{display:grid;gap:2px}.setting-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,320px);gap:18px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line-soft, #eef0f3)}.setting-row:last-child{border-bottom:none}.setting-label strong{display:block;font-size:14px}.setting-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.setting-control input[type=text],.setting-control input[type=number]{max-width:160px}.danger-zone{border-color:color-mix(in srgb,var(--danger) 38%,transparent)}.danger-zone h3{color:var(--danger)}.reset-steps{margin-top:10px}.reset-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;letter-spacing:6px;margin:6px 0 12px;font-weight:700}@media(max-width:720px){.setting-row{grid-template-columns:1fr;gap:6px}}.shell-brand{display:flex;align-items:center;gap:9px}.shell-logo{max-height:26px;max-width:120px;object-fit:contain}.login-logo{max-height:52px;max-width:220px;object-fit:contain;margin-bottom:10px}.table-pager{display:flex;align-items:center;gap:10px;padding:10px 4px 2px;border-top:1px solid var(--line-soft, #eef0f3);font-size:13px}.ps-qr{text-align:center;margin-left:14px}.ps-qr img{display:block}.ps-qr span{display:block;font-size:7.5px;color:#555;margin-top:2px}.qr-label{width:62mm;padding:5mm 4mm 4mm;text-align:center;border:1px dashed #999;border-radius:2mm;background:#fff;color:#000;break-inside:avoid}.qr-label-code{display:block;width:46mm;height:46mm;margin:0 auto 3mm}.qr-label-number{font-size:13pt;font-weight:700;letter-spacing:.02em;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;line-height:1.15}.qr-label-line{font-size:10pt;margin-top:1mm}.qr-label-company{font-size:8pt;color:#555;margin-top:1mm}.qr-label-preview{display:flex;justify-content:center;padding:8px 0 4px}.qr-label-sheet{display:none}@media print{.qr-label-sheet{display:block;padding:0;margin:0}}.import-bad td{background:var(--warn-soft, #fff7ed)}.import-problem{color:var(--danger, #b42318);font-size:12.5px;line-height:1.35}.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;border-bottom:1px dotted var(--line, #c9ced6)}.linklike:hover{color:var(--accent, #2b48d6);border-bottom-style:solid}.help-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}.help-contents{position:sticky;top:0;max-height:calc(100vh - 120px);overflow-y:auto;font-size:13px}.help-contents-head{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:8px}.help-contents ul{list-style:none;margin:0;padding:0}.help-contents li{margin-bottom:2px}.help-contents a{display:block;padding:4px 8px;border-radius:var(--radius);color:var(--ink-muted);text-decoration:none;line-height:1.35}.help-contents a:hover{background:var(--surface-2);color:var(--ink)}.help-body{max-width:46rem;line-height:1.6;scroll-behavior:smooth}.help-body h1{font-size:22px;margin:32px 0 12px}.help-body h1:first-child{margin-top:0}.help-body h2{font-size:17px;margin:34px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);scroll-margin-top:12px}.help-body h2:first-child{margin-top:0}.help-body h3{font-size:14px;margin:22px 0 8px}.help-body p{margin:0 0 12px;font-size:14px}.help-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--surface-2);border-radius:3px;padding:1px 4px}.doc-list{margin:0 0 14px;padding-left:20px;font-size:14px}.doc-list li{margin-bottom:6px}.doc-note{margin:0 0 16px;padding:10px 14px;border-left:3px solid var(--accent);background:var(--surface-2);color:var(--ink-muted);font-size:13.5px}.doc-rule{border:none;border-top:1px solid var(--border);margin:26px 0}.doc-table-wrap{overflow-x:auto;margin:0 0 16px}.doc-table{border-collapse:collapse;width:100%;font-size:13px}.doc-table th,.doc-table td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.doc-table th{background:var(--surface-2);font-weight:600}@media(max-width:900px){.help-layout{grid-template-columns:minmax(0,1fr)}.help-contents{position:static;max-height:none}}@media print{.help-layout{display:block}.help-body{max-width:none;border:none;box-shadow:none;padding:0}}.stage-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.stage-actions-label{font-size:13px;font-weight:600}.stage-actions select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;background:var(--surface)}.stage-actions-hint{font-size:12px;color:var(--ink-muted);flex:1 1 220px}.stage-actions-note{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;color:var(--ink-muted)}.stage-step button:not(:disabled){border-radius:var(--radius);padding:4px 2px}.stage-step button:not(:disabled):hover{background:var(--accent-soft)}.stage-step button:not(:disabled):hover .stage-name{color:var(--accent)}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:50px auto 1fr;grid-template-areas:"brand" "header" "main"}.shell-brand{gap:10px;padding:0 12px;font-size:13.5px;min-width:0}.shell-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-menu-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-8px;flex:none;background:none;border:none;border-radius:var(--radius);color:var(--brand-ink);font-size:19px;line-height:1;cursor:pointer}.shell-menu-button:active{background:var(--surface-2)}.shell-header{justify-content:flex-start;flex-wrap:wrap;gap:10px 14px;padding:9px 12px;min-height:0}.header-user{padding-left:0;border-left:none;margin-left:auto}.shell-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;max-width:82vw;z-index:60;padding:14px 10px calc(14px + env(safe-area-inset-bottom));transform:translate(-100%);transition:transform .18s ease;box-shadow:2px 0 18px #10182847;visibility:hidden}.shell.menu-open .shell-sidebar{transform:none;visibility:visible}.shell-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#11182773;border:none;padding:0}.nav-link{padding:12px;font-size:15px}.shell-main{padding:14px 12px 28px}}@media(max-width:900px){input,select,textarea,.field input,.field select,.field textarea,.toolbar-search,.toolbar-select,.company-switcher select,.stage-actions select{font-size:16px}.btn{min-height:42px;padding:10px 16px}.chip,.drawer-close,.orderable-moves button{min-height:38px}.link-button{padding:6px 0}.page-header{margin-bottom:14px}.card{padding:14px}.detail-title{flex-direction:column;align-items:stretch;gap:10px}.detail-actions{flex-wrap:wrap}.detail-actions .btn{flex:1 1 auto}.toolbar{gap:8px}.toolbar-search{flex:1 1 100%}.toolbar-select{flex:1 1 calc(50% - 4px);min-width:0}.toolbar-spacer{display:none}.toolbar .btn{flex:1 1 100%}.table-wrap,.doc-table-wrap,.stage-card{max-width:100%;-webkit-overflow-scrolling:touch}.data-table{font-size:13px}.data-table th,.data-table td{padding:10px;white-space:nowrap}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;white-space:nowrap}.payment-actions{flex-wrap:wrap;justify-content:flex-end}.drawer,.drawer-wide{width:100%;max-width:100%}.drawer-body{padding:16px 14px}.drawer-header{padding:16px 14px 12px}.drawer-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.drawer-footer .btn{flex:1 1 auto}.orderable-row{flex-wrap:wrap}.orderable-content{flex:1 1 100%;order:-1}.orderable-moves{flex:1 1 auto;justify-content:flex-end}.setting-row{grid-template-columns:1fr;gap:6px}.landed-cost>li{grid-template-columns:1fr auto;row-gap:4px}.landed-cost-bar{grid-column:1 / -1}.login-card{padding:22px}}.timeline-edit{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}.timeline-edit input[type=date],.timeline-edit textarea{width:100%;padding:7px 9px;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;font-size:13px;resize:vertical}.comment-confirm{color:var(--ink-muted)}.comment-confirm .link-button{font-size:11.5px}.link-button.danger{color:var(--danger)}.move-company{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--canvas)}.move-company .field{margin-bottom:0}.move-company-actions{display:flex;gap:8px}.tabs-groups{border-bottom:none;gap:6px;margin-bottom:10px}.tabs-groups .tab{border:1px solid var(--border);border-radius:999px;padding:7px 16px;margin-bottom:0;font-weight:600}.tabs-groups .tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.masked-toggle{margin-left:10px;font-size:.85em;font-weight:500}.masked-input{display:flex;align-items:center;gap:8px}.masked-input input{flex:1;min-width:0}.login-card-wide{max-width:640px}.totp-qr{width:200px;height:200px;margin:12px 0 6px;background:#fff;padding:6px;border:1px solid var(--border);border-radius:8px}.totp-qr svg{width:100%;height:100%;display:block}.setup-steps{padding-left:22px;margin:10px 0 14px}.setup-steps li{margin-bottom:12px}.recovery-codes{font-size:1.1rem;line-height:1.7;letter-spacing:.06em;background:var(--surface-muted, #f6f7f9);border:1px dashed var(--border);border-radius:8px;padding:14px 18px;columns:2;margin:12px 0}.header-account{color:inherit;text-decoration:none}.header-account:hover strong{text-decoration:underline}.payment-alert{margin-bottom:16px}.payment-alert-list{margin:8px 0 0;padding-left:20px}.payment-alert-list li{margin-bottom:2px}.payment-reminders{margin-bottom:20px;border-left-width:4px;box-shadow:var(--shadow-sm)}.payment-reminders.has-overdue{background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.alert-dismiss{background:none;border:none;cursor:pointer;font-size:22px;line-height:1;color:var(--ink-muted);padding:0 4px;margin-left:4px}.alert-dismiss:hover{color:var(--ink)}.payment-date-hint{flex-basis:100%;margin-top:4px}.pill-stage{display:inline-block;padding:3px 9px;line-height:1.25;text-align:center;white-space:normal;max-width:100%}
