::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #374151);border-radius:4px}:root{--surface-base: #111827;--surface-card: #1b2432;--surface-raised: #111827;--surface-input: #111827;--surface-hover: #1e2d45;--surface-sidebar: #111827;--border-default: rgba(148, 163, 184, .14);--border-strong: rgba(148, 163, 184, .22);--border-subtle: rgba(148, 163, 184, .08);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #6b7280;--text-disabled: #4b5563;--text-heading: #f8fafc;--color-income: #34d399;--color-expense: #f87171;--color-transfer: #60a5fa;--color-warning: #f59e0b;--color-success: #059669;--color-error: #dc2626;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-active-bg: rgba(37, 99, 235, .2);--primary-active-border: rgba(37, 99, 235, .5);--primary-gradient: linear-gradient(135deg, #2563eb, #0891b2);--primary-text: #60a5fa;--badge-success-bg: #ecfdf5;--badge-success-text: #065f46;--badge-success-border: #a7f3d0;--badge-danger-bg: #fef2f2;--badge-danger-text: #991b1b;--badge-danger-border: #fca5a5;--badge-warning-bg: #fef3c7;--badge-warning-text: #92400e;--badge-warning-border: #fde68a;--badge-info-bg: #dbeafe;--badge-info-text: #1e40af;--badge-info-border: #93c5fd;--badge-neutral-bg: #f1f5f9;--badge-neutral-text: #475569;--badge-neutral-border: #cbd5e1;--font-primary: "DM Sans", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 999px;--shadow-card: 0 1px 1px rgba(0, 0, 0, .16);--shadow-elevated: 0 6px 18px rgba(0, 0, 0, .18);--shadow-command: 0 14px 36px rgba(0, 0, 0, .32);--muted-bg: rgba(148, 163, 184, .1);--muted: #6b7280;--scrollbar-thumb: #374151;--z-sticky: 50;--z-dropdown: 100;--z-modal: 200;--z-toast: 999;--sidebar-width: 280px;--header-height: 56px;--content-max: 1200px;--content-padding: 24px}.client-portal-shell{--surface-base: #f8fafc;--surface-card: #ffffff;--surface-raised: #f1f5f9;--surface-input: #ffffff;--surface-hover: #f1f5f9;--surface-sidebar: #ffffff;--border-default: #e2e8f0;--border-strong: #cbd5e1;--border-subtle: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--text-disabled: #cbd5e1;--text-heading: #0f172a;--color-income: #059669;--color-expense: #dc2626;--color-transfer: #2563eb;--color-warning: #d97706;--primary-active-bg: #eff6ff;--primary-active-border: rgba(37, 99, 235, .35);--primary-text: #2563eb;--shadow-card: 0 1px 3px rgba(15, 23, 42, .06)}[data-theme=light]{--surface-base: #f8fafc;--surface-card: #ffffff;--surface-raised: #f1f5f9;--surface-input: #ffffff;--surface-hover: #f1f5f9;--surface-sidebar: #ffffff;--border-default: #e2e8f0;--border-strong: #cbd5e1;--border-subtle: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--text-disabled: #cbd5e1;--text-heading: #0f172a;--color-income: #059669;--color-expense: #dc2626;--color-transfer: #2563eb;--color-warning: #d97706;--primary-active-bg: #eff6ff;--primary-active-border: rgba(37, 99, 235, .35);--primary-text: #2563eb;--shadow-card: 0 1px 3px rgba(15, 23, 42, .06);--shadow-elevated: 0 4px 12px rgba(15, 23, 42, .1);--muted-bg: #e5e7eb;--muted: #6b7280;--scrollbar-thumb: #cbd5e1;--o12-level-0: #f8fafc;--o12-level-1: #ffffff;--o12-level-2: #f8fafc;--o12-level-3: #ffffff;--o12-divider: #e5e7eb;--o12-divider-strong: #dbe3ec;--o12-hover: #f1f5f9;--o12-active: #eff6ff;--o12-control: #ffffff;--o12-control-hover: #f8fafc}@keyframes kps-spin{to{transform:rotate(360deg)}}@keyframes kps-toast-slide{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.op-table-wrap{width:100%;overflow-x:auto;border-radius:var(--radius-lg)}.op-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.op-table thead th{position:sticky;top:0;z-index:2;padding:0 var(--space-2) var(--space-2);background:var(--surface-card);color:var(--text-muted);font-size:var(--text-xs);font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border-default)}.op-table tbody tr{transition:background .08s}.op-table tbody tr:hover{background:var(--surface-hover)}.op-table td{padding:var(--space-2) var(--space-2);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-primary);vertical-align:middle}.op-table .col-right,.op-table th.col-right,.op-table td.col-right{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.op-table .col-mono,.op-table td.col-mono{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.op-table .col-status,.op-table th.col-status{white-space:nowrap}.op-table .cell-muted{color:var(--text-muted);font-size:var(--text-xs)}.op-table .col-actions{width:80px;text-align:right;white-space:nowrap}.op-table.compact td,.op-table.compact th{padding-top:5px;padding-bottom:5px}.op-table-link{color:var(--primary-text);text-decoration:none;font-weight:500}.op-table-link:hover{text-decoration:underline}.op-table-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.op-table-loading{padding:var(--space-5) var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.kps-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;flex-wrap:wrap}.kps-toolbar-left{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1 1 auto;min-width:0}.kps-toolbar-center{flex:0 1 320px;min-width:0}.kps-toolbar-right{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.kps-toolbar-title{font-size:var(--text-md);font-weight:700;color:var(--text-primary);white-space:nowrap}.kps-toolbar-count{color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.kps-search{position:relative;display:flex;align-items:center}.kps-search-input{width:100%;height:34px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--surface-input);color:var(--text-primary);font:inherit;font-size:var(--text-sm);outline:none;transition:border-color .14s}.kps-search-input::placeholder{color:var(--text-muted)}.kps-search-input:focus{border-color:var(--primary)}.kps-filter-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) 0}.kps-filter-select{height:32px;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font:inherit;font-size:var(--text-xs);font-weight:600;outline:none;cursor:pointer}.kps-filter-select:focus{border-color:var(--primary)}.kps-segment{display:inline-grid;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md)}.kps-segment-2{grid-template-columns:1fr 1fr}.kps-segment-3{grid-template-columns:1fr 1fr 1fr}.kps-segment-btn{padding:6px 12px;background:var(--surface-base);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;white-space:nowrap;border-right:1px solid var(--border-strong);text-align:center}.kps-segment-btn:last-child{border-right:0}.kps-segment-btn.active{background:var(--primary-active-bg);color:var(--primary-text);border-color:var(--primary-active-border)}.kps-segment-btn.active.income{background:#34d39929;color:var(--color-income);border-color:#34d39952}.kps-segment-btn.active.expense{background:#f8717129;color:var(--color-expense);border-color:#f8717152}.ui-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.ui-page-header h1{margin:0;font-size:var(--text-xl);font-weight:800;color:var(--text-primary);line-height:1.1}.ui-page-header .eyebrow{margin:0 0 var(--space-1)}.ui-page-header .muted{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary)}.ui-page-header .topbar-actions{align-self:flex-start;padding-top:2px}.ui-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.ui-section-header h2{margin:0;font-size:var(--text-md);font-weight:700;color:var(--text-primary);line-height:1.2}.ui-section-header .muted{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--text-secondary)}.form-section{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-raised)}.form-section-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0}.form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.ui-field{display:grid;gap:var(--space-1)}.ui-field label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.ui-input,.ui-select,.ui-textarea{width:100%;height:36px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-input);color:var(--text-primary);font:inherit;font-size:var(--text-base);outline:none;transition:border-color .14s,box-shadow .14s}.ui-textarea{height:auto;min-height:80px;padding:var(--space-2) var(--space-3);resize:vertical}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb26}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--color-error)}.ui-input[aria-invalid=true]:focus,.ui-select[aria-invalid=true]:focus{box-shadow:0 0 0 2px #dc262626}.ui-input[readonly],.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{opacity:.6;cursor:not-allowed;background:#94a3b80f}.ui-input.fin-input{font-family:var(--font-mono);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.ui-field-hint{font-size:var(--text-xs);color:var(--text-muted)}.ui-field-error{font-size:var(--text-xs);color:var(--badge-danger-text);font-weight:600}.required{color:var(--color-error);margin-left:2px}.ui-empty-state{display:grid;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);border-radius:var(--radius-lg)}.ui-empty-state strong{display:block;font-size:var(--text-base);font-weight:700;color:var(--text-secondary)}.ui-empty-state span{font-size:var(--text-sm)}.ui-no-results{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);color:var(--text-muted);font-size:var(--text-sm);border:1px dashed var(--border-default);border-radius:var(--radius-lg)}.ui-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-muted);font-size:var(--text-sm)}.ui-loading:before{content:"";width:14px;height:14px;border-radius:999px;border:2px solid var(--border-strong);border-top-color:var(--primary);animation:kps-spin .6s linear infinite;flex-shrink:0}.ui-skeleton{display:block;height:12px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-hover) 0%,rgba(148,163,184,.08) 50%,var(--surface-hover) 100%);background-size:200% 100%;animation:kps-skeleton-shimmer 1.4s ease infinite}@keyframes kps-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-skeleton.wide{width:80%}.ui-skeleton.med{width:55%}.ui-skeleton.short{width:32%}.ui-skeleton.tall{height:20px}.ui-error-block{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--badge-danger-border);border-radius:var(--radius-lg);background:var(--badge-danger-bg);color:var(--badge-danger-text);font-size:var(--text-sm);font-weight:500}.fin-amount{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary)}.fin-amount.positive{color:var(--color-income)}.fin-amount.negative{color:var(--color-expense)}.fin-amount.neutral{color:var(--color-transfer)}.fin-amount.large{font-size:var(--text-md);font-weight:700}.fin-amount.muted{color:var(--text-muted)}.fin-summary-bar{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.fin-summary-item{display:grid;gap:2px}.fin-summary-item small{font-size:var(--text-xs);color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.fin-summary-item strong{font-family:var(--font-mono);font-size:var(--text-base);font-variant-numeric:tabular-nums;white-space:nowrap}.fin-total-row td{border-top:2px solid var(--border-strong)!important;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fin-balance{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em}.fin-balance.positive{color:var(--color-income)}.fin-balance.negative{color:var(--color-expense)}.fin-sub-balance{font-family:var(--font-mono);font-size:var(--text-md);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ui-metric-card{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.ui-metric-card span{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ui-metric-card strong{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.ui-metric-card small{font-size:var(--text-xs);color:var(--text-muted)}.ui-metric-success strong{color:var(--color-income)}.ui-metric-warning strong{color:var(--color-warning)}.ui-metric-danger strong{color:var(--color-expense)}.ui-button-primary:not(:disabled):hover{opacity:.9}.ui-button-secondary:not(:disabled):hover{background:var(--primary-active-bg)}.ui-button-ghost:not(:disabled):hover{background:var(--surface-hover);color:var(--text-primary)}.ui-button-danger:not(:disabled):hover{background:var(--badge-danger-bg);opacity:.9}.ui-button-icon:not(:disabled):hover{background:var(--primary-active-bg);color:var(--primary-text)}.row-actions{display:flex;align-items:center;gap:var(--space-1);justify-content:flex-end;white-space:nowrap}.icon-btn{width:28px;height:28px;min-width:28px;padding:0;font-size:var(--text-sm)}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm)}.banner.warning{background:var(--badge-warning-bg);border-color:var(--badge-warning-border);color:var(--badge-warning-text)}.compact-banner{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.panel-heading h2,.panel-heading h3{margin:0;color:var(--text-primary)}.panel-heading .eyebrow{margin:0 0 var(--space-1)}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);flex-wrap:wrap}.topbar h1{margin:0;font-size:var(--text-xl);font-weight:800;letter-spacing:0;line-height:1.1}.topbar .eyebrow{margin:0 0 var(--space-1)}.topbar .muted{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary)}.compact-topbar h1{font-size:var(--text-lg)}.topbar-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;padding-top:2px}.client-portal-shell .ui-empty-state,.client-portal-shell .ui-no-results{border-color:var(--border-default);color:var(--text-muted)}.client-portal-shell .fin-summary-bar{background:var(--surface-card);border-color:var(--border-default)}@media (max-width: 768px){.kps-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-2)}.kps-toolbar-center{flex:1 1 auto}.kps-toolbar-right{justify-content:flex-start}.ui-page-header{flex-direction:column;gap:var(--space-3)}.fin-summary-bar{gap:var(--space-3)}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-primary);-webkit-font-smoothing:antialiased;background:var(--surface-base);color:var(--text-primary)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:15px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.18),transparent 34%),linear-gradient(145deg,#0f172a,#1e293b 50%,#0f172a)}.login-panel{width:min(440px,100%);background:#ffffff09;border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:48px;text-align:center;box-shadow:0 24px 80px #00000080;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.login-panel h1,.topbar h1,.sidebar h2{margin:0;letter-spacing:0}.login-panel h1{color:var(--text-primary);font-size:22px;font-weight:800}.login-panel form{display:grid;gap:12px;margin-top:24px}label,.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}input{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:8px 10px;background:var(--surface-input);color:var(--text-primary);font:inherit;font-size:var(--text-base);outline:none}input:focus{border-color:var(--primary)}select,textarea{min-width:0}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap table{border-collapse:separate;border-spacing:0}.table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--surface-card)}.table-wrap tbody tr:hover td{background:var(--surface-hover);transition:background .1s}td.right,th.right,.money-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.login-panel input{padding:14px 16px;border-color:#ffffff1f;background:#ffffff0e;font-family:var(--font-mono);font-size:15px;letter-spacing:1.5px;text-transform:uppercase}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}.login-panel button,.ghost{border-radius:12px;padding:14px;background:linear-gradient(135deg,#2563eb,#0891b2);color:#fff;font-weight:700;box-shadow:0 4px 20px #2563eb47}.login-panel button:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--text-secondary)}.error{color:#f87171;margin:0;text-align:left;font-size:12px}.brand-mark{width:64px;height:64px;border-radius:16px;margin:0 auto 20px;background:linear-gradient(135deg,#2563eb,#0891b2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:800;box-shadow:0 8px 32px #2563eb52}.brand-mark.small{width:36px;height:36px;border-radius:10px;margin:0;font-size:16px;flex:0 0 auto}.login-footer{color:var(--text-muted);font-size:11px;margin:16px 0 0}.login-tabs{display:flex;gap:4px;background:var(--surface-subtle, rgba(255,255,255,.04));border-radius:10px;padding:3px;margin-bottom:4px}.login-tabs button{flex:1;padding:7px 12px;border-radius:8px;background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.login-tabs button.active{background:var(--surface-card, rgba(255,255,255,.09));color:var(--text-primary)}.login-tabs button:hover:not(.active){color:var(--text-secondary)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:var(--surface-base)}.sidebar{background:var(--surface-sidebar);color:var(--text-primary);padding:18px;display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--border-default)}.sidebar .eyebrow{color:var(--text-secondary)}.sidebar-brand{display:flex;align-items:center;gap:12px}.session-card{border:1px solid rgba(226,232,240,.16);border-radius:8px;padding:12px;display:grid;gap:4px;background:#ffffff09}.session-card small{color:var(--text-muted)}.sidebar-meta{display:flex;gap:8px;flex-wrap:wrap}.sidebar-meta span{border:1px solid rgba(226,232,240,.12);border-radius:999px;padding:5px 9px;color:#b6c4d2;font-size:12px}.session-card span,.session-card strong{overflow-wrap:anywhere}.session-role{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);text-transform:capitalize}.session-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.session-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.session-scope{font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}nav{display:grid;gap:6px;overflow:auto}nav button,nav a{width:100%;border-radius:var(--radius-lg);padding:9px 12px;background:transparent;color:var(--text-secondary);text-align:left;border:1px solid transparent;text-decoration:none;display:block;font-size:var(--text-sm);font-weight:500}nav button.active,nav button:hover,nav a.active,nav a:hover{background:var(--primary-active-bg);border-color:var(--primary-active-border);color:var(--primary-text);font-weight:700}nav span,nav small{display:block}nav small{margin-top:3px;color:var(--text-secondary)}.workspace-tabs{display:flex;gap:8px;overflow-x:auto;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base)}.workspace-tabs button{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;width:auto;border-radius:var(--radius-md);padding:9px 12px;border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);font-weight:700;transition:background .1s,border-color .1s,color .1s}.workspace-tabs button span{min-width:24px;color:var(--primary-text);font-size:10px;font-weight:800;text-align:center}.workspace-tabs button.active,.workspace-tabs button:hover{background:var(--primary-active-bg);border-color:var(--primary-active-border);color:var(--primary-text)}.ghost{margin-top:auto;background:#ffffff14;box-shadow:none}.sidebar-logout{margin-top:auto;padding:8px 12px;border-radius:var(--radius-lg);background:#ffffff0f;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;width:100%;text-align:left;border:1px solid var(--border-default)}.sidebar-logout:hover{background:#ffffff1a;color:var(--text-primary)}.content{padding:20px;display:grid;align-content:start;gap:12px;background:var(--surface-base);min-width:0}.command-bar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:center;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.command-search{position:relative}.command-search input{padding:10px 12px;border-radius:8px;background:#1f2937}.command-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;display:grid;gap:2px;max-height:360px;overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:6px;background:var(--surface-card);box-shadow:var(--shadow-card)}.command-results a,.command-empty{display:grid;gap:3px;padding:10px;border-radius:6px;color:inherit;text-decoration:none}.command-results a:hover{background:#2563eb33}.command-results span,.command-empty{color:var(--text-muted);font-size:12px}.command-status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.command-status span,.filter-chip{border:1px solid var(--border-default);border-radius:var(--radius-full);padding:6px 10px;background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.filter-chip.active,.filter-chip:hover{border-color:var(--primary-active-border);background:var(--primary-active-bg);color:var(--primary-text)}.topbar,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar{min-height:58px}.topbar .muted{display:block;margin-top:3px;font-size:12px}.compact-topbar h1{font-size:24px}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.client-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;padding:24px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0f172af0,#111827c7),radial-gradient(circle at 88% 14%,rgba(45,212,191,.22),transparent 32%);color:var(--text-primary)}.client-hero h1{margin:4px 0 6px;font-size:30px}.client-hero span{color:var(--text-secondary)}.client-hero-status{display:grid;min-width:126px;gap:4px;text-align:right}.client-hero-status strong{font-size:32px}.client-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:14px}.client-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:12px}.client-focus-card{min-height:118px;align-content:start}.client-focus-card h2{margin:2px 0 4px;font-size:18px;line-height:1.15}.client-focus-card .muted{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.35;-webkit-line-clamp:3;-webkit-box-orient:vertical}.client-tabs{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin-bottom:14px;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.client-tabs button{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-card);color:var(--text-primary);font-weight:800}.client-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;border-radius:999px;padding:2px 7px;background:#2563eb2e;color:var(--primary-text);font-size:11px}.client-tabs button.active,.client-tabs button:hover{border-color:var(--primary-active-border);background:var(--primary-active-bg);color:var(--primary-text)}.client-status-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:12px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.client-status-strip span{display:grid;gap:2px;min-width:0}.client-status-strip small{color:var(--text-secondary);font-size:10px;font-weight:800;text-transform:uppercase}.client-status-strip b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.client-progress{display:grid;gap:12px}.pill,.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#2563eb29;color:#bfdbfe;font-size:12px;font-weight:700}.pill.subtle{background:#94a3b81f;color:var(--text-secondary)}.status.income{background:#dcfce7;color:#166534}.status.expense{background:#fee2e2;color:#991b1b}.status.transfer{background:#e0e7ff;color:#3730a3}.cards,.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.admin-cockpit{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.cockpit-main,.cockpit-side{display:grid;gap:18px}.cockpit-side{position:sticky;top:24px}.admin-kpis{grid-template-columns:repeat(4,minmax(160px,1fr))}.cards.compact{grid-template-columns:repeat(3,minmax(170px,1fr))}.metric,.panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card)}.metric{padding:11px 12px;display:grid;gap:4px}.metric span{color:var(--text-secondary);font-size:12px}.metric strong{font-size:16px;overflow-wrap:anywhere}.action-panel{display:grid;gap:14px}.action-panel h2{margin:0;font-size:18px}.action-list,.mini-list{display:grid;gap:8px}.action-link,.mini-row,.project-card{color:inherit;text-decoration:none}.action-link{display:grid;gap:4px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px;background:var(--surface-raised);transition:border-color .15s,background .15s}.action-link:hover,.mini-row:hover,.project-card:hover{border-color:var(--primary-active-border);background:var(--primary-active-bg)}.action-link span,.mini-row strong{color:var(--text-secondary);font-size:var(--text-sm)}.mini-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px 12px;background:var(--surface-raised);transition:border-color .15s,background .15s}.mini-button{width:100%;color:inherit;cursor:pointer;text-align:left}.client-generated-updates{display:grid;gap:6px}.client-generated-updates span{padding:6px 0;border-top:1px solid var(--border-default);color:var(--text-primary);font-size:12px;line-height:1.35}.client-generated-updates .client-update-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.client-update-row b{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mini-button:disabled{cursor:wait;opacity:.76}.mini-row.static-row:hover{border-color:var(--border-default);background:var(--surface-raised)}.mini-row span,.mini-row strong{overflow-wrap:anywhere}.workspace-grid,.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.single-column{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:span 2}.settings-card{display:grid;gap:10px;color:inherit;text-decoration:none;border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-5);background:var(--surface-card);box-shadow:var(--shadow-card);transition:border-color .15s}.settings-card:hover{border-color:var(--primary-active-border);background:var(--primary-active-bg)}.settings-card span{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.settings-checklist{display:grid;gap:8px}.settings-checklist span{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px 12px;background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm)}.export-grid,.system-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.export-card,.system-status-grid span{display:grid;gap:6px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px 12px;background:var(--surface-raised)}.export-card small,.system-status-grid small{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.export-card>span{display:flex;gap:6px;flex-wrap:wrap}.system-status-grid b{color:var(--text-primary)}.timeline-card{display:grid;gap:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:14px;background:var(--surface-raised)}.timeline-axis{position:relative;height:16px;border-radius:999px;background:var(--border-strong);overflow:hidden}.timeline-elapsed,.timeline-progress{position:absolute;inset-block:0;left:0;border-radius:inherit}.timeline-elapsed{background:var(--border-strong)}.timeline-progress{background:linear-gradient(90deg,#2563eb,#0891b2)}.gantt-panel{display:grid;gap:8px;overflow-x:auto}.gantt-row{display:grid;grid-template-columns:220px minmax(320px,1fr) 160px;gap:12px;align-items:center;min-width:760px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px;background:var(--surface-raised)}.gantt-label,.gantt-dates{display:grid;gap:3px}.gantt-label strong{font-size:13px;overflow-wrap:anywhere}.gantt-label span,.gantt-dates span{color:var(--text-secondary);font-size:var(--text-xs)}.gantt-track{position:relative;height:22px;border-radius:999px;background:#334155;overflow:hidden}.gantt-bar{position:absolute;inset-block:3px;min-width:18px;border-radius:999px;overflow:hidden;box-shadow:0 8px 20px #0000002e}.gantt-bar span{display:block;height:100%;border-radius:inherit;background:#ffffff57}.gantt-dates{grid-template-columns:1fr 1fr;text-align:right}.report-grid,.operation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.report-cell,.operation-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px;background:var(--surface-raised)}.report-cell{display:grid;gap:6px}.report-cell span,.operation-card p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.report-cell strong,.operation-card span{font-size:var(--text-lg);overflow-wrap:anywhere}.report-cell.good strong,.operation-card.good span{color:var(--color-income)}.report-cell.bad strong,.operation-card.bad span{color:var(--color-expense)}.report-cell.warn strong,.operation-card.warn span{color:var(--color-warning)}.report-cell.info strong,.operation-card.info span{color:var(--color-transfer)}.operation-card{min-height:132px;display:grid;gap:6px;align-content:start}.operation-card strong{font-size:14px}.operation-card p{margin:0}.operation-list{display:grid;gap:8px}.operation-list-row{display:grid;gap:4px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:11px;background:var(--surface-raised)}.operation-list-row strong{font-size:var(--text-sm)}.operation-list-row span{color:var(--text-muted);font-size:var(--text-xs)}.operation-list-row p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ticket-row,.daily-report-row,.defect-row{gap:10px}.defect-fixed-note{border-left:3px solid var(--color-income);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-raised)}.defect-fixed-note b{display:block;margin-bottom:4px;color:var(--color-income);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.daily-report-sections{display:grid;gap:8px}.daily-report-sections div{border-left:3px solid var(--color-transfer);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-raised)}.daily-report-sections b{display:block;margin-bottom:4px;color:var(--color-transfer);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.legacy-row{border-left:2px solid rgba(245,158,11,.45)!important;border-bottom-style:dashed;background:#f59e0b08!important;opacity:.88}.legacy-row .report-row-date{color:#fbbf24}.ticket-actions{display:flex;gap:6px;flex-wrap:wrap}.ticket-replies{display:grid;gap:6px}.ticket-replies div{border-left:3px solid var(--primary-active-border);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-raised)}.ticket-replies strong,.ticket-replies span{display:inline-block;margin-right:8px;font-size:var(--text-xs)}.ticket-reply-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.media-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:8px}.media-tile{position:relative;min-height:92px;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);color:inherit;text-decoration:none}.media-open{width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.media-tile img,.media-tile>div,.media-open>div{width:100%;height:116px;object-fit:cover;display:block}.media-placeholder{display:grid!important;place-items:center;color:var(--text-secondary);font-size:12px;font-weight:800;background:linear-gradient(135deg,var(--surface-raised),var(--surface-card)),repeating-linear-gradient(45deg,var(--border-default) 0 6px,transparent 6px 12px)}.media-tile span,.media-open span{position:absolute;left:6px;top:6px;max-width:calc(100% - 44px);border-radius:999px;padding:3px 7px;background:var(--surface-base);color:var(--text-secondary);font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-delete{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(248,113,113,.42);border-radius:999px;background:#7f1d1dd1;color:#fecaca;cursor:pointer}.media-delete:disabled{cursor:wait;opacity:.72}.project-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.project-card{display:grid;gap:10px;min-height:154px;border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:14px;background:var(--surface-card);box-shadow:var(--shadow-card);transition:border-color .15s}.project-card-head,.project-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-card-head strong{font-size:15px;overflow-wrap:anywhere}.project-card-foot{color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.compact-progress{height:8px;margin:4px 0}.project-compact-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.project-compact-card{display:grid;gap:6px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px 12px;background:var(--surface-raised);color:inherit;text-decoration:none;transition:background .1s}.project-compact-card:hover{background:var(--surface-hover);border-color:var(--primary-active-border)}.project-compact-card.delayed{border-color:#f871716b}.project-compact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.project-compact-card-head strong{font-size:var(--text-base);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-compact-client{font-size:var(--text-xs);color:var(--text-secondary)}.project-compact-foot{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-xs);color:var(--text-muted)}.placeholder-panel{display:grid;gap:8px;min-height:220px;align-content:center}.placeholder-panel h2{margin:0;font-size:24px}.panel{padding:18px}.chart-panel{display:grid;gap:16px}.chart-panel h2{margin:4px 0 0;font-size:20px;letter-spacing:0}.chart-frame{position:relative;min-height:320px}.chart-frame canvas{width:100%;height:100%}.project-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:stretch}.project-hero-main,.project-hero-side{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:18px}.project-hero-main h2{margin:0;font-size:28px;letter-spacing:0}.project-hero-side{display:grid;gap:12px}.project-hero-side .metric{border:0;background:var(--surface-raised)}.progress-track{height:12px;background:var(--border-strong);border-radius:999px;overflow:hidden;margin:22px 0 14px}.progress-track div{height:100%;background:var(--primary-gradient);border-radius:inherit}.project-meta{display:flex;flex-wrap:wrap;gap:8px}.project-meta span{padding:6px 10px;border-radius:999px;background:var(--surface-raised);color:var(--text-primary);font-size:13px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;min-width:680px;table-layout:fixed}th{color:var(--text-muted);font-size:var(--text-xs);font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px}td{border-top:1px solid var(--border-default);padding:10px 8px;font-size:var(--text-base)}.right{text-align:right;font-variant-numeric:tabular-nums;min-width:150px;white-space:nowrap}.money-cell,.project-money-cell b,.project-operational-table .right,.project-compact-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}.empty,.banner{border-radius:var(--radius-lg);padding:var(--space-4);background:var(--surface-card);border:1px dashed var(--border-default);color:var(--text-secondary)}.empty{display:grid;gap:4px;min-width:0}.empty strong{color:var(--text-primary)}.banner.error{background:var(--badge-danger-bg);border-color:var(--badge-danger-border);color:var(--badge-danger-text)}.banner.success{background:var(--badge-success-bg);border-color:var(--badge-success-border);color:var(--badge-success-text)}.banner.warning{background:var(--badge-warning-bg, #fef3c7);border-color:var(--badge-warning-border, #fde68a);color:var(--badge-warning-text, #92400e)}.cp-action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:13px;cursor:pointer;opacity:0;transition:background .1s,color .1s,border-color .1s,opacity .1s;text-decoration:none}.cp-row:hover .cp-action-btn,.cp-row:focus-within .cp-action-btn{opacity:1}.cp-action-btn:hover{background:var(--surface-hover, rgba(255, 255, 255, .06));border-color:var(--border-default);color:var(--text-primary)}.cp-action-btn:disabled{opacity:.3;cursor:not-allowed}.cp-action-danger:hover{color:var(--badge-danger-text);border-color:var(--badge-danger-border);background:var(--badge-danger-bg)}.invoice-format-seg{display:flex;gap:4px;flex-wrap:wrap}.invoice-format-opt{padding:5px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-base);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.invoice-format-opt:hover{background:var(--surface-hover, rgba(255, 255, 255, .06));color:var(--text-primary)}.invoice-format-opt.active{border-color:var(--primary-active-border);background:var(--primary-active-bg);color:var(--text-primary);font-weight:600}.company-entity-panel{display:grid;gap:8px}.archived-accounts-details{margin-top:4px}.archived-accounts-details summary{cursor:pointer;font-size:12px;padding:4px 0;list-style:none}.archived-accounts-details summary::marker,.archived-accounts-details summary::-webkit-details-marker{display:none}.archived-accounts-details[open] summary{margin-bottom:4px}.archived-row td{opacity:.55}.muted-pill{opacity:.6}.co-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:2px}.perm-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.perm-group{display:flex;flex-direction:column;gap:4px;min-width:180px}.perm-group-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.perm-row{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;padding:2px 0}.perm-row input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.perm-row-all{margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle);font-weight:500}.project-access-header{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:8px}.project-assignment-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px 8px;background:var(--surface-input)}.project-assign-row{display:flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--border-subtle)}.project-assign-row:last-child{border-bottom:none}.project-assign-check{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);cursor:pointer;flex:1;min-width:0}.project-assign-check input[type=checkbox]{accent-color:var(--primary);flex-shrink:0}.project-role-select{font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--surface-input);color:var(--text-secondary);cursor:pointer}.appearance-seg{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.form-hint{font-size:var(--text-xs);color:var(--text-muted);margin:4px 0 8px}select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:8px 10px;background:var(--surface-input);font:inherit;color:var(--text-primary);outline:none}select:focus,textarea:focus{border-color:var(--primary)}.btn-action{border-radius:var(--radius-xl);padding:8px 16px;background:var(--primary-gradient);color:#fff;font-weight:700;font-size:var(--text-sm);white-space:nowrap;transition:opacity .15s,box-shadow .15s}.btn-action:not(:disabled):hover{opacity:.9;box-shadow:0 4px 12px #2563eb4d}.btn-action:disabled{opacity:.5;cursor:not-allowed}.file-action{position:relative;overflow:hidden;cursor:pointer}.file-action input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.btn-sm{border-radius:var(--radius-md);padding:5px 10px;background:#f1f5f9;color:#334155;font-size:var(--text-sm);border:1px solid #e2e8f0;font-weight:600;white-space:nowrap;transition:background .12s,border-color .12s}.btn-sm:not(:disabled):hover{background:#e2e8f0;border-color:#cbd5e1}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-color:var(--badge-danger-border)}.btn-danger:not(:disabled):hover{opacity:.85}.link-button{text-decoration:none;display:inline-flex;align-items:center}.ui-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-5);box-shadow:var(--shadow-card)}.ui-panel{padding:var(--space-5)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;font:inherit;cursor:pointer}.ui-button-primary{border-radius:var(--radius-xl);padding:8px 16px;background:var(--primary-gradient);color:#fff;font-weight:700;font-size:var(--text-sm);white-space:nowrap;border:none}.ui-button-secondary{border-radius:var(--radius-xl);padding:8px 14px;background:transparent;color:var(--primary-text);font-size:var(--text-sm);border:1px solid var(--primary-active-border);font-weight:600}.ui-button-ghost{border-radius:var(--radius-xl);padding:8px 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-default);font-size:var(--text-sm);font-weight:600}.ui-button-danger{border-radius:var(--radius-xl);padding:8px 14px;background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border);font-size:var(--text-sm);font-weight:600}.ui-button-icon{width:30px;height:30px;border-radius:var(--radius-lg);padding:0;background:var(--surface-hover);color:var(--text-primary);border:1px solid var(--border-default)}.ui-button:disabled,.ui-button[aria-busy=true]{opacity:.5;cursor:not-allowed}.ui-button-spinner{width:12px;height:12px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:kps-spin .6s linear infinite}.ui-field{display:grid;gap:6px}.ui-field label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600;letter-spacing:.02em}.ui-input,.ui-select,.ui-textarea{width:100%}.ui-field-hint{color:var(--text-muted);font-size:12px}.ui-field-error{color:var(--badge-danger-text);font-size:12px;font-weight:600}.ui-textarea-resize-none{resize:none}.ui-textarea-resize-vertical{resize:vertical}.ui-textarea-resize-horizontal{resize:horizontal}.ui-textarea-resize-both{resize:both}.ui-status-badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:3px 10px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;border:1px solid transparent}.ui-status-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text);border-color:var(--badge-neutral-border)}.ui-status-info{background:var(--badge-info-bg);color:var(--badge-info-text);border-color:var(--badge-info-border)}.ui-status-success{background:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-border)}.ui-status-warning{background:var(--badge-warning-bg);color:var(--badge-warning-text);border-color:var(--badge-warning-border)}.ui-status-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-color:var(--badge-danger-border)}.ui-metric-card small{color:var(--text-muted);font-size:12px}.ui-section-actions,.ui-empty-action{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.operational-dashboard{display:grid;gap:14px}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.dash-header-left h1{margin:var(--space-1) 0 0;font-size:var(--text-xl);font-weight:800;line-height:1.1}.dash-header-left .eyebrow{margin:0}.dash-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.dash-quick-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 4px;border-top:1px solid var(--border-subtle)}.dash-qa-inline{padding:0;border-top:none}.dash-readonly-note{color:var(--text-muted);font-size:var(--text-xs);font-weight:600;margin-left:auto}.dashboard-section{display:grid;gap:12px}.dashboard-alert-list{display:grid;gap:10px}.dashboard-alert{display:grid;grid-template-columns:auto minmax(160px,1fr);gap:4px 10px;align-items:center;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid var(--border-default);color:inherit;text-decoration:none;background:var(--surface-raised)}.dashboard-alert strong{color:var(--text-primary);font-size:var(--text-base)}.dashboard-alert span:last-child{grid-column:2;color:var(--text-secondary);font-size:var(--text-xs)}.dashboard-alert.critical{border-color:#f8717173;background:#7f1d1d3d}.dashboard-alert.warning{border-color:#fbbf2473;background:#78350f38}.dashboard-alert.info{border-color:#60a5fa6b;background:#1e40af33}.dashboard-alert-severity{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;text-transform:uppercase}.dashboard-alert-severity.critical{background:#fee2e2;color:#991b1b}.dashboard-alert-severity.warning{background:#fef3c7;color:#92400e}.dashboard-alert-severity.info{background:#dbeafe;color:#1d4ed8}.dashboard-metric-grid,.dashboard-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:var(--space-2)}.dashboard-metric-grid.compact{grid-template-columns:repeat(4,minmax(130px,1fr));gap:var(--space-2)}.money-snapshot{display:grid;gap:var(--space-2)}.money-available-ledger{display:grid;gap:20px}.money-available-ledger.ma-loading{color:var(--text-muted);font-size:var(--text-sm);padding:8px 0}.ma-company{display:grid;gap:0}.ma-company-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid var(--border-subtle)}.ma-account-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid rgba(226,232,240,.06)}.ma-account-name{font-size:var(--text-sm);color:var(--text-secondary)}.ma-balance{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;color:var(--text-primary);font-weight:600;white-space:nowrap}.ma-balance-neg{color:var(--color-danger, #ef4444)}.ma-total-row{border-top:1px solid var(--border-default);margin-top:3px;padding-top:6px}.ma-total-label{font-weight:700;color:var(--text-primary)!important}.ma-grand-total-row{border-top:2px solid var(--border-strong);padding-top:8px}.qa-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background .12s,color .12s,border-color .12s;cursor:pointer;white-space:nowrap}.qa-btn:hover{background:var(--surface-hover, rgba(255,255,255,.06));color:var(--text-primary);border-color:var(--border-strong, rgba(255,255,255,.2))}.qa-icon{font-size:13px;line-height:1}.op-events-feed{display:grid}.op-event-row{display:grid;grid-template-columns:22px 1fr auto;gap:3px 10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--border-subtle);text-decoration:none;color:inherit;cursor:default}.op-event-row:first-child{border-top:1px solid var(--border-subtle)}a.op-event-row{cursor:pointer;transition:background .1s}a.op-event-row:hover{background:var(--surface-hover, rgba(255, 255, 255, .04))}.op-event-icon{font-size:15px;line-height:1;text-align:center}.op-event-body{display:grid;gap:1px;min-width:0}.op-event-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-event-ref{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-event-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.op-event-sev{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 7px;white-space:nowrap}.op-sev-critical{background:#fee2e2;color:#991b1b}.op-sev-warning{background:#fef3c7;color:#92400e}.op-sev-info{background:#dbeafe;color:#1d4ed8}.op-event-time{font-size:var(--text-xs);color:var(--text-muted);text-align:right;white-space:nowrap}.op-events-empty{color:var(--text-muted);font-size:var(--text-sm);padding:8px 0}.dashboard-data-note{display:grid;gap:4px;color:var(--text-primary)}.dashboard-data-note strong{color:var(--text-heading)}.dashboard-data-note span{color:var(--text-muted);font-size:13px}.dashboard-actions-panel{display:grid;gap:10px;padding:12px}.dashboard-action-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.dashboard-action-card{display:grid;align-content:start;gap:8px;min-height:104px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px;background:var(--surface-raised)}.dashboard-action-card .ui-button{width:100%}.dashboard-action-grid .ui-button{width:100%;min-height:34px}.compact-section-title{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tiny-success-state{padding:8px 10px;border:1px solid rgba(52,211,153,.24);border-radius:7px;background:#065f461f;color:#bbf7d0;font-size:13px}.dashboard-action-card span{color:var(--text-muted);font-size:12px;line-height:1.4}.project-health-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-2)}.project-health-card{display:grid;gap:7px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:11px 12px;background:var(--surface-raised);color:inherit;text-decoration:none;transition:background .1s,border-color .1s}.project-health-card:hover{background:var(--surface-hover);border-color:var(--primary-active-border)}.project-health-card.delayed{border-color:#f871716b}.project-health-head,.project-health-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.project-health-head strong{display:block;color:var(--text-primary);font-size:var(--text-base);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-health-head span:not(.ui-status-badge),.project-health-foot{color:var(--text-secondary);font-size:var(--text-xs)}.project-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.project-health-grid span{display:grid;gap:1px;color:var(--text-muted);font-size:var(--text-xs)}.project-health-grid b{color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.finance-control-header{display:grid;gap:14px}.finance-header-metrics{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px}.tx-drawer{display:grid;gap:12px;margin:10px 0;padding:14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base)}.tx-drawer-header,.tx-drawer-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tx-drawer-header h2{margin:0}.tx-drawer-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;align-items:start}.tx-drawer-main{display:grid;gap:10px}.tx-type-selector{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px}.tx-type-selector button{display:grid;gap:4px;min-height:62px;border-radius:var(--radius-lg);padding:10px;border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);text-align:left;transition:border-color .12s,background .12s}.tx-type-selector button.active{border-color:var(--primary-active-border);background:var(--primary-active-bg);color:#fff}.tx-type-selector button.active.expense{border-color:#f8717185;background:#7f1d1d33}.tx-type-selector button.active.income{border-color:#34d3997a;background:#065f462e}.tx-type-selector span{color:var(--text-muted);font-size:12px}.tx-summary-panel,.tx-allocation-panel,.tx-advanced{display:grid;gap:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:11px;background:var(--surface-raised)}.tx-allocation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tx-multi-allocation{display:grid;gap:6px}.tx-alloc-row{display:grid;grid-template-columns:1fr 140px 24px;gap:6px;align-items:center}.tx-alloc-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid var(--border-default);font-size:12px}.tx-summary-panel{position:sticky;top:12px}.tx-summary-panel span,.tx-summary-panel small,.tx-allocation-panel .muted{color:var(--text-secondary);font-size:var(--text-sm)}.tx-summary-panel strong{font-size:17px;color:var(--text-primary);white-space:nowrap}.tx-allocation-panel h3{margin:0 0 4px}.tx-allocation-row{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}.tx-allocation-row span{display:grid;gap:2px;color:var(--text-muted);font-size:12px}.tx-allocation-row b{color:var(--text-primary)}.tx-advanced summary{cursor:pointer;color:var(--text-primary);font-weight:700}.finance-transaction-list{display:grid;gap:6px;margin-top:6px}.transaction-row{display:flex;flex-direction:column;gap:0;padding:0;cursor:pointer;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.transaction-row.confirm-delete{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;padding:8px 10px;border-color:#f871716b}.tx-amount{display:block;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.tx-col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary);min-width:0}.tx-col-project{font-weight:500;color:var(--text-primary)}.tx-col-invoice{display:flex;align-items:center;gap:3px;overflow:hidden}.tx-col-invoice .tx-invoice-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.tx-col-estimate{display:flex;align-items:center;overflow:hidden}.tx-col-estimate .tx-estimate-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.tx-col-notes{color:var(--text-muted)}.tx-col-account{color:var(--text-muted);font-variant-numeric:tabular-nums}.transaction-row.transfer .tx-col-account{font-size:10px;line-height:1.35;white-space:normal;word-break:break-word}.tx-col-empty{color:var(--text-subtle, rgba(255,255,255,.18));font-size:11px}.transaction-date{color:var(--text-muted);font-size:11px;padding-left:6px}.transaction-row-detail{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,1fr) minmax(0,1.4fr) minmax(100px,.8fr);gap:3px 10px;color:var(--text-secondary);font-size:var(--text-xs)}.tx-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.tx-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums}.tx-invoice-badge{display:inline-flex;align-items:center;margin-left:0;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;background:#2563eb1a;color:var(--color-primary, #2563eb);white-space:nowrap;vertical-align:middle}.tx-estimate-badge{display:inline-flex;align-items:center;margin-left:0;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;background:#10b9811a;color:#059669;white-space:nowrap;vertical-align:middle}.icon-btn{width:28px;height:28px;min-width:28px;font-size:12px}.tx-action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:13px;cursor:pointer;opacity:0;transition:background .1s,color .1s,border-color .1s,opacity .1s}.transaction-row:hover .tx-action-btn,.transaction-row:focus-within .tx-action-btn{opacity:1}.tx-action-btn:hover{background:var(--surface-hover, rgba(255, 255, 255, .06));border-color:var(--border-default);color:var(--text-primary)}.tx-action-delete:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.transaction-row.is-expanded{border-color:var(--border-strong, rgba(255,255,255,.18));background:var(--surface-elevated, rgba(255,255,255,.04))}.tx-row-top{display:grid;grid-template-columns:minmax(82px,.5fr) minmax(88px,.5fr) minmax(140px,.9fr) minmax(70px,1.5fr) minmax(96px,.6fr) minmax(148px,.9fr) minmax(0,2fr) minmax(100px,.8fr) minmax(64px,auto);gap:4px 8px;align-items:center;padding:5px 10px}.tx-detail-panel{border-top:1px solid var(--border-subtle, rgba(255,255,255,.07));padding:14px 14px 12px;display:flex;flex-direction:column;gap:12px}.tx-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 20px}.tx-detail-cell{display:flex;flex-direction:column;gap:2px}.tx-detail-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tx-detail-value{font-size:12px;color:var(--text-primary);font-weight:500}.tx-detail-invoices{display:flex;flex-direction:column;gap:6px}.tx-detail-invoice-list{display:flex;flex-direction:column;gap:4px}.tx-detail-invoice-row{display:flex;align-items:center;gap:10px}.tx-detail-alloc-amount{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.tx-detail-alloc-total{padding-top:4px;border-top:1px solid var(--border-subtle, rgba(255,255,255,.07));margin-top:2px}.tx-detail-alloc-total .tx-detail-label{font-size:11px}.tx-detail-notes{display:flex;flex-direction:column;gap:4px}.tx-detail-notes-text{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.tx-detail-actions{display:flex;gap:8px;padding-top:4px;align-items:center}.tx-detail-btn-edit{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-primary);transition:background .15s,border-color .15s}.tx-detail-btn-edit:hover{background:#ffffff1a;border-color:#ffffff38}.tx-detail-btn-delete{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;background:#ef44441a;border:1px solid rgba(239,68,68,.28);color:#f87171;transition:background .15s,border-color .15s,color .15s}.tx-detail-btn-delete:hover{background:#ef444433;border-color:#ef444480;color:#ef4444}.tx-payer-hint{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--text-xs)}.tx-overpayment-note{display:block;margin-top:5px;padding:6px 8px;border-radius:6px;background:#f59e0b1f;color:#f59e0b;font-size:11px;line-height:1.5}.transaction-row.transfer{border-left:2px solid var(--color-transfer, #60a5fa)}.transaction-row-detail span{overflow-wrap:anywhere}.finance-load-more,.doc-load-more,.load-more{display:flex;justify-content:center;padding:8px 0;margin-top:4px}.invoice-drawer{display:grid;gap:12px;margin:10px 0;padding:14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base)}.invoice-drawer-header,.invoice-drawer-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invoice-drawer-header h2{margin:0}.invoice-drawer-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start}.invoice-drawer-main{display:grid;gap:10px}.invoice-step,.invoice-summary-panel,.invoice-adjustments-accordion,.invoice-number-settings,.payment-drawer .invoice-payment-overview{display:grid;gap:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px;background:var(--surface-raised);font-size:12px}.invoice-step h3{margin:0}.invoice-summary-panel{position:sticky;top:12px}.invoice-summary-panel span,.invoice-summary-panel small,.invoice-number-settings p{color:var(--text-muted);font-size:12px}.invoice-summary-panel strong{color:var(--text-heading);font-size:18px;white-space:nowrap}.invoice-adjustments-accordion summary,.invoice-number-settings summary,.invoice-action-menu summary{cursor:pointer;color:var(--text-primary);font-weight:700}.invoice-line-list{display:grid;gap:6px}.invoice-line-row{display:grid;grid-template-columns:minmax(180px,1fr) 64px 70px minmax(130px,140px) minmax(150px,160px) 64px;gap:6px;align-items:center}.invoice-line-row strong{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.invoice-status-card{display:grid;grid-template-columns:auto repeat(4,minmax(105px,auto));gap:6px;align-items:center;text-align:left}.invoice-status-card span:not(.ui-status-badge){display:grid;gap:2px;color:var(--text-muted);font-size:12px}.invoice-status-card b{color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums}.invoice-payment-timeline{display:grid;gap:8px;padding:10px;border-radius:var(--radius-lg);background:var(--surface-raised)}.invoice-payment-timeline.empty-line{color:var(--text-muted);font-size:13px}.invoice-payment-step{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;color:var(--text-primary)}.invoice-payment-step small{color:var(--text-muted)}.invoice-action-menu{justify-self:end}.invoice-action-menu div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;justify-content:flex-end}.invoice-action-menu-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:10px;border-top:1px solid var(--border-default);margin-top:4px}.invoice-number-grid,.invoice-payment-overview{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px}.invoice-number-grid span,.invoice-payment-overview span{display:grid;gap:2px;color:var(--text-muted);font-size:12px}.invoice-number-grid label{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-base)}.invoice-number-grid label.active{border-color:var(--primary-active-border);background:var(--primary-active-bg)}.invoice-number-preview{padding:8px 10px;border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:13px}.table-link{color:var(--primary-text);text-decoration:none}.table-link:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere}.inline-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.inline-filter input{width:220px}.form-panel{border-color:var(--border-default);background:var(--surface-base)}.inline-editor{margin-top:14px;padding:14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base);color:var(--text-primary)}.finance-balance-panel,.finance-filter-panel,.invoice-filter-panel,.quick-add-panel,.finance-ledger-panel{margin-bottom:10px}.account-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:10px}.account-balance-card{display:grid;gap:3px;min-height:74px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.account-balance-card.active,.account-balance-card:hover{border-color:var(--primary-active-border);background:var(--primary-active-bg)}.account-balance-card span,.account-balance-card small,.account-balance-card em{color:var(--text-secondary);font-size:var(--text-sm);font-style:normal}.account-balance-card strong{color:var(--text-primary);font-size:14px}.account-balance-card b{font-size:15px;font-variant-numeric:tabular-nums}.compact-filters{padding:10px 12px}.compact-filters summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--text-primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.compact-filters summary small{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}.finance-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin-top:10px}.invoice-filter-panel{margin-top:14px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.compact-heading{margin:0}.compact-heading h3{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.invoice-filter-grid{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(120px,1fr));gap:10px;margin-top:12px}.invoice-filter-grid.with-project{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1.1fr) repeat(4,minmax(120px,1fr))}.finance-filter-totals{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;color:var(--text-muted);font-size:12px}.quick-add-panel{display:grid;grid-template-columns:auto auto minmax(110px,130px) minmax(120px,160px) minmax(140px,190px) minmax(140px,190px) minmax(140px,190px) minmax(140px,1fr) auto auto;align-items:center;gap:8px}.quick-add-label{color:var(--text-muted);font-size:12px;font-weight:800;text-transform:uppercase}.segmented-control{display:inline-grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md)}.segmented-control button{min-height:34px;padding:7px 11px;background:var(--surface-card);color:var(--text-primary);font-weight:800}.segmented-control button.active.expense{background:#dc2626;color:#fff}.segmented-control button.active.income{background:#34d39938;color:var(--color-income)}.quick-amount-input{font-weight:800;text-align:right}.money-good{color:var(--color-income)}.money-bad{color:var(--color-expense)}.money-transfer{color:var(--color-transfer)}.money-cell,.amount-cell{font-family:var(--font-mono);font-size:var(--text-sm);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.month-ledger{display:grid;gap:6px;margin-top:14px}.month-group{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base)}.month-summary{width:100%;display:grid;grid-template-columns:minmax(170px,1fr) repeat(4,minmax(150px,170px));align-items:center;gap:8px;padding:9px 12px;background:var(--surface-base);color:var(--text-primary);text-align:left;transition:background .1s}.month-summary:hover{background:var(--surface-hover)}.month-title{font-weight:800}.month-title small,.month-flow small,.month-closing small{display:block;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.month-flow,.month-closing{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.month-op{display:none;color:var(--text-muted);font-weight:800}.month-closing{padding:6px 8px;border:1px solid var(--primary-active-border);border-radius:var(--radius-md);background:var(--primary-active-bg);color:var(--primary-text)}.month-closing.negative{border-color:var(--badge-danger-border);color:var(--badge-danger-text)}.month-table{margin-top:0}.month-table table{min-width:1040px}.month-table th{padding-top:10px}.project-list-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(130px,1fr));gap:8px;padding:10px}.project-list-panel{padding:10px;min-width:0;overflow:hidden}.archived-projects-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;background:transparent;border:0;border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.archived-projects-toggle:hover{color:var(--text-primary)}.project-row-archived td{opacity:.6}.project-operational-table{min-width:1260px;table-layout:fixed;width:100%}.project-operational-table th,.project-operational-table td{padding-top:8px;padding-bottom:8px;font-size:12px}.project-operational-table th:nth-child(1),.project-operational-table td:nth-child(1){width:200px;min-width:160px;text-align:left;white-space:normal;word-break:break-word;overflow:visible}.project-operational-table th:nth-child(2),.project-operational-table td:nth-child(2){width:120px;min-width:80px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-operational-table th:nth-child(3),.project-operational-table td:nth-child(3){width:100px;min-width:90px;text-align:center;overflow:visible;white-space:nowrap}.project-operational-table th:nth-child(4),.project-operational-table td:nth-child(4){width:80px;min-width:72px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.project-operational-table th:nth-child(5),.project-operational-table td:nth-child(5),.project-operational-table th:nth-child(6),.project-operational-table td:nth-child(6),.project-operational-table th:nth-child(7),.project-operational-table td:nth-child(7),.project-operational-table th:nth-child(8),.project-operational-table td:nth-child(8){width:150px;min-width:130px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;cursor:default}.project-operational-table th:nth-child(9),.project-operational-table td:nth-child(9){width:88px;min-width:72px;text-align:right;white-space:nowrap}.project-operational-table th:nth-child(10),.project-operational-table td:nth-child(10){width:72px;min-width:60px;text-align:center;overflow:visible}.risk-pill{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;background:#fbbf2424;color:#fde68a;font-size:11px;font-weight:800}.risk-pill.ok{background:#34d39924;color:#bbf7d0}.project-operational-table .money-compact{display:none}.project-operational-table .money-full{display:inline}@media (max-width: 1439px){.project-operational-table{min-width:1100px}.project-operational-table th:nth-child(5),.project-operational-table td:nth-child(5),.project-operational-table th:nth-child(6),.project-operational-table td:nth-child(6),.project-operational-table th:nth-child(7),.project-operational-table td:nth-child(7),.project-operational-table th:nth-child(8),.project-operational-table td:nth-child(8){width:120px;min-width:100px}}@media (max-width: 1199px){.project-operational-table{min-width:840px}.project-operational-table .money-compact{display:inline}.project-operational-table .money-full{display:none}.project-operational-table th:nth-child(5),.project-operational-table td:nth-child(5),.project-operational-table th:nth-child(6),.project-operational-table td:nth-child(6),.project-operational-table th:nth-child(8),.project-operational-table td:nth-child(8){width:88px;min-width:72px}.project-operational-table th:nth-child(7),.project-operational-table td:nth-child(7){display:none}}@media (max-width: 899px){.project-operational-table{min-width:600px}.project-operational-table th:nth-child(2),.project-operational-table td:nth-child(2){display:none}.project-operational-table th:nth-child(1),.project-operational-table td:nth-child(1){width:160px;min-width:120px}}@media (max-width: 599px){.project-list-panel .table-wrap{overflow-x:visible}.project-operational-table{min-width:unset;table-layout:auto;display:block}.project-operational-table thead{display:none}.project-operational-table tbody{display:grid;gap:8px}.project-operational-table tr{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.project-operational-table td{display:flex;flex-direction:column;font-size:12px;text-align:left!important;white-space:normal;overflow:visible;width:auto;min-width:unset}.project-operational-table td:before{content:attr(data-label);color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:2px}.project-operational-table td:nth-child(1){grid-column:1 / -1;font-size:13px;font-weight:600;white-space:normal;word-break:break-word}.project-operational-table td:nth-child(2),.project-operational-table td:nth-child(4),.project-operational-table td:nth-child(6),.project-operational-table td:nth-child(7){display:none}.project-operational-table .money-compact{display:inline}.project-operational-table .money-full{display:none}}.project-workspace,.project-stack{display:grid;gap:10px}.project-workspace-header{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.project-workspace-header h1{margin:0;font-size:20px;line-height:1.08}.project-workspace-header.pwh-v2{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.pwh-identity{display:grid;gap:4px;min-width:0;flex:1 1 0}.pwh-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pwh-name{margin:0;font-size:var(--text-lg, 18px);font-weight:800;color:var(--text-primary);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwh-progress{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-muted)}.pwh-progress .progress-track{width:72px}.pwh-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-secondary)}.pwh-deadline{font-size:var(--text-xs);color:var(--text-muted)}.pwh-deadline.overdue{color:#f87171;font-weight:700}.pwh-deadline.soon{color:#fbbf24;font-weight:600}.pwh-state{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);padding:2px 0}.pwh-state.danger{color:var(--color-expense)}.pwh-state.warning{color:var(--color-warning)}.pwh-state.success{color:var(--color-income)}.pwh-state.info{color:var(--text-secondary)}.pwh-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:2px}.cockpit-ops-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cockpit-ops-col{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);text-align:left;color:inherit;cursor:pointer;transition:background .1s,border-color .1s}.cockpit-ops-col:hover{background:var(--surface-hover);border-color:var(--primary-active-border)}.cockpit-ops-col small{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.cockpit-ops-col b{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.cockpit-ops-col span{font-size:var(--text-xs);color:var(--text-secondary)}.cockpit-milestones{display:grid;gap:6px}.cockpit-milestone-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md, 8px);background:var(--surface-raised);text-align:left;color:inherit;cursor:pointer;width:100%;transition:background .1s,border-color .1s}.cockpit-milestone-row:hover{background:var(--surface-hover);border-color:var(--primary-active-border)}.cockpit-milestone-row b{flex:1;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-milestone-row small{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.cockpit-ms-owner{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);padding:1px 6px;border:1px solid var(--border-default);border-radius:4px;white-space:nowrap}.cockpit-activity{display:grid;gap:8px}.cockpit-activity-list{display:grid;gap:4px}.cockpit-activity-row{display:flex;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-default);font-size:var(--text-sm);color:var(--text-secondary)}.cockpit-activity-row:last-child{border-bottom:none}.cockpit-activity-row b{flex:1;color:var(--text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-activity-row small{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.cockpit-activity-kind{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);min-width:52px}@media (max-width: 640px){.cockpit-ops-strip{grid-template-columns:1fr}.project-workspace-header.pwh-v2{flex-direction:column;gap:10px}.pwh-actions{width:100%}}.project-header-metrics{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.project-header-metrics>span,.project-money-cell{display:grid;flex:1 1 96px;gap:2px;min-width:0;padding:6px 7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.project-header-metrics small,.project-money-cell small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.project-header-metrics b,.project-money-cell b{color:var(--text-primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.project-money-cell.good b{color:var(--color-income)}.project-money-cell.bad b{color:var(--color-expense)}.project-money-cell.warn b{color:var(--color-warning)}.project-workspace-tabs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;overflow:visible;min-height:38px;padding:4px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base)}.project-workspace-tabs button{display:inline-flex;width:auto;flex:0 1 auto;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.2;text-align:center}.project-workspace-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.project-workspace-actions a,.project-audit-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid var(--primary-active-border);border-radius:var(--radius-md);background:var(--primary-active-bg);color:var(--primary-text);font-size:12px;font-weight:800;text-decoration:none}.project-audit-badge{width:fit-content;cursor:pointer}.project-audit-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#020617ad}.project-audit-card{display:grid;gap:10px;width:min(680px,100%);max-height:min(680px,86vh);overflow:auto;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-card)}.project-audit-card button{min-height:28px;padding:4px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary)}.project-audit-list{display:grid;gap:6px}.project-warning-list{display:grid;gap:5px}.project-warning{display:grid;gap:1px;padding:6px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.project-warning b{color:var(--text-primary);font-size:12px}.project-warning small{color:var(--text-muted);font-size:11px}.project-warning.critical{border-color:#f8717157}.project-warning.warning{border-color:#fbbf2447}.project-health-list{display:flex;flex-direction:column;gap:4px}.project-health-item{padding:4px 8px;border-radius:var(--radius-md);font-size:12px;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-health-item.danger{color:var(--color-expense);border-color:var(--badge-danger-border)}.project-health-item.warning{color:var(--color-warning);border-color:var(--badge-warning-border)}.project-workspace-tabs button.active{border-color:var(--primary-active-border);background:var(--primary-active-bg);color:var(--primary-text)}.project-tab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.project-workspace-block{display:grid;gap:7px;min-width:0;padding:9px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.project-workspace-block.span-2{grid-column:span 2}.project-advanced-details{margin-top:4px}.project-advanced-details>summary{cursor:pointer;padding:7px 10px;font-size:12px;color:var(--text-muted);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.project-advanced-details>summary:hover{color:var(--text-primary);background:var(--surface-hover)}.project-advanced-details>summary:before{content:"›";font-size:14px;transition:transform .15s;display:inline-block}.project-advanced-details[open]>summary:before{transform:rotate(90deg)}.project-advanced-details>.project-tab-grid{margin-top:6px}.execution-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border-default);border-left:4px solid var(--primary);border-radius:var(--radius-lg);background:var(--surface-raised)}.execution-mode.warning{border-left-color:var(--color-warning)}.execution-mode.danger{border-left-color:var(--color-expense)}.execution-mode.success{border-left-color:var(--color-income)}.execution-mode small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.execution-mode h2{margin:2px 0;color:var(--text-heading);font-size:20px;letter-spacing:0}.execution-mode p{margin:0;color:var(--text-primary);font-size:13px}.execution-owner{display:inline-flex;gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--primary-active-border);border-radius:var(--radius-md);background:var(--primary-active-bg);color:var(--primary-text);font-size:12px;font-weight:800;white-space:nowrap}.operations-home-top{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:7px}.operations-home-top button{display:grid;gap:3px;min-width:0;min-height:58px;padding:8px 9px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;transition:background .1s,border-color .1s}.operations-home-top button:hover{border-color:var(--primary-active-border);background:var(--surface-hover)}.operations-home-top small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.operations-home-top b{overflow:hidden;color:var(--text-heading);font-size:15px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.operations-home-top span{overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.overview-edit-block{background:var(--surface-raised)}.priority-stack,.project-memory,.automation-health,.automation-list,.readiness-automation,.client-update-assist,.responsibility-panel,.checklist-panel,.blocker-management,.ops-kpi-panel,.execution-memory,.field-execution-mode,.persistence-panel,.live-command-center,.live-presence-panel,.live-feed-panel{align-content:start}.automation-score{display:grid;gap:3px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.automation-score b{color:var(--text-heading);font-size:24px;line-height:1}.automation-score span{color:var(--text-muted);font-size:11px;line-height:1.3}.automation-list-rows{display:grid;gap:6px}.automation-list-rows button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:7px 8px;border:0;border-left:3px solid var(--primary);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;transition:background .1s}.automation-list-rows button.critical{border-left-color:var(--color-expense)}.automation-list-rows button.warning{border-left-color:var(--color-warning)}.automation-list-rows button.success{border-left-color:var(--color-income)}.automation-list-rows button:hover{background:var(--surface-hover)}.automation-list-rows b,.automation-list-rows small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automation-list-rows b{color:var(--text-heading);font-size:12px}.automation-list-rows small{grid-column:2;color:var(--text-muted);font-size:11px}.automation-list-rows em{justify-self:end;color:var(--primary-text);font-size:11px;font-style:normal;font-weight:800}.readiness-automation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.readiness-automation-grid span,.client-update-list span{display:grid;gap:2px;padding:7px 8px;border:1px solid var(--border-default);border-left:3px solid var(--color-warning);border-radius:var(--radius-md);background:var(--surface-raised)}.client-update-list span.pinned{border-color:var(--primary-active-border);border-left-color:var(--primary-active-border)}.client-update-list span.internal{opacity:.72}.readiness-automation-grid span.ready{border-left-color:var(--color-income)}.readiness-automation-grid b,.client-update-list b{color:var(--text-heading);font-size:12px}.readiness-automation-grid small,.client-update-list small{color:var(--text-muted);font-size:11px}.client-update-list em{display:flex;flex-wrap:wrap;gap:5px;font-style:normal}.client-update-list{display:grid;gap:6px}.priority-stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.priority-column{display:grid;align-content:start;gap:5px;min-width:0}.priority-column>small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.priority-column button{display:grid;gap:4px;min-width:0;padding:7px;border:1px solid var(--border-default);border-left:3px solid var(--primary);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;transition:background .1s}.priority-column.critical button{border-left-color:var(--color-expense)}.priority-column.high button{border-left-color:var(--color-warning)}.priority-column.done button{border-left-color:var(--color-income)}.priority-column button:hover{background:var(--surface-hover)}.priority-column b,.priority-column em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priority-column b{color:var(--text-heading);font-size:12px}.priority-column em{color:var(--text-muted);font-size:11px;font-style:normal}.memory-list{display:grid;gap:5px}.memory-list span{padding:6px 0;border-top:1px solid var(--border-default);color:var(--text-primary);font-size:12px}.responsibility-grid,.blocker-management-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.responsibility-card,.blocker-management-list button{display:grid;gap:4px;min-width:0;padding:8px;border:1px solid var(--border-default);border-left:3px solid var(--primary);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;transition:background .1s}.responsibility-card.watch,.blocker-management-list button.warning{border-left-color:var(--color-warning)}.responsibility-card.urgent,.responsibility-card.critical,.blocker-management-list button.critical{border-left-color:var(--color-expense)}.responsibility-card:hover,.blocker-management-list button:hover{background:var(--surface-hover)}.responsibility-card b,.responsibility-card small,.responsibility-card em,.blocker-management-list b,.blocker-management-list small,.blocker-management-list em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.responsibility-card b,.blocker-management-list b{color:var(--text-heading);font-size:12px}.responsibility-card small,.blocker-management-list small{color:var(--text-muted);font-size:11px}.responsibility-card em,.blocker-management-list em{color:var(--text-primary);font-size:11px;font-style:normal}.checklist-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.checklist-group{display:grid;align-content:start;gap:6px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.checklist-group strong{color:var(--text-heading);font-size:12px}.checklist-group small{color:var(--text-muted);font-size:11px}.checklist-group button{display:flex;gap:6px;align-items:center;min-height:28px;padding:5px 0;background:transparent;color:var(--text-primary);font-size:12px;text-align:left}.checklist-group button.done{color:var(--color-income)}.checklist-group button.pending{color:var(--color-warning)}.ops-kpi-grid{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:7px}.ops-kpi-grid span{display:grid;gap:2px;min-width:0;padding:7px;border:1px solid var(--border-default);border-left:3px solid var(--color-income);border-radius:var(--radius-md);background:var(--surface-raised)}.ops-kpi-grid span.watch{border-left-color:var(--color-warning)}.ops-kpi-grid span.bad{border-left-color:var(--color-expense)}.ops-kpi-grid small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.ops-kpi-grid b{overflow:hidden;color:var(--text-heading);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.ops-kpi-grid em{overflow:hidden;color:var(--text-muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.execution-memory-list{display:grid;gap:6px}.execution-memory-list span{display:grid;gap:3px;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.execution-memory-list b{overflow:hidden;color:var(--text-heading);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.execution-memory-list small{display:flex;gap:6px;align-items:center;color:var(--text-muted);font-size:11px}.field-mode-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.field-mode-actions button{min-height:40px;border-radius:var(--radius-md);background:var(--primary-active-bg);color:var(--primary-text);font-size:12px;font-weight:800}.persistence-grid{display:grid;grid-template-columns:repeat(8,minmax(86px,1fr));gap:7px}.persistence-grid span{display:grid;gap:2px;min-width:0;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.persistence-grid small{overflow:hidden;color:var(--text-muted);font-size:10px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.persistence-grid b{color:var(--text-heading);font-size:17px}.sync-state{padding:2px 7px;border-radius:999px;background:var(--surface-raised);color:var(--text-primary);font-size:11px;font-weight:800}.sync-state.saving{background:var(--badge-info-bg);color:var(--badge-info-text)}.sync-state.saved{background:var(--badge-success-bg);color:var(--color-income)}.sync-state.error{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.team-dashboard-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.team-dashboard-grid span,.queue-tabs span,.presence-list span,.workload-list span,.live-feed-list span{display:grid;gap:2px;min-width:0;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.team-dashboard-grid small,.presence-list small,.workload-list small,.live-feed-list small{overflow:hidden;color:var(--text-muted);font-size:10px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.team-dashboard-grid b,.presence-list b,.workload-list b,.live-feed-list b{overflow:hidden;color:var(--text-heading);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.command-center-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.command-center-columns section,.live-presence-panel{display:grid;align-content:start;gap:7px}.command-center-columns section>strong{color:var(--text-primary);font-size:12px}.queue-tabs{display:flex;flex-wrap:wrap;gap:5px}.queue-tabs span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;color:var(--text-primary);font-size:11px}.queue-tabs b{color:var(--primary-text)}.live-list,.presence-list,.workload-list,.live-feed-list{display:grid;gap:6px}.live-list span{display:grid;gap:3px;min-width:0;padding:7px;border:1px solid var(--border-default);border-left:3px solid var(--primary);border-radius:var(--radius-md);background:var(--surface-raised)}.live-list span.high,.live-list span.urgent,.live-list span.warning{border-left-color:var(--color-warning)}.live-list span.critical,.live-feed-list span.high{border-left-color:var(--color-expense)}.live-list b,.live-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-list b{color:var(--text-heading);font-size:12px}.live-list small{color:var(--text-muted);font-size:11px}.live-list em{display:flex;flex-wrap:wrap;gap:5px;font-style:normal}.project-flow-strip{display:grid;grid-template-columns:repeat(6,minmax(116px,1fr));gap:6px;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.project-flow-step{display:grid;grid-template-columns:10px 1fr;gap:7px;align-items:start;min-height:54px;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);text-align:left}.project-flow-step b,.operational-health-item b{display:block;color:var(--text-heading);font-size:12px}.project-flow-step small,.operational-health-item small{display:block;margin-top:2px;color:var(--text-muted);font-size:11px;line-height:1.3}.flow-dot,.health-status-dot{width:8px;height:8px;margin-top:3px;border-radius:999px;background:var(--text-muted)}.project-flow-step.complete .flow-dot,.operational-health-item.success .health-status-dot{background:var(--color-income)}.project-flow-step.active .flow-dot,.operational-health-item.info .health-status-dot{background:var(--primary)}.project-flow-step.blocked .flow-dot,.operational-health-item.danger .health-status-dot{background:var(--color-expense)}.project-flow-step.pending .flow-dot,.operational-health-item.warning .health-status-dot{background:var(--color-warning)}.operational-health-panel{align-content:start}.operational-health-list{display:grid;gap:6px}.operational-health-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:7px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left}.operational-health-item.danger{border-color:var(--badge-danger-border)}.operational-health-item.warning{border-color:var(--badge-warning-border)}.health-cta{color:var(--primary-text);font-size:11px;font-weight:800;white-space:nowrap}.coordination-list{align-content:start}.coordination-items{display:grid;gap:6px}.coordination-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:center;padding:7px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left}.coordination-item.danger{border-color:var(--badge-danger-border)}.coordination-item.warning{border-color:var(--badge-warning-border)}.coordination-item b{overflow:hidden;color:var(--text-heading);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.coordination-item small,.coordination-foot{grid-column:2;color:var(--text-muted);font-size:11px}.coordination-foot{display:flex;justify-content:space-between;gap:8px}.coordination-foot em{font-style:normal}.coordination-foot strong{color:var(--primary-text)}.responsibility-pill{display:inline-flex;align-items:center;width:fit-content;min-height:18px;padding:1px 6px;border:1px solid var(--primary-active-border);border-radius:999px;background:var(--primary-active-bg);color:var(--primary-text);font-size:10px;font-weight:800}.governance-panel{align-content:start}.governance-level{padding:2px 7px;border-radius:999px;background:var(--surface-raised);color:var(--text-secondary);font-size:11px;font-weight:800}.governance-level.attention-needed{background:var(--badge-warning-bg);color:var(--color-warning)}.governance-level.critical{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.governance-grid,.cadence-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:7px}.governance-grid button,.cadence-grid span{display:grid;gap:2px;min-width:0;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left}.governance-grid small,.cadence-grid small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.governance-grid b,.cadence-grid b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.governance-list,.approval-queue,.cadence-panel{align-content:start}.governance-alert{display:block;padding:5px 7px;border:1px solid var(--badge-warning-border);border-radius:var(--radius-md);background:var(--badge-warning-bg);color:var(--color-warning);font-size:12px}.governance-alert.critical{border-color:var(--badge-danger-border);background:var(--badge-danger-bg);color:var(--badge-danger-text)}.approval-list{display:grid;gap:6px}.approval-item{display:grid;gap:3px;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.approval-item b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.approval-item small{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--text-muted);font-size:11px}.finance-governance-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px}.command-completeness{align-content:start}.completion-ring{display:grid;place-items:center;width:124px;height:124px;justify-self:center;border-radius:999px;background:radial-gradient(circle at center,var(--surface-card) 58%,transparent 59%),conic-gradient(var(--primary) var(--score),var(--border-default) 0)}.completion-ring b{color:var(--text-heading);font-size:24px;line-height:1}.completion-ring small{width:84px;color:var(--text-muted);font-size:10px;line-height:1.25;text-align:center}.missing-list{display:grid;gap:4px}.missing-list span{padding:4px 7px;border:1px solid var(--badge-warning-border);border-radius:var(--radius-md);background:var(--badge-warning-bg);color:var(--color-warning);font-size:11px}.daily-ops-panel,.today-checklist{align-content:start}.today-checklist-rows{display:grid;gap:6px}.today-checklist-rows button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:7px 8px;border:1px solid var(--border-default);border-left-width:3px;border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;transition:background .1s}.today-checklist-rows button:hover{background:var(--surface-hover)}.today-checklist-rows button.danger{border-left-color:var(--color-expense)}.today-checklist-rows button.warning{border-left-color:var(--color-warning)}.today-checklist-rows button.info,.today-checklist-rows button.success{border-left-color:var(--primary)}.today-checklist-rows b{overflow:hidden;color:var(--text-heading);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.today-checklist-rows small{grid-column:2;overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.today-checklist-rows em{justify-self:end;color:var(--primary-text);font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.daily-ops-feed{display:grid;gap:5px}.daily-ops-feed button{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left}.daily-ops-feed small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.daily-ops-feed span{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.compact-block-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.compact-block-title strong{color:var(--text-primary);font-size:12px}.compact-block-title span:not(.ui-status-badge){color:var(--text-muted);font-size:12px}.project-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(118px,1fr));gap:6px}.project-summary-strip.compact{grid-template-columns:repeat(4,minmax(130px,1fr))}.project-compact-list{display:grid;gap:5px}.project-compact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto);gap:8px;align-items:center;min-height:28px;padding:5px 0;border-top:1px solid var(--border-default);color:var(--text-primary);font-size:12px}.project-compact-row strong{text-align:right;color:var(--text-primary)}.latest-flow{align-content:start}.latest-flow-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.latest-flow-list span{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.latest-flow-list small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.latest-flow-list b{overflow:hidden;color:var(--text-heading);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.latest-flow-list em{overflow:hidden;color:var(--text-muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.project-financial-workflows{display:grid;gap:10px}.estimate-category-grid,.document-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}.estimate-category-grid span,.document-category-grid span{display:grid;gap:2px;min-height:38px;padding:7px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:12px}.document-category-grid b{color:var(--text-primary)}.progress-line{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-base)}.progress-line span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#22c55e)}.estimate-workspace{min-width:0}.compact-table-wrap{margin-top:4px}.cost-control-strip{display:grid;grid-template-columns:repeat(6,minmax(118px,1fr));gap:6px}.cost-control-strip span,.profitability-stack span,.estimate-revision-list span{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.cost-control-strip small,.profitability-stack small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.cost-control-strip b,.profitability-stack b{color:var(--text-primary);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.profitability-stack{display:grid;gap:6px}.profitability-stack .profit-total{border-color:var(--primary-active-border);background:var(--primary-active-bg)}.estimate-control-table,.cost-control-table,.estimate-line-table{min-width:980px}.estimate-control-table th,.estimate-control-table td,.cost-control-table th,.cost-control-table td,.estimate-line-table th,.estimate-line-table td{padding-top:7px;padding-bottom:7px;font-size:12px}.estimate-control-table tr.is-selected td{background:#14b8a614}.table-link-button{display:inline;padding:0;border:0;background:transparent;color:var(--text-primary);font:inherit;font-weight:800;text-align:left;cursor:pointer}.table-link-button:hover{color:var(--primary-text)}.approved-dot{display:inline-flex;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--badge-success-bg);color:var(--color-income);font-size:10px;font-weight:800}.estimate-revision-list{display:grid;gap:5px}.estimate-revision-list span{min-height:34px;color:var(--text-primary);font-size:12px}.estimate-revision-list b{color:var(--text-primary);font-size:12px}.estimate-revision-list small{color:var(--text-muted);font-size:11px}.compact-empty{padding:12px}.document-workspace,.operations-workspace{min-width:0}.document-control-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.approval-readiness{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-muted);font-size:12px}.approval-readiness span{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:3px 8px;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-raised)}.document-filter-bar{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(140px,.8fr) minmax(140px,.8fr);gap:8px}.document-filter-bar input,.document-filter-bar select{min-height:34px;padding:7px 9px;font-size:12px}.document-table{display:grid;gap:2px;overflow-x:auto}.document-row{display:grid;grid-template-columns:44px minmax(220px,1fr) 130px 120px 110px 112px 90px;gap:8px;align-items:center;min-width:900px;min-height:36px;padding:6px 8px;border-top:1px solid var(--border-default);color:var(--text-primary);font-size:12px}.document-row-head{min-height:30px;border-top:0;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.document-type-icon{display:inline-flex;justify-content:center;align-items:center;width:34px;min-height:24px;border-radius:6px;background:#2563eb1f;color:var(--primary-text);font-size:10px;font-weight:900}.document-title-cell{display:grid;gap:1px;min-width:0}.document-title-cell strong{overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.document-title-cell small,.document-row-actions{color:var(--text-muted)}.visibility-pill{display:inline-flex;justify-content:center;min-height:22px;padding:3px 7px;border-radius:999px;background:var(--surface-raised);color:var(--text-primary);font-size:10px;font-weight:800}.visibility-pill.client,.visibility-pill.public_project{background:#22c55e24;color:#bbf7d0}.project-timeline{display:grid;gap:8px}.timeline-day{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px}.timeline-day-label{display:grid;align-content:start;gap:2px;color:var(--text-muted);font-size:11px}.timeline-day-label strong{color:var(--text-primary);font-size:12px}.timeline-day-events{display:grid;gap:5px}.timeline-event{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(120px,auto);gap:8px;align-items:center;min-height:30px;padding:5px 8px;border:0;border-left:2px solid var(--primary-active-border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:12px}.timeline-event span{color:var(--primary-text);font-size:10px;font-weight:900;text-transform:uppercase}.timeline-event strong{overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.timeline-event small{color:var(--text-muted);text-align:right}.action-success-state{display:flex;align-items:center;justify-content:space-between;gap:8px}.action-success-state span{min-width:0}.site-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.site-progress-grid span{display:flex;justify-content:space-between;gap:8px;min-height:28px;padding:6px 8px;border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:12px}.supervisor-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.supervisor-action-bar strong{color:var(--text-primary);font-size:13px}.supervisor-action-bar span{color:var(--text-muted);font-size:12px}.supervisor-action-bar a{min-height:28px;padding:5px 9px;border-radius:999px;background:var(--primary-active-bg);color:var(--primary-text);font-size:12px;font-weight:800;text-decoration:none}.daily-report-card,.defect-card-compact{display:grid;gap:5px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text-primary)}.daily-report-card div,.defect-card-compact div,.site-drawer-header{display:flex;justify-content:space-between;gap:8px}.daily-report-card p,.defect-card-compact p{margin:0}.site-drawer{display:grid;gap:8px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.toast-host{position:fixed;right:16px;bottom:16px;z-index:500;display:grid;width:min(360px,calc(100vw - 32px));gap:8px}.toast{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-card)}.toast strong{color:var(--text-heading);font-size:13px}.toast span{font-size:12px}.toast-timeout,.toast-offline{border-color:var(--badge-warning-border)}.toast-server{border-color:var(--badge-danger-border)}.toast-success{border-color:var(--badge-success-border)}.gantt-shell-grid{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:8px;min-height:140px}.gantt-shell-list,.gantt-shell-timeline{display:grid;gap:6px}.gantt-shell-list span{display:flex;align-items:center;justify-content:space-between;min-height:24px;color:var(--text-primary);font-size:12px}.gantt-shell-list b{color:var(--text-muted);font-weight:600}.gantt-shell-timeline span{min-height:24px;border-radius:6px;background:repeating-linear-gradient(90deg,rgba(148,163,184,.16) 0 1px,transparent 1px 56px),linear-gradient(90deg,#14b8a629,#2563eb1f)}.invoice-items-editor,.invoice-adjustments{display:grid;gap:8px;margin-top:10px}.invoice-items-editor h3{margin:0}.invoice-tax-row{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px;align-items:center;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.invoice-total-box,.invoice-payments-box{display:grid;gap:7px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.tax-mode-control{display:grid;grid-template-columns:auto minmax(64px,78px) minmax(96px,1fr);gap:6px;align-items:center}.tax-mode-control.compact-adjustment{grid-template-columns:auto minmax(92px,auto) minmax(96px,1fr)}.segmented-toggle{display:inline-grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md)}.segmented-toggle button{min-height:30px;padding:0 8px;border:0;background:var(--surface-base);color:var(--text-muted);font-size:12px}.segmented-toggle button.active{background:var(--primary-active-bg);color:var(--primary-text)}.invoice-total-box span,.invoice-total-box strong{display:flex;justify-content:space-between;gap:18px;white-space:nowrap;font-variant-numeric:tabular-nums}.invoice-total-box strong{padding-top:8px;border-top:1px solid var(--border-default);text-transform:uppercase}.invoice-workbench{display:grid;gap:10px;margin-top:14px}.invoice-card{overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-card)}.invoice-card.is-expanded{background:var(--surface-raised)}.invoice-card-header{width:100%;display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,auto) auto;gap:10px;align-items:center;padding:9px 12px;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.invoice-card-header:hover{background:#2563eb1a}.invoice-card-main,.invoice-card-amounts{display:grid;gap:2px}.invoice-card-main strong{font-size:13px}.invoice-card-amounts{justify-items:end;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.invoice-card-details{display:grid;gap:8px;padding:0 12px 12px}.invoice-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px;padding:10px;border-radius:var(--radius-lg);background:var(--surface-base)}.invoice-detail-grid span{display:grid;gap:4px;color:var(--text-primary)}.invoice-detail-grid b{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.invoice-mini-table{display:grid;gap:4px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-base)}.compact-payments{margin:0;background:var(--surface-base)}.invoice-card-actions{justify-content:flex-start}.delete-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid rgba(248,113,113,.38);border-radius:8px;background:#7f1d1d38;color:#fecaca}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.form-field{display:grid;gap:5px}.access-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 12px;max-height:220px;overflow:auto;padding:8px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-muted)}.access-project-row{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:4px 8px;min-height:34px;color:var(--text-primary);font-size:.82rem}.access-project-row input{grid-row:span 2}.access-project-row small{grid-column:2;color:var(--text-tertiary);font-size:.72rem}.form-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.issued-token{display:grid;gap:6px;margin-top:14px;padding:12px;border:1px solid var(--primary-active-border);border-radius:8px;background:var(--surface-card)}.checkbox-line input{width:auto}.tx-form-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.compact-banner{margin-top:12px;padding:12px}.row-actions{white-space:nowrap;display:flex;gap:6px;justify-content:flex-end}.view-nav{gap:4px}.grouped-nav{gap:14px}.nav-group{display:grid;gap:6px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:0;font-size:11px;font-weight:800;color:var(--text-muted);border-color:transparent;background:var(--surface-raised)}.nav-group-items{display:grid;gap:4px}.nav-disabled,.client-shell-nav-item.disabled{display:block;border-radius:var(--radius-md);padding:10px;color:var(--text-muted);border:1px dashed var(--border-default);cursor:not-allowed}.shell-top-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.shell-top-header h1{font-size:20px;margin:0}.shell-role-pill{border-radius:999px;padding:6px 10px;background:var(--primary-active-bg);color:var(--primary-text);font-size:12px;font-weight:700}.client-portal-shell{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr;background:var(--surface-base);color:var(--text-primary)}.client-shell-header{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,320px) auto;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid var(--border-default);background:var(--surface-raised)}.client-shell-brand{display:flex;align-items:center;gap:12px;min-width:0}.client-shell-brand h2{margin:0;overflow-wrap:anywhere}.client-shell-progress{display:grid;gap:6px;color:var(--text-primary);font-size:12px;font-weight:700}.client-shell-progress .progress-track{margin:0}.client-shell-logout{margin-top:0;padding:10px 14px}.client-shell-nav{display:flex;gap:8px;overflow-x:auto;padding:10px 24px;background:var(--surface-base);border-bottom:1px solid var(--border-default)}.client-shell-nav a,.client-shell-nav-item.disabled{width:auto;white-space:nowrap;flex:0 0 auto}.client-shell-content{display:grid;align-content:start;gap:18px;padding:24px}.client-session-card,.mobile-bar,.sidebar-backdrop{display:none}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-copy{padding-left:0}.login-stats,.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;height:100vh;width:300px;max-width:85vw;z-index:300;transform:translate(-100%);transition:transform .22s ease;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a142373;z-index:299;opacity:0;pointer-events:none;transition:opacity .22s ease}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.mobile-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-raised);color:var(--text-primary)}.mobile-bar strong{font-size:15px}.mobile-bar button{background:transparent;color:var(--text-primary);font-size:22px;padding:2px 6px;line-height:1}.content{padding:16px}.shell-top-header{display:none}.command-bar{position:static;grid-template-columns:1fr}.command-status{justify-content:flex-start}.project-hero,.admin-cockpit{grid-template-columns:1fr}.span-2{grid-column:auto}.cockpit-side{position:static}.admin-kpis,.dashboard-metric-grid,.dashboard-metric-grid.compact,.dashboard-summary-strip,.dashboard-action-grid{grid-template-columns:1fr 1fr}.client-hero{align-items:flex-start;flex-direction:column;padding:18px}.client-hero-status{width:100%;text-align:left}.client-tabs{grid-template-columns:1fr 1fr}.client-overview-grid,.client-focus-grid,.client-status-strip,.project-flow-strip,.governance-grid,.cadence-grid,.planning-summary-panel,.boq-total-bar,.doc-upload-simple,.photo-quick-capture,.field-report-grid,.field-defect-grid,.daily-ops-feed button,.coordination-item{grid-template-columns:1fr}.client-shell-header{grid-template-columns:1fr auto;padding:14px 16px}.client-shell-progress{grid-column:1 / -1}.client-shell-nav{padding:8px 16px}.client-shell-content{padding:16px}.client-session-card{display:grid}.cards.compact,.tx-form-grid,.finance-filter-grid,.invoice-filter-grid,.invoice-filter-grid.with-project,.document-filter-bar,.priority-stack-grid,.responsibility-grid,.blocker-management-list,.checklist-board,.ops-kpi-grid,.persistence-grid,.team-dashboard-grid,.command-center-columns,.field-mode-actions,.readiness-automation-grid,.operations-home-top,.timeline-day,.timeline-event,.quick-add-panel,.cost-control-strip,.project-list-filters,.project-workspace-header,.project-tab-grid,.phase-detail-grid,.gantt-shell-grid{grid-template-columns:1fr}.project-header-metrics,.project-summary-strip,.project-summary-strip.compact{grid-template-columns:1fr 1fr}.project-workspace-block.span-2{grid-column:auto}.execution-mode,.action-success-state{align-items:stretch;flex-direction:column}.today-checklist-rows button,.automation-list-rows button,.daily-ops-feed button{grid-template-columns:1fr}.today-checklist-rows small,.automation-list-rows small{grid-column:auto}.today-checklist-rows em,.automation-list-rows em{justify-self:start}.latest-flow-list,.finance-header-metrics,.tx-type-selector,.tx-drawer-layout,.tx-allocation-row,.transaction-row,.transaction-row.confirm-delete,.invoice-drawer-layout,.invoice-line-row,.invoice-status-card,.invoice-payment-step,.invoice-number-grid,.invoice-payment-overview{grid-template-columns:1fr}.tx-summary-panel,.invoice-summary-panel{position:static}.transaction-row-detail{grid-template-columns:1fr 1fr}.dashboard-alert{grid-template-columns:1fr}.dashboard-alert span:last-child{grid-column:1}.month-summary{grid-template-columns:1fr}.month-flow,.month-closing{min-width:0;text-align:left}.invoice-tax-row,.invoice-card-header,.invoice-detail-grid{grid-template-columns:1fr}.invoice-card-amounts{justify-items:start}.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:1}.topbar{flex-wrap:wrap;min-height:auto;gap:8px}.panel-heading{flex-wrap:wrap}.topbar-actions{width:100%}}@media (max-width: 560px){.admin-kpis,.dashboard-metric-grid,.dashboard-metric-grid.compact,.dashboard-summary-strip,.dashboard-action-grid,.project-health-grid,.cost-control-strip,.project-header-metrics,.project-summary-strip,.project-summary-strip.compact{grid-template-columns:1fr}.project-health-head,.project-health-foot{flex-direction:column}.finance-header-metrics,.transaction-row-detail,.site-progress-grid{grid-template-columns:1fr}.timeline-event small,.transaction-row-main strong{text-align:left}.tx-drawer-header,.tx-drawer-actions,.invoice-drawer-header,.invoice-drawer-actions{flex-direction:column}.project-board{grid-template-columns:1fr}}@media (max-width: 599px){.transaction-row .tx-row-top{grid-template-columns:auto auto 1fr auto;grid-template-rows:auto auto;gap:3px 6px;padding:7px 10px;align-items:center}.transaction-row.confirm-delete{grid-template-columns:1fr auto}.transaction-date{grid-column:1;grid-row:1;font-size:10px}.transaction-row .tx-row-top>.ui-status-badge,.transaction-row .tx-row-top>[class*=status-badge]{grid-column:2;grid-row:1}.tx-amount{grid-column:3;grid-row:1;text-align:right}.row-actions{grid-column:4;grid-row:1 / 3;align-self:center}.tx-col-project,.tx-col-invoice,.tx-col-estimate,.tx-col-account{display:none}.tx-col-notes{grid-column:1 / 4;grid-row:2;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-amount{font-size:13px;font-weight:700}.tx-action-btn{opacity:1;width:32px;height:32px;font-size:14px}.btn-sm{min-height:36px;padding:7px 12px}.btn-action{min-height:40px;padding:9px 14px}}.project-finance-strip{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);margin-bottom:4px}.project-finance-strip .project-money-cell{flex:1 1 90px;min-width:72px}.tx-ledger-table{width:100%;border-collapse:collapse}.tx-ledger-table th{padding:5px 8px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.tx-ledger-table th.right{text-align:right}.tx-row td{padding:5px 8px;border-bottom:1px solid var(--border-default);color:var(--text-primary);font-size:12px;cursor:pointer;vertical-align:middle}.tx-row:hover td{background:#2563eb0f}.tx-row.is-expanded td{background:#2563eb17;border-bottom-color:transparent}.tx-row.is-deleting td{background:#7f1d1d1f;border-bottom-color:transparent}.tx-expand-row td{padding:0 8px 8px;border-bottom:1px solid var(--border-default);background:var(--surface-raised)}.tx-expand-detail{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px;border-radius:var(--radius-md);font-size:12px}.tx-expand-detail span{display:flex;gap:5px;color:var(--text-muted)}.tx-expand-detail b{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.tx-comment{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-ledger-table{width:100%;border-collapse:collapse;margin-top:6px;table-layout:auto;min-width:760px}.invoice-ledger-table th{padding:5px 8px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.invoice-ledger-table th.right{text-align:right}.invoice-ledger-row td{padding:5px 8px;border-bottom:1px solid var(--border-default);color:var(--text-primary);font-size:12px;cursor:pointer;vertical-align:middle;white-space:nowrap}.invoice-ledger-row:hover td{background:#2563eb0f}.invoice-ledger-row.is-expanded td{background:#2563eb17;border-bottom-color:transparent}.invoice-ledger-detail td{padding:0 8px 10px;border-bottom:1px solid var(--border-default);background:var(--surface-raised)}.invoice-ledger-expand{display:grid;gap:8px;padding:8px;border-radius:6px}.invoice-ledger-table th.center{text-align:center}.invoice-ledger-row td:nth-child(2),.invoice-ledger-row td:nth-child(7){text-align:center}.invoice-ledger-table th:nth-child(1),.invoice-ledger-row td:nth-child(1){min-width:160px;white-space:normal}.invoice-ledger-table th:nth-child(2),.invoice-ledger-row td:nth-child(2),.invoice-ledger-table th:nth-child(7),.invoice-ledger-row td:nth-child(7){min-width:90px;white-space:nowrap}.invoice-ledger-table th:nth-child(3),.invoice-ledger-row td:nth-child(3),.invoice-ledger-table th:nth-child(4),.invoice-ledger-row td:nth-child(4),.invoice-ledger-table th:nth-child(5),.invoice-ledger-row td:nth-child(5){min-width:92px}.invoice-ledger-table th:nth-child(6),.invoice-ledger-row td:nth-child(6){text-align:center;min-width:78px;white-space:nowrap;padding-left:10px;padding-right:10px}.invoice-ledger-table th:last-child,.invoice-ledger-row td:last-child:not([data-label]){position:sticky;right:0;z-index:1;background:var(--surface-card);width:96px;min-width:96px;white-space:nowrap}.invoice-ledger-row:hover td:last-child{background:#2563eb0f}.invoice-ledger-row.is-expanded td:last-child,.invoice-ledger-row.is-expanded:hover td:last-child{background:var(--surface-raised)}.inv-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;padding:0 4px}.inv-actions .tx-action-btn{opacity:.35}.invoice-ledger-row:hover .inv-actions .tx-action-btn,.invoice-ledger-row:focus-within .inv-actions .tx-action-btn,.invoice-ledger-row.is-expanded .inv-actions .tx-action-btn{opacity:1}.inv-action-pay{color:#34d399}tr.state-cancelled .ui-status-danger{background:#ef444414;color:#ef4444b3;border-color:#ef44442e}@media (max-width: 860px){.tx-comment{max-width:120px}.invoice-ledger-row td:nth-child(4),.invoice-ledger-table th:nth-child(4){display:none}}@media (max-width: 560px){.project-finance-strip{gap:4px}.project-finance-strip .project-money-cell{flex:1 1 72px;min-width:64px}.tx-comment{display:none}.invoice-ledger-row td:nth-child(n+5):nth-child(-n+6),.invoice-ledger-table th:nth-child(n+5):nth-child(-n+6){display:none}}@media (max-width: 599px){.invoice-ledger-table{display:block}.invoice-ledger-table thead{display:none}.invoice-ledger-table tbody{display:grid;gap:4px}.invoice-ledger-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);cursor:pointer;align-items:start}.invoice-ledger-row.is-expanded{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.invoice-ledger-row td{display:none;font-size:12px;white-space:normal;padding:0;border:none;background:transparent!important;vertical-align:middle;text-align:left}.invoice-ledger-row td:nth-child(1){display:block;grid-column:1;grid-row:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-ledger-row td:nth-child(3){display:flex;align-items:center;grid-column:1;grid-row:2;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.invoice-ledger-row td:nth-child(4){display:flex;align-items:center;grid-column:1;grid-row:3;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.invoice-ledger-row td:nth-child(5){display:flex;align-items:center;grid-column:1;grid-row:4;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.invoice-ledger-row td:nth-child(6){display:flex;align-items:flex-start;justify-content:flex-end;grid-column:2;grid-row:1;text-align:right}.invoice-ledger-row td:nth-child(7){display:flex;align-items:center;justify-content:flex-end;grid-column:2;grid-row:2;font-size:11px;color:var(--text-secondary);text-align:right}.invoice-ledger-row td:nth-child(2){display:none}.invoice-ledger-row td.inv-actions{display:flex;flex-direction:column;gap:2px;grid-column:2;grid-row:3 / 5;align-items:flex-end;justify-content:flex-start;padding:0}.invoice-ledger-row .inv-actions .tx-action-btn{opacity:1;width:30px;height:30px;font-size:13px}.invoice-ledger-detail{margin-top:-4px}.invoice-ledger-detail td{border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:10px 12px;display:table-cell;border:none;background:var(--surface-raised)!important}}.estimate-workspace-split{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;align-items:start}.estimate-tab-bar{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden}.estimate-tab-list{display:flex;flex-wrap:wrap;gap:0}.estimate-tab-btn{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border:0;border-right:1px solid var(--border-default);border-bottom:3px solid transparent;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;min-width:160px;max-width:280px;transition:background .1s}.estimate-tab-btn:hover{background:var(--surface-hover)}.estimate-tab-btn.is-active{border-bottom-color:var(--color-primary, #2563eb);background:var(--surface-raised)}.estimate-tab-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-tab-meta{display:flex;flex-direction:column;gap:1px;font-size:11px}.estimate-tab-meta b{font-size:12px;font-variant-numeric:tabular-nums}.estimate-workspace-full{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden}.estimate-metrics-bar{display:flex;gap:0;border-bottom:1px solid var(--border-default);overflow-x:auto}.estimate-metric{display:flex;flex-direction:column;gap:2px;padding:10px 18px;border-right:1px solid var(--border-default);min-width:120px}.estimate-metric small{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.estimate-metric b{font-size:15px;font-variant-numeric:tabular-nums}.boq-exec-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:12px;border-bottom:1px solid var(--border-default);background:var(--surface-raised)}.boq-exec-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card)}.boq-exec-card span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.boq-exec-card strong{font-size:20px;font-variant-numeric:tabular-nums;font-weight:800}.boq-exec-card-money strong{font-size:15px}.boq-exec-card-warn{border-color:#ef444459}.boq-exec-bar{height:4px;border-radius:2px;background:var(--border-default);overflow:hidden;margin-top:2px}.boq-exec-bar>div{height:100%;background:var(--color-primary, #2563eb);transition:width .3s}.boq-section-date-cell{white-space:nowrap;padding:4px 6px;vertical-align:middle}.boq-date-input{border:1px solid var(--border-default);border-radius:4px;background:var(--surface-input);color:var(--text-primary);font-size:11px;padding:2px 4px;width:110px}.boq-th-date{white-space:nowrap;font-size:10px;width:120px}.boq-log-progress-btn{background:#2563eb1f;color:var(--color-primary, #2563eb);border-color:#2563eb4d;font-weight:600}.boq-log-progress-btn:hover{background:#2563eb33}.boq-progress-modal{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(860px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0006}.boq-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-default)}.boq-progress-head strong{display:block;font-size:15px;font-weight:700}.boq-progress-controls{display:flex;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border-default);flex-wrap:wrap;align-items:flex-end}.boq-progress-controls .form-field{flex:0 0 auto;min-width:130px}.boq-mode-toggle{display:flex;gap:0;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.boq-mode-toggle button{padding:5px 14px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600}.boq-mode-toggle button.active{background:var(--color-primary, #2563eb);color:#fff}.boq-bulk-row{display:flex;gap:6px;align-items:center}.boq-bulk-apply input{width:80px}.boq-progress-table-wrap{overflow-y:auto;flex:1;padding:0}.boq-progress-table{width:100%;border-collapse:collapse;font-size:12px}.boq-progress-table th{padding:6px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);position:sticky;top:0;background:var(--surface-card)}.boq-progress-table td{padding:6px 8px;border-bottom:1px solid var(--border-default);vertical-align:middle}.boq-progress-item-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boq-progress-changed td{background:#22c55e0a}.boq-progress-input-wrap{display:flex;align-items:center;gap:4px}.boq-progress-input{width:72px;border:1px solid var(--border-default);border-radius:4px;padding:3px 6px;font-size:12px;text-align:right;background:var(--surface-input);color:var(--text-primary)}.boq-progress-input:focus{outline:none;border-color:var(--color-primary, #2563eb)}.boq-delta{font-size:10px;font-weight:700;white-space:nowrap}.boq-delta.positive{color:#16a34a}.boq-delta.negative{color:#dc2626}.boq-pct-new{font-weight:700}.boq-progress-footer{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--border-default);flex-wrap:wrap}.boq-progress-notes{flex:1;min-width:200px}.boq-progress-notes input{width:100%}.boq-progress-actions{display:flex;gap:8px;flex-shrink:0}.boq-progress-report{padding:12px;display:grid;gap:12px}.boq-report-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.boq-report-filters .form-field{flex:0 0 auto;min-width:140px}.boq-report-summary{display:flex;gap:0;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.boq-report-summary span{display:flex;flex-direction:column;gap:2px;padding:8px 16px;border-right:1px solid var(--border-default)}.boq-report-summary small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.boq-report-summary b{font-size:14px;font-variant-numeric:tabular-nums}.boq-report-table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px}.boq-report-table th{padding:6px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.boq-report-table td{padding:6px 8px;border-bottom:1px solid var(--border-default);vertical-align:middle}.boq-report-section-row td{background:var(--surface-raised);padding:5px 8px;font-size:11px}.boq-report-sessions{display:grid;gap:16px}.boq-report-session{border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.boq-report-session-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface-raised);border-bottom:1px solid var(--border-default)}.boq-report-session-head strong{font-size:13px}.boq-session-cost{font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-primary, #2563eb)}.boq-report-day-total td{background:var(--surface-raised);font-size:12px;border-top:1px solid var(--border-strong)}.boq-report-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-left:auto}.boq-act-generate{display:flex;gap:4px;align-items:center}.boq-act-generate select{font-size:12px;padding:5px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary)}.boq-status-badge{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.boq-status-badge.draft{background:#f59e0b26;color:#b45309}.boq-status-badge.approved{background:#22c55e26;color:#16a34a}.boq-row-draft td{opacity:.75}.boq-report-grand-total{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);font-size:13px}.boq-report-grand-total strong{font-size:16px;font-variant-numeric:tabular-nums}.boq-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#00000073;border-radius:var(--radius-lg)}.boq-confirm-dialog{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:20px 24px;min-width:280px;max-width:380px;box-shadow:0 16px 40px #00000059}.boq-confirm-message{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4}.boq-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.boq-check-cell{text-align:center;padding:0 4px;vertical-align:middle}.boq-row-check{width:14px;height:14px;cursor:pointer;accent-color:var(--color-primary, #2563eb)}.boq-row-selected td{background:#2563eb12!important}.boq-toolbar-delete-sel{margin-left:4px}.boq-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-raised);color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .1s,color .1s;flex-shrink:0}.boq-icon-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.boq-icon-btn:disabled{opacity:.4;cursor:not-allowed}.boq-icon-danger{border-color:#ef44444d;color:#ef4444b3}.boq-icon-danger:hover{background:#ef44441f;color:#ef4444;border-color:#ef4444}.boq-item-date-cell{padding:3px 4px;vertical-align:middle;white-space:nowrap}.boq-sub-item-row td{background:rgba(var(--color-primary-rgb, 37,99,235),.03);border-left:2px solid rgba(var(--color-primary-rgb, 37,99,235),.2)}.boq-section-actions,.boq-row-actions{display:flex;align-items:center;gap:3px;padding:2px 4px}.estimate-sidebar{display:grid;gap:8px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);min-width:0}.estimate-sidebar-list{display:grid;gap:4px}.estimate-sidebar-item{display:grid;gap:3px;padding:8px 9px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);text-align:left;cursor:pointer;transition:background .12s;min-width:0}.estimate-sidebar-item:hover{background:var(--surface-hover);border-color:var(--primary-active-border)}.estimate-sidebar-item.is-active{background:var(--primary-active-bg);border-color:var(--primary-active-border)}.estimate-sidebar-name{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-active-badge{display:inline-block;padding:1px 5px;border-radius:4px;background:var(--badge-success-bg);color:var(--color-income);font-size:10px;font-weight:700;white-space:nowrap;flex-shrink:0}.estimate-done-badge{display:inline-block;padding:1px 5px;border-radius:4px;background:#22c55e26;color:#22c55e;font-size:10px;font-weight:700;white-space:nowrap;flex-shrink:0}.estimate-sidebar-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:11px;overflow:hidden}.estimate-sidebar-meta .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-sidebar-meta b{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0}.estimate-progress-track{height:2px;border-radius:2px;background:var(--border-default);overflow:hidden;margin-top:2px}.estimate-progress-fill{height:100%;border-radius:2px;background:var(--primary);transition:width .3s ease}.estimate-progress-fill.over-budget{background:var(--color-expense)}.estimate-main{display:grid;gap:0;min-width:0;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden}.estimate-main-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 12px 8px;border-bottom:1px solid var(--border-default)}.estimate-main-header>div:first-child{display:grid;gap:2px}.estimate-main-header>div:first-child strong{font-size:13px;color:var(--text-primary)}.estimate-header-strip{display:flex;flex-wrap:wrap;gap:6px}.estimate-header-strip span{display:grid;gap:1px;padding:4px 7px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.estimate-header-strip small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.estimate-header-strip b{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-primary)}.estimate-sub-nav{display:flex;gap:0;border-bottom:1px solid var(--border-default);overflow-x:auto;scrollbar-width:none}.estimate-sub-nav::-webkit-scrollbar{display:none}.estimate-sub-nav button{padding:7px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .12s,border-color .12s}.estimate-sub-nav button:hover{color:var(--text-secondary)}.estimate-sub-nav button.active{color:var(--primary-text);border-bottom-color:var(--primary)}.estimate-tab-content{padding:10px;min-height:180px}.estimate-content-empty{display:grid;gap:4px;padding:24px 16px;color:var(--text-primary);font-size:13px}.estimate-boq-table,.estimate-revisions-table,.estimate-budget-table{width:100%;border-collapse:collapse;font-size:12px}.estimate-boq-table th,.estimate-revisions-table th,.estimate-budget-table th{padding:4px 8px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.estimate-boq-table th.right,.estimate-revisions-table th.right,.estimate-budget-table th.right{text-align:right}.estimate-boq-table td,.estimate-revisions-table td,.estimate-budget-table td{padding:5px 8px;border-bottom:1px solid var(--border-default);color:var(--text-primary);vertical-align:middle}.estimate-cat-chip{display:inline-block;padding:1px 5px;border-radius:4px;background:var(--surface-raised);color:var(--text-muted);font-size:10px}.planning-preview{padding:4px 0}.planning-phase-list{display:grid;gap:4px}.planning-phase-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);font-size:12px}.planning-phase-name{flex:1;color:var(--text-primary);min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boq-edit-table{width:100%;border-collapse:collapse;font-size:12px}.boq-sheet-table{font-size:11px}.boq-edit-table th{text-align:left;padding:4px 6px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.boq-edit-table td{padding:5px 6px;border-bottom:1px solid var(--border-default);vertical-align:middle}.boq-edit-table th.col-code,.boq-edit-table td.col-code{width:60px;color:var(--text-muted)}.boq-edit-table th.col-num,.boq-edit-table td.col-num{width:90px;text-align:right}.boq-edit-table th.col-unit,.boq-edit-table td.col-unit{width:50px}.boq-edit-table th.col-status,.boq-edit-table td.col-status{width:80px}.boq-edit-table th.col-actions,.boq-edit-table td.col-actions{width:160px}.boq-edit-table tfoot td{border-top:1px solid var(--border-default);border-bottom:none;padding-top:8px}.boq-edit-table tr.boq-omitted td{opacity:.45;text-decoration:line-through}.boq-edit-table tr.boq-selected td{background:#2dd4bf12;box-shadow:inset 0 1px #2dd4bf14,inset 0 -1px #2dd4bf14}.boq-edit-row td{background:var(--surface-raised);padding:4px 6px}.boq-input{width:100%;padding:3px 5px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;outline:none;box-sizing:border-box}.boq-input:focus{border-color:var(--primary-active-border)}.boq-input-desc{min-width:140px}.boq-input-num{width:70px;text-align:right}.boq-input-unit{width:44px}.boq-select{padding:3px 5px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;max-width:100%}.boq-add-row{padding:8px 0 4px;display:flex;flex-wrap:wrap;gap:8px}.boq-total-bar{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px;margin-top:6px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card)}.boq-total-bar span{display:grid;gap:2px;min-width:0}.boq-total-bar small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.boq-total-bar b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.boq-category-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 0 4px}.boq-cat-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 10px;background:var(--primary-active-bg);border:1px solid var(--primary-active-border);border-radius:var(--radius-full);font-size:11px;color:var(--primary-text)}.boq-cat-del{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0 1px;line-height:1;font-size:13px}.boq-cat-del:hover{color:var(--color-expense)}.boq-add-cat-btn{background:transparent;border:1px dashed var(--border-default);color:var(--text-muted)}.boq-cat-inline-form{display:inline-flex;align-items:center;gap:4px}.boq-cat-inline-form input{padding:3px 8px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;width:140px;outline:none}.boq-legacy-warnings{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md);margin-bottom:8px}.boq-legacy-label{font-size:11px;font-weight:600;color:var(--color-warning);text-transform:uppercase;letter-spacing:.05em}.boq-warning-item{font-size:12px;color:var(--color-warning)}.boq-legacy-banner{padding:8px 12px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:12px;color:var(--text-secondary);margin-bottom:8px}.boq-rev-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.boq-rev-form{display:flex;align-items:center;gap:8px;flex:1}.boq-rev-form input{flex:1;padding:6px 10px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;outline:none}.tab-count{display:inline-block;margin-left:5px;padding:0 5px;background:#94a3b826;border-radius:var(--radius-lg);font-size:10px;color:var(--text-secondary);vertical-align:middle}.boq-tree-wrap{display:flex;flex-direction:column;gap:0;min-height:0;position:relative}.boq-toolbar{display:flex;align-items:center;gap:10px;padding:8px 0 10px;border-bottom:1px solid var(--border-default);flex-wrap:wrap}.boq-toolbar-stat{font-size:11px;color:var(--text-muted);margin-left:auto}.boq-tree-scroll{overflow-x:auto;min-height:0;border:1px solid var(--border-default);border-radius:var(--radius-md) var(--radius-md) 0 0;max-width:100%}.boq-tree-table{width:100%;min-width:1260px;border-collapse:collapse;font-size:12px;table-layout:fixed}.boq-col-check{width:32px}.boq-col-code{width:72px}.boq-col-desc{width:320px}.boq-col-qty{width:72px}.boq-col-unit{width:58px}.boq-col-price{width:116px}.boq-col-total{width:130px}.boq-col-progress{width:136px}.boq-col-status{width:118px}.boq-col-date{width:112px}.boq-col-actions{width:174px}.boq-tree-head th{padding:6px 8px;background:var(--surface-raised);color:var(--text-muted);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-default);white-space:nowrap;position:sticky;top:0;z-index:1;overflow:hidden;text-overflow:ellipsis}.boq-tree-foot td{padding:8px;border-top:2px solid var(--border-default);color:var(--text-primary);font-size:12px}.boq-section-row{background:var(--surface-card);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-subtle)}.boq-section-row td{padding:7px 8px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.boq-section-name-cell{padding-left:6px!important}.boq-section-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;min-width:0}.boq-section-label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boq-section-num{color:var(--text-muted);font-size:11px;font-weight:600;min-width:16px}.boq-section-pct-badge{display:inline-block;padding:1px 5px;background:#22c55e26;color:#4ade80;border-radius:4px;font-size:10px;font-weight:700}.boq-section-count{font-size:10px;color:var(--text-disabled);font-weight:400;margin-left:2px}.boq-section-total-cell{font-weight:700;color:var(--color-transfer);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:nowrap}.boq-section-progress,.boq-subsec-progress{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px}.boq-section-actions{white-space:nowrap}.gantt-list{display:grid;gap:8px;overflow-x:auto}.operational-gantt .gantt-row{width:100%;cursor:pointer;text-align:left}.cockpit-bento-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.cockpit-bento-card{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);min-width:0;overflow:hidden;container-type:inline-size}.cockpit-bento-card small{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cockpit-bento-card b{font-size:clamp(12px,5cqi,17px);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:clip;display:block}.cockpit-bento-card span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cockpit-bento-contract{border-color:#2563eb4d;background:#2563eb0d}.cockpit-bento-income{border-color:#22c55e4d;background:#22c55e0a}.cockpit-progress-bar{height:4px;border-radius:2px;background:var(--border-default);overflow:hidden;margin-top:4px}.cockpit-progress-bar>div{height:100%;border-radius:2px;transition:width .4s}.cockpit-bar-ok{background:#22c55e}.cockpit-bar-danger{background:#ef4444}.cockpit-gantt-full{grid-column:1 / -1}.gantt-wrap{display:flex;flex-direction:column;gap:0;overflow-x:auto}.gantt-header{display:flex;align-items:stretch;min-height:22px}.gantt-label-spacer{flex:0 0 220px;min-width:220px}.gantt-timeline-header{flex:1;position:relative;border-bottom:1px solid var(--border-default);min-width:0;height:22px}.gantt-month-label{position:absolute;top:3px;transform:translate(-50%);font-size:10px;font-weight:600;color:var(--text-muted);white-space:nowrap}.gantt-today-line{position:absolute;top:0;bottom:-9999px;width:2px;background:#ef4444b3;z-index:2;pointer-events:none}.gantt-today-row-line{position:absolute;top:0;bottom:0;width:2px;background:#ef444480;z-index:2;pointer-events:none}.gantt-row{display:grid;grid-template-columns:220px 1fr 42px 180px;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-default);background:transparent;border-radius:0;border-left:0;border-right:0;border-top:0;transition:background .1s}.gantt-row:hover{background:var(--surface-hover)}.gantt-overdue .gantt-label strong{color:#ef4444}.gantt-label{display:flex;flex-direction:column;gap:1px;min-width:0}.gantt-label strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-label span{font-size:10px;color:var(--text-muted)}.gantt-track{position:relative;height:20px;background:var(--surface-raised);border-radius:4px;overflow:hidden;min-width:0}.gantt-plan-bar{position:absolute;top:4px;bottom:4px;border-radius:3px;background:#2563eb33;border:1px solid rgba(37,99,235,.3);overflow:hidden}.gantt-actual-bar{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:#2563ebb3;transition:width .4s}.gantt-pct{font-size:11px;font-weight:700;text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums}.gantt-dates{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted)}.gantt-legend{display:flex;gap:16px;padding:8px 0 2px;font-size:11px;color:var(--text-muted)}.gantt-legend span{display:flex;align-items:center;gap:5px}.gantt-legend-plan{display:inline-block;width:16px;height:10px;border-radius:2px;background:#2563eb33;border:1px solid rgba(37,99,235,.4)}.gantt-legend-actual{display:inline-block;width:16px;height:10px;border-radius:2px;background:#2563ebb3}.gantt-legend-today{display:inline-block;width:2px;height:14px;background:#ef4444b3;border-radius:1px}.boq-uncat-row{background:var(--surface-raised);font-style:italic}.boq-section-subtotal-row td{padding:5px 8px;background:var(--surface-raised);border-top:1px solid var(--border-subtle);font-size:11px}.boq-section-subtotal-label{color:var(--text-secondary)}.boq-section-subtotal-value{font-weight:600;color:var(--color-transfer)}.boq-subsec-row{background:var(--surface-raised);border-top:1px solid var(--border-subtle)}.boq-subsec-row td{padding:5px 8px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.boq-subsec-name{padding-left:20px!important;font-size:11px;font-weight:600}.boq-subsec-label{color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.boq-subsec-total{font-weight:600;color:var(--color-transfer);font-size:11px}.boq-item-row{border-top:1px solid var(--border-subtle);cursor:pointer;transition:background 80ms}.boq-item-row:hover{background:#3b82f60f}.boq-item-row td{padding:5px 8px;color:var(--text-primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.boq-row-omitted td{opacity:.45;text-decoration:line-through}.boq-row-completed td{background:#16a34a14}.boq-row-delayed td{background:#f43f5e14}.boq-sheet-row.is-saving td{box-shadow:inset 3px 0 #60a5fabf}.boq-edit-row td{padding:3px 4px;vertical-align:middle}.boq-add-inline td{background:#3b82f60d}.boq-subtotal-row td{padding:4px 8px;border-top:1px solid var(--border-subtle);background:var(--surface-raised);font-size:11px}.boq-subtotal-label{padding-left:20px!important;color:var(--text-muted)}.boq-subtotal-value{font-weight:600;color:var(--color-transfer)}.boq-grand-total-row td{padding:8px;color:var(--text-primary);font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-effective-total-row td{padding:4px 8px}.boq-effective-value{color:var(--color-income)}.boq-td-code{color:var(--text-muted)!important;font-size:11px!important;white-space:nowrap}.boq-td-desc{min-width:120px;white-space:nowrap}.boq-td-num{text-align:right;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-td-unit{color:var(--text-secondary);font-size:11px}.boq-td-total{font-weight:700;text-align:right;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-td-pct{text-align:right;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-td-status{white-space:nowrap}.boq-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#94a3b814;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:8px;cursor:pointer;padding:0;transition:background 80ms}.boq-toggle-btn:hover{background:#94a3b82e;color:var(--text-primary)}.boq-sub-toggle-btn{width:16px;height:16px;font-size:7px}.boq-subsec-toggle{padding-left:16px!important;text-align:center}.boq-section-toggle{text-align:center}.boq-inline-form{display:inline-flex;align-items:center;gap:4px}.boq-section-input{flex:1;min-width:180px}.boq-subsec-input{flex:1;min-width:140px}.boq-input-pct{width:48px!important;text-align:right}.boq-input-sm{max-width:56px}.boq-sheet-input,.boq-sheet-status{width:100%;min-width:0;height:28px;padding:4px 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:12px;outline:none}.boq-sheet-input:hover,.boq-sheet-status:hover{background:var(--surface-raised);border-color:var(--border-default)}.boq-sheet-input:focus,.boq-sheet-status:focus{background:var(--surface-base);border-color:var(--primary-active-border);box-shadow:0 0 0 2px var(--primary-active-bg)}.boq-sheet-input-num,.boq-progress-input{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-sheet-input-code,.boq-sheet-input-unit{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-sheet-input-unit{text-align:center}.boq-row-actions{white-space:nowrap}.boq-row-actions .btn-xs{margin-right:4px}.boq-row-actions .btn-xs:last-child{margin-right:0}.boq-link-select{max-width:86px;height:24px;margin-right:4px;padding:2px 4px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary);font-size:10px;vertical-align:middle}.boq-link-date{width:112px;height:24px;margin-right:4px;padding:2px 4px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary);font-size:10px;vertical-align:middle}.boq-sheet-input-duration{width:54px;margin-right:4px;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.operational-collapse{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden}.operational-collapse-head{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:14px;width:100%;padding:12px 14px;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.operational-collapse-head>span:first-child,.operational-collapse-metrics span{display:grid;gap:2px}.operational-collapse-head small,.operational-collapse-metrics small{color:var(--text-secondary);font-size:11px}.operational-collapse-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.operational-collapse-metrics span{min-width:104px;text-align:right}.operational-collapse-body{border-top:1px solid var(--border-subtle);padding:10px}.operational-collapse-body>.panel{border:0;border-radius:0;background:transparent;box-shadow:none}.boq-execution-strip{display:flex;flex-wrap:wrap;gap:0;margin-bottom:8px;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg)}.boq-execution-strip span{display:grid;flex:1 0 92px;gap:2px;padding:7px 9px;border-right:1px solid var(--border-subtle);background:var(--surface-raised)}.boq-execution-strip span:last-child{border-right:0}.boq-execution-strip small{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.boq-execution-strip b{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:nowrap}.boq-execution-dashboard{display:grid;gap:10px}.boq-execution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.boq-execution-grid span{display:grid;gap:3px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.boq-execution-grid small{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.boq-execution-grid b{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.boq-execution-bars span{position:relative;display:block;height:10px;overflow:hidden;border-radius:999px;background:#334155d9}.boq-execution-bars small{position:absolute;top:-18px;left:0;color:var(--text-muted);font-size:10px}.boq-execution-bars i,.boq-execution-bars em{position:absolute;inset:0 auto 0 0;display:block;border-radius:inherit}.boq-execution-bars i{background:#22c55e}.boq-execution-bars em{height:4px;top:3px;background:#60a5fa}.boq-critical-list{display:grid;gap:6px}.boq-critical-list button{text-align:left;padding:7px 8px;border:1px solid rgba(248,113,113,.22);border-radius:6px;background:#f8717114;color:#fecaca;cursor:pointer}.boq-critical-list b,.boq-critical-list small{display:block}.boq-critical-list small{color:#fca5a5;margin-top:2px}.boq-progress-cell{display:grid;grid-template-columns:1fr 52px;align-items:center;gap:6px}.boq-progress-track{height:6px;border-radius:999px;background:#334155e0;overflow:hidden;min-width:42px}.boq-progress-track span{display:block;height:100%;background:#60a5fa}.boq-progress-cell.is-complete .boq-progress-track span{background:#22c55e}.boq-progress-cell.is-warning .boq-progress-track span{background:#f59e0b}.boq-progress-cell.is-delayed .boq-progress-track span{background:#f43f5e}.boq-progress-cell.is-muted .boq-progress-track span{background:var(--text-muted)}.boq-sticky-total-bar{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;align-items:stretch;gap:0;min-height:46px;border:1px solid var(--border-default);border-top:2px solid var(--primary-active-border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--surface-base);box-shadow:0 -10px 24px #0206175c}.boq-sticky-total-bar span{display:grid;align-content:center;gap:2px;min-width:150px;padding:7px 12px;border-left:1px solid var(--border-default)}.boq-sticky-total-bar small{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;white-space:nowrap}.boq-sticky-total-bar b{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;text-align:right;white-space:nowrap}.boq-sticky-total-bar em{align-self:center;padding:0 12px;color:var(--text-muted);font-size:11px;font-style:normal}.boq-tree-wrap.is-compact .boq-tree-head th{padding-top:4px;padding-bottom:4px}.boq-tree-wrap.is-compact .boq-section-row td,.boq-tree-wrap.is-compact .boq-item-row td,.boq-tree-wrap.is-compact .boq-subsec-row td,.boq-tree-wrap.is-compact .boq-subtotal-row td{padding-top:3px;padding-bottom:3px}.boq-tree-wrap.is-compact .boq-sheet-input,.boq-tree-wrap.is-compact .boq-sheet-status{height:24px}.boq-pct-chip{display:inline-block;padding:1px 4px;background:#22c55e1f;color:var(--color-income);border-radius:var(--radius-sm);font-size:10px;font-weight:600}.boq-code-text{font-size:11px;color:var(--text-muted);font-family:monospace}.boq-new-subsec td{background:#3b82f60a;padding:6px 8px}.boq-multiplier-panel{display:flex;align-items:center;gap:12px;padding:7px 10px;margin-bottom:8px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-wrap:wrap}.boq-multiplier-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.boq-multiplier-field{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary);white-space:nowrap}.boq-multiplier-field input{width:60px;padding:3px 6px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:12px;text-align:right;outline:none}.boq-multiplier-field input:focus{border-color:var(--primary-active-border)}.boq-multiplier-effective{font-size:11px;font-weight:700;color:var(--color-income);margin-left:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#020617c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.boq-import-modal{width:min(1180px,96vw);max-height:92vh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base);box-shadow:0 24px 80px #00000073}.boq-import-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.boq-import-head>div{display:grid;gap:3px}.boq-import-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.boq-import-upload input{color:var(--text-primary);font-size:12px}.boq-import-progress{flex:1 1 180px;height:7px;min-width:160px;overflow:hidden;border-radius:999px;background:#334155d9}.boq-import-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-transfer);transition:width .16s ease}.boq-import-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.boq-import-summary span{display:grid;gap:2px;padding:8px 10px;border-right:1px solid var(--border-default);background:var(--surface-raised)}.boq-import-summary span:last-child{border-right:0}.boq-import-summary small{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.boq-import-summary b{color:var(--text-primary);font-size:12px;white-space:nowrap}.boq-import-warnings,.boq-import-errors{display:grid;gap:4px;padding:8px 10px;border-radius:7px;font-size:11px}.boq-import-warnings{border:1px solid rgba(245,158,11,.22);background:#f59e0b14;color:var(--color-warning)}.boq-import-errors{border:1px solid rgba(248,113,113,.24);background:#f8717114;color:#fca5a5}.boq-import-preview{max-height:48vh;overflow:auto}.boq-import-actions{display:flex;justify-content:flex-end;gap:8px}.planning-summary-panel{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:7px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.planning-summary-panel span{display:grid;gap:2px;min-width:0;padding:7px 8px;border-radius:var(--radius-md);background:var(--surface-base)}.planning-summary-panel small{color:var(--text-secondary);font-size:10px;font-weight:800;text-transform:uppercase}.planning-summary-panel b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.planning-summary-panel .danger b{color:#fca5a5}.planning-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:7px;overflow-x:auto;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.planning-strip-phase{display:grid;gap:5px;min-width:0}.planning-strip-bar{position:relative;height:8px;overflow:hidden;border-radius:999px;background:#94a3b829}.planning-strip-bar:after{position:absolute;inset:0 auto 0 0;width:var(--phase-progress);content:"";border-radius:inherit;background:var(--text-muted)}.planning-strip-phase.completed .planning-strip-bar:after{background:#34d399}.planning-strip-phase.active .planning-strip-bar:after{background:#38bdf8}.planning-strip-phase.delayed .planning-strip-bar:after{background:#f87171}.planning-strip-phase.upcoming .planning-strip-bar:after{background:#fbbf24}.planning-strip-phase b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.planning-strip-phase small{color:var(--text-secondary);font-size:11px;white-space:nowrap}.planning-table{width:100%;border-collapse:collapse;font-size:13px}.planning-table th{text-align:left;padding:6px 10px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.planning-table td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.planning-table tr.row-delayed td{background:#ef44440a;border-left:3px solid rgba(248,113,113,.82)}.planning-table tr.row-upcoming td{background:#f59e0b0a;border-left:3px solid rgba(251,191,36,.72)}.planning-table tr.row-completed td{background:#10b9810a;border-left:3px solid rgba(52,211,153,.72)}.planning-table .phase-name{display:block;font-weight:500;color:var(--text-primary)}.planning-table .phase-desc{display:block;font-size:11px;margin-top:2px}.planning-table .date-range{font-size:12px;white-space:nowrap}.planning-table-compact{font-size:12px}.planning-table-compact th{padding:5px 8px}.planning-table-compact td{padding:6px 8px}.phase-expand-btn{width:100%;padding:0;border:0;background:transparent;text-align:left}.phase-badge-row{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:3px}.phase-detail-row td{background:var(--surface-raised)}.phase-detail-grid{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(120px,.8fr) minmax(160px,1.2fr) auto;gap:8px;align-items:center}.phase-detail-grid span{display:grid;gap:2px;min-width:0}.phase-detail-grid small{color:var(--text-secondary);font-size:10px;font-weight:800;text-transform:uppercase}.phase-detail-grid b{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.phase-detail-actions{display:flex!important;flex-wrap:wrap;gap:4px;justify-content:flex-end}.phase-progress-track{position:relative;height:6px;min-width:60px;background:#94a3b826;border-radius:3px;overflow:visible}.phase-progress-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .2s}.phase-progress-label{position:absolute;left:0;top:8px;font-size:10px;color:var(--text-secondary);white-space:nowrap}.row-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end}.milestone-list{display:flex;flex-direction:column;gap:2px;padding:4px 0}.ms-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.ms-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.ms-info{display:flex;flex-direction:column;min-width:0}.ms-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.ms-date{font-size:11px;color:var(--text-secondary);white-space:nowrap}.ms-actions{display:flex;gap:4px;align-items:center}.inline-form-block{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}@media (max-width: 860px){.estimate-workspace-split{grid-template-columns:1fr}.estimate-sidebar-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;scrollbar-width:none;padding-bottom:4px}.estimate-sidebar-list::-webkit-scrollbar{display:none}.estimate-sidebar-item{flex-shrink:0;min-width:160px;max-width:200px}.estimate-progress-track{display:none}}@media (max-width: 560px){.estimate-boq-table th:nth-child(2),.estimate-boq-table td:nth-child(2),.estimate-boq-table th:nth-child(4),.estimate-boq-table td:nth-child(4){display:none}.estimate-header-strip{gap:4px}.estimate-header-strip span{padding:3px 5px}}.site-workspace{display:flex;flex-direction:column;gap:0}.site-sub-nav{border-bottom:1px solid var(--border);margin-bottom:16px}.site-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--accent, #3b82f6);color:#fff;font-size:11px;font-weight:600;line-height:1}.estimate-sub-nav button .site-tab-count{background:var(--muted-bg, #e5e7eb);color:var(--muted, #6b7280)}.estimate-sub-nav button.active .site-tab-count{background:var(--accent, #3b82f6);color:#fff}.site-tab-body{flex:1}@media (max-width: 768px){.site-sub-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}}@media (max-width: 390px){.site-tab-count{display:none}}.document-workspace{display:flex;flex-direction:column;gap:0}.doc-workspace-panel{display:flex;flex-direction:column;gap:12px}.doc-workspace-panel.is-dragging{outline:2px dashed rgba(45,212,191,.48);outline-offset:4px}.doc-drop-zone{display:grid;min-height:58px;place-items:center;border:1px dashed var(--border-default);border-radius:8px;background:#94a3b80f;color:var(--text-secondary);font-size:13px;font-weight:800}.doc-upload-simple{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,260px) auto auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-card)}.photo-quick-capture{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,220px) minmax(130px,240px) auto auto;gap:7px;align-items:center;padding:9px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-card)}.photo-quick-capture strong{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.photo-quick-capture input{height:30px;min-width:0;padding:0 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text)}.doc-upload-simple>div{display:grid;gap:2px;min-width:0}.doc-upload-simple strong{color:var(--text);font-size:13px}.doc-upload-simple input{height:30px;min-width:0;padding:0 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text)}.doc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-toolbar-left{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.doc-toolbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.doc-search{height:30px;padding:0 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--surface);color:var(--text);min-width:0;flex:1;max-width:220px}.doc-tag-filter{height:30px;padding:0 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--surface);color:var(--text);cursor:pointer}.doc-count{font-size:12px;white-space:nowrap}.doc-gen-form{display:grid;gap:12px;margin:12px 0;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:14px 16px;color:var(--text-primary);overflow:hidden}.doc-gen-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.doc-gen-form .form-field{min-width:0}.doc-gen-form input,.doc-gen-form select{width:100%;min-width:0;background:var(--surface-base);border-color:var(--border-default);color:var(--text-primary)}.doc-gen-form .form-actions{display:flex;flex-wrap:wrap;gap:8px}.doc-register-table{width:100%;border-collapse:collapse;font-size:13px}.doc-register-table th{text-align:left;padding:7px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.doc-register-table td{padding:8px 10px;border-bottom:1px solid var(--border-light, var(--border));vertical-align:middle}.doc-register-table tr:last-child td{border-bottom:none}.doc-register-table tr.is-deleting td{background:#fef2f2}.doc-register-table tr{cursor:pointer}.doc-register-table tr.doc-row-selected td{background:#2dd4bf14}.doc-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.04em;background:var(--muted-bg, #e5e7eb);color:var(--muted, #6b7280);font-family:monospace;min-width:32px;text-align:center}.doc-preview-panel{display:grid;gap:8px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.doc-preview-frame{display:grid;place-items:center;min-height:220px;max-height:420px;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.doc-preview-frame img,.doc-preview-frame iframe{width:100%;height:min(420px,60vh);border:0;object-fit:contain}.doc-preview-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.command-filter-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:4px 0 8px}.command-filter-row button{min-height:27px;padding:4px 9px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:12px;font-weight:700}.command-filter-row button.active{border-color:#2dd4bf73;background:#14b8a624;color:#ccfbf1}.invoice-state-pill{display:inline-flex;align-items:center;min-height:18px;margin-right:5px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase}.invoice-state-pill.unpaid,.invoice-state-pill.partial{background:#f59e0b24;color:#fbbf24}.invoice-state-pill.paid{background:#10b98124;color:#86efac}.invoice-state-pill.overdue{background:#ef444424;color:#fca5a5}.invoice-state-pill.draft{background:#94a3b824;color:var(--text-primary)}.payment-attention{display:inline-flex;align-items:center;min-height:18px;margin-right:5px;padding:1px 6px;border-radius:999px;background:#f871711f;color:#fca5a5;font-size:10px;font-weight:800;white-space:nowrap}.doc-title-cell{max-width:260px}.doc-name-link{background:none;border:none;padding:0;font-size:13px;color:var(--accent, #3b82f6);cursor:pointer;text-align:left;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-block}.doc-name-link:hover{text-decoration:underline}.doc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border-default);border-radius:5px;background:var(--surface-raised);color:var(--text-muted);font-size:13px;cursor:pointer;flex-shrink:0;transition:background .1s,color .1s}.doc-icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.doc-icon-btn:disabled{opacity:.45;cursor:not-allowed}.doc-icon-confirm{border-color:#22c55e66;color:#16a34a}.doc-icon-confirm:hover{background:#22c55e1a}.doc-icon-danger{border-color:#ef44444d;color:#ef4444bf}.doc-icon-danger:hover{background:#ef44441a;color:#ef4444}.doc-rename-input{width:100%;border:1px solid var(--color-primary, #2563eb);border-radius:4px;padding:3px 7px;font-size:13px;background:var(--surface-input, #fff);color:var(--text-primary);outline:none}.doc-tag-select{font-size:11px;border:1px solid var(--border-default);border-radius:4px;padding:2px 4px;background:var(--surface-input, #fff);color:var(--text-primary)}.doc-row-editing td{background:#2563eb0a}.doc-tag-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:500;background:var(--muted-bg, #e5e7eb);color:var(--muted, #6b7280);white-space:nowrap}.doc-tag-drawing{background:#dbeafe;color:#1d4ed8}.doc-tag-contract{background:#dcfce7;color:#15803d}.doc-tag-boq{background:#fef9c3;color:#a16207}.doc-tag-act{background:#f3e8ff;color:#7e22ce}.doc-tag-report{background:#e0f2fe;color:#0369a1}.doc-tag-letter{background:#fce7f3;color:#9d174d}.doc-tag-permit{background:#fff7ed;color:#c2410c}.doc-tag-photo{background:#d1fae5;color:#065f46}.doc-tag-video{background:#ede9fe;color:#5b21b6}.doc-tag-other{background:var(--muted-bg, #e5e7eb);color:var(--muted, #6b7280)}@media (max-width: 768px){.doc-toolbar{flex-direction:column;align-items:stretch}.doc-toolbar-left,.doc-toolbar-right{flex-wrap:wrap}.doc-search{max-width:100%}.doc-register-table th:nth-child(3),.doc-register-table td:nth-child(3){display:none}}@media (max-width: 390px){.doc-register-table th:nth-child(4),.doc-register-table td:nth-child(4){display:none}.doc-title-cell{max-width:140px}.doc-gen-form .form-grid{grid-template-columns:1fr}}.project-header-identity{min-width:0}.project-header-name{margin:2px 0 4px;font-size:22px;font-weight:800;line-height:1.1;letter-spacing:-.3px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-header-client{font-size:13px;color:var(--text-secondary)}.project-header-actions{display:flex;flex-wrap:wrap;gap:6px;grid-column:1 / -1;padding-top:6px;border-top:1px solid var(--border-subtle)}.header-action-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.header-action-btn:hover{background:var(--surface-hover);border-color:var(--primary-active-border);color:var(--text-primary)}.deadline-cell.soon b{color:var(--color-warning)}.deadline-cell.overdue b{color:var(--color-expense)}.project-quick-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 4px}.field-capture-bar{position:sticky;top:6px;z-index:12;align-items:center;padding:7px;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.field-capture-label{color:var(--text-secondary);font-size:11px;font-weight:900;text-transform:uppercase}.quick-action-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;transition:background .14s,color .14s,border-color .14s}.quick-action-btn:hover{background:#ffffff12;border-color:#2dd4bf4d;color:#ccfbf1}.field-quick-form{padding:10px}.field-report-grid,.field-defect-grid{grid-template-columns:120px 110px 1fr;gap:8px}.weak-connection-note{margin-top:8px;padding:6px 8px;border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-md);background:#f59e0b12;color:var(--color-warning);font-size:12px}.quick-action-icon{font-style:normal;font-size:13px;line-height:1;opacity:.7}.report-row{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.report-row:last-child{border-bottom:none}.report-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.report-row-date{font-size:13px;color:var(--text-primary);white-space:nowrap}.report-row-context{display:flex;gap:4px;flex-wrap:wrap}.report-row-actions{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.report-row-summary{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.report-row-issues{margin:0;font-size:12px;color:#fca5a5;display:flex;align-items:baseline;gap:6px}.warn-pill{background:#fb923c26!important;color:#fdba74!important;border-color:#fb923c40!important}.defect-row-compact{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.defect-row-compact:last-child{border-bottom:none}.defect-row-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}.defect-row-title{font-size:13px;color:var(--text-primary);flex:1 1 160px;min-width:0}.defect-row-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.defect-priority-chip,.defect-status-chip,.defect-due-chip,.defect-location-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;font-size:11px;font-weight:700;border:1px solid transparent;white-space:nowrap}.defect-priority-chip.priority-urgent{background:#ef444426;color:#fca5a5;border-color:#ef444440}.defect-priority-chip.priority-high{background:#f9731626;color:#fdba74;border-color:#f9731640}.defect-priority-chip.priority-medium{background:#eab3081f;color:#fde047;border-color:#eab30833}.defect-priority-chip.priority-low{background:#64748b26;color:var(--text-secondary);border-color:#64748b33}.defect-status-chip.status-reported{background:#3b82f61f;color:#93c5fd;border-color:#3b82f633}.defect-status-chip.status-in_progress{background:#8b5cf61f;color:#c4b5fd;border-color:#8b5cf633}.defect-status-chip.status-fixed{background:#22c55e1f;color:#86efac;border-color:#22c55e33}.defect-status-chip.status-cancelled,.defect-due-chip{background:#64748b1f;color:var(--text-secondary);border-color:#64748b33}.defect-due-chip.overdue{background:#ef44441f;color:#fca5a5;border-color:#ef444433}.defect-location-chip{background:transparent;color:var(--text-muted);border-color:transparent;font-weight:500}.defect-row-desc{margin:0;font-size:12px;color:var(--text-muted);line-height:1.5}.defect-row-fixed{margin:0;font-size:12px;color:#86efac;display:flex;align-items:baseline;gap:6px}.defect-row-actions{display:flex;flex-wrap:wrap;gap:4px;padding-top:4px}.cost-control-strip{grid-template-columns:repeat(4,minmax(100px,1fr))}@media (max-width: 768px){.project-workspace-header{grid-template-columns:1fr}.project-header-actions{grid-column:auto}.project-quick-actions{gap:6px}.field-capture-bar{position:sticky;top:auto;bottom:8px;box-shadow:0 12px 38px #0206175c}.quick-action-btn{flex:1 1 calc(50% - 6px);justify-content:center;min-height:38px}.defect-row-head{flex-direction:column}}@media (max-width: 390px){.project-header-name{font-size:18px}.quick-action-btn{flex:1 1 100%;justify-content:center}.header-action-btn{font-size:11px;padding:4px 8px}.defect-row-chips{gap:3px}.defect-priority-chip,.defect-status-chip,.defect-due-chip{font-size:10px;padding:2px 5px}}.client-portal-shell{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr;background:var(--surface-base);color:var(--text-primary);font-family:var(--font-primary)}.client-shell-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;height:52px;background:#f8fafceb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default)}.client-shell-brand{display:flex;align-items:center;gap:12px}.client-shell-brand h2{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.client-shell-brand .brand-mark{background:var(--primary-gradient)}.client-shell-progress{display:flex;align-items:center;gap:10px;flex:1;max-width:280px}.client-shell-progress span{font-size:var(--text-sm);font-weight:700;color:var(--primary);white-space:nowrap;min-width:38px;text-align:right}.client-shell-progress .progress-track{flex:1;height:6px;background:var(--border-default);border-radius:var(--radius-full);overflow:hidden;margin:0}.client-shell-progress .progress-track div{height:100%;background:var(--primary-gradient);border-radius:inherit}.client-shell-logout{padding:6px 14px;border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:600;background:transparent;color:var(--text-secondary);border:1px solid var(--border-default)}.client-shell-nav{display:flex;gap:6px;padding:10px 24px;border-bottom:1px solid var(--border-default);background:var(--surface-base);overflow-x:auto}.client-shell-nav a,.client-shell-nav-item{padding:6px 14px;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;white-space:nowrap;border:1px solid transparent}.client-shell-nav a.active,.client-shell-nav a:hover{background:var(--primary-active-bg);border-color:var(--primary-active-border);color:var(--primary-text);font-weight:700}.client-shell-nav-item.disabled{opacity:.4;cursor:not-allowed}.client-shell-content{padding:20px 24px;display:grid;gap:14px;align-content:start}.client-session-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl)}.client-portal-shell .panel,.client-portal-shell .metric{background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-card)}.client-portal-shell .eyebrow{color:var(--text-secondary)}.client-portal-shell .muted{color:var(--text-muted)}.client-portal-shell label{color:var(--text-secondary)}.client-portal-shell .banner{background:var(--surface-card);border:1px dashed var(--border-default);color:var(--text-secondary)}.client-portal-shell .banner.error{background:var(--badge-danger-bg);border-color:var(--badge-danger-border);color:var(--badge-danger-text)}.client-portal-shell select,.client-portal-shell textarea,.client-portal-shell input{background:var(--surface-input);border-color:var(--border-default);color:var(--text-primary)}.client-portal-shell .btn-action{background:var(--primary-gradient)}.client-portal-shell .progress-track{background:var(--border-default)}.client-portal-shell .client-hero{background:linear-gradient(135deg,#1d4ed8,#0e7490);border-color:transparent;color:#fff}.client-portal-shell .client-hero span{color:#ffffffd1}.client-portal-shell .client-hero-status strong{color:#fff}.client-portal-shell .client-tabs{background:var(--surface-card);border-color:var(--border-default)}.client-portal-shell .client-tabs button{background:var(--surface-base);border-color:var(--border-default);color:var(--text-secondary)}.client-portal-shell .client-tabs button span{background:var(--primary-active-bg);color:var(--primary-text)}.client-portal-shell .client-status-strip{background:var(--surface-card);border-color:var(--border-default)}.client-portal-shell .client-status-strip small{color:var(--text-muted)}.client-portal-shell .client-status-strip b{color:var(--text-primary)}.client-portal-shell .operation-list-row{background:var(--surface-card);border-color:var(--border-default)}.client-portal-shell .operation-list-row span{color:var(--text-muted)}.client-portal-shell .operation-list-row p{color:var(--text-secondary)}.client-portal-shell .ticket-replies div{background:var(--surface-raised);border-left-color:var(--primary-active-border)}.compact-banner{padding:8px 12px;font-size:var(--text-sm);border-radius:var(--radius-lg)}.compact-empty{padding:12px;border-radius:var(--radius-lg)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-field{display:grid;gap:6px}.form-field-full{grid-column:1 / -1}.form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.btn-xs{padding:3px 8px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap}.btn-xs:hover{background:var(--primary-active-bg);border-color:var(--primary-active-border);color:var(--primary-text)}.btn-xs:disabled{opacity:.5;cursor:not-allowed}.compact-block-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.compact-block-title strong{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.compact-block-title span{font-size:var(--text-xs);color:var(--text-muted)}.milestone-list{display:grid;gap:6px}.milestone-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.milestone-row.ms-done{opacity:.7}.milestone-row.ms-delayed{border-color:var(--badge-danger-border)}.ms-left{display:flex;align-items:center;gap:10px;min-width:0}.ms-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.ms-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--border-strong)}.ms-dot.completed{background:var(--color-income)}.ms-dot.delayed{background:var(--color-expense)}.ms-dot.planned{background:var(--text-muted)}.ms-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-date{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.mini-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.mini-badge.info{background:var(--badge-info-bg);color:var(--badge-info-text)}.mini-badge.danger{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.mini-badge.warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.mini-badge.subtle{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.client-milestones-section{padding:14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card)}.checkbox-line{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.mobile-bar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.mobile-bar button{background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);padding:6px 10px;font-size:18px}.shell-top-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 4px;min-height:58px}.shell-top-header h1{margin:0;font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.shell-role-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);background:var(--primary-active-bg);border:1px solid var(--primary-active-border);font-size:var(--text-xs);font-weight:700;color:var(--primary-text)}.grouped-nav{display:flex;flex-direction:column;gap:4px}.nav-group{display:grid;gap:2px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:none;background:transparent;color:var(--text-muted);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-align:left;border-radius:var(--radius-md)}.nav-group-toggle:hover{background:var(--surface-hover)}.nav-group-toggle small{color:var(--text-disabled);font-size:14px;font-weight:400;text-transform:none;letter-spacing:0}.nav-group.active .nav-group-toggle{color:var(--primary-text)}.nav-group-items{display:grid;gap:2px;padding-left:6px}.nav-group-items a,.nav-group-items .nav-disabled{display:block;padding:7px 10px;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;border:1px solid transparent}.nav-group-items a.active,.nav-group-items a:hover{background:var(--primary-active-bg);border-color:var(--primary-active-border);color:var(--primary-text);font-weight:700}.nav-disabled{opacity:.4;cursor:not-allowed;font-size:var(--text-sm);color:var(--text-muted)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080}@media (max-width: 768px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset-block:0;left:0;z-index:50;width:260px;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block}.mobile-bar{display:flex}}:root{--o11-surface-panel: rgba(31, 41, 55, .46);--o11-surface-flat: rgba(17, 24, 39, .36);--o11-row-border: rgba(148, 163, 184, .11)}.content{gap:10px;padding:18px}.panel,.ui-card,.metric,.ui-metric-card{border-color:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:none}.panel,.ui-card{background:var(--o11-surface-panel)}.panel,.ui-panel{padding:14px}.panel-heading,.ui-section-header,.ui-page-header{padding-bottom:9px;border-bottom-color:var(--border-subtle)}.panel-heading h2,.ui-section-header h2{font-size:var(--text-md);font-weight:700}.topbar{min-height:0;padding-bottom:8px}.topbar h1,.ui-page-header h1,.dash-header-left h1{font-size:20px;font-weight:750}.muted,.topbar .muted,.ui-page-header .muted,.ui-section-header .muted{color:var(--text-muted)}label,.eyebrow{color:var(--text-muted);font-size:10px;font-weight:750;letter-spacing:.04em}input,select,textarea,.ui-input,.ui-select,.ui-textarea{min-height:30px;border-color:var(--border-default);border-radius:var(--radius-md);padding:6px 9px;font-size:var(--text-sm);background:#111827c7}.ui-input,.ui-select{height:32px}textarea,.ui-textarea{min-height:64px}.form-grid,.form-row{gap:9px 10px;margin-top:10px}.form-field,.ui-field{gap:3px}.form-actions{gap:8px;margin-top:12px}.btn-action,.ui-button-primary,.ui-button-secondary,.ui-button-ghost,.ui-button-danger{border-radius:var(--radius-md);padding:7px 12px;box-shadow:none}.btn-sm{border-radius:var(--radius-md);padding:4px 8px;font-size:var(--text-xs)}.pill,.status,.ui-status-badge{padding:2px 7px;font-size:10px;font-weight:700}.table-wrap{margin-top:8px}table{border-collapse:collapse}th,.op-table thead th{padding:4px 7px 5px;border-bottom-color:var(--o11-row-border);font-size:10px;font-weight:700;letter-spacing:.045em;background:transparent}td,.op-table td{padding:6px 7px;border-top-color:var(--o11-row-border);font-size:var(--text-sm)}.right{min-width:112px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--o11-surface-panel)}.settings-card{gap:5px;border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-radius:0;padding:11px 12px;background:transparent;box-shadow:none}.settings-card span{color:var(--text-muted);font-size:var(--text-xs);line-height:1.35}.settings-checklist{gap:0;border-top:1px solid var(--border-subtle)}.settings-checklist span,.system-status-grid span,.export-card{border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;padding:8px 0;background:transparent}.system-status-grid{gap:0 16px}.operational-dashboard{gap:12px}.dash-header{align-items:center;padding-bottom:10px}.dashboard-section{gap:8px;padding:4px 0 10px;border-bottom:1px solid var(--border-subtle)}.dashboard-section:last-child{border-bottom:0}.dashboard-section .ui-section-header{padding-bottom:6px;border-bottom:0}.dashboard-metric-grid,.dashboard-summary-strip,.dashboard-metric-grid.compact{gap:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--o11-surface-panel)}.dashboard-metric-grid .metric,.dashboard-summary-strip .metric,.dashboard-metric-grid .ui-metric-card{border:0;border-right:1px solid var(--border-subtle);border-radius:0;padding:9px 10px;background:transparent}.metric,.ui-metric-card{gap:2px;padding:9px 10px}.metric span,.ui-metric-card span,.ui-metric-card small{color:var(--text-muted);font-size:10px}.metric strong,.ui-metric-card strong{font-size:15px}.dash-quick-actions{padding:8px 0 0}.dashboard-alert-list,.project-health-list,.dashboard-action-grid{gap:6px}.dashboard-alert,.project-health-card,.dashboard-action-card{border-color:var(--border-subtle);border-radius:var(--radius-md);padding:8px 10px;background:var(--o11-surface-flat)}.dashboard-action-card{min-height:82px}.finance-balance-panel,.finance-filter-panel,.invoice-filter-panel,.quick-add-panel,.finance-ledger-panel{margin-bottom:8px}.account-balance-grid,.finance-header-metrics{gap:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--o11-surface-panel)}.account-balance-card{min-height:58px;border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-radius:0;padding:8px 10px;background:transparent}.finance-filter-panel,.invoice-filter-panel{padding:9px 10px;border-color:var(--border-subtle);background:var(--o11-surface-panel)}.finance-filter-grid,.invoice-filter-grid,.invoice-filter-grid.with-project{gap:7px;margin-top:8px}.finance-filter-totals{gap:10px;margin-top:7px;color:var(--text-muted);font-size:11px}.month-ledger{gap:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--o11-surface-panel)}.month-group{border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;background:transparent}.month-summary{gap:7px;padding:7px 10px;background:transparent}.month-closing{padding:0;border:0;background:transparent}.finance-transaction-list{gap:0;margin-top:0;padding:0 10px 6px}.transaction-row{border:0;border-top:1px solid var(--o11-row-border);border-radius:0;background:transparent}.transaction-row .tx-row-top{grid-template-columns:minmax(78px,.5fr) minmax(80px,.5fr) minmax(128px,.9fr) minmax(60px,1.5fr) minmax(88px,.6fr) minmax(136px,.9fr) minmax(0,2fr) minmax(92px,.8fr) minmax(60px,auto);gap:3px 6px;padding:4px 0}.tx-drawer,.invoice-drawer,.inline-editor{gap:10px;padding:12px;border-color:var(--border-subtle);background:var(--o11-surface-panel)}.tx-type-selector{gap:6px}.tx-type-selector button{min-height:50px;border-color:var(--border-subtle);border-radius:var(--radius-md);padding:8px;background:var(--o11-surface-flat)}.tx-summary-panel,.tx-allocation-panel,.tx-advanced,.invoice-step,.invoice-summary-panel,.invoice-adjustments-accordion,.invoice-number-settings,.payment-drawer .invoice-payment-overview{gap:7px;border-color:var(--border-subtle);border-radius:var(--radius-md);padding:9px;background:#11182757}.invoice-step h3{color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.invoice-line-list{gap:0;border-top:1px solid var(--border-subtle)}.invoice-line-row{gap:5px;padding:5px 0;border-bottom:1px solid var(--border-subtle)}.invoice-line-row input{min-height:28px}.invoice-total-box,.invoice-payments-box,.invoice-tax-row,.invoice-payment-timeline,.invoice-detail-grid,.invoice-mini-table{border-color:var(--border-subtle);border-radius:var(--radius-md);background:#11182752}.invoice-ledger-table{margin-top:4px}.invoice-ledger-table th{padding:4px 7px;border-bottom-color:var(--o11-row-border)}.invoice-ledger-row td{padding:4px 7px;border-bottom-color:var(--o11-row-border);color:var(--text-secondary)}.invoice-ledger-row td:first-child strong,.invoice-ledger-row td:nth-child(3),.invoice-ledger-row td:nth-child(5){color:var(--text-primary);font-weight:750}.invoice-ledger-row td:nth-child(2),.invoice-ledger-row td:nth-child(7){color:var(--text-muted)}.invoice-ledger-detail td{padding:0 7px 8px;border-bottom-color:var(--o11-row-border);background:#11182747}.invoice-ledger-expand{gap:6px;padding:7px 0}.invoice-detail-grid{gap:6px;padding:8px}.boq-tree-scroll,.boq-sticky-total-bar,.boq-total-bar,.boq-execution-strip,.boq-execution-grid span{border-color:var(--border-subtle);box-shadow:none}.boq-tree-head th,.boq-section-row td,.boq-item-row td,.boq-subsec-row td,.boq-subtotal-row td,.estimate-boq-table td,.estimate-revisions-table td,.estimate-budget-table td,.boq-edit-table td,.estimate-boq-table th,.estimate-revisions-table th,.estimate-budget-table th,.boq-edit-table th{padding-top:4px;padding-bottom:4px;border-color:var(--o11-row-border)}.boq-section-row,.boq-subsec-row,.boq-subtotal-row td,.boq-execution-strip span,.boq-execution-grid span{background:#11182747}:root{--o12-level-0: #111827;--o12-level-1: rgba(31, 41, 55, .36);--o12-level-2: rgba(17, 24, 39, .54);--o12-level-3: rgba(31, 41, 55, .88);--o12-divider: rgba(148, 163, 184, .1);--o12-divider-strong: rgba(148, 163, 184, .16);--o12-hover: rgba(37, 99, 235, .075);--o12-active: rgba(37, 99, 235, .14);--o12-control: rgba(17, 24, 39, .82);--o12-control-hover: rgba(30, 41, 59, .68);--o12-section-gap: 12px;--o12-work-gap: 8px;--o12-table-y: 5px;--o12-form-y: 6px}[data-theme=light]{--o12-level-0: #f8fafc;--o12-level-1: #ffffff;--o12-level-2: #f8fafc;--o12-level-3: #ffffff;--o12-divider: #e5e7eb;--o12-divider-strong: #dbe3ec;--o12-hover: #f1f5f9;--o12-active: #eff6ff;--o12-control: #ffffff;--o12-control-hover: #f8fafc}body,.app-shell,.content{background:var(--o12-level-0)}.content,.project-workspace,.project-stack,.operational-dashboard{gap:var(--o12-section-gap)}.panel,.ui-panel,.ui-card,.form-panel,.chart-panel,.action-panel,.project-list-panel,.project-list-filters,.finance-ledger-panel,.finance-balance-panel,.finance-filter-panel,.invoice-filter-panel,.quick-add-panel{border-color:var(--o12-divider);background:var(--o12-level-1);box-shadow:none}.tx-drawer,.invoice-drawer,.inline-editor,.command-bar,.command-results,.modal,.site-drawer,.boq-import-modal{border-color:var(--o12-divider-strong);background:var(--o12-level-3);box-shadow:var(--shadow-elevated)}.project-hero-main,.project-hero-side,.timeline-card,.report-cell,.operation-card,.operation-list-row,.project-card,.project-compact-card,.project-health-card,.dashboard-alert,.dashboard-action-card,.action-link,.mini-row,.media-tile,.gantt-row,.planning-phase-row,.boq-execution-grid span,.boq-critical-list button,.invoice-total-box,.invoice-payments-box,.invoice-tax-row,.invoice-payment-timeline,.invoice-detail-grid,.invoice-mini-table,.tx-summary-panel,.tx-allocation-panel,.tx-advanced,.invoice-step,.invoice-summary-panel,.invoice-adjustments-accordion,.invoice-number-settings{border-color:var(--o12-divider);background:var(--o12-level-2);box-shadow:none}.panel,.ui-card,.metric,.ui-metric-card,.project-card,.project-health-card,.project-compact-card,.operation-card,.operation-list-row,.dashboard-alert,.dashboard-action-card,.settings-grid,.month-ledger,.account-balance-grid,.finance-header-metrics{border-radius:var(--radius-lg)}.project-card,.dashboard-action-card,.operation-card{min-height:unset}.panel-heading,.ui-section-header,.ui-page-header,.dash-header,.topbar,.boq-toolbar,.site-drawer-header,.invoice-drawer-header,.tx-drawer-header{gap:12px}.topbar,.ui-page-header,.dash-header,.panel-heading,.ui-section-header{padding-bottom:8px}h1,h2,h3,.project-card-head strong,.project-health-head strong,.project-compact-card-head strong,.table-link,.op-table-link,.invoice-ledger-row td:first-child strong,.month-title,.ms-name{color:var(--text-primary)}.topbar h1,.ui-page-header h1,.dash-header-left h1,.shell-top-header h1{font-size:20px;line-height:1.12;letter-spacing:0}.panel-heading h2,.ui-section-header h2,.action-panel h2,.chart-panel h2,.invoice-drawer-header h2,.tx-drawer-header h2{font-size:15px;line-height:1.2;letter-spacing:0}.panel-heading h3,.invoice-step h3,.invoice-items-editor h3,.compact-heading h3,.tx-allocation-panel h3{color:var(--text-secondary);font-size:12px;font-weight:750;letter-spacing:.02em}.muted,small,.ui-field-hint,.cell-muted,.op-table .cell-muted,.project-compact-client,.project-health-foot,.transaction-date,.tx-description,.invoice-summary-panel span,.invoice-summary-panel small,.invoice-number-settings p,.dashboard-data-note span,.settings-card span,.operation-list-row span,.report-cell span,.operation-card p{color:var(--text-muted)}.metric span,.ui-metric-card span,.month-title small,.month-flow small,.month-closing small,.system-status-grid small,.boq-execution-strip small,.boq-sticky-total-bar small,.finance-filter-totals,.compact-section-title,.quick-add-label,label,.eyebrow{color:var(--text-muted);font-size:10px;font-weight:750;letter-spacing:.05em}.metric strong,.ui-metric-card strong,.fin-amount,.fin-balance,.money-cell,.amount-cell,.right,.month-flow b,.month-closing b,.account-balance-card b,.invoice-total-box strong,.invoice-line-row strong,.boq-td-total,.boq-sticky-total-bar b,.boq-section-total-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.metric strong,.ui-metric-card strong{font-size:15px;font-weight:750}.fin-balance{font-size:24px}.money-good,.money-bad,.money-transfer{font-weight:700}.table-wrap,.op-table-wrap,.boq-tree-scroll{border-radius:var(--radius-md)}table,.op-table,.invoice-ledger-table,.boq-tree-table,.boq-edit-table,.estimate-boq-table,.estimate-revisions-table,.estimate-budget-table{border-collapse:collapse}th,.op-table thead th,.invoice-ledger-table th,.boq-tree-head th,.boq-edit-table th,.estimate-boq-table th,.estimate-revisions-table th,.estimate-budget-table th{padding:4px 8px;border-bottom:1px solid var(--o12-divider-strong);background:transparent;color:var(--text-muted);font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}td,.op-table td,.invoice-ledger-row td,.boq-item-row td,.boq-section-row td,.boq-subsec-row td,.boq-subtotal-row td,.boq-edit-table td,.estimate-boq-table td,.estimate-revisions-table td,.estimate-budget-table td{padding-top:var(--o12-table-y);padding-bottom:var(--o12-table-y);border-color:var(--o12-divider);color:var(--text-secondary);font-size:12px}tbody tr:hover td,.table-wrap tbody tr:hover td,.op-table tbody tr:hover,.invoice-ledger-row:hover td,.boq-item-row:hover,.project-operational-table tbody tr:hover td{background:var(--o12-hover)}.invoice-ledger-row td:first-child,.invoice-ledger-row td:nth-child(3),.invoice-ledger-row td:nth-child(5),.project-operational-table td:first-child,.boq-td-desc,.boq-td-total,.boq-section-total-cell{color:var(--text-primary)}.invoice-ledger-detail td,.boq-section-subtotal-row td,.boq-subtotal-row td,.boq-tree-foot td{background:#1118273d}input,select,textarea,.ui-input,.ui-select,.ui-textarea,.boq-input,.boq-select,.boq-sheet-input,.boq-sheet-status,.kps-search-input,.kps-filter-select{border-color:var(--o12-divider-strong);border-radius:var(--radius-md);background:var(--o12-control);color:var(--text-primary);font-size:12px}input,select,.ui-input,.ui-select,.kps-search-input,.kps-filter-select{min-height:30px;height:30px;padding-top:0;padding-bottom:0}textarea,.ui-textarea{padding-top:var(--o12-form-y);padding-bottom:var(--o12-form-y)}input:hover,select:hover,textarea:hover,.ui-input:hover,.ui-select:hover,.ui-textarea:hover,.boq-input:hover,.boq-select:hover,.boq-sheet-input:hover,.boq-sheet-status:hover{background:var(--o12-control-hover)}input:focus,select:focus,textarea:focus,.ui-input:focus,.ui-select:focus,.ui-textarea:focus,.boq-input:focus,.boq-select:focus,.boq-sheet-input:focus,.boq-sheet-status:focus{border-color:var(--primary-active-border);box-shadow:0 0 0 2px #2563eb1f}.form-grid,.form-row,.tx-form-grid,.invoice-filter-grid,.finance-filter-grid,.project-list-filters{gap:8px 12px}.form-section,.invoice-step,.tx-advanced,.tx-allocation-panel,.invoice-adjustments-accordion{gap:8px;padding:10px}.form-field,.ui-field{gap:4px}.form-field small,.ui-field-hint{font-size:11px}.topbar-actions,.ui-section-actions,.row-actions,.tx-drawer-actions,.invoice-drawer-actions,.invoice-action-menu div,.ticket-actions,.kps-toolbar,.kps-toolbar-left,.kps-toolbar-right,.command-status,.inline-filter,.boq-toolbar,.boq-row-actions{gap:8px}.btn-sm,.btn-xs,.ui-button,.ui-button-primary,.ui-button-secondary,.ui-button-ghost,.ui-button-danger,.btn-action,.filter-chip,.kps-segment-btn,.segmented-control button,.segmented-toggle button,nav a,nav button,.nav-group-items a,.nav-group-items .nav-disabled{border-radius:var(--radius-md);font-size:12px}.ui-button-primary,.ui-button-secondary,.ui-button-ghost,.ui-button-danger,.btn-action{min-height:30px;padding:6px 12px}.btn-sm{min-height:26px}.pill,.status,.ui-status-badge,.mini-badge,.risk-pill,.invoice-state-pill,.tab-count,.boq-pct-chip,.boq-cat-chip{border-radius:var(--radius-md);font-size:10px;line-height:1.3}.pill.subtle,.filter-chip,.command-status span{border-color:var(--o12-divider);background:#94a3b814;color:var(--text-secondary)}.filter-chip.active,.filter-chip:hover,nav a.active,nav a:hover,nav button.active,nav button:hover,.nav-group-items a.active,.nav-group-items a:hover,.workspace-tabs button.active,.workspace-tabs button:hover,.client-tabs button.active,.client-tabs button:hover,.account-balance-card.active,.account-balance-card:hover,.project-card:hover,.project-health-card:hover,.project-compact-card:hover,.settings-card:hover,.action-link:hover,.mini-row:hover{border-color:var(--primary-active-border);background:var(--o12-active);color:var(--primary-text)}.operational-dashboard{padding:0}.dashboard-section{padding:8px 0 12px;border-bottom-color:var(--o12-divider)}.dashboard-section .ui-section-header{padding-bottom:4px}.dashboard-metric-grid,.dashboard-summary-strip,.dashboard-metric-grid.compact,.project-health-list,.dashboard-action-grid,.dashboard-alert-list{gap:0;overflow:hidden;border:1px solid var(--o12-divider);border-radius:var(--radius-lg);background:var(--o12-level-1)}.dashboard-alert-list,.project-health-list,.dashboard-action-grid{display:grid}.dashboard-alert,.project-health-card,.dashboard-action-card{border:0;border-right:1px solid var(--o12-divider);border-bottom:1px solid var(--o12-divider);border-radius:0;background:transparent}.dashboard-alert{padding:8px 10px}.project-health-card{padding:9px 10px}.dashboard-action-card{padding:9px}.dash-quick-actions{border-top-color:var(--o12-divider)}.settings-grid,.account-balance-grid,.finance-header-metrics,.month-ledger,.boq-execution-strip,.boq-sticky-total-bar{border-color:var(--o12-divider);background:var(--o12-level-1)}.settings-card,.account-balance-card,.boq-execution-strip span,.boq-sticky-total-bar span,.finance-transaction-list,.invoice-line-list,.settings-checklist,.transaction-row,.invoice-line-row,.invoice-payment-step,.client-generated-updates span,.settings-checklist span,.system-status-grid span{border-color:var(--o12-divider)}.transaction-row-main strong,.transaction-row-detail span:first-child,.invoice-ledger-row td:first-child strong,.table-link,.project-card-head strong,.project-compact-card-head strong,.project-health-head strong{font-weight:750}.transaction-row-detail,.project-card-foot,.project-health-foot,.project-compact-foot,.invoice-detail-grid b,.invoice-status-card span:not(.ui-status-badge),.tx-summary-panel span,.tx-summary-panel small,.tx-allocation-row span{color:var(--text-muted);font-size:11px}.invoice-status-card,.invoice-payment-overview,.invoice-number-grid,.system-status-grid,.export-grid,.report-grid,.operation-grid,.team-dashboard-grid{gap:8px}.invoice-payment-step{padding:5px 0;border-top:1px solid var(--o12-divider)}.invoice-payment-step:first-child{border-top:0}.project-board,.project-compact-board,.workspace-grid,.overview-grid,.cards,.client-overview-grid,.client-focus-grid,.operation-list,.mini-list,.action-list,.media-strip{gap:8px}.client-portal-shell{--o12-level-0: #f8fafc;--o12-level-1: #ffffff;--o12-level-2: #f8fafc;--o12-level-3: #ffffff;--o12-divider: #e5e7eb;--o12-divider-strong: #dbe3ec;--o12-hover: #f1f5f9;--o12-active: #eff6ff;--o12-control: #ffffff;--o12-control-hover: #f8fafc}.client-portal-shell .panel,.client-portal-shell .ui-card,.client-portal-shell .project-card,.client-portal-shell .operation-card,.client-portal-shell .operation-list-row,.client-portal-shell .client-tabs,.client-portal-shell .client-status-strip,.client-portal-shell .client-milestones-section{border-color:var(--o12-divider);background:var(--o12-level-1);box-shadow:none}.client-portal-shell .client-tabs button,.client-portal-shell .client-status-strip span,.client-portal-shell .report-cell,.client-portal-shell .operation-card,.client-portal-shell .operation-list-row{border-color:var(--o12-divider);background:var(--o12-level-2)}@media (max-width: 768px){.content{gap:8px;padding:12px}.panel,.ui-panel{padding:12px}.dashboard-section{padding-block:6px 10px}}.invoice-ledger-row,.transaction-row,.project-operational-table tbody tr,.boq-item-row,.boq-section-row,.project-card,.project-compact-card,.project-health-card,.settings-card,.account-balance-card{cursor:pointer}.invoice-ledger-row:focus-visible td,.transaction-row:focus-visible,.project-card:focus-visible,.project-compact-card:focus-visible,.project-health-card:focus-visible,.settings-card:focus-visible,.account-balance-card:focus-visible{outline:2px solid var(--primary-active-border);outline-offset:-2px;background:var(--o12-active)}.invoice-ledger-row.is-expanded td,.transaction-row:focus-visible,.month-group:focus-within .month-summary{background:#2563eb1a}.invoice-ledger-table td:first-child,.project-operational-table td:first-child,.boq-td-desc,.transaction-row-detail span:first-child{color:var(--text-primary)}.invoice-ledger-table .row-actions,.transaction-row .row-actions,.boq-row-actions,.project-card-foot,.project-health-foot{align-items:center}.invoice-ledger-table .row-actions,.transaction-row .row-actions{opacity:.82}.invoice-ledger-row:hover .row-actions,.invoice-ledger-row:focus-within .row-actions,.transaction-row:hover .row-actions,.transaction-row:focus-within .row-actions{opacity:1}.tx-drawer-actions,.invoice-drawer-actions,.payment-drawer .form-actions{position:sticky;bottom:0;z-index:3;padding-top:8px;border-top:1px solid var(--o12-divider);background:linear-gradient(180deg,rgba(31,41,55,0),var(--o12-level-3) 28%)}.tx-drawer-header .muted,.invoice-drawer-header .muted{display:block;max-width:680px}.invoice-line-row:focus-within,.tx-allocation-panel:focus-within,.invoice-step:focus-within,.invoice-adjustments-accordion:focus-within{background:#2563eb0e}.invoice-line-row input,.boq-sheet-input,.boq-sheet-status,.boq-link-select,.boq-link-date{height:28px}.invoice-line-row strong,.invoice-ledger-row .right,.transaction-row-main strong,.month-flow,.month-closing,.boq-td-num,.boq-td-total{font-variant-numeric:tabular-nums}.command-filter-row,.finance-filter-totals,.boq-toolbar,.kps-filter-bar{align-items:center}.command-filter-row button,.filter-chip,.btn-sm,.btn-xs{min-height:26px}.delete-confirm,.transaction-row.confirm-delete{border-color:#f8717147;background:#7f1d1d29}.client-portal-shell .tx-drawer-actions,.client-portal-shell .invoice-drawer-actions,.client-portal-shell .payment-drawer .form-actions{background:linear-gradient(180deg,rgba(255,255,255,0),var(--o12-level-3) 28%)}:root{--o14-danger-bg: rgba(248, 113, 113, .105);--o14-danger-line: rgba(248, 113, 113, .46);--o14-warning-bg: rgba(245, 158, 11, .095);--o14-warning-line: rgba(245, 158, 11, .42);--o14-attention-bg: rgba(96, 165, 250, .085);--o14-attention-line: rgba(96, 165, 250, .34);--o14-stable-bg: rgba(52, 211, 153, .055);--o14-stable-line: rgba(52, 211, 153, .26);--o14-quiet-bg: rgba(148, 163, 184, .055);--o14-ledger-band: rgba(148, 163, 184, .025)}[data-theme=light]{--o14-danger-bg: #fff1f2;--o14-danger-line: #fca5a5;--o14-warning-bg: #fffbeb;--o14-warning-line: #fcd34d;--o14-attention-bg: #eff6ff;--o14-attention-line: #93c5fd;--o14-stable-bg: #f0fdf4;--o14-stable-line: #a7f3d0;--o14-quiet-bg: #f8fafc;--o14-ledger-band: #f8fafc}.money-bad,.invoice-ledger-row.state-overdue td:nth-child(5),.month-closing.negative b,.boq-critical-list b,.ms-delayed .ms-name,.milestone-row.ms-delayed .ms-date{color:#fca5a5;font-weight:800}.money-good,.invoice-ledger-row.state-paid td:nth-child(4),.invoice-ledger-row.state-paid td:nth-child(5),.boq-effective-value,.ms-dot.completed+.ms-name{color:#86efac}.money-transfer,.boq-section-total-cell,.boq-subsec-total{color:#93c5fd}.invoice-ledger-row td,.transaction-row,.boq-item-row td,.project-operational-table td{background-clip:padding-box}.invoice-ledger-row:nth-child(4n+1) td,.transaction-row:nth-child(odd),.boq-item-row:nth-child(odd) td,.project-operational-table tbody tr:nth-child(odd) td{background-color:var(--o14-ledger-band)}.invoice-ledger-row.state-overdue td{box-shadow:inset 3px 0 0 var(--o14-danger-line);background-color:var(--o14-danger-bg)}.invoice-ledger-row.state-partial td,.invoice-ledger-row.state-unpaid td{box-shadow:inset 3px 0 0 var(--o14-warning-line)}.invoice-ledger-row.state-draft td{color:var(--text-muted);box-shadow:inset 3px 0 #94a3b838}.invoice-ledger-row.state-paid td{box-shadow:inset 3px 0 0 var(--o14-stable-line)}.invoice-ledger-row.state-overdue td:nth-child(7),.invoice-ledger-row.state-overdue td:nth-child(6){color:#fecaca}.invoice-ledger-row.state-partial td:nth-child(5),.invoice-ledger-row.state-unpaid td:nth-child(5){color:#fcd34d;font-weight:800}.invoice-ledger-row.state-paid td:nth-child(5){opacity:.82}.invoice-payment-overview,.invoice-status-card,.tx-allocation-row,.account-balance-grid,.finance-header-metrics,.month-summary{font-variant-numeric:tabular-nums}.invoice-payment-overview span,.invoice-status-card span:not(.ui-status-badge),.tx-allocation-row span,.account-balance-card,.boq-execution-strip span,.boq-sticky-total-bar span{border-left:1px solid var(--o12-divider)}.invoice-payment-overview span:first-child,.invoice-status-card span:first-child,.tx-allocation-row span:first-child,.boq-execution-strip span:first-child,.boq-sticky-total-bar span:first-child{border-left:0}.month-summary{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(132px,156px)) minmax(150px,172px)}.month-flow b,.month-closing b,.account-balance-card b,.finance-header-metrics .metric strong,.invoice-payment-overview b,.tx-allocation-row b{font-size:13px;font-weight:800}.transaction-row.expense{box-shadow:inset 3px 0 #f8717147}.transaction-row.income{box-shadow:inset 3px 0 #34d3993d}.transaction-row.transfer{box-shadow:inset 3px 0 #60a5fa3d}.ui-status-badge{border-width:1px;background:#94a3b814;color:var(--text-secondary)}.ui-status-neutral{border-color:#94a3b829;background:#94a3b812;color:var(--text-muted)}.ui-status-info{border-color:#60a5fa3d;background:#60a5fa17;color:#93c5fd}.ui-status-success{border-color:#34d39938;background:#34d39914;color:#86efac}.ui-status-warning{border-color:var(--o14-warning-line);background:var(--o14-warning-bg);color:#fcd34d;font-weight:750}.ui-status-danger{border-color:var(--o14-danger-line);background:var(--o14-danger-bg);color:#fecaca;font-weight:800}.project-card.delayed,.project-compact-card.delayed,.project-health-card.delayed,.project-health-item.danger,.operational-health-item.danger,.boq-row-delayed td,.boq-critical-list button{box-shadow:inset 3px 0 0 var(--o14-danger-line);background:var(--o14-danger-bg)}.project-health-item.warning,.operational-health-item.warning,.risk-pill,.boq-row-completed td,.boq-row-omitted td{box-shadow:inset 3px 0 0 var(--o14-warning-line)}.project-card-head,.project-health-head,.project-compact-card-head{align-items:center}.project-card-foot,.project-health-foot,.project-compact-foot,.project-health-grid{border-top:1px solid var(--o12-divider);padding-top:6px}.project-health-grid span{gap:0}.project-health-grid b,.project-money-cell b,.project-compact-row strong{font-weight:800}.boq-section-row td{border-top:1px solid var(--o12-divider-strong);border-bottom:1px solid var(--o12-divider);background:#1e293b85}.boq-section-label strong,.boq-section-total-cell{font-size:13px;font-weight:850}.boq-subsec-row td{background:#1118276b;color:var(--text-secondary)}.boq-subsec-name,.boq-subsec-label{color:#cbd5e1}.boq-item-row td{color:var(--text-secondary)}.boq-td-code,.boq-td-unit,.boq-section-count,.boq-section-num{color:var(--text-muted)!important}.boq-section-subtotal-row td,.boq-subtotal-row td{background:#60a5fa11;color:#bfdbfe}.boq-grand-total-row td,.boq-effective-total-row td,.boq-tree-foot td{border-top:1px solid var(--o12-divider-strong);background:#1f2937b8;color:var(--text-primary);font-weight:850}.boq-progress-track,.progress-track,.timeline-axis{background:#3341559e}.boq-progress-cell.is-delayed .boq-progress-track,.boq-progress-cell.is-warning .boq-progress-track{outline:1px solid rgba(245,158,11,.18)}.timeline-day{border-left:1px solid var(--o12-divider)}.timeline-day-label strong,.cockpit-milestone-row b,.ms-name{color:var(--text-primary);font-weight:800}.timeline-event,.cockpit-milestone-row,.milestone-row,.planning-phase-row{border-color:var(--o12-divider)}.milestone-row.ms-delayed,.cockpit-milestone-row.delayed,.timeline-event.delayed{border-color:var(--o14-danger-line);box-shadow:inset 3px 0 0 var(--o14-danger-line);background:var(--o14-danger-bg)}.milestone-row.ms-done,.cockpit-milestone-row.completed{opacity:.66}.ms-dot.delayed{background:#f87171;box-shadow:0 0 0 3px #f8717124}.ms-dot.planned{background:#94a3b8}.dashboard-alert.critical,.dashboard-alert.warning,.dashboard-alert.info{background:transparent}.dashboard-alert.critical{box-shadow:inset 3px 0 0 var(--o14-danger-line)}.dashboard-alert.warning{box-shadow:inset 3px 0 0 var(--o14-warning-line)}.dashboard-alert.info{box-shadow:inset 3px 0 0 var(--o14-attention-line)}.client-portal-shell{--o14-danger-bg: #fef2f2;--o14-danger-line: #fca5a5;--o14-warning-bg: #fffbeb;--o14-warning-line: #fcd34d;--o14-attention-bg: #eff6ff;--o14-attention-line: #93c5fd;--o14-stable-bg: #ecfdf5;--o14-stable-line: #a7f3d0;--o14-ledger-band: #f8fafc}.client-portal-shell .money-bad,.client-portal-shell .invoice-ledger-row.state-overdue td:nth-child(5),.client-portal-shell .milestone-row.ms-delayed .ms-name{color:#b91c1c}.client-portal-shell .money-good,.client-portal-shell .ui-status-success{color:#047857}[data-theme=light] .login-page{background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.08),transparent 40%),linear-gradient(145deg,#f1f5f9,#e2e8f0 50%,#f1f5f9)}[data-theme=light] .login-panel{background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 32px #0f172a1a;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=light] .login-panel input{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}[data-theme=light] .sidebar{border-right-color:var(--border-default)}[data-theme=light] .session-card{background:var(--surface-raised);border:1px solid var(--border-default)}[data-theme=light] .sidebar-meta span{border-color:var(--border-default);color:var(--text-secondary)}[data-theme=light] .ghost{background:var(--surface-hover);color:var(--text-secondary);box-shadow:none}[data-theme=light] .sidebar-logout{background:var(--surface-raised);color:var(--text-secondary);border-color:var(--border-default)}[data-theme=light] .sidebar-logout:hover{background:var(--surface-hover);color:var(--text-primary)}[data-theme=light] .command-search input{background:var(--surface-input);border-color:var(--border-strong);color:var(--text-primary)}[data-theme=light] .command-results a:hover{background:var(--primary-active-bg);color:var(--primary-text)}[data-theme=light] .pill,[data-theme=light] .status{background:#2563eb1a;color:#1e40af}[data-theme=light] .pill.subtle{background:#94a3b826;color:var(--text-secondary)}[data-theme=light] .client-hero{background:linear-gradient(135deg,#eff6ff,#f0f9ff),radial-gradient(circle at 88% 14%,rgba(14,165,233,.1),transparent 40%);border-color:var(--border-default);color:var(--text-primary)}[data-theme=light] .client-hero span{color:var(--text-secondary)}[data-theme=light] .client-hero-status strong{color:var(--text-primary)}[data-theme=light] .gantt-track{background:#e2e8f0}[data-theme=light] .gantt-bar span{background:#ffffffa6}[data-theme=light] .dashboard-alert.critical{border-color:#fca5a5;background:#fef2f2;color:#991b1b}[data-theme=light] .dashboard-alert.warning{border-color:#fde68a;background:#fef3c7;color:#92400e}[data-theme=light] .dashboard-alert.info{border-color:#93c5fd;background:#eff6ff;color:#1e40af}[data-theme=light] .tx-type-selector button.active.expense{border-color:#fca5a5;background:#fef2f2;color:#991b1b}[data-theme=light] .tx-type-selector button.active.income{border-color:#a7f3d0;background:#f0fdf4;color:#065f46}[data-theme=light] .tx-row.is-expanded td{background:#eff6ff}[data-theme=light] .tx-row.is-deleting td,[data-theme=light] .delete-confirm,[data-theme=light] .transaction-row.confirm-delete{border-color:#fca5a5;background:#fef2f2}[data-theme=light] .risk-pill{background:#fef3c7;color:#92400e}[data-theme=light] .risk-pill.ok{background:#f0fdf4;color:#065f46}[data-theme=light] .tiny-success-state{background:#f0fdf4;border-color:#a7f3d0;color:#065f46}[data-theme=light] .media-delete{background:#fef2f2;border-color:#fca5a5;color:#991b1b}[data-theme=light] .legacy-row .report-row-date{color:#92400e}[data-theme=light] .quick-action-btn:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}[data-theme=light] .form-error-state,[data-theme=light] [class*=error-state]{background:#fef2f2;border-color:#fca5a5;color:#991b1b}[data-theme=light] .boq-section-subtotal-row td,[data-theme=light] .boq-subtotal-row td{background:#eff6ff;color:#1e40af}[data-theme=light] .boq-section-row,[data-theme=light] .boq-section-row td{background:#eef6ff;color:#0f172a}[data-theme=light] .boq-subsec-row,[data-theme=light] .boq-subsec-row td{background:#f8fafc;color:#1e293b}[data-theme=light] .boq-grand-total-row td,[data-theme=light] .boq-effective-total-row td,[data-theme=light] .boq-tree-foot td{border-top-color:var(--border-strong);background:#f1f5f9;color:var(--text-primary)}[data-theme=light] .boq-progress-track,[data-theme=light] .progress-track,[data-theme=light] .timeline-axis{background:#e2e8f0}[data-theme=light] .money-bad,[data-theme=light] .invoice-ledger-row.state-overdue td:nth-child(5),[data-theme=light] .month-closing.negative b,[data-theme=light] .boq-critical-list b,[data-theme=light] .ms-delayed .ms-name,[data-theme=light] .milestone-row.ms-delayed .ms-date{color:#b91c1c}[data-theme=light] .money-good,[data-theme=light] .ui-status-success,[data-theme=light] .invoice-ledger-row.state-paid td:nth-child(4),[data-theme=light] .invoice-ledger-row.state-paid td:nth-child(5),[data-theme=light] .boq-effective-value,[data-theme=light] .ms-dot.completed+.ms-name{color:#047857}[data-theme=light] .money-transfer,[data-theme=light] .boq-section-total-cell,[data-theme=light] .boq-subsec-total{color:#1d4ed8}[data-theme=light] .project-compact-card.delayed,[data-theme=light] .project-health-card.delayed{border-color:#fca5a5}[data-theme=light] .project-warning.critical{border-color:#fca5a5;background:#fef9f9}[data-theme=light] .project-warning.warning{border-color:#fde68a;background:#fffdf0}[data-theme=light] .segmented-control button.active.income{background:#f0fdf4;color:#065f46}[data-theme=light] .ma-account-row{border-bottom-color:var(--border-subtle)}[data-theme=light] table tbody tr:hover td{background:var(--surface-hover)}[data-theme=light] .table-wrap thead th{background:var(--surface-card);border-bottom-color:var(--border-default)}[data-theme=light] .sidebar-backdrop,[data-theme=light] .modal-backdrop,[data-theme=light] .project-audit-modal{background:#0f172a59}[data-theme=light] .toast-item{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-default);box-shadow:var(--shadow-elevated)}[data-theme=light] .weak-connection-note{background:#fef3c7;border-color:#fde68a;color:#92400e}@media (max-width: 1199px){h1{font-size:22px}.topbar h1{font-size:20px}.eyebrow{font-size:10px}}@media (max-width: 599px){h1{font-size:18px;line-height:1.2}h2{font-size:15px}h3{font-size:13px}.topbar h1{font-size:16px}.eyebrow{font-size:9px;letter-spacing:.06em}.muted{font-size:11px}.status-badge,.risk-pill,.pill{white-space:nowrap;word-break:keep-all;font-size:10px}.project-list-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}.project-list-filters input{grid-column:1 / -1}.panel-heading h2,.panel-heading h3{font-size:13px}.compact-topbar h1{font-size:15px}.compact-topbar .eyebrow{font-size:9px}.compact-topbar .muted{font-size:10px}.compact-topbar .topbar-actions{width:auto}.month-summary{display:grid;grid-template-columns:auto 1fr 1fr;grid-template-areas:"title opening  income" "title closing  expense";gap:2px 12px;padding:8px 10px;overflow-x:visible;align-items:start}.month-title{grid-area:title;display:flex;flex-direction:column;justify-content:center;align-self:stretch;padding-right:10px;border-right:1px solid var(--border-default);font-size:13px}.month-summary>:nth-child(2){grid-area:opening}.month-summary>:nth-child(3){grid-area:income}.month-summary>:nth-child(4){grid-area:expense}.month-closing{grid-area:closing;padding:3px 6px;align-self:start}.month-flow,.month-closing{font-size:11px;text-align:left;white-space:nowrap;min-width:unset}.month-flow b,.month-closing b{display:block;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}}.co-modal{width:min(820px,96vw);max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:20px 24px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-base);box-shadow:0 24px 80px #00000073}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h2{margin:0;font-size:16px;font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.co-items-table{width:100%;border-collapse:collapse;font-size:13px}.co-items-table th,.co-items-table td{padding:6px 8px;border-bottom:1px solid var(--border-faint, rgba(255,255,255,.06));vertical-align:middle}.co-items-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-raised, rgba(255,255,255,.03))}.co-items-table input{width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;font-size:13px;color:var(--text-primary)}.co-items-table input:focus{border-color:var(--color-primary, #2563eb);outline:none;background:var(--surface-input, rgba(255,255,255,.05))}.co-row-selected{background:#2563eb0f}.co-row-cancelled td{opacity:.45}.btn-icon-danger{background:none;border:none;color:var(--color-danger, #ef4444);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:var(--radius-sm)}.btn-icon-danger:hover{background:#ef44441f}.status-addition{background:#22c55e1f;color:#22c55e;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.status-revision{background:#f59e0b1f;color:#f59e0b;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.status-draft{background:#94a3b81f;color:var(--text-muted);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.status-confirmed{background:#22c55e1f;color:#22c55e;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.status-cancelled{background:#64748b1a;color:var(--text-muted);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}
