:root{--navy-900:#0b1f3a;--navy-800:#13294b;--navy-700:#1d3a63;--navy-100:#e6ebf3;--gold-500:#c9a227;--gold-700:#8a6d12;--gold-100:#f7efd6;--surface:#fff;--surface-alt:#f5f7fa;--border:#d5dbe5;--text:#13213a;--text-muted:#4f5d73;--danger:#b42318;--danger-bg:#fdecea;--warning:#8a5a00;--warning-bg:#fff4dc;--success:#1f7a3e;--focus:#2b6cd4;--radius:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--font:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:var(--text-base);color:var(--text);background:var(--surface-alt);line-height:1.5}h1{font-size:var(--text-xl);margin:0 0 var(--space-3);color:var(--navy-900)}a{color:var(--navy-700)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--text-muted)}.small{font-size:var(--text-sm)}.skip-link{left:var(--space-2);background:var(--surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius);z-index:10;position:absolute;top:-48px}.skip-link:focus{top:var(--space-2)}.demo-banner{background:var(--gold-100);color:var(--navy-900);border-bottom:2px solid var(--gold-500);padding:var(--space-1) var(--space-4);font-size:var(--text-sm);text-align:center}.topbar{background:var(--navy-900);color:#fff;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.brand-mark{color:var(--gold-500);font-size:1.5rem}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{letter-spacing:.04em;color:var(--gold-500);font-weight:700}.brand-product{font-weight:600}.business-name{font-size:var(--text-sm);padding:2px var(--space-2);border:1px solid var(--navy-700);color:var(--navy-100);border-radius:999px}.topbar-controls{gap:var(--space-3);flex-wrap:wrap;display:flex}.control{font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.control-label{color:var(--navy-100)}select,input,textarea{font:inherit;padding:6px var(--space-2);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;max-width:100%;min-height:36px}.mainnav{background:var(--navy-800);justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space-6);flex-wrap:wrap;display:flex}.mainnav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.mainnav a{padding:var(--space-3) var(--space-4);color:#fff;white-space:nowrap;border-bottom:3px solid #0000;text-decoration:none;display:block}.mainnav a:hover{background:var(--navy-700)}.mainnav a[aria-current=page]{border-bottom-color:var(--gold-500);font-weight:600}.viewing-as{color:var(--navy-100);font-size:var(--text-sm);margin:0}.content{max-width:1280px;padding:var(--space-6);margin:0 auto}.content:focus{outline:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}.scope-summary{font-weight:600}.center-screen{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.center-screen .panel{max-width:560px}.btn{min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--navy-700);background:var(--surface);color:var(--navy-900);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--navy-100)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-small{min-height:32px;padding:2px var(--space-3)}.button-row{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.alert{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-warning{background:var(--warning-bg);color:var(--warning)}@media (width<=767px){.topbar,.mainnav,.alert{padding-left:var(--space-4);padding-right:var(--space-4)}.content,.panel{padding:var(--space-4)}.demo-banner-detail{display:none}.topbar-controls,.control,.control select,.mainnav ul{width:100%}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}h2{font-size:var(--text-lg);margin:0 0 var(--space-3);color:var(--navy-900)}h3{font-size:var(--text-base);margin:var(--space-4) 0 var(--space-2)}.pre-wrap{white-space:pre-wrap}.btn-primary{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.btn-primary:hover{background:var(--navy-700)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.page-header h1{margin-bottom:var(--space-1)}.page-header p{margin:0}.badge{padding:1px var(--space-2);font-size:var(--text-sm);white-space:nowrap;border:1px solid;border-radius:999px;font-weight:600;display:inline-block}.badge-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.badge-status-new{color:#1d4ed8;background:#eff4ff}.badge-status-contacted{color:#6d28d9;background:#f4efff}.badge-status-qualified{color:#0f766e;background:#ecfdf8}.badge-status-appointment{color:var(--gold-700);background:var(--gold-100)}.badge-status-won{color:var(--success);background:#edf9f0}.badge-status-lost{color:#57534e;background:#f3f2f1}.badge-priority-hot{color:var(--danger);background:var(--danger-bg)}.badge-priority-warm{color:var(--warning);background:var(--warning-bg)}.badge-priority-cold{color:var(--navy-700);background:var(--navy-100)}.badge-overdue{color:var(--danger);background:var(--danger-bg)}.filters{gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.filter{font-size:var(--text-sm);flex-direction:column;gap:2px;min-width:140px;display:flex}.filter-search{flex:240px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:top}.data-table th{background:var(--surface-alt);font-size:var(--text-sm);color:var(--text-muted)}.cell-sub{font-size:var(--text-sm);color:var(--text-muted);display:block}.empty-state{text-align:center}.form{gap:var(--space-4);flex-direction:column;display:flex}fieldset.panel{min-width:0;margin:0}legend{color:var(--navy-900);padding:0 var(--space-2);font-weight:700}.grid-2{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{margin-bottom:var(--space-2);flex-direction:column;gap:4px;display:flex}.field label{font-weight:600;font-size:var(--text-sm)}.field input,.field select,.field textarea{width:100%}.field input[readonly]{background:var(--surface-alt);color:var(--text-muted)}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:var(--danger);border-width:2px}.field-hint{font-size:var(--text-sm);color:var(--text-muted);margin:0}.field-error{font-size:var(--text-sm);color:var(--danger);margin:0;font-weight:600}.field-error:before{content:"⚠ "}.alert-inline{padding:var(--space-3);border-radius:var(--radius);margin:0}.reuse-box{border:1px solid var(--gold-500);background:var(--gold-100);border-radius:var(--radius);padding:var(--space-3);margin-top:var(--space-2)}.reuse-box p{margin:0 0 var(--space-2)}.reuse-box ul{padding-left:var(--space-4);margin:0}.reuse-box li{margin-bottom:var(--space-2)}.checkbox{gap:var(--space-2);align-items:center;display:flex}.dialog-backdrop{padding:var(--space-4);z-index:50;background:#0b1f3a8c;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:min(520px,100%);max-height:calc(100vh - 32px);padding:var(--space-6);overflow-y:auto;box-shadow:0 12px 40px #00000040}.dialog:focus{outline:none}.status-actions{gap:var(--space-1);flex-direction:column;display:flex}.inline-control{gap:var(--space-2);flex-wrap:wrap;display:flex}.inline-control select{flex:140px;min-width:0}.pipeline{gap:var(--space-3);padding-bottom:var(--space-2);grid-template-columns:repeat(6,minmax(200px,1fr));display:grid;overflow-x:auto}.pipeline-col{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--navy-700);border-radius:var(--radius);padding:var(--space-3);min-width:0}.pipeline-col h2{font-size:var(--text-base)}.pipeline-col-won{border-top-color:var(--success)}.pipeline-col-lost{border-top-color:#78716c}.pipeline-col-appointment{border-top-color:var(--gold-500)}.count{color:var(--text-muted);font-weight:400}.card-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.opp-card{border:1px solid var(--border);padding:var(--space-2);gap:var(--space-1);border-radius:6px;flex-direction:column;align-items:flex-start;display:flex}.opp-card-title{font-weight:600}.opp-card .status-actions,.opp-card .inline-control{width:100%}.detail-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-history{grid-column:1/-1}.dl{gap:var(--space-1) var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.dl dt{color:var(--text-muted);font-weight:600}.dl dd{overflow-wrap:anywhere;margin:0}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{padding:var(--space-1) 0}.timeline{border-left:2px solid var(--navy-100);margin:0;padding:0;list-style:none}.timeline li{padding:0 0 var(--space-3) var(--space-4);flex-direction:column;display:flex;position:relative}.timeline li:before{content:"";background:var(--gold-500);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-6px}.timeline time{font-size:var(--text-sm);color:var(--text-muted)}.timeline-what{font-weight:600}.timeline-body{font-size:var(--text-sm)}@media (width<=1100px){.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.grid-2{grid-template-columns:minmax(0,1fr)}.filter{flex:140px}.table-wrap{background:0 0;border:none}.data-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-2);padding:var(--space-2)}.data-table td{padding:2px var(--space-2);gap:var(--space-2);border:none;display:flex}.data-table td:before{content:attr(data-label);color:var(--text-muted);min-width:96px;font-weight:600;font-size:var(--text-sm)}.pipeline{grid-template-columns:minmax(0,1fr);overflow-x:visible}.dl{grid-template-columns:minmax(0,1fr)}.dl dd{margin-bottom:var(--space-2)}.dialog{padding:var(--space-4)}}.badge-alert-overdue{color:var(--danger);background:var(--danger-bg)}.badge-alert-unattended{color:#7c2d12;background:#ffedd5;border-style:dashed}.alert-badges{margin-top:2px;display:inline-flex}.badge-task-pending,.badge-appt-scheduled{color:var(--navy-700);background:var(--navy-100)}.badge-task-completed,.badge-appt-completed{color:var(--success);background:#edf9f0}.badge-task-cancelled,.badge-appt-cancelled,.badge-appt-no_show{color:#57534e;background:#f3f2f1}.item-list{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.item{border:1px solid var(--border);border-left:4px solid var(--navy-700);padding:var(--space-2) var(--space-3);border-radius:6px}.item-appt{border-left-color:var(--gold-500)}.item-completed,.item-cancelled,.item-no_show{opacity:.8}.button-row.tight{margin-top:var(--space-2);gap:var(--space-1)}.subform{border-top:1px solid var(--border);margin-top:var(--space-3);padding-top:var(--space-3)}.subform:first-child{border-top:none;margin-top:0;padding-top:0}.preview{background:var(--surface-alt);border:1px dashed var(--border);padding:var(--space-3);margin:var(--space-2) 0;border-radius:6px}.preview p{margin:0}.section-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.kind-label{text-transform:uppercase;letter-spacing:.04em;padding:0 var(--space-1);border-radius:4px;font-size:.75rem;font-weight:700;display:inline-block}.kind-appt{background:var(--gold-100);color:var(--gold-700)}.kind-task{background:var(--navy-100);color:var(--navy-700)}.agenda-day{margin-bottom:var(--space-3)}.cards{margin:0 0 var(--space-4);gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--navy-900);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.card-unattended,.card-overdue{border-top-color:var(--danger)}.card-upcoming,.card-won{border-top-color:var(--gold-500)}.card-link{color:var(--navy-900);flex-direction:column;text-decoration:none;display:flex}.card-link:hover .card-label{text-decoration:underline}.card-label{font-weight:600}.card-value{font-size:2.25rem;font-weight:700;line-height:1.1}.card-help{font-size:var(--text-sm);color:var(--text-muted)}.cohort-label{margin:0 0 var(--space-3)}.filter-note{flex-basis:100%}fieldset.filters{border:1px solid var(--border)}.dash-grid,.settings-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-users{grid-column:1/-1}.bars{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bars li{gap:var(--space-2);grid-template-columns:minmax(110px,160px) 1fr 3ch;align-items:center;display:grid}.bar-track{background:var(--navy-100);border-radius:4px;height:14px;overflow:hidden}.bar-fill{background:var(--navy-700);border-right:2px solid var(--gold-500);height:100%;display:block}.bar-value{text-align:right;font-weight:700}.inline-form{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.inline-form .field{flex:160px;margin:0}.alert-success{color:var(--success);background:#edf9f0}@media (width<=1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.cards,.dash-grid,.settings-grid{grid-template-columns:minmax(0,1fr)}.bars li{grid-template-columns:minmax(90px,120px) 1fr 3ch}}
