:root{--page: #f9f9f7;--surface: #fcfcfb;--ink: #0b0b0b;--ink-secondary: #52514e;--ink-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--accent-strong: #1c5cab;--accent-soft: #cde2fb;--accent-wash: rgba(42, 120, 214, .08);--good: #006300;--critical: #d03b3b;--radius: 8px;--font: system-ui, -apple-system, "Segoe UI", "Inter", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5}h1,h2,h3{margin:0;font-weight:600}h2{font-size:15px}h3{font-size:13.5px}button{font-family:inherit;font-size:inherit;cursor:pointer}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.app-header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:32px;height:56px}.app-title{font-size:16px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.app-nav{display:flex;gap:4px;flex:1;align-self:stretch}.nav-tab{display:inline-flex;align-items:center;padding:0 14px;color:var(--ink-secondary);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.nav-tab:hover{color:var(--ink);background:var(--accent-wash)}.nav-tab-active{color:var(--accent-strong);border-bottom-color:var(--accent)}.user-badge{display:flex;align-items:center;gap:8px;color:var(--ink-secondary);white-space:nowrap}.user-dot{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.app-main{max-width:1200px;width:100%;margin:0 auto;padding:20px 24px 48px}.view{display:flex;flex-direction:column;gap:20px}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{font-size:12px;color:var(--ink-muted);font-weight:500}.filter-dates{gap:6px}.filter-date-sep{color:var(--ink-muted)}.filter-bar input[type=date],.filter-bar select,select,.search-input{font-family:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--baseline);border-radius:6px;padding:6px 8px}.filter-bar select:focus,.filter-bar input:focus,select:focus,.search-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.filter-presets{display:flex;gap:4px;flex-wrap:wrap}.preset-btn{border:1px solid var(--border);background:transparent;color:var(--ink-secondary);border-radius:999px;padding:4px 12px;font-size:12.5px}.preset-btn:hover{background:var(--accent-wash);color:var(--ink)}.preset-active{background:var(--accent);border-color:var(--accent);color:#fff}.preset-active:hover{background:var(--accent-strong);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.card-head-wrap{flex-wrap:wrap}.card-note{font-size:12px;color:var(--ink-muted)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.tile-grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-label{font-size:12px;font-weight:500;color:var(--ink-muted);margin-bottom:4px}.stat-value{font-size:26px;font-weight:650;letter-spacing:-.02em;line-height:1.2}.stat-hint{font-size:11.5px;color:var(--ink-muted);margin-top:2px}.stat-skeleton{height:31px;width:70%;margin:2px 0}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segment{border:none;background:transparent;color:var(--ink-secondary);padding:5px 12px;font-size:12.5px}.segment+.segment{border-left:1px solid var(--border)}.segment:hover{background:var(--accent-wash)}.segment-active{background:var(--accent);color:#fff}.segment-active:hover{background:var(--accent)}.feedback{display:flex;align-items:center;justify-content:center;gap:10px;min-height:120px;color:var(--ink-muted)}.feedback-error{color:var(--critical)}.spinner{width:18px;height:18px;border:2px solid var(--grid);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:6px;background:linear-gradient(90deg,#f0efec 25%,#e7e6e1,#f0efec 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{to{background-position:-200% 0}}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0b0b0b14;padding:8px 10px;font-size:12.5px}.chart-tooltip-label{color:var(--ink-muted);margin-bottom:2px}.chart-tooltip-value{color:var(--ink-secondary)}.chart-tooltip-value strong{color:var(--ink);font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;border-radius:999px;padding:1px 8px;white-space:nowrap}.badge-status{background:var(--accent-wash);color:var(--accent-strong);border:1px solid var(--accent-soft)}.badge-current{background:var(--accent-wash);color:var(--accent-strong);border:1px solid var(--accent-soft);font-variant-numeric:tabular-nums}.badge-won{color:var(--good);border:1px solid rgba(0,99,0,.25);background:#0ca30c14}.badge-muted{color:var(--ink-muted);border:1px solid var(--border);background:transparent}.badge-deleted{color:var(--critical);border:1px solid rgba(208,59,59,.3);background:#d03b3b0f;margin-left:8px}.funnel-list{display:flex;flex-direction:column;gap:10px}.funnel-row{display:grid;grid-template-columns:220px 1fr 130px;align-items:center;gap:12px}.funnel-status{display:flex;align-items:center;gap:8px;min-width:0}.funnel-status-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.funnel-bar-track{display:flex;align-items:center;gap:8px;min-width:0}.funnel-bar{height:18px;border-radius:0 4px 4px 0;background:var(--accent);min-width:2px;transition:width .25s ease}.funnel-terminal .funnel-bar{background:var(--baseline)}.funnel-terminal .funnel-status-name{color:var(--ink-muted)}.funnel-value{font-size:12.5px;color:var(--ink-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.funnel-current{text-align:right}.funnel-unsorted{margin-top:20px;padding-top:16px;border-top:1px dashed var(--baseline)}.funnel-unsorted-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.funnel-unsorted-head h3{color:var(--ink-secondary)}.funnel-unsorted .funnel-bar{background:var(--accent-soft)}.pipeline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.pipeline-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.pipeline-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.pipeline-card-total{font-size:12.5px;font-weight:600;color:var(--accent-strong);white-space:nowrap;font-variant-numeric:tabular-nums}.pipeline-table{width:100%;border-collapse:collapse}.pipeline-table td{padding:4px 0;border-bottom:1px solid var(--grid)}.pipeline-table tr:last-child td{border-bottom:none}.pipeline-status{color:var(--ink-secondary)}.pipeline-count{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.pipeline-table-terminal .pipeline-status,.pipeline-table-terminal .pipeline-count{color:var(--ink-muted);font-weight:400}.pipeline-terminal{margin-top:8px;padding-top:6px;border-top:1px dashed var(--grid)}.pipeline-empty{color:var(--ink-muted);font-size:12.5px;padding:4px 0}.link-btn{border:none;background:transparent;color:var(--ink-muted);padding:2px 0;font-size:12.5px}.link-btn:hover{color:var(--ink-secondary)}.metric-definition{margin:0;color:var(--ink-secondary);max-width:760px}.metric-flow{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;font-variant-numeric:tabular-nums}.metric-flow span{border:1px solid var(--grid);border-radius:6px;padding:8px 10px;color:var(--ink-secondary)}.metric-flow b{color:var(--accent-strong);font-size:12px}.leads-controls{display:flex;gap:8px;flex-wrap:wrap}.search-input{min-width:240px}.table-wrap{overflow-x:auto;border:1px solid var(--grid);border-radius:6px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-muted);background:var(--page);border-bottom:1px solid var(--grid);padding:8px 12px;white-space:nowrap}.th-sort{border:none;background:transparent;padding:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:4px}.th-sort:hover{color:var(--ink)}.th-sort-active{color:var(--accent-strong)}.sort-arrow{font-size:10px}.data-table td{padding:8px 12px;border-bottom:1px solid var(--grid);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.lead-row{cursor:pointer}.lead-row:hover{background:var(--accent-wash)}.lead-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lead-row-deleted .lead-name,.lead-row-deleted td{color:var(--ink-muted)}.lead-name{font-weight:500;color:var(--ink)}.cell-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-secondary)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}.pagination-info{color:var(--ink-muted);font-size:12.5px}.pagination-buttons{display:flex;gap:8px}.btn{border:1px solid var(--baseline);background:var(--surface);color:var(--ink-secondary);border-radius:6px;padding:6px 12px;font-size:13px}.btn:hover:not(:disabled){background:var(--accent-wash);color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{display:inline-block;background:var(--accent);border-color:var(--accent);color:#fff;text-decoration:none;font-weight:500;padding:8px 20px}.btn-primary:hover{background:var(--accent-strong);color:#fff}.btn-icon{padding:4px 9px;line-height:1}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b52;z-index:40;display:flex;justify-content:flex-end}.drawer{width:min(460px,92vw);background:var(--surface);height:100%;overflow-y:auto;box-shadow:-8px 0 24px #0b0b0b1f;padding:20px 24px 32px}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.drawer-head h2{font-size:17px}.drawer-deleted-note{color:var(--critical);background:#d03b3b0f;border:1px solid rgba(208,59,59,.3);border-radius:6px;padding:8px 12px;font-size:12.5px;margin-bottom:14px}.drawer-fields{margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.drawer-field dt{font-size:11.5px;color:var(--ink-muted);font-weight:500}.drawer-field dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.drawer-subhead{margin-bottom:10px;padding-top:12px;border-top:1px solid var(--grid)}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline-item{position:relative;padding:0 0 14px 22px}.timeline-item:before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--grid)}.timeline-item:last-child:before{display:none}.timeline-dot{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--baseline)}.timeline-dot-new{background:var(--good)}.timeline-title{font-weight:500}.timeline-meta{font-size:12px;color:var(--ink-muted)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page);padding:24px;font-family:var(--font)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:36px 40px;max-width:420px;text-align:center;box-shadow:0 8px 24px #0b0b0b0f}.auth-card h1{font-size:20px;margin-bottom:8px}.auth-card p{color:var(--ink-secondary);margin:0 0 20px}.auth-hint{font-size:12.5px;color:var(--ink-muted)}@media (max-width: 820px){.app-header-inner{gap:16px;padding:0 16px}.user-name{display:none}.app-main{padding:16px 16px 40px}.funnel-row{grid-template-columns:140px 1fr 110px}.drawer-fields{grid-template-columns:1fr}}
