:root{--ink:#111410;--lime:#eaff38;--green:#526610;--muted:#697065;--line:#e1e5db;--surface:#fff;--bg:#f3f5ef;--danger:#a1382c;--radius:12px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #839730;outline-offset:3px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:2.2rem}h2{font-size:1.2rem;font-weight:700}h3{font-size:1rem}button{border:0}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0} [data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--lime);padding:12px}.skip-link:focus{top:12px}
.app-shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:30px 18px 20px;background:var(--ink);color:#c5cabc;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:"Archivo Black",sans-serif;font-size:1.03rem;letter-spacing:-.04em;color:white;padding:0 7px;white-space:nowrap}.brand-accent{color:var(--lime)}.brand-mark{width:33px;height:33px;display:grid;place-items:center;color:var(--ink);background:var(--lime);font-size:.75rem;transform:skew(-6deg)}
.workspace{display:flex;gap:10px;align-items:center;margin:32px 0 25px;padding:15px 8px;border-top:1px solid #353a2e;border-bottom:1px solid #353a2e}.workspace-icon{height:36px;width:36px;background:#292f20;border-radius:8px;color:var(--lime)}.workspace strong{display:block;font-size:.875rem;color:#f6f7f1}.workspace div>span{font-size:.75rem;color:#a6ad9a}.nav-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;padding:0 12px;margin-bottom:10px;color:#919b83}
.app-nav{display:flex;flex-direction:column;gap:7px}.app-nav button{display:flex;gap:13px;align-items:center;padding:13px 14px;text-align:left;border-radius:7px;color:#bec6b2;background:transparent;font-size:.9375rem;font-weight:500}.app-nav button:hover{background:#252b1d;color:white}.app-nav button[aria-selected=true]{background:var(--lime);color:var(--ink);font-weight:700}.nav-count{margin-left:auto;background:#333c22;color:#d0d6c5;min-width:24px;padding:1px 6px;border-radius:5px;font-size:.75rem;text-align:center}.app-nav button[aria-selected=true] .nav-count{background:#cddf2f;color:var(--ink)}
.sidebar-bottom{margin-top:auto;padding-top:40px}.ownership-card{border:1px solid #3e4535;border-radius:9px;padding:20px 16px;margin:0 0 20px}.ownership-card>[data-icon]{color:var(--lime);margin-bottom:12px}.ownership-card strong{display:block;font-size:1.15rem;line-height:1.25;color:white}.ownership-card p{font-size:.875rem;color:#a7b099;margin:10px 0 17px}.ownership-card a,.back-link{font-size:.875rem;display:flex;align-items:center;gap:9px;color:#cfd7c1;text-decoration:none}.ownership-card a:hover,.back-link:hover{text-decoration:underline}.back-link{padding:0 8px}
.workspace-main{min-width:0}.topbar{height:80px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:.875rem;color:var(--muted);display:flex;gap:12px;align-items:center}.breadcrumbs strong{color:var(--ink);font-weight:500}.owner{display:flex;gap:18px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:.875rem;background:#edf0e5;font-weight:700}.demo-pill{font-size:.75rem;background:#eff4d7;color:#4c5a17;border:1px solid #dee8b3;padding:5px 10px;border-radius:20px;white-space:nowrap}
.demo-banner{display:flex;align-items:center;gap:12px;padding:11px 34px;background:#edf1e2;border-bottom:1px solid #e0e6d2;color:#535e40}.demo-banner p{font-size:.8125rem;line-height:1.5}.demo-banner .icon{width:17px;height:17px}.reset-button{margin-left:auto;white-space:nowrap;background:none;text-decoration:underline;color:#47572a;font-size:.8125rem;padding:7px}
main{max-width:1650px;margin:auto;padding:34px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:9px}.page-heading h1{margin:0 0 9px}.page-heading>div>p:last-child{color:var(--muted);font-size:.9375rem}.heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.snapshot{display:flex;gap:8px;align-items:center;font-size:.8125rem;color:var(--muted);white-space:nowrap}.snapshot .icon{width:16px;height:16px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border-radius:6px;font-size:.875rem;font-weight:700;line-height:1.4;min-height:44px;white-space:normal;text-decoration:none}.button.primary{background:var(--ink);color:var(--lime)}.button.primary:hover{background:#2c3520}.button.secondary{background:#f1f3ec;color:var(--ink);border:1px solid var(--line)}.button.lime-outline{color:var(--lime);border:1px solid #6e7b48;background:none;width:100%;margin-top:24px}.button.lime-outline:hover{background:#2d361f}.text-button{background:none;color:var(--green);display:inline-flex;gap:8px;align-items:center;padding:6px 0;font-size:.875rem;font-weight:700;text-decoration:none}.text-button:hover{text-decoration:underline}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);position:relative;min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px;color:var(--muted);font-size:.875rem}.stat-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:8px;background:#f2f5e9;color:#58682d;flex-shrink:0}.stat-value{font-size:clamp(1.7rem,2.8vw,2.65rem);line-height:1.15;font-weight:700;letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-detail{font-size:.8125rem;color:var(--muted);margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.delta{display:inline-flex;align-items:center;gap:3px;color:#476123;font-size:.8125rem;font-weight:700;white-space:nowrap}.delta.negative{color:var(--danger)}.delta.neutral{color:var(--muted)}.delta .icon{width:14px;height:14px}.stat-card.featured{background:#eef3d9;border-color:#d4dfaf}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.panel{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.panel-heading h2{font-size:1.125rem}.subtle{color:var(--muted);font-size:.875rem;line-height:1.6}.panel-heading p.subtle{margin-top:7px}.small-label{font-size:.75rem;letter-spacing:.05em;color:var(--muted)}
.attention-row{display:flex;gap:13px;align-items:center;width:100%;text-align:left;padding:17px 0;background:none;border-top:1px solid var(--line);color:var(--ink)}.attention-row:hover .row-name{text-decoration:underline}.initials{width:37px;height:37px;display:grid;place-items:center;background:#f0f2e8;border-radius:9px;font-size:.75rem;font-weight:700;color:#626e45;flex-shrink:0}.attention-copy{flex:1;min-width:0}.row-name{display:block;font-size:.9375rem;font-weight:700}.row-detail{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px}.row-value{font-size:.875rem;font-weight:700;white-space:nowrap}
.dark-panel{background:#1b2214;color:white;border-color:#1b2214;display:flex;flex-direction:column}.dark-panel .eyebrow{color:#aebb92}.dark-panel h2{font-size:1.75rem}.dark-panel .button{margin-top:auto}.month-total{font-size:2.65rem;font-weight:700;letter-spacing:-.05em;margin-top:22px;color:var(--lime)}.month-label{font-size:.8125rem;color:#bcc6ab}.month-mini{display:flex;gap:5px;height:75px;align-items:flex-end;margin:22px 0 25px}.month-mini i{flex:1;min-height:4px;background:#879d39;border-radius:3px 3px 0 0}.month-mini i:last-child{background:var(--lime)}
.job-row{display:flex;gap:15px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.job-time{min-width:77px;font-size:.8125rem;color:var(--muted)}.job-time strong{display:block;color:var(--ink);font-size:.875rem}.job-main{flex:1}.job-main button{background:none;text-align:left;padding:0;font-weight:700;color:var(--ink);font-size:.9375rem}.job-main button:hover{text-decoration:underline}.pipeline-row{margin:15px 0}.pipeline-label{display:flex;justify-content:space-between;gap:15px;font-size:.875rem;margin-bottom:7px}.progress-track{height:7px;border-radius:10px;background:#edf0e5;overflow:hidden}.progress-track>span{display:block;height:100%;border-radius:10px;background:#829845}.stage{display:inline-block;white-space:nowrap;padding:4px 9px;border-radius:5px;font-size:.75rem;font-weight:500;background:#f1f2ed;color:#657052}.stage-new{background:#ecf3d5;color:#56631b}.stage-contacted{background:#eaf0f5;color:#4c6074}.stage-estimate-sent{background:#fcf2d9;color:#886719}.stage-booked{background:#e4f2e9;color:#38614b}.stage-won{background:#e1edc6;color:#486221}.stage-lost{background:#f6e8e5;color:#9b5147}
.table-heading{margin-bottom:18px}.filter-bar{display:flex;flex-wrap:wrap;gap:13px;align-items:flex-end;margin-bottom:24px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;min-width:200px;flex:1;color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;outline:none;font-size:.9375rem;background:transparent}.search-field:focus-within{outline:3px solid #839730;outline-offset:2px}.filter-field{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--muted)}select{padding:10px 30px 10px 11px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font-size:.875rem;min-height:44px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-variant-numeric:tabular-nums;font-size:.875rem}th{font-weight:500;color:var(--muted);font-size:.75rem;white-space:nowrap;background:#f7f8f3}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.lead-table{min-width:840px}.lead-table td:nth-child(5){white-space:nowrap}.lead-table tbody tr:hover{background:#fafbf5}.customer-button{border:0;background:none;text-align:left;padding:0;color:var(--ink);font-weight:700}.customer-button:hover{text-decoration:underline}.table-note{font-size:.8125rem;color:var(--muted);margin:19px 0 0}.empty-state{padding:35px 16px;text-align:center;color:var(--muted);font-size:.9375rem}
.schedule-group{padding-top:20px}.schedule-group:first-child{padding-top:0}.schedule-date{font-size:.875rem;color:var(--green);font-weight:700;margin-bottom:12px}.schedule-entry{padding:18px;border:1px solid var(--line);border-radius:7px;margin-bottom:10px;display:grid;grid-template-columns:95px minmax(0,1fr) auto;align-items:center;gap:16px}.schedule-entry .customer-button{font-size:1rem}.schedule-entry .subtle{margin-top:5px}.schedule-time{font-weight:700;font-size:.9375rem}
.analytics-controls{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;flex-wrap:wrap}.analytics-controls h2{font-size:1.1rem;margin-bottom:8px}.analytics-controls>div:first-child{flex:1;min-width:220px}.segmented{display:flex;gap:3px;background:#e9ede1;border:1px solid #e1e5d8;padding:4px;border-radius:7px;flex-wrap:wrap}.segmented button{font-size:.8125rem;padding:9px 13px;min-height:38px;border-radius:4px;white-space:nowrap;background:none;color:#5b644d}.segmented button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 4px #00000012;font-weight:700}.analytics-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-stats .stat-card{padding:24px}.analytics-stats .stat-value{font-size:clamp(1.9rem,3vw,3rem)}
.chart-panel{margin-bottom:24px}.chart-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin-bottom:13px}.chart-legend>span{display:inline-flex;align-items:center;gap:7px}.chart-legend i{width:17px;height:3px;display:inline-block}.legend-current{background:#657f19}.legend-previous{background:repeating-linear-gradient(90deg,#909889 0 4px,transparent 4px 6px)}.chart{width:100%;min-height:270px}.chart svg{display:block;width:100%;overflow:visible;font-family:"DM Sans",sans-serif}.chart-footnote{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}.chart-footnote p{font-size:.8125rem;color:var(--muted);max-width:640px}.chart-data-table{min-width:400px}.chart-panel .table-scroll{margin-top:16px}
.analytics-lower{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.comparison-table{min-width:440px}.comparison-table th,.comparison-table td{padding:13px 10px}.comparison-table th:not(:first-child),.comparison-table td:not(:first-child){text-align:right}.handling-main{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.handling-main strong{font-size:2.25rem;letter-spacing:-.045em}.handling-main span{font-size:.875rem;color:var(--muted)}.handling-bar{display:flex;height:11px;overflow:hidden;border-radius:10px;background:#ede8e0;margin:19px 0}.handling-bar .answered{background:#6e892c}.handling-bar .missed{background:#d7ac8c}.handling-detail{display:flex;justify-content:space-between;gap:15px;margin:9px 0;font-size:.875rem;color:var(--muted)}.handling-detail strong{color:var(--ink);font-variant-numeric:tabular-nums}.source-row{margin:17px 0}.source-meta{display:flex;gap:15px;justify-content:space-between;font-size:.875rem;margin-bottom:7px}.source-meta strong{font-weight:500}.source-meta span{color:var(--muted);font-variant-numeric:tabular-nums}.definitions h2{margin-bottom:20px}.definitions p{font-size:.875rem;color:var(--muted);margin:12px 0}.definitions strong{color:var(--ink)}
.dashboard-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:.8125rem;margin-top:40px;padding:20px 0;border-top:1px solid var(--line)}.dashboard-footer a{display:inline-flex;align-items:center;gap:8px;color:var(--green)}
.lead-dialog{width:min(640px,calc(100% - 28px));max-height:calc(100dvh - 35px);border:1px solid var(--line);border-radius:14px;padding:30px;color:var(--ink);box-shadow:0 30px 100px #0003;overflow:auto}.lead-dialog::backdrop{background:#10160cb0}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.dialog-heading h2{font-size:1.55rem}.icon-button{display:grid;place-items:center;background:#eff2e8;width:40px;height:40px;border-radius:50%;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:500;min-width:0}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #cdd4c2;border-radius:5px;padding:10px 12px;background:#fff;font-size:1rem;width:100%;min-width:0;color:var(--ink)}.form-grid textarea{resize:vertical}.full-width{grid-column:1/-1}.optional{color:var(--muted);font-size:.75rem;font-weight:400;display:inline}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.form-error{margin-top:15px;color:var(--danger);font-size:.875rem}.toast{position:fixed;bottom:24px;right:24px;max-width:calc(100% - 48px);padding:14px 20px;border-radius:8px;background:var(--ink);color:var(--lime);box-shadow:0 6px 20px #0002;z-index:50;font-size:.9375rem}.noscript-notice{position:fixed;inset:auto 15px 15px;padding:22px;background:var(--lime);border:2px solid var(--ink);z-index:60}
@media(min-width:1600px){main{padding:40px}.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
@media(max-width:1200px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:25px 13px 20px}.brand{font-size:.9rem;gap:7px}.workspace{gap:7px}.workspace-icon{width:30px;flex-shrink:0}main{padding:25px}.topbar,.demo-banner{padding-left:25px;padding-right:25px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.analytics-stats .stat-card{padding:19px}.overview-grid,.analytics-lower{grid-template-columns:1fr}.dark-panel{display:block}.month-mini{height:80px}.dark-panel .button{width:auto}.chart-panel .panel-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;top:auto;height:auto;overflow:visible;padding:20px 18px 10px;display:block}.brand{font-size:1.03rem}.workspace{position:absolute;top:12px;right:18px;padding:0;margin:0;border:0}.workspace-icon{display:none}.workspace strong{font-size:.75rem}.workspace div>span{font-size:.75rem}.nav-label,.sidebar-bottom{display:none}.app-nav{flex-direction:row;margin-top:23px;gap:4px;overflow-x:auto;padding:4px 0}.app-nav button{padding:10px 12px;gap:7px;font-size:.875rem;flex-shrink:0}.app-nav .icon{width:17px;height:17px}.nav-count{display:none}.topbar{height:60px;padding:0 20px}.breadcrumbs{font-size:.75rem;gap:8px}.avatar{display:none}.demo-banner{padding:12px 20px;align-items:flex-start;gap:9px}.demo-banner p{font-size:.75rem}.reset-button{font-size:.75rem;padding-top:0}.demo-banner>[data-icon]{padding-top:2px}main{padding:25px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:24px}.heading-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:10px}.snapshot{font-size:.75rem;white-space:normal;max-width:155px}.heading-actions .button{font-size:.8125rem;padding:11px 12px}.stats-grid{gap:12px;margin-bottom:18px}.stat-card{padding:17px 15px}.stat-top{font-size:.8125rem;margin-bottom:15px;gap:6px}.stat-icon{width:27px;height:27px}.stat-icon .icon{width:16px;height:16px}.stat-value{font-size:1.85rem}.stat-detail{font-size:.75rem}.panel{padding:20px 17px}.overview-grid,.analytics-lower{gap:18px;margin-bottom:18px}.panel-heading{gap:12px}.panel-heading h2{font-size:1.0625rem}.text-button{font-size:.8125rem}.row-name{font-size:.875rem}.row-value{font-size:.8125rem}.row-detail{font-size:.75rem}.attention-row{gap:10px}.initials{width:32px;height:32px}.analytics-stats{grid-template-columns:1fr}.analytics-stats .stat-card{display:grid;grid-template-columns:1fr auto;gap:0 20px;align-items:center}.analytics-stats .stat-top{margin-bottom:8px}.analytics-stats .stat-value{grid-row:1/3;grid-column:2;font-size:2rem}.analytics-stats .stat-detail{margin-top:0}.analytics-stats .stat-icon{display:none}.analytics-controls{gap:15px}.analytics-controls .segmented{width:100%;justify-content:space-between}.analytics-controls .segmented button{flex:1;padding:9px 7px;font-size:.75rem}.chart-footnote{flex-direction:column;align-items:flex-start;gap:6px}.chart-legend{gap:8px 16px}.metric-switch button{min-width:65px}.filter-bar{gap:12px}.search-field{flex-basis:100%}.filter-field{flex:1;min-width:120px}.filter-field select{width:100%}.table-note{font-size:.75rem}.dashboard-footer{flex-direction:column;align-items:flex-start;gap:12px}.schedule-entry{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:15px 12px}.schedule-entry>.stage{grid-column:2;width:fit-content}.job-row{gap:10px}.job-time{min-width:65px}.job-row .stage{display:none}.lead-dialog{padding:22px}.form-grid{gap:15px}.small-label{font-size:.75rem}}
@media(max-width:380px){.workspace{display:none}.app-nav{gap:2px}.app-nav button{font-size:.8125rem;padding:10px}.app-nav button>[data-icon]{display:none}main{padding:24px 15px}.topbar{padding:0 15px}.demo-banner{padding:12px 15px}.stat-value{font-size:1.6rem}.stat-top{font-size:.75rem}.stat-icon{display:none}.form-grid{grid-template-columns:1fr}.analytics-controls .segmented button{font-size:.75rem;padding:10px 5px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}.panel{animation:reveal .2s ease-out}@keyframes reveal{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}


@media(max-width:760px){.analytics-stats .stat-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.analytics-stats .stat-value{font-size:clamp(1.35rem,4.8vw,2rem);text-align:right;letter-spacing:-.055em}}
@media(max-width:380px){.owner{display:none}}
