@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Semi+Condensed:wght@600;700;800&display=swap";:root{--red-600: #A6242A;--red-700: #8A1B20;--red-800: #6E1418;--red-50: #FBECEC;--red-200: #E29A9C;--charcoal-900: #2A2B2D;--gray-700: #58595B;--gray-600: #6E6F71;--gray-500: #8A8B8D;--gray-400: #A9AAAC;--gray-300: #C9CACB;--gray-200: #DEDEDF;--gray-100: #ECECED;--gray-50: #F4F4F3;--bg: #F7F6F3;--surface: #FFFFFF;--ink: #2A2B2D;--text: #2E2F31;--text-muted: #6E6F71;--text-subtle: #8A8B8D;--border: #DEDEDF;--border-strong: #C9CACB;--success-600: #2F7D4F;--success-50: #E7F2EB;--warning-600: #C7821A;--warning-50: #FBF1DD;--info-600: #2F6B8A;--info-50: #E6F0F5;--font-display: "Barlow Semi Condensed", system-ui, sans-serif;--font-body: "Barlow", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(42,43,45,.06);--shadow-md: 0 6px 16px rgba(42,43,45,.14)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:15px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0;letter-spacing:-.01em}a{color:var(--red-600);text-decoration:none}a:hover{color:var(--red-700)}.eyebrow{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle)}.app-shell{display:flex;min-height:100vh}.rail{width:76px;flex:none;background:var(--charcoal-900);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:6px;position:sticky;top:0;height:100vh}.rail-brand{width:44px;height:44px;border-radius:8px;background:var(--red-600);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:18px;margin-bottom:10px}.rail-btn{position:relative;width:52px;height:52px;border:none;cursor:pointer;border-radius:var(--radius-md);background:transparent;color:var(--gray-400);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;transition:background .15s,color .15s}.rail-btn:hover{background:#ffffff1a;color:#fff}.rail-btn.active{background:var(--red-600);color:#fff}.rail-btn span{font-family:var(--font-display);font-weight:600;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.rail-spacer{flex:1}.rail-avatar{width:38px;height:38px;border-radius:50%;background:var(--gray-700);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:60px;flex:none;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 28px}.topbar-title{font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-600)}.topbar-spacer{flex:1}.topbar-user{font-size:13.5px;color:var(--text-muted)}.main{flex:1;padding:28px}.page{max-width:1120px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title{font-weight:800;font-size:28px}.page-sub{color:var(--text-muted);font-size:14px;margin-top:3px}.btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.01em;border-radius:var(--radius-md);padding:9px 16px;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s}.btn-primary{background:var(--red-600);color:#fff}.btn-primary:hover{background:var(--red-700);color:#fff}.btn-primary:active{background:var(--red-800)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-ghost{background:transparent;color:var(--red-600);padding:9px 6px}.btn-ghost:hover{color:var(--red-700)}.btn-sm{padding:6px 11px;font-size:12.5px}.btn-danger{background:var(--surface);color:var(--gray-600);border-color:var(--border-strong)}.btn-danger:hover{color:var(--red-600);border-color:var(--red-200);background:var(--gray-50)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 22px}.card-title{font-family:var(--font-display);font-weight:800;font-size:18px;margin-bottom:14px}.form{display:flex;flex-direction:column;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field-full{grid-column:1 / -1}.field>.label{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle)}.input,.select,.textarea{font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);padding:9px 12px;width:100%;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--red-600);box-shadow:0 0 0 3px #a6242a26}.textarea{min-height:84px;resize:vertical}.select{cursor:pointer}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}table.table{border-collapse:collapse;width:100%}.table thead th{text-align:left;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);background:var(--gray-50);padding:12px 18px;border-bottom:1px solid var(--border)}.table tbody td{padding:13px 18px;border-bottom:1px solid var(--border);font-size:14px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--gray-50)}.table td.num{font-family:var(--font-display);font-weight:700}.cell-strong{font-family:var(--font-display);font-weight:700;font-size:14.5px;color:var(--ink)}.pill{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);padding:3px 9px;white-space:nowrap}.pill-new{color:var(--info-600);background:var(--info-50)}.pill-contacted{color:var(--gray-700);background:var(--gray-100)}.pill-appointment_set{color:var(--warning-600);background:var(--warning-50)}.pill-quoted{color:var(--red-600);background:var(--red-50)}.pill-sold{color:var(--success-600);background:var(--success-50)}.pill-lost{color:var(--gray-600);background:var(--gray-100)}.pill-dead{color:#fff;background:var(--gray-500)}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar .spacer{flex:1}.count-note{font-size:12.5px;color:var(--text-subtle)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.stat-label{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle)}.stat-value{font-family:var(--font-display);font-weight:800;font-size:26px;color:var(--ink);margin-top:6px}.alert{background:var(--red-50);border:1px solid var(--red-200);color:var(--red-700);border-radius:var(--radius-md);padding:10px 14px;font-size:14px;margin-bottom:14px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--charcoal-900);padding:24px}.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 24px 60px #0006;overflow:hidden}.login-head{background:var(--red-600);color:#fff;padding:22px 26px}.login-brand{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:.02em}.login-tag{font-size:12.5px;opacity:.9;margin-top:2px}.login-body{padding:24px 26px}.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}.detail-header{background:var(--charcoal-900);color:#fff;border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:20px}.detail-name{font-family:var(--font-display);font-weight:800;font-size:24px}.detail-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px;font-size:13.5px;color:var(--gray-300)}.kv{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--border)}.kv:last-child{border-bottom:none}.kv .k{font-family:var(--font-display);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle)}.kv .v{font-size:14.5px;color:var(--text)}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:flex;gap:12px;padding-bottom:16px}.timeline-rail{display:flex;flex-direction:column;align-items:center;flex:none}.timeline-dot{width:12px;height:12px;border-radius:50%;margin-top:3px;background:var(--gray-400)}.timeline-dot.call{background:var(--info-600)}.timeline-dot.text{background:var(--warning-600)}.timeline-dot.email{background:var(--info-600)}.timeline-dot.site_visit{background:var(--red-600)}.timeline-dot.status_change{background:var(--gray-500)}.timeline-line{width:2px;flex:1;background:var(--border);margin-top:4px}.timeline-item:last-child .timeline-line{display:none}.timeline-type{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--ink);text-transform:capitalize}.timeline-when{font-size:11.5px;color:var(--text-subtle)}.timeline-note{font-size:13.5px;color:var(--text);margin:4px 0 0}.empty{text-align:center;padding:40px 20px;color:var(--text-subtle);font-size:14px}.day-group{margin-bottom:26px}.day-group-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-600);margin-bottom:12px}.day-count{font-size:12px;font-weight:700;color:var(--text-subtle);background:var(--gray-100);border-radius:var(--radius-pill);padding:1px 9px}.appt-list{display:flex;flex-direction:column;gap:10px}.appt-card{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px 18px}.appt-time{flex:none;width:104px;text-align:center;border-right:1px solid var(--border);padding-right:16px}.appt-time-hm{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--ink);line-height:1.1;white-space:nowrap}.appt-time-date{font-size:12px;color:var(--text-subtle);margin-top:2px}.appt-main{flex:1;min-width:0}.appt-sub{margin-top:3px;font-size:13px;color:var(--text-muted)}.appt-phone{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.appt-phone:hover{color:var(--red-600)}.appt-notes{margin-top:6px;font-size:13px;color:var(--text);background:var(--gray-50);border-radius:var(--radius-sm);padding:7px 10px}.appt-actions{flex:none;display:flex;gap:8px}.appt-outcome-editor{margin-top:10px}.reminder-note{display:flex;align-items:center;gap:8px;margin:-4px 0 0;font-size:12.5px;color:var(--text-muted)}.reminder-note svg{flex:none;color:var(--warning-600)}@media (max-width: 640px){.appt-card{flex-wrap:wrap}.appt-time{width:auto;border-right:none;padding-right:0;text-align:left}}.section-title{font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-600);margin:0 0 12px}.quote-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}@media (max-width: 900px){.quote-grid{grid-template-columns:1fr}}.note-band{background:var(--warning-50);border:1px solid #EBD9AE;color:#7a5b14;border-radius:var(--radius-md);padding:10px 14px;font-size:13.5px;margin-bottom:18px}.row-form{display:flex;align-items:center;gap:10px}.row-form .input,.row-form .select{width:auto;flex:1;min-width:0}.hint{font-size:12.5px;color:var(--text-subtle);margin:8px 0 0}.seg{display:inline-flex;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;gap:2px}.seg-btn{border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-family:var(--font-display);font-weight:700;font-size:13px;padding:6px 14px;border-radius:var(--radius-sm)}.seg-btn.active{background:var(--charcoal-900);color:#fff}.tag-inline{display:inline-block;margin-left:8px;font-family:var(--font-display);font-weight:700;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-600);background:var(--gray-100);border-radius:var(--radius-sm);padding:2px 7px}.row-muted td{color:var(--text-muted)}.icon-btn{border:none;background:transparent;cursor:pointer;color:var(--gray-400);font-size:15px;line-height:1;padding:4px 6px;border-radius:var(--radius-sm)}.icon-btn:hover{color:var(--red-600);background:var(--red-50)}.check{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text);white-space:nowrap}.check input{width:15px;height:15px;accent-color:var(--red-600)}.totals-card .total-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--text);padding:5px 0}.totals-card .total-row.subtle{color:var(--text-muted);font-size:13px}.totals-card .total-row.grand{margin-top:10px;padding-top:12px;border-top:2px solid var(--border);font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--ink)}.num{font-variant-numeric:tabular-nums}.prod-head{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer}.prod-head .chev{color:var(--gray-400);transition:transform .15s;flex:none}.prod-head .chev.open{transform:rotate(90deg)}.prod-body{padding:0 18px 18px;border-top:1px solid var(--border)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#2a2b2d73;display:flex;align-items:center;justify-content:center;padding:24px}.modal-card{width:100%;max-width:400px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 24px 60px #00000059;padding:22px 24px}.cc-status{display:flex;align-items:flex-start;gap:12px;border-radius:var(--radius-md);padding:12px 14px}.cc-status.cc-ok{background:var(--success-50);color:var(--success-600)}.cc-status.cc-fail{background:var(--red-50);color:var(--red-700)}.cc-status svg{flex:none;margin-top:1px}.cc-status-title{font-family:var(--font-display);font-weight:700;font-size:13.5px;letter-spacing:.02em}.cc-status-sub{font-size:13px;color:var(--text);margin-top:2px}.cc-hint{font-size:13.5px;color:var(--text-muted);margin:0 0 12px}.cc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.cc-search{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
