:root{--line:#d9e3f2;--ok:#137a4a;--font-display:"Montserrat",Arial,sans-serif;--font-body:"Inter",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.45 var(--font-body)}a{color:var(--blue);text-decoration:none}.topbar{display:flex;align-items:center;padding:8px 24px;color:#fff}.brand{font:800 15px var(--font-display);letter-spacing:.12em}.topbar nav{display:flex;gap:22px}.topbar nav a{color:#c9d8f2;font-weight:500}.topbar nav a.active{color:#fff}main{padding:24px;max-width:1600px}h1{font:800 24px var(--font-display);margin:0 0 4px}.sub{color:var(--muted);margin:0 0 20px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.kpi{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font:700 20px var(--font-display);color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.kpi .note{color:var(--muted);font-size:12px}.kpi.alert .value{color:var(--red)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.filters a{padding:5px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-size:13px}.filters a.on{background:var(--navy);border-color:var(--navy);color:#fff}.filters .sep{width:1px;height:20px;background:var(--line);margin:0 4px}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left}th{position:-webkit-sticky;position:sticky;top:0;background:var(--mist);color:var(--navy);font-size:12px;font-weight:600}td.num,th.num{text-align:right}tbody tr:hover{background:#f7faff}tfoot td{font-weight:600;background:var(--mist)}.pin{position:-webkit-sticky;position:sticky;z-index:1;background:var(--bg)}.pin-num{left:0}.pin-name{overflow:hidden;text-overflow:ellipsis;box-shadow:1px 0 0 var(--line),6px 0 8px -6px rgba(5,44,111,.18)}thead th.pin{z-index:3}tfoot td.pin,thead th.pin{background:var(--mist)}tbody tr:hover .pin{background:#f7faff}.customer{font-weight:500}.neg{color:var(--red)}.stage{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:500}.stage.awaiting-install{background:#e6f0ff;color:var(--blue-2)}.stage.needs-attention{background:#fde8eb;color:#b10a1f}.stage.awaiting-payment{background:#fff4e0;color:#8a5a00}.stage.awaiting-funding{background:#f1ecff;color:#5a3fb8}.stage.collected{background:#e3f6ec;color:var(--ok)}.stage.cancelled,.stage.closed{background:#eceff4;color:var(--muted)}.stage.cancelled{text-decoration:line-through}.issues{color:var(--red);font-size:12px;white-space:normal;min-width:180px}.empty{padding:32px;text-align:center}.error{border:1px solid var(--red);color:var(--red);padding:12px 16px;border-radius:8px}.login{max-width:360px;margin:64px auto}.login form{display:grid;grid-gap:10px}.login label{font-weight:600;font-size:13px;color:var(--navy)}.login input[type=password]{padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit}.login button:focus-visible,.login input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.login button{padding:10px 12px;border:0;border-radius:6px;background:var(--navy);color:#fff;font:600 14px var(--font-body);cursor:pointer}.login .error{margin:0;padding:8px 12px}.th-inner{display:inline-flex;align-items:center;gap:6px}th.num .th-inner{flex-direction:row-reverse}.colbtn{border:0;background:transparent;color:var(--muted);font:600 13px var(--font-body);line-height:1;padding:2px 4px;border-radius:4px;cursor:pointer;opacity:0}.col-collapsed .colbtn,.colbtn:focus-visible,th:hover .colbtn{opacity:1}.colbtn:hover{background:var(--line);color:var(--navy)}.colbtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}td.col-collapsed,th.col-collapsed{width:28px;min-width:28px;max-width:28px;padding:7px 0;text-align:center;background-image:repeating-linear-gradient(0deg,transparent 0 6px,var(--mist) 6px 7px)}th.col-collapsed{background-image:none}.linkbtn{border:0;background:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline}@media (hover:none){.colbtn{opacity:1}}.sortbtn{border:0;background:transparent;padding:2px 4px;margin:-2px -4px;border-radius:4px;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.sortbtn span{font-size:9px;color:var(--blue);margin-left:2px}.sortbtn:hover{background:var(--line)}.sortbtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}td.calc{background:#f7f9fc;color:#3c4a63}td.editable{cursor:text}td.editable:hover{box-shadow:inset 0 0 0 1px var(--blue)}td.editable:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}td.is-editing{padding:2px 4px;box-shadow:inset 0 0 0 2px var(--blue)}td.saving{opacity:.55}td.cell-error{box-shadow:inset 0 0 0 2px var(--red)}td.center{text-align:center}td.wrap{white-space:normal;min-width:220px}.cell-input{width:100%;min-width:110px;padding:4px 6px;border:0;background:#fff;font:inherit;color:var(--ink);outline:none}.cell-input.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.products-editor{display:grid;grid-gap:4px;gap:4px;padding:6px;min-width:200px;white-space:nowrap}.products-editor label{display:flex;align-items:center;gap:6px;font-size:13px}.products-editor .qty{width:46px;padding:2px 4px;border:1px solid var(--line);border-radius:4px;font:inherit}.products-actions{display:flex;gap:10px;align-items:center;margin-top:4px}.btn-primary{padding:4px 12px;border:0;border-radius:5px;background:var(--navy);color:#fff;font:600 13px var(--font-body);cursor:pointer}.table-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:0 0 8px;color:var(--muted);font-size:13px}.legend{display:inline-flex;align-items:center;gap:6px}.flash{margin:0 0 8px;padding:8px 12px;border:1px solid var(--red);border-radius:6px;color:var(--red);font-size:13px}.payables .person-row td{border-bottom:0}.payables .person-row .strong{font-weight:700;color:var(--navy)}.payables .detail-row>td{padding:0 10px 10px}.payables details summary{cursor:pointer;color:var(--blue);font-size:13px;padding:2px 0}.payables details[open] summary{margin-bottom:6px}.payables table.lines{border:1px solid var(--line);border-radius:6px}.payables table.lines th{position:static;background:#f7f9fc;font-weight:600}.payables table.lines td,.payables table.lines th{padding:5px 8px;font-size:13px}.status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:500}.status.payable{background:#e3f6ec;color:var(--ok)}.status.waiting{background:#fff4e0;color:var(--warn)}.status.paid{background:#eceff4;color:var(--muted)}.status.overpaid{background:#fde8eb;color:var(--red)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(5,20,50,.45)}.modal{max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 20px 50px rgba(5,20,50,.3)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font:700 16px var(--font-display);color:var(--navy)}.modal-x{border:0;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:4px}.modal-x:hover{background:var(--mist);color:var(--navy)}.modal-body{padding:16px 18px 18px;display:grid;grid-gap:14px;gap:14px}.modal .products-editor{padding:0;gap:8px}.modal .products-editor label{font-size:14px}td.action{padding:0}.cellbtn{width:100%;padding:7px 10px;border:0;background:none;font:inherit;color:var(--blue);text-align:right;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.cellbtn:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.pay-summary{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted)}.pay-summary strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.mini th{position:static;background:#f7f9fc}table.mini td,table.mini th{padding:5px 8px;font-size:13px}.date-inline{border:1px solid var(--line);border-radius:4px;padding:2px 4px;font:inherit}.hint{color:var(--warn);font-size:12px;margin:0 0 0 6px}p.hint{margin:0}.pay-form{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:12px}.pay-form h3{margin:0;font-size:14px;color:var(--navy)}.pay-form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.pay-form label{display:grid;grid-gap:4px;gap:4px;font-size:12px;font-weight:600;color:var(--navy)}.pay-form input,.pay-form select{padding:7px 8px;border:1px solid var(--line);border-radius:6px;font:14px var(--font-body)}.seg{display:inline-flex;border:1px solid var(--line);overflow:hidden;width:-moz-fit-content;width:fit-content}.seg button{border:0;background:#fff;padding:5px 14px;font:500 13px var(--font-body);cursor:pointer;color:var(--ink)}.seg button.on{background:var(--navy);color:#fff}.linkbtn.danger{color:var(--red)}button:disabled{opacity:.5;cursor:default}.tabs{display:flex;gap:4px;margin:6px 0 16px;border-bottom:1px solid var(--line)}.tabs a{padding:8px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.on{border-bottom-color:var(--navy)}.run-head{gap:14px;flex-wrap:wrap;margin-bottom:14px}.run-head,.run-title{display:flex;align-items:center}.run-title{font:700 18px var(--font-display);color:var(--navy);gap:10px}.btn-ghost{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-size:16px}.btn-ghost:hover,.pill{background:var(--mist)}.pill{font:600 11px var(--font-body);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;color:var(--muted)}.pill.now{background:var(--blue);color:#fff}.pill.past{background:#eceff4}.run-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.stat{border-radius:8px;padding:10px 14px;border:1px solid var(--line);border-left-width:4px}.stat .label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.stat .value{font:700 20px var(--font-display)}.stat .note{font-size:12px;color:var(--muted)}.stat.new{border-left-color:var(--ok)}.stat.carry{border-left-color:var(--warn)}.stat.paid{border-left-color:#9aa7bd}.stat.due{border-left-color:var(--red)}.stat.big .value{font-size:24px}h2.section{font:700 16px var(--font-display);margin:22px 0 8px}table.run .person-head td{background:var(--mist);border-top:2px solid #c9d6ea}table.run tr.is-paid td{color:var(--muted)}table.run .due{color:var(--red)}.btn-outline{padding:4px 12px;border:1px solid var(--navy);border-radius:5px;font:600 13px var(--font-body)}.btn-outline:hover{background:var(--mist)}.paid-cell{display:inline-flex;gap:10px;align-items:center;color:var(--ok);font-weight:600}.hint.block{margin:0 0 12px;padding:8px 12px;border:1px solid #f0d9b5;background:#fffaf0;border-radius:6px}.small{font-size:12px;margin:6px 0 0}details.waiting{margin-top:22px}details.waiting summary{cursor:pointer;color:var(--navy);font-weight:600;margin-bottom:8px}.section-head{display:flex;align-items:baseline;gap:16px}.fold-all{display:inline-flex;gap:12px;font-size:13px}.fold{border:0;background:none;width:22px;padding:0;margin-right:4px;color:var(--navy);font-size:13px;cursor:pointer;border-radius:4px}.fold:hover{background:#dde7f6}.fold:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.fold-name{cursor:pointer}.ledger-scroll{max-height:calc(100vh - 190px);min-height:320px;overflow:auto}.ledger-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.ledger-scroll thead th.pin{z-index:4}.ledger-scroll tfoot td{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;box-shadow:inset 0 1px 0 var(--line)}.ledger-scroll tfoot td.pin{z-index:4}.pin-name{width:240px;min-width:240px;max-width:240px}.filters.views{margin:0}.filters.views button{padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:500 13px var(--font-body);cursor:pointer}.filters.views button.on{background:var(--navy);border-color:var(--navy);color:#fff}.pin-stage{box-shadow:none}td.col-collapsed,th.col-collapsed{width:22px;min-width:22px;max-width:22px}.toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;cursor:pointer;font:500 13px var(--font-body);color:var(--muted)}.toggle .knob{position:relative;width:30px;height:17px;border-radius:999px;background:#cdd6e4;transition:background .15s;flex:none}.toggle .knob:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.toggle.on{color:var(--ok)}.toggle.on .knob{background:var(--ok)}.toggle.on .knob:after{transform:translateX(13px)}.toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.toggle .knob,.toggle .knob:after{transition:none}}td.age-warn{color:var(--warn);font-weight:600}td.age-bad{color:var(--red);font-weight:700}.crumb,.view-note{color:var(--muted)}.crumb{margin:0 0 4px}.form-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px;max-width:900px}.form-card{display:grid;grid-gap:6px;gap:6px;padding:18px 20px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.form-card:hover{box-shadow:0 4px 14px rgba(5,44,111,.08)}.form-card-kicker{font:600 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.form-card-title{font:700 18px var(--font-display);color:var(--navy)}.form-card-text{color:var(--muted)}.field-form{display:grid;grid-gap:16px;gap:16px;max-width:820px}.field-form fieldset{border:1px solid var(--line);border-radius:10px;padding:14px 16px 16px;margin:0;display:grid;grid-gap:12px;gap:12px}.field-form legend{padding:0 6px;font:700 14px var(--font-display)}.field-form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.field-form label{display:grid;grid-gap:4px;gap:4px;font-size:12px;font-weight:600;color:var(--navy)}.field-form label.wide{grid-column:1/-1}.field-form label.check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink)}.field-form input,.field-form select,.field-form textarea{padding:9px 10px;border:1px solid var(--line);border-radius:6px;font:15px var(--font-body);color:var(--ink);background:#fff}.field-form input:focus-visible,.field-form select:focus-visible,.field-form textarea:focus-visible{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}.field-form .computed{display:grid;grid-gap:4px;gap:4px;align-content:end;padding-bottom:8px;font-size:12px}.field-form .computed strong{font-size:16px}.hint-inline{color:var(--muted)}.hint-inline,.warn{margin:0;font-size:13px}.warn{padding:8px 12px;border:1px solid #f0d9b5;background:#fffaf0;border-radius:6px;color:var(--warn)}.sku-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:8px;gap:8px}.sku{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:6px 10px;gap:6px 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.sku.on{background:#f5f9ff}.sku.short{border-color:#f0b4b4;background:#fff6f6}.sku label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink)}.sku label>span{display:grid}.sku label .muted{font-size:12px;font-weight:400}.sku .avail{font-size:12px;color:var(--ok);white-space:nowrap}.sku .avail.none{color:var(--red)}.sku .qty{width:70px;grid-column:1/-1}.btn-primary.big{padding:10px 20px;border-radius:8px}.row-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.row-actions.tight{gap:10px}.form-done{max-width:640px;padding:20px 22px;border:1px solid #b9e3cb;background:#f2fbf6;border-radius:10px;display:grid;grid-gap:10px;gap:10px}.form-done h2{margin:0;font:700 18px var(--font-display);color:var(--ok)}.form-done p{margin:0}.job-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;max-height:360px;overflow:auto}.job-list li+li{border-top:1px solid var(--line)}.job-list button{width:100%;display:grid;grid-gap:2px;gap:2px;text-align:left;padding:10px 12px;border:0;background:#fff;font:14px var(--font-body);color:var(--ink);cursor:pointer}.job-list button:focus-visible,.job-list button:hover{background:#f5f9ff;outline:none}.job-list .pad{padding:12px}.picked{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--blue);border-radius:8px;background:#f5f9ff}.pull{margin:0;font-size:15px;font-weight:600}.inv-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600}.inv-status.ok{background:#e3f6ec;color:var(--ok)}.inv-status.order{background:#fff4e0;color:var(--warn)}.inv-status.short{background:#fde8eb;color:var(--red)}.inv-status.idle{background:#eceff4;color:var(--muted)}td.strong{font-weight:700}.section-head .btn-primary{margin-left:auto}.po-lines input,.po-lines select{padding:5px 6px;border:1px solid var(--line);border-radius:5px;font:13px var(--font-body)}.po-lines input{width:90px;text-align:right}tbody tr:target td{background:#fff7d6}tbody tr[id^=deal-]{scroll-margin-top:120px}.activity-day{margin-bottom:18px}.activity{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff}.act{display:grid;grid-template-columns:76px 120px 1fr 120px 100px;grid-gap:12px;gap:12px;align-items:baseline;padding:10px 14px;border-top:1px solid var(--line);font-size:14px}.act:first-child{border-top:0}.act-time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.act-kind{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--mist);color:var(--navy)}.act-kind.k-sale{background:#e3efff;color:#0a4fae}.act-kind.k-install,.act-kind.k-po_received{background:#e2f6ea;color:#17673a}.act-kind.k-po_cancelled{background:#fde7ea;color:#a10b1f}.act-kind.k-adjustment{background:#fff1d6;color:#8a5a00}.act-body a{color:var(--navy);font-weight:600}.act-detail{display:block;font-size:13px;margin-top:2px}.act-detail,.act-loc{color:var(--muted)}.act-amt{text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:760px){.act{grid-template-columns:64px 1fr;row-gap:4px}.act-body{grid-column:1/-1}.act-amt,.act-loc{text-align:left}}.segmented{display:inline-flex;border:1px solid var(--navy);border-radius:8px;overflow:hidden;flex-shrink:0}.segmented button{border:0;border-left:1px solid var(--navy);background:#fff;color:var(--navy);font:600 13px var(--font-body);padding:6px 14px;cursor:pointer;white-space:nowrap}.segmented button:first-child{border-left:0}.segmented button:hover{background:var(--mist)}.segmented button.on{background:var(--navy);color:#fff}.segmented button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.filters.loc-pills{margin:0;padding-left:16px;border-left:1px solid var(--line)}.filters.loc-pills a{padding:4px 11px;font-size:12.5px}.filters.loc-pills a.on{background:var(--mist);border-color:var(--blue);color:var(--navy);font-weight:600}td.calc.owed,td.owed{background:#fdecee;color:var(--red);font-weight:600}.segmented a{border-left:1px solid var(--navy);background:#fff;color:var(--navy);font:600 13px var(--font-body);padding:6px 14px;white-space:nowrap;text-decoration:none}.segmented a:first-child{border-left:0}.segmented a:hover{background:var(--mist)}.segmented a.on{background:var(--navy);color:#fff}.home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin:4px 0 22px}.big-stat{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.big-stat:hover{box-shadow:0 2px 10px rgba(5,44,111,.08)}.big-stat .label{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.big-stat .value{font:800 30px var(--font-display);line-height:1.1}.big-stat.due{border-top-color:var(--red)}.big-stat .flag{font-size:12px;color:var(--warn)}.home-boards{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-gap:18px;gap:18px}.board table{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.board td,.board-name{position:relative}.board-name{z-index:1;font-weight:600}.board-bar{position:absolute;left:8px;bottom:4px;border-radius:2px;opacity:.45}@media (max-width:480px){.home-boards{grid-template-columns:1fr}}.file-btn{display:inline-flex;align-items:center;padding:6px 14px;cursor:pointer}table.bank td.desc{max-width:560px;white-space:normal;font-size:13px}table.bank tr.review td{background:#fffaf0}table.bank td.in{color:#17673a}.catbtn,.nowrap{white-space:nowrap}.catbtn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font:500 12.5px var(--font-body);color:var(--ink);cursor:pointer}.catbtn:hover{border-color:var(--blue)}.catbtn.k-uncategorized{border-color:var(--red);color:var(--red)}.catbtn.k-income,.catbtn.k-other_income{background:#e2f6ea;border-color:#bfe5cd}.catbtn.k-ledger{background:var(--mist)}.catbtn.k-financing,.catbtn.k-transfer{background:#f3f0fb;border-color:#ddd5f3}.bank-line{margin:0 0 4px;font-size:13px;color:var(--muted);word-break:break-word}.table-bar input[type=search],.table-bar select{padding:5px 8px;border:1px solid var(--line);border-radius:6px;font:13px var(--font-body)}.report-flags{margin:0 0 14px;padding:10px 14px 10px 30px;border:1px solid #f0d9b5;background:#fffaf0;border-radius:8px;color:#6b4a00;font-size:13px}.report-flags li+li{margin-top:4px}table.statement{min-width:640px}table.statement td:first-child{min-width:300px}table.statement .st-heading td{padding-top:16px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--line);background:transparent}table.statement .st-detail td:first-child{padding-left:24px}table.statement .st-subtotal td{font-weight:700;border-top:1px solid var(--navy)}table.statement .st-grand td{font-weight:800;font-size:15px;border-top:2px solid var(--navy);border-bottom:3px double var(--navy)}table.statement .st-memo td{color:var(--muted);font-style:italic}table.statement .st-memo td:first-child{padding-left:24px}table.statement td.total{background:#f7f9fc}table.statement td.neg-paren{color:#a10b1f}.st-flag{color:var(--warn);font-size:12px;font-weight:500}.topbar nav.mainnav{display:flex;gap:6px;align-items:stretch}.mainnav .navtop{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-radius:6px;background:none;font:500 15px var(--font-body);cursor:pointer;text-decoration:none;white-space:nowrap}.mainnav .navtop:hover,.navgroup.open .navtop{background:hsla(0,0%,100%,.08)}.mainnav .navtop:focus-visible{outline:2px solid #8fc2ff;outline-offset:1px}.caret{font-size:10px;opacity:.7;transition:transform .15s}.navgroup{position:relative}.navgroup.open .caret{transform:rotate(180deg)}.navmenu{position:absolute;top:100%;left:0;z-index:50;min-width:180px;margin-top:4px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(5,44,111,.18);display:none}.navgroup.open .navmenu{display:block}.navmenu:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.topbar .navmenu a{display:block;padding:8px 12px;border-radius:6px;color:var(--ink);font:500 14px var(--font-body);text-decoration:none}.topbar .navmenu a:hover{background:var(--mist);color:var(--navy)}.topbar .navmenu a.active{color:var(--navy);font-weight:700}.brand{white-space:nowrap}@media (max-width:640px){.topbar{flex-wrap:wrap;gap:4px 12px;padding:8px 12px}.topbar nav.mainnav{flex-wrap:wrap;gap:2px}.mainnav .navtop{padding:7px 9px;font-size:14px}}.field-form label.check.inline{display:inline-flex;margin-left:8px}table.payout-lines tr.waiting td{color:var(--muted)}table.payout-lines tr.on td{background:#f4f9ff}table.payout-lines input.amt{width:110px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;font:inherit;text-align:right}.act-kind.k-payout{background:#f3f0fb;color:#4b2a9a}.payees{display:flex;flex-direction:column;gap:8px;margin:4px 0 90px;max-width:1100px}.payee{border:1px solid var(--line);border-radius:10px;background:#fff}.payee.on{border-color:#b9d6fb;box-shadow:inset 4px 0 0 var(--blue)}.payee-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px}.payee-head label.check{min-width:170px}.payee-head input.ref,.payee-head select{padding:5px 8px;border:1px solid var(--line);border-radius:6px;font:13px var(--font-body)}.payee-head input.ref{width:130px}.payee-spacer{flex:1 1}.payee-total{min-width:110px;text-align:right;font:700 15px var(--font-display);color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.payee-body{padding:0 14px 12px;border-top:1px solid var(--line)}.pill.warn-pill{padding:1px 8px;border-radius:999px;background:#fff1d6;color:#8a5a00;font-size:12px;font-weight:600}.payout-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:18px;max-width:1100px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 -6px 20px rgba(5,44,111,.08)}.payout-bar-total{margin-left:auto;font:800 20px var(--font-display);color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.payee-head label.check{min-width:0}.payee-spacer{display:none}}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:6px}.page-head h1{margin:0}.page-actions{display:flex;gap:8px;margin-left:auto}a.page-btn{display:inline-flex;align-items:center;padding:7px 14px;font-size:13.5px;text-decoration:none}a.btn-primary.page-btn:hover{background:#0a3a8c}.frame{display:flex;align-items:center;gap:6px;padding-left:16px;border-left:1px solid var(--line)}.frame input[type=date],.frame select{padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font:500 12.5px var(--font-body);color:var(--ink)}.frame input[type=date]{border-radius:6px}.frame select.on{border-color:var(--blue);color:var(--navy);font-weight:600}.stagebtn{cursor:pointer}.stagebtn:hover .stage{outline:1px solid var(--blue);outline-offset:1px}.btn-danger{padding:6px 14px;border:0;border-radius:5px;background:var(--red);color:#fff;font:600 13px var(--font-body);cursor:pointer}.btn-danger:hover{background:#c40a21}.cellbtn.stagebtn{text-align:left;text-decoration:none;padding:4px 6px}.table-bar>.frame:first-child{border-left:0;padding-left:0}.frame select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:5px 30px 5px 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23052c6f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;cursor:pointer}.frame select.on{background-color:var(--mist)}:root{--navy:#052c6f;--navy-2:#0a3a8c;--blue:#087dfc;--blue-2:#0068d6;--red:#eb0d28;--ink:#17233b;--muted:#5b6b86;--mist:#eef6ff;--page:#f4f8fe;--line:#dfe8f5;--line-2:#cfdcee;--ok:#12804e;--warn:#a35b00;--bg:#fff;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgba(5,44,111,.05),0 6px 18px rgba(5,44,111,.05);--shadow-lg:0 18px 50px rgba(5,30,80,.22);--ring:0 0 0 3px rgba(8,125,252,.22)}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--ink);font:14px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}::selection{background:rgba(8,125,252,.18)}main{max-width:1680px;margin:0 auto;padding:28px 32px 48px}h1{font:800 30px/1.15 var(--font-display);letter-spacing:-.01em;margin:0 0 14px}h1,h2.section{color:var(--navy)}h2.section{font:700 17px var(--font-display);margin:28px 0 10px}.muted{color:var(--muted)}:focus-visible{outline:none;box-shadow:var(--ring)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;gap:28px;padding:0 32px;height:64px;background:var(--navy);border-top:4px solid var(--blue);box-shadow:0 2px 12px rgba(5,30,80,.18)}.topbar:before{content:"";position:absolute;left:0;top:-4px;width:24%;height:4px;background:var(--red)}.brand{display:inline-flex;align-items:center;gap:10px;flex:none}.brand-shield{width:34px;height:auto}.brand-word{width:134px;height:auto}.mainnav .navtop{padding:8px 14px;border-radius:999px;color:#c9d8f2;font:500 14.5px var(--font-body)}.mainnav .navtop:hover,.navgroup.open .navtop{background:hsla(0,0%,100%,.1);color:#fff}.mainnav .navtop.active{color:#fff;background:hsla(0,0%,100%,.14)}.navmenu{border-radius:12px;padding:6px;box-shadow:var(--shadow-lg);border-color:var(--line)}.topbar .navmenu a{border-radius:8px;padding:9px 12px}.topbar .navmenu a.active{color:var(--blue);background:var(--mist)}.activity,.big-stat,.board table,.field-form fieldset,.form-card,.form-done,.job-list,.payee,.payout-bar,.picked,.stat,.tablewrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tablewrap{overflow:auto}td,th{padding:10px 12px;border-bottom:1px solid #edf2f9}th{background:#f7faff;color:#4a5d7e;font:600 11.5px var(--font-body);text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:#f6faff}tbody tr:last-child td,tfoot td{border-bottom:0}tfoot td{background:#f7faff;color:var(--navy);font-weight:700;border-top:1px solid var(--line)}.pin{background:#fff}tfoot td.pin,thead th.pin{background:#f7faff}tbody tr:hover .pin{background:#f6faff}td.calc{background:#fafcff;color:#34435e}.ledger-scroll{max-height:calc(100vh - 210px)}.ledger-scroll thead th{box-shadow:inset 0 -1px 0 var(--line)}.home-stats,.run-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;margin:0 0 22px}.big-stat,.stat{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-left-width:1px;border-top-width:1px;overflow:hidden;color:inherit;text-decoration:none}.big-stat .label,.stat .label{font:600 11.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stat .value{font:800 24px/1.1 var(--font-display);color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big-stat .value{font:800 32px/1.1 var(--font-display);color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big-stat:before,.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue);opacity:.85}.stat.paid:before{background:#a9b6cb}.stat.new:before{background:var(--ok)}.big-stat.due:before,.stat.due:before{background:var(--red)}.stat.due .value{color:var(--red)}.big-stat:hover{box-shadow:0 2px 4px rgba(5,44,111,.06),0 12px 28px rgba(5,44,111,.1);transform:translateY(-1px)}.big-stat{transition:box-shadow .15s,transform .15s;border-top:1px solid var(--line)}.big-stat .flag,.stat .note{font-size:12px;color:var(--warn)}@media (prefers-reduced-motion:reduce){.big-stat{transition:none}.big-stat:hover{transform:none}}.btn-primary,.login button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border:0;border-radius:999px;background:var(--blue);color:#fff;font:600 14px var(--font-body);cursor:pointer;text-decoration:none;box-shadow:0 1px 2px rgba(8,125,252,.3);transition:background .15s}.btn-primary:hover,.login button:hover,a.btn-primary.page-btn:hover{background:var(--blue-2)}.btn-primary.big{padding:12px 24px;font-size:15px;border-radius:999px}.btn-outline{display:inline-flex;align-items:center;padding:7px 16px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--navy);font:600 13.5px var(--font-body);cursor:pointer;text-decoration:none}.btn-outline:hover{border-color:var(--navy);background:#fff}.btn-danger{border-radius:999px;padding:8px 18px;font-size:14px}a.page-btn{padding:9px 18px;font-size:14px}.btn-ghost{border-radius:999px;background:#fff;border-color:var(--line-2)}.linkbtn{color:var(--blue);text-decoration:none;font-weight:500}.linkbtn:hover{text-decoration:underline}.btn-primary:disabled,button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.segmented{gap:2px;padding:3px;border:0;border-radius:999px;background:#e3ecf8}.segmented a,.segmented button{border:0;border-radius:999px;padding:6px 14px;background:transparent;color:#3d5175;font:600 13px var(--font-body)}.segmented a:hover,.segmented button:hover{background:hsla(0,0%,100%,.6);color:var(--navy)}.segmented a.on,.segmented button.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(5,44,111,.16)}.filters a{background:#fff;border-color:var(--line-2);color:#3d5175;font-weight:500}.filters a:hover{border-color:var(--blue);color:var(--navy)}.filters a.on,.filters.loc-pills a.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.filters.loc-pills,.frame{border-left-color:var(--line-2)}.table-bar{gap:14px;margin:0 0 14px}.tabs{gap:2px;margin:0 0 20px;border-bottom:1px solid var(--line-2)}.tabs a{padding:10px 14px;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}.tabs a.on,.tabs a:hover{color:var(--navy)}.tabs a.on{border-bottom-color:var(--blue)}.field-form input,.field-form select,.field-form textarea,.login input[type=password],.pay-form input,.pay-form select,.payee-head input.ref,.payee-head select,.table-bar input[type=search],.table-bar select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:#fff;color:var(--ink);transition:border-color .12s,box-shadow .12s}.field-form input,.field-form select,.field-form textarea,.login input[type=password],.pay-form input,.pay-form select{padding:10px 12px;font:15px var(--font-body)}.payee-head input.ref,.payee-head select,.table-bar input[type=search],.table-bar select{padding:7px 12px;font:13.5px var(--font-body);border-radius:999px}.field-form input:focus,.field-form select:focus,.field-form textarea:focus,.frame input:focus,.frame select:focus,.login input:focus,.pay-form input:focus,.pay-form select:focus,.payee-head input:focus,.payee-head select:focus,.table-bar input:focus,.table-bar select:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.field-form label,.pay-form label{font:600 12.5px var(--font-body);color:var(--navy);gap:6px}.frame input[type=date],.frame select{border-color:var(--line-2);padding-top:7px;padding-bottom:7px;font-size:13px}.frame select{padding-left:14px}.field-form{gap:18px;max-width:880px}.field-form fieldset{padding:20px 22px 22px;gap:14px}.field-form legend{float:left;width:100%;padding:0;margin:0 0 2px;font:700 16px var(--font-display);color:var(--navy)}.field-form legend+*{clear:both}.crumb{margin:0 0 6px;font-size:13px}.crumb a{color:var(--blue)}.sku{border-radius:var(--radius-sm);background:#fff}.sku.on{background:#f3f8ff;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.form-done{padding:24px;border-color:#bfe5cf;background:#f3fbf6}.form-cards{gap:16px;max-width:1000px}.form-card{gap:8px;padding:22px 24px;transition:border-color .15s,box-shadow .15s,transform .15s}.form-card:hover{border-color:var(--blue);box-shadow:0 12px 28px rgba(5,44,111,.1);transform:translateY(-1px)}.form-card-title{font:800 20px var(--font-display)}.form-card-title:after{content:" →";color:var(--blue)}.hint.block,.report-flags,.warn{border-radius:var(--radius-sm);border-color:#f3dcb4;background:#fff8ec;color:#7a4a00}.flash{border-radius:var(--radius-sm);border-color:#f5b5bd}.error,.flash{background:#fff3f4}.error{border-radius:var(--radius-sm)}.empty{color:var(--muted)}.act-kind,.inv-status,.pill,.stage,.status{font-weight:600;letter-spacing:.01em}.catbtn{border-color:var(--line-2)}.modal{border-radius:18px;box-shadow:var(--shadow-lg)}.modal-head{padding:18px 22px}.modal-head h2{font:800 18px var(--font-display)}.modal-body{padding:18px 22px 22px}.modal-backdrop{background:rgba(5,25,60,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.act{padding:12px 18px;border-top-color:#edf2f9}.activity-day h2.section{font-size:15px;margin-top:20px}.home-boards{gap:20px}.board table{overflow:hidden;border-collapse:separate;border-spacing:0}.board-bar{background:var(--blue);opacity:.35;height:3px}.payee{box-shadow:var(--shadow)}.payee.on{border-color:#b7d5fb;box-shadow:inset 4px 0 0 var(--blue),var(--shadow)}.payee-total{font:800 16px var(--font-display)}.payout-bar{border-radius:16px;box-shadow:0 -4px 24px rgba(5,44,111,.12)}table.statement .st-heading td{color:var(--blue);font-size:11.5px;letter-spacing:.07em;background:#fff}table.statement td.total{background:#f7faff}table.statement td.neg-paren{color:#b0102a}.login{display:grid;justify-items:center;grid-gap:6px;gap:6px;max-width:400px;margin:9vh auto;padding:36px 34px 32px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);text-align:center}.login-shield{width:64px;height:auto;margin-bottom:4px}.login h1{margin:4px 0 14px;font-size:26px}.login form{width:100%;text-align:left;gap:10px}.login button{width:100%;padding:12px;font-size:15px;margin-top:4px}@media (max-width:760px){main{padding:18px 14px 40px}h1{font-size:25px}.topbar{height:auto;flex-wrap:nowrap;gap:10px;padding:8px 12px}.brand-word{display:none}.topbar nav.mainnav{flex-wrap:nowrap;overflow-x:auto;gap:2px;scrollbar-width:none}.topbar nav.mainnav::-webkit-scrollbar{display:none}.mainnav .navtop{padding:7px 11px;font-size:14px}.navmenu{position:fixed;left:12px;right:12px;top:60px}.home-stats,.run-totals{grid-template-columns:1fr 1fr;gap:10px}.big-stat,.stat{padding:12px 14px}.big-stat .value{font-size:22px}.stat .value{font-size:19px}.table-bar{gap:10px}.filters.loc-pills,.frame{padding-left:0;border-left:0}.page-actions{margin-left:0;width:100%}.board{overflow-x:auto}table.bank td.desc{min-width:220px}.field-form fieldset{padding:16px}}.big-stat,.big-stat.due{border-top:1px solid var(--line)}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{white-space:nowrap;flex:none}.segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}@media (max-width:760px){.payee-head{display:grid;grid-template-columns:1fr auto;grid-gap:8px 10px;gap:8px 10px}.payee-head label.check{grid-column:1}.payee-head .payee-total{grid-column:2;grid-row:1}.payee-head>.linkbtn{grid-column:1/-1;justify-self:start}.payee-head input.ref,.payee-head select{width:100%}}.field-form input,.field-form select,.field-form textarea,.pay-form input,.pay-form select{width:100%;min-width:0}.field-form input[type=checkbox],.field-form input[type=radio],.pay-form input[type=checkbox]{width:auto}.btn-danger,.btn-outline,.btn-primary{white-space:nowrap;flex:none}.seg{gap:2px;padding:3px;border:0;background:#e3ecf8}.seg,.seg button{border-radius:999px}.seg button{background:transparent;color:#3d5175;font-weight:600;padding:6px 14px}.seg button.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(5,44,111,.16)}.field-form .payee-head select{width:auto}.field-form .payee-head input.ref{width:140px}.payee,.payee-head,.payees{min-width:0}@media (max-width:760px){.payee-head{grid-template-columns:minmax(0,1fr) auto}.field-form .payee-head input.ref,.field-form .payee-head select{width:100%}.payee-head select{grid-column:1}.payee-head input.ref{grid-column:2;width:120px}.payout-bar{gap:10px;padding:10px 12px;font-size:13px}.payout-bar-total{font-size:17px}.payout-bar .btn-primary.big{padding:10px 16px;font-size:14px}}.navuser{margin-left:auto}.topbar nav.mainnav{flex:1 1}.avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font:700 12px var(--font-body)}.navuser-name{max-width:160px;overflow:hidden;text-overflow:ellipsis}.navmenu.right{left:auto;right:0}.topbar .navmenu .menu-btn{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:none;text-align:left;color:var(--ink);font:500 14px var(--font-body);cursor:pointer}.topbar .navmenu .menu-btn:hover{background:#fff3f4;color:var(--red)}.navmenu form{margin:0}@media (max-width:760px){.navuser-name{display:none}.navmenu.right{left:12px;right:12px}}.login input[type=email]{padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius-sm);font:15px var(--font-body);color:var(--ink);background:#fff}.login input[type=email]:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.login p.muted{margin:0 0 14px}.field-form input.readonly{background:#f4f8fe;color:var(--navy);font-weight:600;cursor:default}.role-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--mist);color:var(--navy)}.role-pill.r-admin{background:var(--navy);color:#fff}.role-pill.r-sales{background:#e5f1ff;color:var(--blue-2)}.role-pill.r-installer{background:#e2f6ea;color:#17673a}.credential{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;padding:14px 16px;border:1px solid #bfe5cf;background:#f3fbf6;border-radius:var(--radius-sm)}.credential code{margin:0 4px;padding:2px 6px;border-radius:6px;background:#fff;border:1px solid #cfe9d9;font-size:13px}.pw-row{display:flex;gap:8px;align-items:center}.pw-row input{flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important}.check-row{display:flex!important;align-items:center;gap:8px;font-size:14px!important;font-weight:500!important;color:var(--ink)!important}.check-row input{width:auto!important}.pick-person{padding:7px 12px;border:1px solid var(--line-2);border-radius:999px;font:13.5px var(--font-body)}.cal-weeknav{align-items:center}.cal-range{font:700 15px var(--font-display);color:var(--navy);padding:0 6px;white-space:nowrap}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:start}.cal-day{min-height:140px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.cal-day.past{background:#fbfcfe}.cal-day.past .cal-ev{opacity:.72}.cal-day.today{border-color:var(--blue);box-shadow:inset 0 3px 0 var(--blue),var(--shadow)}.cal-day header{display:flex;align-items:baseline;gap:6px;margin:0 2px 8px}.cal-day .dn{font:700 12px var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cal-day.today .dn{color:var(--blue)}.cal-day .dd{font:800 15px var(--font-display);color:var(--navy)}.cal-day .dc{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--mist);color:var(--navy);font:700 11px/20px var(--font-body);text-align:center}.cal-none{margin:6px 2px;color:#9aa8bf;font-size:12.5px}.cal-day ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.cal-ev details{border-radius:10px;border:1px solid var(--line);border-left:4px solid var(--blue);background:#f7fbff}.cal-ev.k-install details{border-left-color:#12804e;background:#f4fbf7}.cal-ev.s-cancelled details{border-left-color:#b9c3d3;background:#fafbfd}.cal-ev.s-cancelled .title{text-decoration:line-through;color:var(--muted)}.cal-ev.s-noshow details{border-left-color:var(--red)}.cal-ev summary{display:grid;grid-gap:2px;gap:2px;padding:7px 9px;cursor:pointer;list-style:none}.cal-ev summary::-webkit-details-marker{display:none}.cal-ev summary:hover{background:rgba(8,125,252,.05);border-radius:9px}.cal-ev .t{font:700 12px var(--font-body);color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-ev .title{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}.cal-ev .meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11.5px;color:var(--muted)}.cal-ev .kind{font-weight:700;color:var(--blue-2)}.cal-ev .kind.k-install{color:#12804e}.cal-ev .st{font-weight:700;color:var(--warn)}.cal-ev.s-cancelled .st,.cal-ev.s-noshow .st{color:var(--red)}.cal-ev.s-showed .st{color:var(--ok)}.cal-more{padding:0 9px 9px;font-size:12.5px;color:#34435e}.cal-more p{margin:4px 0 0;overflow-wrap:anywhere}.cal-more .notes{white-space:pre-wrap;color:var(--muted)}.cal-week.compact .cal-day{min-height:110px}.home-cal{margin-bottom:26px}.home-cal-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:10px}.home-cal-head h2.section{margin:0;font-size:19px}.home-cal-head .page-btn{margin-left:auto}.home-numbers{margin-top:4px}@media (max-width:1100px){.cal-week{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.cal-week{grid-template-columns:1fr;gap:8px}.cal-day{min-height:0}.cal-day.past:not(.today){display:none}.cal-weeknav{margin-left:0}}.cal-more-link{display:block;margin:8px 2px 0;font-size:12.5px;font-weight:600}.topbar nav.mainnav{align-items:center}.mainnav .navgroup{display:flex;align-items:center}.mainnav .navtop{box-sizing:border-box;height:38px;line-height:1;margin:0;vertical-align:middle;font-family:var(--font-body);-webkit-appearance:none;-moz-appearance:none;appearance:none}.cal-month-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:16px;gap:16px;align-items:start}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.cal-wd{padding:9px 10px;background:#f7faff;color:#4a5d7e;font:700 11.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase}.cal-cell{display:flex;flex-direction:column;gap:4px;min-height:104px;padding:7px 8px;border:0;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}.cal-cell:hover{background:#f6faff}.cal-cell.out{background:#fafbfd}.cal-cell.out .num{color:#a9b5c8}.cal-cell.past .chips{opacity:.7}.cal-cell.sel{background:#eef6ff;box-shadow:inset 0 0 0 2px var(--blue)}.cal-cell:focus-visible{box-shadow:inset 0 0 0 2px var(--blue),var(--ring)}.cal-cell-head{display:flex;align-items:center;gap:6px}.cal-cell .num{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;font:700 13px var(--font-display);color:var(--navy)}.cal-cell.today .num{background:var(--blue);color:#fff}.cal-cell .counts{display:inline-flex;gap:3px;margin-left:auto}.cal-cell .counts span{min-width:18px;padding:0 5px;border-radius:999px;font:700 11px/18px var(--font-body);text-align:center}.cal-cell .c-sales{background:#e5f1ff;color:var(--blue-2)}.cal-cell .c-install{background:#e2f6ea;color:#17673a}.cal-cell .chips{display:grid;grid-gap:2px;gap:2px;min-width:0}.cal-cell .chip{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:1px 6px;border-left:3px solid var(--blue);border-radius:4px;background:#f3f8ff;font-size:11.5px;color:var(--ink)}.cal-cell .chip.k-install{border-left-color:#12804e;background:#f2faf5}.cal-cell .chip b{font-weight:700;color:var(--navy)}.cal-cell .more{font-size:11px;font-weight:600;color:var(--blue);padding-left:2px}.cal-daypanel{position:-webkit-sticky;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.cal-daypanel header{display:grid;grid-gap:2px;gap:2px;margin-bottom:12px}.cal-daypanel h3{margin:0;font:800 17px var(--font-display);color:var(--navy)}.cal-daypanel ul{list-style:none;margin:0;padding:0;grid-gap:8px;gap:8px}.cal-daypanel .cal-ev .t{font-size:12.5px}.cal-daypanel .cal-ev .title{font-size:14px}.cal-month-wrap.compact .cal-cell{min-height:88px}@media (max-width:1150px){.cal-month-wrap{grid-template-columns:1fr}.cal-daypanel{position:static;max-height:none}}@media (max-width:760px){.cal-cell{min-height:56px;padding:5px 4px;align-items:center}.cal-cell .chips{display:none}.cal-cell-head{flex-direction:column;gap:3px}.cal-cell .counts{margin-left:0}.cal-cell .counts span{min-width:8px;height:8px;padding:0;font-size:0;line-height:0}.cal-wd{padding:7px 0;text-align:center;font-size:10.5px}}.cal-month-wrap{grid-template-columns:minmax(0,1fr)}.cal-daypanel{position:static;max-height:none;overflow:visible}.cal-daypanel header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.cal-daypanel ul{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;align-items:flex-start}.cal-daypanel ul>li{flex:0 0 260px;scroll-snap-align:start}@media (max-width:760px){.cal-daypanel ul>li{flex-basis:78%}}.home-numbers.first{margin-top:4px}.home-cal{margin-top:24px}.hint.block{margin:12px 0;padding:14px 16px;border:1px dashed var(--line-2);color:var(--ink);font-size:14px}.ads-call,.hint.block{background:#fff;border-radius:var(--radius)}.ads-call{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 28px;margin:12px 0 16px;padding:18px 20px;border:1px solid var(--line);border-left:6px solid var(--blue);box-shadow:var(--shadow)}.ads-call p{margin:4px 0 0;color:#4a5d7e;max-width:640px}.ads-kicker{font:700 11.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ads-head{font:800 24px var(--font-display);color:var(--navy);margin-top:2px}.ads-need{display:grid;grid-gap:4px;gap:4px;align-content:center;text-align:right}.ads-need .big{font:800 30px var(--font-display);color:var(--blue)}.ads-call.tone-ok{border-left-color:#12804e}.ads-call.tone-hold{border-left-color:#d98b00}.ads-call.tone-pull{border-left-color:var(--red)}.ads-pill{display:inline-block;padding:2px 10px;border-radius:999px;font:600 12px var(--font-body);white-space:nowrap;background:#e5f1ff;color:var(--blue-2)}.ads-pill.tone-ok{background:#e2f6ea;color:#17673a}.ads-pill.tone-hold{background:#fff4dc;color:#8a5a00}.ads-pill.tone-pull{background:#fde7ea;color:#b10a1f}.util-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:14px;gap:14px}.util-card{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-gap:10px;gap:10px}.util-card p{margin:0}.util-top{display:flex;justify-content:space-between;align-items:baseline}.util-top .label{font:700 12px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.util-pct{font:800 30px var(--font-display);color:var(--navy)}.util-nums{display:flex;gap:18px;color:#4a5d7e;font-size:13.5px}.util-nums b{color:var(--navy);font-size:16px}.ubar{display:inline-flex;align-items:center;gap:8px;min-width:140px;width:100%}.ubar .track{position:relative;flex:1 1;height:8px;border-radius:999px;background:#e9eff8;overflow:visible}.ubar .fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:#9cc6f9}.ubar .target{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--navy);opacity:.35}.ubar b{min-width:38px;text-align:right;font-size:12.5px;color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ubar.mid .fill{background:var(--blue)}.ubar.full .fill{background:#12804e}.ubar.over .fill{background:var(--red)}.ubar.low .fill{background:#9cc6f9}table.outlook tr{cursor:pointer}table.outlook tr.sel td{background:#eef6ff}table.team-cap tr.group td{background:#f7faff;font:700 11.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:#4a5d7e}table.team-cap tr.off td{opacity:.55}table.team-cap select{max-width:220px;background:#fff}.slot-in,table.team-cap select{padding:5px 8px;border:1px solid var(--line-2);border-radius:8px;font:inherit}.slot-in{width:70px;text-align:right}.slot-in.override{border-color:#d98b00;background:#fff9ec}.add-member{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.add-member input,.add-member select{padding:6px 8px;border:1px solid var(--line-2);border-radius:8px;font:inherit}.inline-num{display:inline-flex;align-items:center;gap:6px}.inline-num input{width:80px;padding:6px 8px;border:1px solid var(--line-2);border-radius:8px;font:inherit}.cap-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.cap-settings label{display:grid;grid-gap:4px;gap:4px;font-size:13px;font-weight:600;color:#4a5d7e}.muted.small,p.small,span.small{font-size:12.5px}.credential.bulk{display:grid;grid-gap:10px;gap:10px}.credential.bulk table{width:100%;background:#fff;border-radius:var(--radius-sm)}.credential.bulk .bulk-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.bulk-skipped{margin:0;padding-left:18px;color:#4a5d7e;font-size:13px}.bulk-actions{display:flex;gap:14px;align-items:center}table.team-cap tr.needs-slots td{background:#fffaf0}.set-slots{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#fff4dc;color:#8a5a00;font:600 11.5px var(--font-body)}.team-note{margin:-4px 0 8px}.form-panel{max-width:720px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.saved-note{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-sm);background:#e2f6ea;color:#17673a;font-weight:600}.big-stat .note{font-size:12.5px;color:#4a5d7e;line-height:1.35}@media (min-width:1100px){.home-stats{grid-template-columns:repeat(5,minmax(0,1fr))}}.funding-facts{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 12px;margin:4px 0 12px;border-radius:var(--radius-sm);background:#f4f8fe;color:#4a5d7e;font-size:13.5px}.funding-facts b{color:var(--navy)}.record-menu{position:relative}.record-menu>.btn-primary{display:inline-flex;align-items:center;gap:8px}.record-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:240px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);display:grid;grid-gap:2px;gap:2px}.record-menu-list a{display:grid;grid-gap:1px;gap:1px;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none}.record-menu-list a:focus-visible,.record-menu-list a:hover{background:var(--mist,#eef4fd)}.record-menu-list strong{color:var(--navy);font-size:14px}.record-menu-list span{color:var(--muted);font-size:12.5px}.stage{white-space:nowrap}.dash-block{margin:6px 0 22px}.week-bars{grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:8px;gap:8px;height:220px;padding:16px 16px 10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.wb,.week-bars{display:grid;align-items:end}.wb{grid-template-rows:18px 1fr 16px 14px;height:100%;justify-items:center;min-width:0}.wb-bar{width:70%;max-width:46px;border-radius:6px 6px 2px 2px;background:#9cc6f9;align-self:end}.wb.now .wb-bar{background:var(--blue)}.wb-val{font:700 11.5px var(--font-body);color:var(--navy)}.wb-lbl{font-size:11px;color:var(--muted);white-space:nowrap}.wb-n{font-size:10.5px;color:#8a9bb8}.util-chip{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:#e5f1ff;color:var(--blue-2);font:600 11px/18px var(--font-body)}.util-chip.full{background:#e2f6ea;color:#17673a}.util-chip.over{background:#fde7ea;color:#b10a1f}.ops-days{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}.ops-day{flex:0 0 240px;scroll-snap-align:start;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.ops-day.today{border-color:var(--blue)}.ops-day-head{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--navy)}.ops-day ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.ops-day li{display:grid;grid-gap:1px;gap:1px;padding:6px 8px;border-left:3px solid #12804e;border-radius:6px;background:#f2faf5;font-size:13px}.ops-day .t{font:700 12px var(--font-body);color:var(--navy)}.ops-day .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){.week-bars{gap:3px;padding:12px 8px 8px}.wb-lbl,.wb-val{font-size:9px}}.appt-pick{max-width:720px;display:grid;grid-gap:12px;gap:12px}.appt-pick h2{margin:0;font:800 20px var(--font-display);color:var(--navy)}.appt-pick p{margin:0}.appt-list{display:grid;grid-gap:10px;gap:10px}.appt-card{display:grid;grid-gap:3px;gap:3px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);font:inherit;color:inherit;cursor:pointer}.appt-card:focus-visible,.appt-card:hover:not(:disabled){border-color:var(--blue);box-shadow:var(--shadow),var(--ring)}.appt-card:disabled{opacity:.55;cursor:default;border-left-color:#12804e}.appt-time{font:700 13px var(--font-body);color:var(--blue-2)}.appt-name{font:800 18px var(--font-display);color:var(--navy)}.appt-addr{color:var(--ink)}.appt-meta{font-size:13px;color:var(--muted)}.appt-sold{color:#17673a}.appt-chosen{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline;margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-sm);background:#eef6ff;border:1px solid #cfe3fb}.appts-page{max-width:640px;margin:0 auto}.appts-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:8px;gap:8px;text-align:center;margin-bottom:14px}.appts-head h1{margin:0}.appts-head p{margin:2px 0 0}.appts-nav{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:24px;color:var(--navy);text-decoration:none}.appts-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.appt-item{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.appt-item.o-closed{border-left-color:#12804e}.appt-item.o-declined{border-left-color:#9aa8bd}.appt-item.o-rescheduled{border-left-color:#d98b00}.appt-item.open{border-color:var(--blue)}.appt-row{display:grid;grid-gap:3px;gap:3px;width:100%;padding:16px 18px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.appt-row:disabled{cursor:default}.appt-row:focus-visible{outline:none;box-shadow:inset var(--ring)}.appt-badge{justify-self:start;margin-top:6px;padding:2px 10px;border-radius:999px;font:600 12.5px var(--font-body)}.appt-badge.o-closed{background:#e2f6ea;color:#17673a}.appt-badge.o-declined{background:#eef1f6;color:#4a5d7e}.appt-badge.o-rescheduled{background:#fff4dc;color:#8a5a00}.dispo{display:grid;grid-gap:12px;gap:12px;padding:4px 18px 18px;border-top:1px solid var(--line)}.dispo-q{margin:12px 0 0;font:700 15px var(--font-display);color:var(--navy)}.dispo-choices{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.dispo-btn{display:grid;place-items:center;min-height:52px;padding:8px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;font:700 15px var(--font-body);color:var(--navy);cursor:pointer;text-decoration:none}.dispo-btn.on.d-declined{border-color:#4a5d7e;background:#eef1f6}.dispo-btn.on.d-rescheduled{border-color:#d98b00;background:#fff4dc;color:#8a5a00}.dispo-btn.d-closed{border-color:#12804e;background:#12804e;color:#fff}.dispo-btn.d-closed:hover{background:#0e6b41}.dispo-detail{display:grid;grid-gap:6px;gap:6px}.dispo-label{font-size:13px;font-weight:600;color:#4a5d7e}.dispo-detail input,.dispo-detail textarea{padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;font:inherit}.dispo-reasons{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{padding:8px 12px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font:500 13.5px var(--font-body);color:var(--ink);cursor:pointer}.chip-btn.on{border-color:var(--blue);background:#e5f1ff;color:var(--blue-2);font-weight:600}.appts-foot{margin:22px 0 0;text-align:center;font-size:14px}.appts-empty{text-align:center;padding:30px 0}.nav-burger{display:none}@media (max-width:760px){.topbar{flex-wrap:nowrap;justify-content:space-between;height:56px;padding:0 12px;gap:8px}.topbar nav.mainnav{flex-wrap:nowrap;margin-left:auto}.mainnav>.navgroup,.mainnav>.navtop{display:none}.nav-burger{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:hsla(0,0%,100%,.08);color:#fff;cursor:pointer}.nav-burger:focus-visible{outline:2px solid #8fc2ff}}.nav-drawer-wrap{position:fixed;inset:0;z-index:100;background:rgba(5,20,50,.45);animation:nd-fade .15s ease-out}.nav-drawer{position:absolute;top:0;bottom:0;left:0;width:min(300px,84vw);display:flex;flex-direction:column;background:#fff;box-shadow:8px 0 30px rgba(5,30,80,.25);animation:nd-slide .18s ease-out}.nav-drawer-head{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 18px;background:var(--navy);color:#fff;border-top:4px solid var(--blue)}.nav-drawer-head .avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--blue);font:700 14px var(--font-body)}.nd-name{flex:1 1;font:600 15px var(--font-body)}.nd-close{width:40px;height:40px;border:0;border-radius:10px;background:hsla(0,0%,100%,.1);color:#fff;font-size:24px;line-height:1;cursor:pointer}.nd-body{flex:1 1;overflow-y:auto;padding:10px 10px 20px}.nd-group{padding:8px 0;border-top:1px solid var(--line)}.nd-group:first-child,.nd-top+.nd-group{border-top:0}.nd-group-label{padding:6px 10px 4px;font:700 11.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nd-body a{display:block;padding:11px 12px;border-radius:10px;color:var(--ink);font:500 15.5px var(--font-body);text-decoration:none}.nd-body a.nd-top{font-weight:700;color:var(--navy)}.nd-body a.on{background:#eef6ff;color:var(--blue-2);font-weight:700}.nd-foot{margin:0;padding:12px;border-top:1px solid var(--line)}.nd-signout{width:100%;padding:12px;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--red);font:600 15px var(--font-body);cursor:pointer}@keyframes nd-slide{0%{transform:translateX(-100%)}to{transform:none}}@keyframes nd-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.nav-drawer,.nav-drawer-wrap{animation:none}}.deal-cards{display:none;list-style:none;margin:0;padding:0}@media (max-width:760px){.deal-cards{display:grid;grid-gap:8px;gap:8px}.deal-table{display:none}.deal-cards details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.deal-cards summary{display:flex;align-items:center;gap:10px;padding:15px 16px;list-style:none;cursor:pointer}.deal-cards summary::-webkit-details-marker{display:none}.deal-cards summary:after{content:"›";margin-left:8px;font-size:22px;line-height:1;color:var(--muted);transition:transform .15s}.deal-cards details[open] summary:after{transform:rotate(90deg)}.dc-name{flex:1 1;font:700 16px var(--font-display);color:var(--navy)}.dc-dot{width:10px;height:10px;border-radius:999px;background:#c8d3e3}.dc-dot.payable{background:var(--blue)}.dc-dot.paid{background:#12804e}.dc-dot.overpaid{background:var(--red)}.deal-cards dl{margin:0;padding:4px 16px 14px;border-top:1px solid var(--line);display:grid;grid-gap:2px;gap:2px}.deal-cards dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}.deal-cards dl>div:last-child{border-bottom:0}.deal-cards dt{color:var(--muted);font-size:13.5px}.deal-cards dd{margin:0;text-align:right;font-size:14.5px}.cap-settings,.field-form .grid,.form-cards,.home-boards,.home-stats,.run-totals,.util-cards{grid-template-columns:1fr!important}.page-head{flex-wrap:wrap;gap:10px}input[type=date],input[type=datetime-local],input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;background-color:#fff}}@media (max-width:760px){input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.dispo-detail,.field-form .grid>*,.field-form label{min-width:0}}.pay-cards{display:none;list-style:none;margin:0;padding:0}@media (max-width:760px){.pay-cards{display:grid;grid-gap:8px;gap:8px}.pay-cards li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.pc-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.pc-main strong{color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-main .muted{font-size:13px}.pc-amt{font:700 15px var(--font-body);color:var(--navy);white-space:nowrap}}.cal-ev .appt-badge{margin-top:4px;font-size:11.5px}.cal-cell .chip.o-closed{border-left-color:#12804e;background:#e2f6ea}.cal-cell .chip.o-declined{border-left-color:#9aa8bd;background:#f1f3f7;color:#6b7a93;text-decoration:line-through}.cal-cell .chip.o-rescheduled{border-left-color:#d98b00;background:#fff6e2}.owes{margin:4px 0 10px;padding:10px 12px;border-radius:var(--radius-sm);background:#fff4dc;color:#6b4700}.appt-item.k-install,.appt-item.o-completed{border-left-color:#12804e}.appt-item.o-incomplete{border-left-color:var(--red)}.appt-badge.o-completed{background:#e2f6ea;color:#17673a}.appt-badge.o-incomplete{background:#fde7ea;color:#b10a1f}.appt-products{font:600 13.5px var(--font-body);color:var(--navy)}.appt-collect{justify-self:start;margin-top:4px;padding:2px 10px;border-radius:999px;background:#fff4dc;color:#6b4700;font:700 12.5px var(--font-body)}.dispo-links{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:12px}.dispo-links .btn-outline{display:grid;place-items:center;min-height:44px;border-radius:10px;text-decoration:none}.dispo-note{margin:0;padding:10px 12px;border-radius:10px;background:#f4f8fe;font-size:13.5px;white-space:pre-wrap}.cal-cell .chip.o-completed{border-left-color:#12804e;background:#e2f6ea}.cal-cell .chip.o-incomplete{border-left-color:var(--red);background:#fde7ea}.agr-page{max-width:760px}.agr-form fieldset{display:grid;grid-gap:10px;gap:10px}.agr-label{display:block;margin-top:4px;font-size:13px;font-weight:600;color:#4a5d7e}.agr-items{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.agr-items li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.agr-add{display:flex;gap:8px}.agr-add input{flex:1 1;min-width:0}.agr-seg{display:flex;width:100%}.agr-seg button{flex:1 1}.agr-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;cursor:pointer}.agr-toggle input{width:20px;height:20px;margin-top:2px;flex:none}.agr-toggle span{display:grid;grid-gap:2px;gap:2px;font-size:14px}.agr-share{display:grid;grid-gap:10px;gap:10px;max-width:520px;margin:14px 0 20px}.agr-share-head h2{margin:0;font:800 20px var(--font-display);color:var(--navy)}.agr-share-head p{margin:4px 0 0}.agr-share .dispo-btn{min-height:50px;font-weight:600;font-size:14.5px;text-align:center}.agr-share-main{text-align:center}.agr-share-done{justify-self:center;margin-top:4px}.agr-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.agr-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;text-decoration:none}.agr-row.st-signed{border-left-color:#12804e}.agr-row.st-void{border-left-color:#b9c3d3;opacity:.7}.agr-row-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.agr-row-main strong{color:var(--navy);font-size:15.5px}.agr-row-main .muted{font-size:12.5px}.agr-row-side{display:grid;grid-gap:4px;gap:4px;justify-items:end;text-align:right}.agr-price{font-weight:700;color:var(--navy)}.agr-status{display:inline-block;padding:2px 10px;border-radius:999px;font:600 12px var(--font-body);white-space:nowrap;background:#e5f1ff;color:var(--blue-2)}.agr-status.st-signed{background:#e2f6ea;color:#17673a}.agr-status.st-void{background:#eef1f6;color:#6b7a93}.agr-facts{display:grid;grid-gap:0;gap:0;margin:12px 0;padding:4px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.agr-facts>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line)}.agr-facts>div:last-child{border-bottom:0}.agr-facts dt{color:var(--muted);font-size:13.5px}.agr-facts dd{margin:0;text-align:right}.agr-void{display:grid;grid-gap:8px;gap:8px;width:100%;max-width:520px}.agr-void input{padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;font:inherit;width:100%}.sign-page{max-width:720px;margin:0 auto;display:grid;grid-gap:16px;gap:16px;padding-bottom:40px}.sign-head h1{margin:0;font:800 24px var(--font-display);color:var(--navy)}.sign-head p{margin:4px 0 0}.sign-for{padding:10px 14px;border-radius:var(--radius-sm);background:#eef6ff;color:var(--navy)}.sign-card{display:grid;grid-gap:12px;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.sign-card h2{margin:0;font:800 17px var(--font-display);color:var(--navy)}.sign-card p{margin:0}.sign-card .grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 12px;gap:10px 12px}.sign-card .grid .wide{grid-column:1/-1}.sign-card label{display:grid;grid-gap:4px;gap:4px;font-size:13px;font-weight:600;color:#4a5d7e;min-width:0}.sign-card input:not([type=checkbox]){padding:11px 12px;border:1px solid var(--line-2);border-radius:10px;font:400 16px var(--font-body);color:var(--ink);width:100%;box-sizing:border-box}.sign-card input.readonly{background:#f4f7fb}.sign-lines{list-style:none;margin:0;padding:0}.sign-lines li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:600}.sign-lines small{display:block;font-weight:400;color:var(--muted)}.sign-details,.sign-totals{margin:0;display:grid;grid-gap:6px;gap:6px}.sign-details>div,.sign-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.sign-totals .total{font:800 16px var(--font-body);color:var(--navy);padding-top:4px}.sign-details dt,.sign-totals dt{color:var(--muted)}.sign-totals .total dt{color:var(--navy)}.sign-details dd,.sign-totals dd{margin:0;text-align:right}.sign-details{padding-top:10px;border-top:1px solid var(--line)}.sign-terms{max-height:340px;overflow-y:auto;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;font-size:13.5px;line-height:1.5}.sign-terms h3{margin:12px 0 6px;font:700 12.5px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--navy)}.sign-terms h3:first-child{margin-top:0}.sign-terms ol{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px}.sign-terms ol.single{list-style:none;padding-left:0}.sign-initials{text-transform:uppercase;font-family:Georgia,serif!important;font-weight:700!important;letter-spacing:.08em}.sigpad{position:relative;border:1.5px dashed var(--line-2);border-radius:12px;background:#fff}.sigpad-canvas{display:block;width:100%;height:170px;touch-action:none;cursor:crosshair;border-radius:12px}.sigpad-hint{position:absolute;left:0;right:0;top:64px;text-align:center;color:#b7c3d6;font:600 18px var(--font-body);pointer-events:none}.sigpad-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-top:1px solid var(--line)}.sigpad-line{color:var(--muted)}.sign-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;color:var(--ink)!important;font-size:14px!important}.sign-consent input{width:20px;height:20px;margin-top:1px;flex:none}.sign-submit{width:100%;min-height:54px;font-size:17px}.sign-done{text-align:center;justify-items:center;padding:40px 16px}.sign-done h1{margin:0;font:800 26px var(--font-display);color:var(--navy)}.sign-check{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:#e2f6ea;color:#12804e;font-size:38px;font-weight:800}@media (max-width:760px){.sign-card .grid{grid-template-columns:1fr}.sign-head h1{font-size:21px}}.cal-daypanel ul{display:grid;grid-gap:6px;gap:6px;overflow:visible;padding-bottom:0;scroll-snap-type:none}.cal-daypanel ul>li{flex:none}.cal-daypanel .cal-ev summary{grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:7px 12px}.cal-daypanel .cal-ev .t{white-space:nowrap}.cal-daypanel .cal-ev .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-daypanel .cal-ev .meta{justify-content:flex-end;white-space:nowrap}.cal-daypanel .cal-ev .appt-badge{grid-column:2/-1;margin-top:0;justify-self:start}.cal-daypanel .cal-more{padding:0 12px 10px 176px}@media (max-width:760px){.cal-daypanel ul>li{flex-basis:auto}.cal-daypanel .cal-ev summary{grid-template-columns:1fr;gap:2px;padding:8px 10px}.cal-daypanel .cal-ev .title{white-space:normal}.cal-daypanel .cal-ev .meta{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.cal-daypanel .cal-ev .appt-badge{grid-column:auto}.cal-daypanel .cal-more{padding:0 10px 10px}}.cust-page{max-width:980px}.cust{display:grid;grid-gap:14px;gap:14px}.cust-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cust-name{margin:0;font:800 26px var(--font-display);color:var(--navy)}.cust.compact .cust-name{font-size:21px}.cust-head p{margin:4px 0 0}.cust-actions{display:flex;flex-wrap:wrap;gap:8px}.cust-actions a{text-decoration:none;padding:8px 14px;border-radius:10px}.cust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.cust-card{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.cust-card h3{margin:0 0 8px;font:800 14px var(--font-display);letter-spacing:.02em;color:var(--navy)}.cust-card dl{margin:0;display:grid}.cust-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}.cust-card dl>div:last-child{border-bottom:0}.cust-card dt{color:var(--muted)}.cust-card dd{margin:0;text-align:right}.owed-text{color:var(--red);font-weight:700}.cust-equip{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.cust-equip li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}.cust-equip .pill{padding:1px 9px;border-radius:999px;background:#eef1f6;color:#4a5d7e;font:600 12px var(--font-body);white-space:nowrap}.cust-equip .pill.ok{background:#e2f6ea;color:#17673a}.cust-agr{display:inline-flex;gap:10px;align-items:center}.cust-issues{background:#fde7ea;color:#8a0d1d}.cust-issues,.cust-note{margin:0;padding:10px 14px;border-radius:var(--radius-sm);font-size:13.5px}.cust-note{background:#f4f8fe;white-space:pre-wrap}.cust-timeline{list-style:none;margin:0;padding:0;position:relative}.cust-timeline:before{content:"";position:absolute;left:15px;top:6px;bottom:6px;width:2px;background:var(--line)}.cust-timeline li{grid-template-columns:32px minmax(0,1fr);grid-gap:10px;gap:10px;padding:8px 0}.ct-icon,.cust-timeline li{position:relative;display:grid}.ct-icon{z-index:1;place-items:center;width:32px;height:32px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:15px}.ct-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.ct-top strong{color:var(--navy);font-size:14.5px}.ct-top a{color:inherit}.ct-when{color:var(--muted);font-size:12.5px;white-space:nowrap}.ct-detail{margin-top:2px;color:#4a5d7e;font-size:13.5px;overflow-wrap:anywhere}.cust-timeline li.future .ct-icon{border-style:dashed;border-color:var(--blue)}.cust-timeline li.future .ct-when{color:var(--blue-2);font-weight:600}.cust-timeline li.k-installed .ct-icon,.cust-timeline li.k-signed .ct-icon{border-color:#12804e;background:#e2f6ea}.cust-timeline li.k-cancelled .ct-icon{border-color:var(--red);background:#fde7ea}.cust-search{width:100%;box-sizing:border-box;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px;font:400 15px var(--font-body)}.cust-stage{font-size:12px;color:var(--muted);white-space:nowrap}.cust-modal{max-height:min(78vh,900px);overflow-y:auto;padding-right:4px}.cust-modal-foot{margin:12px 0 0;text-align:right;font-size:13.5px}.cust-loading{padding:40px 0;text-align:center}.name-cell{display:inline-flex;align-items:center;gap:6px;max-width:100%}.name-link{border:0;background:none;padding:0;font:inherit;color:var(--blue-2);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-link:hover{text-decoration:underline}.name-edit{flex:none;border:0;background:none;padding:0 2px;color:var(--muted);cursor:pointer;opacity:0;font-size:13px}.name-edit:focus-visible,td:hover .name-edit{opacity:1}@media (hover:none){.name-edit{opacity:.7}}@media (max-width:760px){.cust-grid{grid-template-columns:1fr}.cust-name{font-size:22px}.cust-head{flex-wrap:wrap}}.home-charts{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.9fr);grid-gap:14px;gap:14px;margin:4px 0 22px}.chart-card{min-width:0;padding:14px 16px 10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.chart{margin:0}.chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px}.chart-title{font:800 14px var(--font-display);color:var(--navy)}.chart-legend{display:inline-flex;gap:12px;font-size:12.5px;color:#4a5d7e}.chart-legend i,.chart-tip i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.chart-box{position:relative;width:100%}.chart-box svg{display:block;overflow:visible}.chart-grid{stroke:#eef2f8;stroke-width:1}.chart-base{stroke:#cfdcee;stroke-width:1}.chart-tick{font:500 10.5px var(--font-body);fill:#7a8aa5}.chart-hover{fill:#f2f7ff}.chart-tip{position:absolute;top:0;transform:translateX(-50%);display:grid;grid-gap:2px;gap:2px;min-width:150px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);font-size:12.5px;color:var(--ink);pointer-events:none;white-space:nowrap;z-index:2}.chart-tip b,.chart-tip strong{color:var(--navy)}.chart-empty{margin:0;padding:70px 0;text-align:center;color:var(--muted)}.hbars{list-style:none;margin:0;padding:4px 0 0;display:grid;grid-gap:12px;gap:12px}.hbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label val" "track track";grid-gap:6px 10px;gap:6px 10px;color:inherit;text-decoration:none}.hbar-label{grid-area:label;display:flex;align-items:center;gap:8px;min-width:0}.hbar-n{font-size:12.5px;color:var(--muted);white-space:nowrap}.hbar-val{grid-area:val;font:700 13.5px var(--font-body);color:var(--navy)}.hbar-track{grid-area:track;height:10px;border-radius:999px;background:#eef2f8;overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:999px;background:#087dfc}.hbar-row:hover .hbar-fill{background:#0068d6}.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}@media (max-width:1200px){.home-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-charts>:last-child{grid-column:1/-1}}@media (max-width:760px){.home-charts{grid-template-columns:1fr}}.cap-rule{margin:-2px 0 14px}.cap2{display:grid;grid-gap:16px;gap:16px}.cap2-card{display:grid;grid-gap:10px;gap:10px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.cap2-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}.cap2-head h2{margin:0;font:800 20px var(--font-display);color:var(--navy)}.cap2-head .ads-pill{font-size:13px;padding:4px 12px}.cap2-why{margin:0;color:#4a5d7e;font-size:14px}.cap2-table{box-shadow:none}.cap2-table table{min-width:640px}.cap2-table th[scope=row]{text-align:left;white-space:normal;min-width:150px}.cap2-label{display:block;font-weight:700;color:var(--navy)}.cap2-cell{min-width:120px}.cap2-pct{display:block;font:800 20px var(--font-display);color:var(--navy)}.cap2-bar{height:7px;margin:5px 0 4px;background:#eef2f8;overflow:hidden}.cap2-bar,.cap2-bar span{display:block;border-radius:999px}.cap2-bar span{height:100%;background:#9cc6f9}.cap2-cell.mid .cap2-bar span{background:var(--blue)}.cap2-cell.full .cap2-bar span{background:#12804e}.cap2-cell.over .cap2-bar span{background:var(--red)}.cap2-cell.over .cap2-pct{color:#b10a1f}.cap2-nums{font-size:12.5px;color:var(--muted);white-space:nowrap}.cap2-team{display:grid;grid-gap:8px;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.cap2-team-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cap2-team-title{font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-right:4px}.cap2-chip{padding:5px 12px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font:500 13.5px var(--font-body);color:var(--muted);cursor:pointer}.cap2-chip.on{border-color:#b9d7fb;background:#eef6ff;color:var(--navy);font-weight:600}.cap2-chip-note{font-weight:400;color:var(--muted)}.cap2-table tbody th[scope=row]{text-transform:none;letter-spacing:0;font:inherit;background:#fff}.cap2-table tbody th[scope=row] .cap2-label{font:700 14.5px var(--font-body)}.cap2-table tbody th[scope=row] .small{display:block;margin-top:2px}