.chars-left-none{color:var(--color-danger)}.court-picker{position:relative}.court-picker .input{width:100%}.court-picker-options{z-index:60;border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);max-height:260px;box-shadow:var(--shadow-raised);margin:0;padding:4px 0;list-style:none;position:absolute;top:38px;left:0;right:0;overflow-y:auto}.court-picker-options button{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;gap:8px;width:100%;padding:7px 12px;display:flex}.court-picker-options button:hover{background:var(--color-surface-muted)}.modal-backdrop{z-index:50;background:#141b2b66;place-items:start center;padding:8vh 16px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{border-radius:var(--radius);background:var(--color-surface);width:min(640px,100%);box-shadow:var(--shadow-raised)}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 16px 14px 20px;display:flex}.modal-body{padding:20px}.action-items{margin:0;padding:0 16px;list-style:none}.action-items li{gap:12px;padding:12px 0;display:flex}.action-items li+li{border-top:1px solid var(--color-border)}.action-items input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-success);cursor:pointer;flex:none;margin-top:1px}.action-item-content{flex:1;min-width:0}.action-item-title{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;display:block}.action-item-title:hover{color:var(--color-link)}.action-item-done .action-item-title{color:var(--color-text-faint);text-decoration:line-through}.action-item-meta{flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:12px;display:flex}.action-item-overdue{color:var(--color-danger);font-weight:500}.action-item-details{color:var(--color-text-muted);white-space:pre-wrap;margin-top:4px}.action-item-undo{border-radius:var(--radius-small);background:var(--color-success-soft);justify-content:space-between;align-items:center;gap:12px;margin:12px 16px 0;padding:8px 12px;display:flex}.activity-composer{border-bottom:1px solid var(--color-border);flex-direction:column;gap:10px;padding:16px;display:flex}.activity-kinds{gap:6px;display:flex}.activity-composer-footer{justify-content:flex-end;gap:8px;display:flex}.activity-composer-footer .select{flex:1 1 0;min-width:0;max-width:220px}.activity-details{grid-template-columns:2fr 1fr 2fr;gap:8px;display:grid}.activity-feed{margin:0;padding:4px 16px;list-style:none}.activity-feed li{gap:12px;padding:12px 0;display:flex}.activity-feed li+li{border-top:1px solid var(--color-border)}.activity-icon{background:var(--color-surface-muted);width:30px;height:30px;color:var(--color-text-muted);border-radius:50%;flex:none;place-items:center;display:grid}.activity-icon svg{width:16px;height:16px}.activity-call{background:var(--color-success-soft);color:var(--color-success)}.activity-email{background:var(--color-primary-soft);color:var(--color-primary)}.activity-meeting{background:var(--color-warning-soft);color:var(--color-warning)}.activity-content{flex:1;min-width:0}.activity-meta{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;display:flex}.activity-time{white-space:nowrap;margin-left:auto;font-size:12px}.activity-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.activity-action svg{width:15px;height:15px}.phone-link{white-space:nowrap}.contact-primary{vertical-align:3px;color:#9a6b00;background:#fdf5e1;gap:4px;margin-left:10px}.contact-primary svg{width:12px;height:12px}.contact-grid{grid-template-columns:minmax(260px,1fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.contact-details{flex-direction:column;gap:10px;display:flex}.contact-details>a{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.contact-details svg{width:16px;height:16px;color:var(--color-text-faint);flex:none}.contact-details dl{border-top:1px solid var(--color-border);grid-template-columns:80px 1fr;gap:6px;margin:8px 0 0;padding-top:12px;display:grid}.contact-details dt{color:var(--color-text-muted);font-size:12px;font-weight:600}.contact-details dd{margin:0}.contact-notes{border-top:1px solid var(--color-border);white-space:pre-wrap;padding-top:12px}@media (width<=1000px){.contact-grid{grid-template-columns:1fr}}.contacts-search{width:320px}.contacts-name{font-weight:500}.contacts-star{vertical-align:-1px;color:#e0a526;width:13px;height:13px;margin-right:4px}.contacts-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.contacts-sort svg{width:12px;height:12px}.contacts-email{white-space:nowrap;text-overflow:ellipsis;vertical-align:top;max-width:260px;display:inline-block;overflow:hidden}.contacts-pager{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.add-on-tiles{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.add-on-tile{--stage-color:var(--color-border-strong)}.add-on-beta,.add-on-trial{--stage-color:var(--stage-contracting)}.add-on-paid{--stage-color:var(--stage-won);background:var(--color-success-soft)}.add-on-declined{--stage-color:var(--stage-lost)}div.add-on-tile{cursor:default}@media (width<=1100px){.add-on-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.coverage{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.coverage-tile{border:1px solid var(--color-border);border-left:4px solid var(--stage-color,var(--color-border-strong));border-radius:var(--radius-small);background:var(--color-surface);text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.coverage-tile:hover{border-color:var(--color-primary);border-left-color:var(--stage-color,var(--color-primary))}.coverage-case-type{font-weight:600}.coverage-stage{color:var(--color-text-muted);font-size:12px}.coverage-tile.stage-none{background:var(--color-surface-muted);border-style:dashed dashed dashed solid}.coverage-tile.stage-won{background:var(--color-success-soft)}.coverage-blocked{color:var(--color-danger)}@media (width<=1100px){.coverage{grid-template-columns:repeat(4,minmax(0,1fr))}}.delivery-setup{border-bottom:1px solid var(--color-border);grid-template-columns:130px 1fr;gap:8px 12px;margin:0;padding:16px;display:grid}.delivery-setup dt{color:var(--color-text-muted);font-size:12px;font-weight:600}.delivery-setup dd{margin:0}.delivery-track{color:var(--color-link);text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.delivery-track:hover{text-decoration:underline}.delivery-blocked{color:var(--color-danger);margin-top:2px;font-size:13px}.delivery-actions{gap:8px;display:flex}.line-items{flex-direction:column;gap:10px;display:flex}.line-items-table td{vertical-align:middle}.line-items-price{text-align:right;font-variant-numeric:tabular-nums;width:140px}.line-items-price .input{text-align:right;width:120px}.line-items-note{width:100%}.stage-badge{background:var(--color-surface-muted);white-space:nowrap;border-radius:11px;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.stage-badge:before{content:"";background:var(--stage-color,var(--color-text-faint));border-radius:50%;width:7px;height:7px}.stage-badge.stage-won{background:var(--color-success-soft);color:var(--color-success)}.court-header{align-items:flex-start}.court-facts{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:8px;display:flex}.court-facts>*{align-items:center;gap:4px;display:inline-flex}.court-facts svg{width:15px;height:15px}.court-coverage{margin-bottom:16px}.court-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.court-contacts{margin:0;padding:0 16px;list-style:none}.court-contacts li{gap:8px;padding:12px 0;display:flex}.court-contacts li+li{border-top:1px solid var(--color-border)}.court-primary svg{color:#e0a526}.court-primary:disabled{cursor:default}.court-contact-main{flex:1;min-width:0}.court-contact-name{margin-right:6px;font-weight:500}.court-contact-reach{overflow-wrap:anywhere;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.court-profile{grid-template-columns:130px 1fr;gap:8px 12px;margin:0;padding:16px;display:grid}.court-profile dt{color:var(--color-text-muted);font-size:12px;font-weight:600}.court-profile dd{margin:0}.court-notes{white-space:pre-wrap}@media (width<=1100px){.court-grid{grid-template-columns:1fr}}.status-page{max-width:880px;margin:0 auto;padding:24px 24px 48px}.status-actions{justify-content:space-between;margin-bottom:16px;display:flex}.status-sheet{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:32px 40px}.status-header{border-bottom:2px solid var(--color-primary);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:16px;display:flex}.status-header p{color:var(--color-text-muted);margin:4px 0 0}.status-header img{height:36px}.status-summary{margin:16px 0 8px;font-weight:500}.status-sheet h2{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 8px;font-size:13px}.status-track{border-bottom:1px solid var(--color-border);break-inside:avoid;padding:12px 0 16px}.status-track-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.status-track-header h3{font-size:15px}.status-steps{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;margin:0;padding:0;list-style:none;display:grid}.status-step{border-top:4px solid var(--color-border);flex-direction:column;gap:2px;padding:8px 8px 0;font-size:12px;display:flex}.status-step-done{border-top-color:var(--color-success)}.status-step-now{border-top-color:var(--color-primary)}.status-step-name{font-weight:600}.status-step-date{color:var(--color-text-muted)}.status-late{color:var(--color-danger);font-weight:500}.status-live{color:var(--color-success);font-weight:600}.status-detail{color:var(--color-text-muted);margin-top:10px}.status-waiting{color:var(--color-warning);margin-top:6px;font-weight:500}@media print{body{background:0 0}.status-page{max-width:none;padding:0}.status-actions{display:none}.status-sheet{border:0;padding:0}.status-step,.status-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.state-chips{margin-bottom:16px}.courts-search{width:320px}.courts-name{font-weight:500}.courts-star{vertical-align:-1px;color:#e0a526;width:13px;height:13px;margin-right:4px}.courts-subhead{border-top:1px solid var(--color-border);background:var(--color-surface-muted);padding:10px 12px}.courts-table{table-layout:fixed}.courts-table th:first-child{width:24%}.courts-table th:nth-child(2){width:18%}.courts-table th:nth-child(3){width:20%}.courts-table th:nth-child(4),.courts-table th:nth-child(5){width:11%}.courts-table td{overflow-wrap:anywhere}.courts-email{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bar-list{margin:0;padding:0;list-style:none}.bar-row{border-radius:var(--radius-small);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:120px 1fr 72px 32px;align-items:center;gap:12px;width:100%;padding:6px 4px;display:grid}.bar-row:disabled{cursor:default}.bar-row:not(:disabled):hover{background:var(--color-surface-muted)}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--color-surface-muted);border-radius:5px;height:10px;overflow:hidden}.bar-fill{background:var(--color-primary);border-radius:5px;height:100%;display:block}.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.bar-count{text-align:right;color:var(--color-text-faint);font-size:12px}.delivery-blocked-card{border-left:4px solid var(--waiting-color)}.delivery-waiting-court{--waiting-color:var(--color-warning)}.delivery-waiting-us{--waiting-color:var(--color-danger)}.delivery-waiting-third-party{--waiting-color:var(--stage-demo)}.delivery-waiting-text{color:var(--color-warning);font-size:12px;font-weight:500}.delivery-aging-amber{color:var(--color-warning);font-weight:500}.delivery-aging-red{color:var(--color-danger);font-weight:600}.delivery-live{color:var(--color-success);font-weight:500}.phase-count-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.phase-count-groups h3{color:var(--color-text-muted);margin:0 0 8px;font-size:13px;font-weight:500}.phase-counts{margin:0;padding:0;list-style:none}.phase-counts a{border-bottom:1px solid var(--color-border);color:inherit;justify-content:space-between;padding:6px 0;display:flex}.phase-counts a:hover{color:var(--color-link);text-decoration:none}.phase-count{font-variant-numeric:tabular-nums;font-weight:600}.today{margin:0;padding:0 16px;list-style:none}.today li{align-items:baseline;gap:10px;padding:10px 0;display:flex}.today li+li{border-top:1px solid var(--color-border)}.today-main{flex:1;min-width:0}.today-late{color:var(--color-danger);white-space:nowrap;font-weight:500}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi{color:inherit;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.kpi:hover{border-color:var(--color-primary);text-decoration:none}.kpi-label{color:var(--color-text-muted);font-size:13px;font-weight:500}.kpi-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.kpi-detail{color:var(--color-text-faint);font-size:12px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}.dashboard-urgent{color:var(--color-danger);font-weight:500}.timeline{--timeline-label:280px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.timeline-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:12px;display:flex}.timeline-legend span{align-items:center;gap:6px;display:inline-flex}.timeline-swatch{border-radius:3px;width:18px;height:10px;display:inline-block}.timeline-row{grid-template-columns:var(--timeline-label) 1fr;cursor:pointer;align-items:center;min-height:34px;display:grid}.timeline-row:hover .timeline-label{background:var(--color-surface-muted)}.timeline-court-start{border-top:1px solid var(--color-border)}.timeline-months{cursor:default;min-height:24px}.timeline-month{color:var(--color-text-faint);white-space:nowrap;padding-left:4px;font-size:11px;position:absolute;top:0}.timeline-label{border-left:4px solid #0000;flex-direction:column;gap:2px;padding:6px 12px 6px 8px;font-size:13px;display:flex}.timeline-label.delivery-blocked-card{border-left-color:var(--waiting-color)}.timeline-label a{font-weight:600}.timeline-track{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.timeline-body{position:relative}.timeline-overlay{top:0;bottom:0;left:var(--timeline-label);pointer-events:none;position:absolute;right:0}.timeline-gridline{border-left:1px solid var(--color-border);position:absolute;top:0;bottom:0}.timeline-today{border-left:2px solid var(--color-danger);z-index:2;position:absolute;top:0;bottom:0}.timeline-lane{height:100%;min-height:24px;position:relative}.timeline-line{background:var(--color-border-strong);height:2px;position:absolute;top:50%}.timeline-bar{z-index:1;border-radius:3px;height:14px;position:absolute;top:calc(50% - 7px)}.timeline-planned{opacity:.35}.timeline-late,.timeline-late-swatch{outline:2px solid var(--color-danger);outline-offset:1px}.timeline-live{background:var(--stage-won);z-index:3;width:12px;height:12px;margin-left:-6px;position:absolute;top:calc(50% - 6px);transform:rotate(45deg)}.timeline-legend .timeline-live{margin-left:0;position:static}.timeline-live-planned{background:var(--color-surface);border:2px solid var(--stage-won)}.timeline-discovery{background:var(--stage-lost)}.timeline-markup,.timeline-training{background:var(--stage-engagement)}.timeline-build,.timeline-enable-in-dev{background:var(--stage-demo)}.timeline-court-dev,.timeline-enable-in-prod{background:var(--stage-proposal)}.timeline-user-testing{background:var(--stage-contracting)}.page-wide{max-width:none}.pipeline-closed{color:var(--color-text-muted);align-items:center;gap:6px;margin-left:8px;display:inline-flex}.pipeline-board{grid-auto-columns:minmax(210px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.pipeline-column{border:1px solid var(--color-border);border-top:3px solid var(--stage-color,var(--color-border-strong));border-radius:var(--radius);background:var(--color-surface-muted);flex-direction:column;min-height:420px;display:flex}.pipeline-over{border-color:var(--color-primary);background:var(--color-primary-soft)}.pipeline-column-header{align-items:center;gap:8px;padding:10px 12px;display:flex}.pipeline-stage{font-weight:600}.pipeline-total{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.pipeline-cards{flex-direction:column;gap:8px;padding:0 8px 12px;display:flex}.pipeline-card{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);box-shadow:var(--shadow);cursor:grab;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.pipeline-card:hover{border-color:var(--color-border-strong)}.pipeline-dragging{opacity:.45}.pipeline-card-court{justify-content:space-between;gap:8px;font-size:12px;display:flex}.pipeline-card-name{font-weight:500}.pipeline-card-types{flex-wrap:wrap;gap:4px;display:flex}.pipeline-card-types .badge{height:20px;font-size:11px}.pipeline-card-due{font-size:12px}.pipeline-card-footer{align-items:center;gap:8px;font-size:12px;display:flex}.pipeline-late{color:var(--color-danger);font-weight:500}.pipeline-owner{background:var(--color-primary-soft);width:22px;height:22px;color:var(--color-primary);border-radius:50%;place-items:center;margin-left:auto;font-size:11px;font-weight:600;display:grid}.pipeline-close-zones{z-index:30;grid-template-columns:1fr 1fr;gap:12px;display:grid;position:fixed;bottom:24px;left:264px;right:32px}.pipeline-close-zone{border:2px dashed var(--stage-color);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-raised);text-align:center;padding:18px;font-weight:600}.pipeline-close-zone.pipeline-over{background:var(--color-primary-soft)}.pipeline-weighted{text-align:right;font-size:11px;font-weight:400;display:block}.pipeline-close-passed{background:var(--color-danger-soft);color:var(--color-danger)}.import-upload{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.import-upload .toolbar{margin:0}.import-drop{border:2px dashed var(--color-border-strong);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;align-items:center;gap:10px;padding:20px;display:flex}.import-drop:hover{border-color:var(--color-primary);color:var(--color-primary)}.import-drop svg{width:22px;height:22px}.import-drop input{display:none}.import-summary{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px;display:grid}.import-summary strong{font-size:22px;display:block}.import-created{background:var(--color-success-soft);color:var(--color-success)}.import-updated{background:var(--color-primary-soft);color:var(--color-primary)}.import-skipped{background:var(--color-danger-soft);color:var(--color-danger)}.import-mapping{max-width:560px}.link-button{color:var(--color-link);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.link-button svg{width:15px;height:15px}.import-existing{max-width:360px}.import-last{margin:0}.env-banner{letter-spacing:.05em;text-align:center;flex-shrink:0;padding:6px 0;font-size:.8rem;font-weight:600}.env-banner--dev{color:#1c1917;background:#f59e0b}.env-banner--test{color:#fff;background:#3b82f6}.global-search{width:min(520px,100%);position:relative}.global-search-icon{width:18px;height:18px;color:var(--color-text-faint);position:absolute;top:9px;left:10px}.global-search-input{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:18px;width:100%;height:36px;padding:0 12px 0 36px}.global-search-input:focus{border-color:var(--color-primary);background:var(--color-surface);outline:none}.global-search-results{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-height:70vh;box-shadow:var(--shadow-raised);position:absolute;top:42px;left:0;right:0;overflow-y:auto}.global-search-group{padding:6px 0}.global-search-group+.global-search-group{border-top:1px solid var(--color-border)}.global-search-heading{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.4px;padding:4px 14px;font-size:11px;font-weight:600}.global-search-group button{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;gap:12px;width:100%;padding:8px 14px;display:flex}.global-search-group .global-search-active{background:var(--color-surface-muted)}.layout{grid-template-columns:232px 1fr;min-height:100%;display:grid}.sidebar{background:var(--color-sidebar);height:100vh;color:var(--color-sidebar-text);flex-direction:column;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:4px 8px 20px;display:flex}.sidebar-logo{flex-shrink:0;width:auto;height:28px;display:block}.sidebar-app-name{color:#ffffffd9;white-space:nowrap;border-left:1px solid #ffffff40;padding-left:12px;font-size:13px;font-weight:600}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{border-radius:var(--radius-small);color:var(--color-sidebar-text);align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex}.sidebar-link svg{width:18px;height:18px}.sidebar-link:hover{color:#fff;background:#ffffff0f;text-decoration:none}.sidebar-link.active{color:var(--color-sidebar-active);background:#1a3d52}.sidebar-user{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:12px 8px 0;display:flex}.sidebar-user img,.sidebar-avatar{border-radius:50%;width:32px;height:32px}.sidebar-avatar{background:var(--color-primary-hover);color:#fff;place-items:center;font-weight:600;display:grid}.sidebar-user-text{color:#fff;flex:1;min-width:0;font-size:13px}.sidebar-user-email{text-overflow:ellipsis;color:var(--color-sidebar-text);font-size:12px;overflow:hidden}.sidebar-signout{color:var(--color-sidebar-text)}.sidebar-signout:hover{color:#fff;background:#ffffff14}.layout-main{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;align-items:center;height:56px;padding:0 32px;display:flex;position:sticky;top:0}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-nav{flex-flow:wrap}.sidebar-user{display:none}.topbar{padding:0 16px}}.leads{margin:0;padding:0;list-style:none}.leads li{gap:16px;padding:14px 16px;display:flex}.leads li+li{border-top:1px solid var(--color-border)}.lead-main{flex:1;min-width:0}.lead-title,.lead-reach{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.lead-reach{margin-top:2px;font-size:13px}.lead-message{color:var(--color-text-muted);white-space:pre-wrap;margin:8px 0 0}.lead-actions{flex-direction:column;gap:6px;display:flex}.convert-mode{margin:12px 0}.login{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex:1;place-items:center;padding:20px;display:grid}.login-page{flex-direction:column;min-height:100%;display:flex}.login-card{text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(380px,100%);padding:36px 32px;display:flex}.login-card p{margin:0 0 8px}.login-logo{width:auto;height:48px;margin-bottom:4px;display:block}.login-button{justify-content:center;width:100%;height:40px}.deal-people{grid-template-columns:110px 1fr;gap:8px 12px;margin:0;padding:16px;display:grid}.deal-people dt{color:var(--color-text-muted);font-size:12px;font-weight:600}.deal-people dd{flex-direction:column;gap:4px;margin:0;display:flex}.deal-people .badge{margin-left:6px}.deal-people-missing{padding:0 16px 16px;font-size:13px}.deal-people-choices{flex-direction:column;gap:8px;max-height:360px;margin:0 0 16px;padding:0;list-style:none;display:flex;overflow-y:auto}.deal-people-choices label{align-items:baseline;gap:8px;display:flex}.stage-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0 0 16px;padding:0;list-style:none;display:grid}.stage-step{border:1px solid var(--color-border);border-bottom:3px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);width:100%;height:36px;color:var(--color-text-muted);cursor:pointer;font-weight:500}.stage-step:hover{border-bottom-color:var(--stage-color);color:var(--color-text)}.stage-step-current{border-bottom-color:var(--stage-color);background:var(--color-surface-muted);color:var(--color-text);font-weight:600}.opportunity-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:16px;display:grid}.opportunity-facts{grid-template-columns:130px 1fr;gap:10px 12px;margin:0;display:grid}.opportunity-facts dt{color:var(--color-text-muted);font-size:12px;font-weight:600}.opportunity-facts dd{margin:0}.opportunity-value{font-size:18px;font-weight:600}.opportunity-late{color:var(--color-danger);font-weight:500}.opportunity-notes{border-top:1px solid var(--color-border);white-space:pre-wrap;margin-top:16px;padding-top:12px}@media (width<=1100px){.opportunity-grid{grid-template-columns:1fr}.stage-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.opportunity-lines{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.opportunity-lines li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.opportunity-subhead{border-top:1px solid var(--color-border);margin:16px 0 10px;padding-top:12px}.opportunity-documents{margin-bottom:8px}.opportunity-documents li{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:4px;display:grid}.opportunity-quiet{margin-left:6px}.price-list-price{text-align:right;width:120px}.price-list-add{margin-top:16px}.win-chances{margin-top:24px}.win-chances-fields{grid-template-columns:repeat(4,minmax(0,140px));gap:12px;display:grid}.reports-controls{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;display:flex}.reports-controls .select{min-width:160px}.reports-open{height:34px;color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.reports-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.reports-grid tfoot td{border-top:1px solid var(--color-border-strong);padding:10px 12px}@media (width<=1100px){.reports-grid{grid-template-columns:1fr}}.reports-note{margin:0;padding:10px 12px;font-size:12px}:root{--color-bg:#f5f5f5;--color-surface:#fff;--color-surface-muted:#f9fafb;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-text:#1e293b;--color-text-muted:#6b7280;--color-text-faint:#9ca3af;--color-primary:#0f2f42;--color-primary-hover:#1a3d52;--color-primary-soft:#e8eff3;--color-link:#2563eb;--color-success:#10b981;--color-success-soft:#ecfdf5;--color-warning:#b45309;--color-warning-soft:#fffbeb;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--color-sidebar:#0f2f42;--color-sidebar-text:#ffffffbf;--color-sidebar-active:#fff;--stage-engagement:#6b7bd6;--stage-demo:#3b82f6;--stage-proposal:#2fa3a0;--stage-contracting:#d18b2c;--stage-won:#10b981;--stage-lost:#9ca3af;--radius:8px;--radius-small:6px;--shadow:0 1px 4px #0000001a;--shadow-raised:0 8px 24px #00000026;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600}h1{font-size:22px}h2{font-size:15px}.app-loading{height:100%;color:var(--color-text-muted);place-items:center;display:grid}.page{max-width:1400px;padding:24px 32px 48px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header p{color:var(--color-text-muted);margin:4px 0 0}.breadcrumbs{color:var(--color-text-faint);margin-bottom:8px;font-size:13px}.stage-engagement{--stage-color:var(--stage-engagement)}.stage-demo{--stage-color:var(--stage-demo)}.stage-proposal{--stage-color:var(--stage-proposal)}.stage-contracting{--stage-color:var(--stage-contracting)}.stage-won{--stage-color:var(--stage-won)}.stage-lost{--stage-color:var(--stage-lost)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.card-body{padding:16px}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.empty{text-align:center;color:var(--color-text-muted);padding:24px 16px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}button,input,select,textarea{font:inherit;color:inherit}.button{border:1px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-surface);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;height:34px;padding:0 14px;font-weight:500;display:inline-flex}.button:hover{background:var(--color-surface-muted);text-decoration:none}.button:disabled{opacity:.55;cursor:default}.button svg{width:16px;height:16px}.button-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.button-primary:hover{background:var(--color-primary-hover)}.button-danger{border-color:var(--color-danger);color:var(--color-danger)}.button-small{height:28px;padding:0 10px;font-size:13px}.icon-button{border-radius:var(--radius-small);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:inline-grid}.icon-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.icon-button svg{width:18px;height:18px}.input,.select,.textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-surface);height:34px;padding:0 10px}.textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px}.input:focus,.select:focus,.textarea:focus,.button:focus-visible{outline:2px solid var(--color-primary-soft);border-color:var(--color-primary)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field-wide{grid-column:1/-1}.field label,.field-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;display:flex}.form-actions-start{margin-right:auto}[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.error{border-radius:var(--radius-small);background:var(--color-danger-soft);color:var(--color-danger);padding:10px 12px}.saved{color:var(--color-success);font-size:13px}.table{border-collapse:collapse;width:100%}.table th{border-bottom:1px solid var(--color-border);text-align:left;color:var(--color-text-muted);background:var(--color-surface-muted);padding:10px 12px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:10px 12px}.table tr:last-child td{border-bottom:none}.table .number{text-align:right;font-variant-numeric:tabular-nums}.badge{background:var(--color-surface-muted);height:22px;color:var(--color-text-muted);white-space:nowrap;border-radius:11px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-tribal,.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;border-radius:14px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:13px;display:inline-flex}.chip:hover{border-color:var(--color-primary)}.chip-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:500}.chip-count{color:var(--color-text-faint);font-size:12px}.stack{flex-direction:column;gap:16px;display:flex}@media (width<=900px){.page{padding:16px}.form-grid{grid-template-columns:1fr}}
