:root{color-scheme:light;--color-primary: #15657F;--color-primary-hover: #0B4A61;--color-primary-light: #1B8597;--color-secondary: #1CA0AB;--color-accent: #1E2FA6;--color-success: #34C759;--color-warning: #F5B84C;--color-error: #E0525E;--color-pending: #596C7A;--color-background: #FAFBFC;--color-card: #FFFFFF;--color-surface-alt: #F3F5F7;--color-border: #D8DEE5;--color-divider: #E8ECEF;--color-text-primary: #1B232B;--color-text-secondary: #5D6B78;--color-disabled: #A9B3BC;--color-sidebar-bg: #12394A;--color-sidebar-active: #15657F;--color-sidebar-hover: #1B8597;--color-table-header: #F3F5F7;--color-table-hover: #F8FBFC;--color-table-selected: #E8F4F6;--color-dark-bg: #11161B;--color-dark-surface: #1A232C;--color-chart-teal: #15657F;--color-chart-cyan: #1CA0AB;--color-chart-blue: #1E2FA6;--color-chart-slate: #5D6B78;--color-chart-olive: #9EA18F;--color-chart-sand: #D8C6B8;--rgb-primary: 21 101 127;--rgb-secondary: 28 160 171;--rgb-accent: 30 47 166;--rgb-success: 52 199 89;--rgb-warning: 245 184 76;--rgb-error: 224 82 94;--rgb-pending: 89 108 122;--shadow-sm: 0 1px 2px rgb(17 22 27 / .06);--shadow-md: 0 12px 28px rgb(17 22 27 / .1);--shadow-lg: 0 22px 60px rgb(17 22 27 / .14);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.35rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--line-tight: 1.15;--line-normal: 1.5;--tap-target: 44px;--sidebar-width: 264px;--topbar-height: 64px;--bottom-nav-height: 72px}*{box-sizing:border-box}html{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-sans)}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{min-height:100vh;background:linear-gradient(180deg,rgb(var(--rgb-secondary) / .05),transparent 280px),var(--color-background)}.gesture-top-zone,.gesture-edge-zone{position:fixed;z-index:25;pointer-events:none}.gesture-top-zone{inset:0 0 auto;height:28px}.gesture-edge-zone{inset:0 auto 0 0;width:34px}.gesture-edge-zone:after{content:"";position:absolute;top:45%;left:0;width:4px;height:74px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--color-secondary),var(--color-accent));box-shadow:0 0 18px rgb(var(--rgb-secondary) / .28);opacity:.74}.login-shell{display:grid;min-height:100vh;place-items:center;padding:var(--space-4);background:linear-gradient(135deg,rgb(var(--rgb-primary) / .1),#1ca0ab14),var(--color-background)}.login-panel{display:grid;gap:var(--space-4);width:min(100%,420px);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-lg)}.login-panel label{display:grid;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.login-panel input{min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--color-text-primary)}.login-brand{color:var(--color-text-primary);margin-bottom:var(--space-2)}.login-brand span{color:var(--color-text-secondary)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(86vw,var(--sidebar-width));transform:translate(-105%);transition:transform .18s ease;background:var(--color-sidebar-bg);color:#fff;padding:var(--space-5);box-shadow:var(--shadow-lg)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;background:#11161b57;opacity:0;pointer-events:none;transition:opacity .18s ease}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.brand-mark{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.brand-mark svg{width:44px;height:44px;padding:10px;border-radius:var(--radius-md);background:#ffffff1a}.brand-mark span,.topbar span{display:block;color:#ffffffb8;font-size:var(--text-xs)}.sidebar nav{display:grid;gap:var(--space-2)}.sidebar nav button{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-target);border:0;border-radius:var(--radius-md);background:transparent;color:#ffffffb8;cursor:pointer;padding:0 var(--space-3);text-align:left}.sidebar nav button:hover{background:#1b859759;color:#fff}.sidebar nav button.active{background:var(--color-sidebar-active);color:#fff;box-shadow:inset 4px 0 0 var(--color-warning)}.main-shell{min-height:100vh;padding:var(--space-4) var(--space-4) calc(var(--bottom-nav-height) + var(--space-4))}.topbar{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:var(--space-3) var(--space-4);background:#fafbfce0;border-bottom:1px solid var(--color-divider);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);transform:translateY(calc(-100% - 8px));transition:transform .22s ease}.topbar.is-visible{transform:translateY(0)}.topbar div{flex:1}.topbar span{color:var(--color-text-secondary)}.page-stack{display:grid;gap:var(--space-4)}.hero-panel,.panel,.metric-card,.settings-panel,.doc-card,.kanban-column,.lead-card,.job-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.hero-panel{display:grid;gap:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg,rgb(var(--rgb-primary) / .08),#1ca0ab14),var(--color-card)}.hero-panel h1,.section-title h1{margin:0;max-width:780px;font-size:var(--text-2xl);line-height:var(--line-tight);letter-spacing:0}.support-copy{margin:var(--space-3) 0 0;color:var(--color-text-secondary);line-height:var(--line-normal)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.hero-actions,.mobile-action-strip,.panel-header,.section-title{display:flex;align-items:center;gap:var(--space-3)}.mobile-action-strip{position:static;top:var(--topbar-height);z-index:15;overflow-x:auto;padding-bottom:var(--space-1)}.section-title,.panel-header{justify-content:space-between}.section-title{align-items:flex-end;flex-wrap:wrap}.title-actions,.filter-actions,.contact-actions,.quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.primary-action,.secondary-action,.ghost-action,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);border-radius:var(--radius-sm);cursor:pointer;font-weight:800}.primary-action{border:1px solid var(--color-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;padding:0 var(--space-4)}.primary-action:hover{background:var(--color-primary-hover)}.secondary-action{border:1px solid var(--color-primary);background:linear-gradient(180deg,#fff,rgb(var(--rgb-secondary) / .05));color:var(--color-primary);padding:0 var(--space-4)}.secondary-action.compact{min-height:38px}.ghost-action{border:0;background:rgb(var(--rgb-primary) / .08);color:var(--color-primary);padding:0 var(--space-3)}.icon-button{width:var(--tap-target);border:1px solid var(--color-border);background:#fff;color:var(--color-primary);padding:0}.icon-button.is-active{background:var(--color-primary);color:#fff}.metric-grid,.settings-overview-grid,.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.metric-card{display:grid;gap:var(--space-1);padding:var(--space-4);border-left-width:5px;background:linear-gradient(135deg,rgb(var(--metric-rgb, var(--rgb-primary)) / .08),transparent 58%),var(--color-card)}.metric-card span,.metric-card small,.job-card small,.lead-card span,.lead-card small,.settings-panel span,.doc-card span,.task-row small{color:var(--color-text-secondary);font-size:var(--text-xs)}.metric-card strong{font-size:var(--text-xl)}.tone-info{--metric-rgb: var(--rgb-primary);border-color:var(--color-primary)}.tone-success{--metric-rgb: var(--rgb-success);border-color:var(--color-success)}.tone-warning{--metric-rgb: var(--rgb-warning);border-color:var(--color-warning)}.tone-error{--metric-rgb: var(--rgb-error);border-color:var(--color-error)}.dashboard-grid{display:grid;gap:var(--space-4)}.panel{padding:var(--space-4);min-width:0}.panel h2{margin:0;font-size:var(--text-lg)}.pipeline-list,.job-list,.task-list{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.pipeline-row,.task-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-alt)}.pipeline-row small{color:var(--color-text-secondary)}.job-card{display:grid;grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4)}.job-card div{display:grid;gap:var(--space-1)}.status-pill{display:inline-flex;width:max-content;align-items:center;min-height:26px;border-radius:999px;padding:0 var(--space-3);font-size:var(--text-xs);font-weight:800;background:rgb(var(--rgb-primary) / .1);color:var(--color-primary)}.status-pill.tone-success{background:rgb(var(--rgb-success) / .14);color:#1d7f39}.status-pill.tone-warning{background:rgb(var(--rgb-warning) / .18);color:#8a5b05}.status-pill.tone-error{background:rgb(var(--rgb-error) / .14);color:#a22f39}.task-row{grid-template-columns:auto 1fr}.task-row input{width:20px;height:20px;accent-color:var(--color-primary)}.task-row span{display:grid;gap:var(--space-1)}.crm-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,82vw);gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.kanban-column{padding:var(--space-3);background:var(--color-surface-alt);min-height:360px;transition:border-color .14s ease,background .14s ease}.kanban-column.is-drag-over{border-color:var(--color-primary);background:rgb(var(--rgb-primary) / .08)}.kanban-column header,.lead-card div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.kanban-column header{margin-bottom:var(--space-3);color:var(--color-text-secondary);font-weight:800}.lead-card{display:grid;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);cursor:grab;transition:opacity .14s ease,transform .14s ease,border-color .14s ease}.lead-card:active{cursor:grabbing}.lead-card.is-dragging{opacity:.48;transform:scale(.98);border-color:var(--color-primary)}.lead-card footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-divider)}.lead-card footer select{max-width:138px;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-primary)}.kanban-empty{display:grid;place-items:center;min-height:96px;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm)}.settings-panel,.doc-card{display:grid;gap:var(--space-2);padding:var(--space-4)}.settings-panel{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left}.settings-panel svg{color:var(--color-primary)}.doc-card code{width:max-content;max-width:100%;overflow-wrap:anywhere;padding:4px 8px;border-radius:var(--radius-xs);background:var(--color-surface-alt);color:var(--color-primary);font-size:var(--text-xs)}.table-wrap{overflow-x:auto;margin-top:var(--space-4)}.filter-shell{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.search-field{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-secondary)}.search-field input,.filter-grid input,.filter-grid select{width:100%;border:0;outline:0;background:transparent;color:var(--color-text-primary)}.compact-search{margin-bottom:var(--space-4)}.filter-grid{display:grid;gap:var(--space-3)}.filter-grid label{display:grid;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.filter-grid select,.filter-grid input{min-height:42px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-primary);text-transform:none}.object-panel{padding:0;overflow:hidden}.view-tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider)}.view-tabs button{min-height:36px;white-space:nowrap;border:0;border-radius:999px;background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:pointer;font-weight:800;padding:0 var(--space-3)}.view-tabs button.active{background:linear-gradient(135deg,rgb(var(--rgb-primary) / .13),rgb(var(--rgb-secondary) / .12));color:var(--color-primary);box-shadow:inset 0 -2px rgb(var(--rgb-secondary) / .45)}.mobile-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:var(--space-4) var(--space-4) 0;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.mobile-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:800}.mobile-view-switch button.active{background:#fff;color:var(--color-primary);box-shadow:var(--shadow-sm)}.mobile-jobs-list{display:none;gap:var(--space-3);padding:var(--space-4)}.mobile-jobs-list.is-active{display:grid}.object-table-wrap{overflow-x:auto}.object-table{min-width:900px}.object-table tbody tr{cursor:pointer}.jobs-kanban{display:none;grid-auto-flow:column;grid-auto-columns:minmax(280px,86vw);gap:var(--space-3);overflow-x:auto;padding:var(--space-4);scroll-snap-type:x proximity}.jobs-kanban.is-active{display:grid}.jobs-kanban-column{display:grid;align-content:start;gap:var(--space-3);min-width:0;min-height:560px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,rgb(var(--stage-rgb, var(--rgb-primary)) / .1),transparent 150px),var(--color-surface-alt);scroll-snap-align:start;transition:background .14s ease,border-color .14s ease}.jobs-kanban-column:nth-child(1){--stage-rgb: var(--rgb-primary)}.jobs-kanban-column:nth-child(2){--stage-rgb: var(--rgb-secondary)}.jobs-kanban-column:nth-child(3){--stage-rgb: var(--rgb-success)}.jobs-kanban-column:nth-child(4){--stage-rgb: var(--rgb-warning)}.jobs-kanban-column:nth-child(5){--stage-rgb: var(--rgb-accent)}.jobs-kanban-column:nth-child(6){--stage-rgb: var(--rgb-success)}.jobs-kanban-column:nth-child(7){--stage-rgb: var(--rgb-pending)}.jobs-kanban-column.is-drag-over{border-color:var(--color-primary);background:rgb(var(--rgb-primary) / .08)}.jobs-kanban-column>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:36px;color:var(--color-text-secondary);font-weight:800}.jobs-kanban-column>header b{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#fff;color:rgb(var(--stage-rgb, var(--rgb-primary)));font-size:var(--text-xs)}.jobs-kanban-list{display:grid;gap:var(--space-3)}.job-kanban-card{container-type:inline-size;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-sm);border-top:3px solid rgb(var(--stage-rgb, var(--rgb-primary)) / .72);transition:opacity .14s ease,transform .14s ease,border-color .14s ease}.mobile-job-card{display:grid;padding:var(--space-4);border:1px solid var(--color-border);border-left:5px solid var(--color-primary);border-radius:var(--radius-md);background:linear-gradient(135deg,rgb(var(--rgb-primary) / .08),transparent 62%),var(--color-card);box-shadow:var(--shadow-sm)}.job-kanban-card.is-dragging{opacity:.5;transform:scale(.98);border-color:var(--color-primary)}.drag-handle{display:inline-grid;place-items:center;width:34px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.job-kanban-body{display:grid;gap:var(--space-2);min-width:0;overflow:hidden}.job-kanban-body strong,.job-kanban-body span,.job-kanban-body small{min-width:0;overflow-wrap:anywhere}.job-kanban-body>small,.job-kanban-footer small,.job-kanban-meta small{color:var(--color-text-secondary);font-size:var(--text-xs)}.job-kanban-meta,.job-kanban-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.job-kanban-meta small{text-align:right}.job-kanban-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-width:0}.job-kanban-footer{align-items:flex-end;border-top:1px solid var(--color-divider);padding-top:var(--space-2)}.job-kanban-footer strong{white-space:nowrap}.job-kanban-actions select{min-width:0;width:100%;min-height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-primary)}.job-kanban-actions .ghost-action{min-width:82px;padding-inline:var(--space-3)}@container (max-width: 340px){.job-kanban-actions{grid-template-columns:1fr}}.cell-stack{display:grid;gap:2px}.cell-stack span,.muted{color:var(--color-text-secondary);font-size:var(--text-xs)}.empty-state{padding:var(--space-8);color:var(--color-text-secondary);text-align:center}.inline-status{padding:var(--space-3) var(--space-4);border:1px solid rgb(var(--rgb-success) / .3);border-radius:var(--radius-md);background:rgb(var(--rgb-success) / .1);color:#1d7f39;font-weight:800}.inline-status.tone-error{border-color:rgb(var(--rgb-error) / .28);background:rgb(var(--rgb-error) / .1);color:var(--color-error)}.danger-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);border:1px solid var(--color-error);border-radius:var(--radius-sm);background:var(--color-error);color:#fff;cursor:pointer;font-weight:800;padding:0 var(--space-4)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.record-hero{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,rgb(var(--rgb-primary) / .09),rgb(var(--rgb-success) / .08)),var(--color-card)}.record-hero h1{margin:0;font-size:var(--text-2xl);line-height:var(--line-tight)}.record-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.record-meta strong{font-size:var(--text-xl)}.job-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.job-detail-layout{display:grid;gap:var(--space-4)}.job-info-panel,.job-actions-panel{align-content:start}.job-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.job-photo-card{display:grid;gap:var(--space-2);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card)}.job-photo-card img,.job-photo-placeholder{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--color-surface-alt)}.job-photo-placeholder{display:grid;place-items:center;color:var(--color-primary)}.job-photo-card div{display:grid;gap:2px;padding:0 var(--space-3) var(--space-3)}.job-photo-card span{color:var(--color-text-secondary);font-size:var(--text-xs)}.job-empty-media{display:grid;place-items:center;gap:var(--space-2);min-height:160px;margin-top:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface-alt)}.detail-grid,.split-workspace{display:grid;gap:var(--space-4)}.detail-list{display:grid;gap:var(--space-3);margin:var(--space-4) 0 0}.detail-list div{display:grid;grid-template-columns:minmax(92px,.42fr) 1fr;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-divider)}.detail-list dt{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.detail-list dd{margin:0}.back-action{width:max-content}.record-side-panel{display:grid;align-content:start;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-sm)}.settings-subnav{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-sm)}.settings-subnav button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;white-space:nowrap;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:800;padding:0 var(--space-3)}.settings-subnav button.active{background:rgb(var(--rgb-primary) / .1);color:var(--color-primary)}.settings-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.settings-summary{display:grid;gap:var(--space-2)}.settings-summary svg{color:var(--color-primary)}.settings-summary span{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--line-normal)}.settings-workspace{display:grid;gap:var(--space-4)}.settings-workspace-single{max-width:920px}.settings-detail-panel,.settings-assistant-panel{display:grid;gap:var(--space-4)}.settings-form-grid{margin-top:0}.form-footer-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.crm-chat-page{min-height:calc(100vh - var(--topbar-height) - var(--space-8))}.crm-chat-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:calc(100vh - var(--topbar-height) - var(--space-8));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-sm)}.crm-chat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-divider);background:linear-gradient(135deg,rgb(var(--rgb-primary) / .08),rgb(var(--rgb-success) / .06)),var(--color-card)}.crm-chat-title{display:flex;align-items:center;min-width:0;gap:var(--space-3)}.crm-chat-title svg{color:var(--color-primary)}.crm-chat-title h1{margin:0;font-size:var(--text-xl);line-height:var(--line-tight)}.crm-chat-title span,.crm-chat-bubble small{color:var(--color-text-secondary);font-size:var(--text-xs)}.crm-chat-thread{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow-y:auto;padding:var(--space-4);background:var(--color-surface-alt)}.crm-chat-row{display:flex}.crm-chat-row.from-user{justify-content:flex-end}.crm-chat-row.from-ai{justify-content:flex-start}.crm-chat-bubble{display:grid;gap:var(--space-2);max-width:min(82%,760px);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:18px;background:#fff;color:var(--color-text-primary);line-height:var(--line-normal);overflow-wrap:anywhere}.from-user .crm-chat-bubble{border-color:var(--color-primary);border-bottom-right-radius:var(--radius-sm);background:var(--color-primary);color:#fff}.from-user .crm-chat-bubble small{color:#ffffffb8}.from-ai .crm-chat-bubble{border-bottom-left-radius:var(--radius-sm)}.crm-chat-bubble.error-bubble{border-color:rgb(var(--rgb-error) / .35);background:rgb(var(--rgb-error) / .1)}.crm-chat-image{display:block;width:min(100%,520px);max-height:300px;object-fit:cover;border-radius:var(--radius-md)}.crm-chat-file-pill{display:inline-flex;align-items:center;gap:var(--space-2);width:max-content;max-width:100%;min-height:34px;padding:0 var(--space-3);border-radius:999px;background:rgb(var(--rgb-primary) / .08);color:var(--color-primary);font-size:var(--text-xs);font-weight:800}.from-user .crm-chat-file-pill{background:#ffffff29;color:#fff}.crm-chat-text{display:grid;gap:var(--space-2)}.crm-chat-text p{margin:0;white-space:pre-wrap}.crm-chat-heading{font-weight:900}.typing-bubble{display:inline-flex;align-items:center;grid-auto-flow:column;width:max-content;color:var(--color-primary)}.typing-dots{display:inline-flex;align-items:center;gap:6px}.typing-dots span{display:block;width:7px;height:7px;border-radius:999px;background:var(--color-primary);animation:typingBounce 1.35s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}.crm-chat-composer{display:grid;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-divider);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.crm-chat-input-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2)}.crm-chat-input-bar input{width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--color-text-primary);outline:0}.crm-chat-input-bar input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(var(--rgb-primary) / .1)}.chat-tool-button,.chat-send-button{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-sm);cursor:pointer}.chat-tool-button{border:1px solid var(--color-border);background:#fff;color:var(--color-primary)}.chat-send-button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff}.chat-send-button:disabled{border-color:var(--color-disabled);background:var(--color-disabled)}.crm-chat-attachment-strip{display:flex;min-width:0}.crm-chat-attachment-preview{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);max-width:min(100%,420px);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.crm-chat-attachment-preview img,.crm-chat-file-square{width:52px;height:52px;border-radius:var(--radius-sm)}.crm-chat-attachment-preview img{object-fit:cover}.crm-chat-file-square{display:grid;place-items:center;background:#fff;color:var(--color-primary)}.crm-chat-attachment-preview span{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.crm-chat-attachment-preview button{display:inline-grid;place-items:center;width:26px;height:26px;border:0;border-radius:999px;background:rgb(var(--rgb-error) / .14);color:var(--color-error);cursor:pointer}.attach-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#11161b6b}.attach-menu{display:grid;gap:var(--space-2);width:min(420px,calc(100% - var(--space-4)));margin-bottom:var(--space-4);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-lg)}.attach-menu button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;border:0;border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text-primary);cursor:pointer;font-weight:800}.attach-menu .attach-cancel{background:transparent;color:var(--color-text-secondary)}.chat-log{display:grid;gap:var(--space-3);max-height:380px;overflow:auto;padding:var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface-alt)}.chat-bubble{display:grid;gap:var(--space-1);max-width:88%;padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px solid var(--color-border)}.chat-bubble.user{justify-self:end;background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.chat-bubble p{margin:0;white-space:pre-wrap}.chat-bubble small{color:var(--color-text-secondary);font-size:var(--text-xs)}.chat-bubble.user small{color:#ffffffb8}.chat-input-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2)}.chat-input-row input{min-height:var(--tap-target);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-3)}.record-side-panel h2{margin:0}.training-grid{display:grid;gap:var(--space-4)}.training-panel{display:grid;align-content:start;gap:var(--space-4)}.training-record-row,.training-inline-status,.training-file-preview,.training-item{display:flex;align-items:center;gap:var(--space-3)}.training-inline-status{color:var(--color-text-secondary);font-weight:800}.training-confirm-box,.training-upload-box,.training-list{display:grid;gap:var(--space-3)}.training-capability-picker{display:grid;gap:var(--space-2)}.training-capability-picker>span{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.training-capability-picker>div,.training-capability-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.training-capability-picker label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:800;padding:0 var(--space-3);text-transform:none}.training-capability-picker label.active{border-color:var(--color-primary);background:rgb(var(--rgb-primary) / .08);color:var(--color-primary)}.training-capability-picker input{width:16px;height:16px;accent-color:var(--color-primary)}.training-confirm-box label,.training-upload-box label{display:grid;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.training-confirm-box input,.training-confirm-box textarea,.training-upload-box input[type=text],.training-upload-box input:not([type]){width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-primary);outline:0;text-transform:none}.training-confirm-box textarea{padding-top:var(--space-3);resize:vertical}.training-upload-box input[type=file]{width:100%;padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.training-file-preview,.training-item{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.training-file-preview svg,.training-item svg{color:var(--color-primary)}.training-file-preview span,.training-item span{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.training-item div{display:grid;min-width:0;gap:2px}.training-capability-list b{display:inline-flex;align-items:center;width:max-content;min-height:24px;border-radius:999px;background:rgb(var(--rgb-primary) / .08);color:var(--color-primary);font-size:var(--text-xs);padding:0 var(--space-2)}.related-list{display:grid;gap:var(--space-3)}.related-card{display:grid;gap:var(--space-1);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text-primary);cursor:pointer;text-align:left}.related-card span,.related-card small{color:var(--color-text-secondary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:end center;padding:var(--space-4);background:#11161b75}.record-modal{display:grid;gap:var(--space-4);width:min(100%,760px);max-height:min(88vh,780px);overflow:auto;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-lg)}.record-modal header,.record-modal footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.record-modal h2{margin:0}.record-modal footer{justify-content:flex-end;border-top:1px solid var(--color-divider);padding-top:var(--space-4)}.form-grid{display:grid;gap:var(--space-3)}.form-grid label{display:grid;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-primary);outline:0;text-transform:none}.form-grid textarea{padding-top:var(--space-3);resize:vertical}.field-full{grid-column:1 / -1}.form-error{margin:0;color:var(--color-error);font-weight:800}button:disabled{cursor:not-allowed;opacity:.65}table{width:100%;border-collapse:collapse;min-width:560px}th,td{padding:var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left}th{background:var(--color-table-header);color:#37424d;font-size:var(--text-xs);text-transform:uppercase}tr:hover td{background:var(--color-table-hover)}.bottom-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);height:var(--bottom-nav-height);padding:var(--space-2) var(--space-4);background:#fffffff0;border-top:1px solid var(--color-divider);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav .icon-button{width:100%}@media(min-width:720px){.metric-grid,.job-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.job-detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,.7fr)}.job-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.4fr)}.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid .panel:last-child{grid-column:1 / -1}.job-card{grid-template-columns:1fr auto;align-items:center}.settings-overview-grid,.docs-grid,.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1.2fr .8fr}.jobs-kanban{grid-auto-columns:minmax(290px,33vw)}.settings-workspace{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:start}.settings-workspace-single{grid-template-columns:minmax(0,1fr)}}@media(min-width:1040px){.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr}.sidebar{position:sticky;top:0;z-index:40;height:100vh;transform:none;box-shadow:none}.sidebar-backdrop,.gesture-top-zone,.gesture-edge-zone{display:none}.main-shell{padding:var(--space-6)}.topbar{position:sticky;left:auto;right:auto;z-index:20;margin:calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-6);padding-inline:var(--space-6);box-shadow:none;transform:none}.topbar .icon-button,.bottom-nav,.mobile-action-strip,.mobile-view-switch,.mobile-jobs-list{display:none}.hero-panel{grid-template-columns:1fr auto;align-items:end;padding:var(--space-8)}.hero-panel h1,.section-title h1{font-size:var(--text-3xl)}.dashboard-grid{grid-template-columns:.85fr 1.35fr .9fr}.dashboard-grid .panel:last-child{grid-column:auto}.crm-columns{grid-auto-flow:initial;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.split-workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.record-hero{grid-template-columns:1fr auto;align-items:end;padding:var(--space-8)}.modal-backdrop{place-items:center}.jobs-kanban{display:grid;grid-auto-columns:minmax(290px,1fr)}}
