:root{
  --brand:#078dca;--brand-dark:#0876ad;--brand-soft:#e9f7fd;--ink:#1e2936;--muted:#728091;
  --line:#e4e9ee;--surface:#fff;--canvas:#f5f7f9;--green:#1a9b65;--amber:#d98917;
  --violet:#7c5ce3;--red:#d64a4a;--sidebar:228px;--shadow:0 10px 30px rgba(34,53,72,.08)
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:14px}
button,input,select{font:inherit}
button,a{tap-highlight-color:transparent}
button{cursor:pointer}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.auth-gate{position:fixed;inset:0;z-index:200;background:linear-gradient(145deg,#f4f8fa,#e8f5fb);display:grid;place-items:center;padding:20px}.auth-gate[hidden]{display:none}.auth-card{width:min(410px,100%);background:#fff;border:1px solid #dfe7ec;border-radius:16px;box-shadow:0 24px 70px rgba(31,58,72,.15);padding:30px;display:grid;gap:14px}.auth-card>img{width:190px;height:92px;object-fit:contain;justify-self:center}.auth-card h1{margin:0;font-size:27px}.auth-card>p{margin:0;color:var(--muted);font-size:12px}.auth-card label{display:grid;gap:6px;font-size:11px;font-weight:600;color:#52606c}.auth-card input{height:43px;border:1px solid #d7e0e5;border-radius:8px;padding:0 11px;outline:0}.auth-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(7,141,202,.1)}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-fields{display:grid;gap:12px}.setup-fields[hidden]{display:none}.auth-card .auth-error{color:var(--red);min-height:16px}.auth-card .button{width:100%}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);z-index:20;display:flex;flex-direction:column;padding:18px 14px}
.brand{display:flex;height:112px;align-items:center;justify-content:center;border-bottom:1px solid #edf0f2;margin:0 3px 18px;padding:5px 0;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:contain;display:block}
.main-nav{display:grid;gap:4px}
.main-nav a,.settings-link{height:45px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:9px;color:#647181;text-decoration:none;font-weight:500}
.main-nav a svg,.settings-link svg{width:19px;height:19px}
.main-nav a:hover,.settings-link:hover{background:#f3f8fb;color:var(--brand-dark)}
.main-nav a.active{color:var(--brand-dark);background:var(--brand-soft);font-weight:700}
.main-nav a.active:before{content:"";width:3px;height:22px;background:var(--brand);border-radius:4px;position:absolute;left:14px}
.main-nav a b,.main-nav a i{margin-left:auto;border-radius:12px;font-size:11px;font-style:normal;padding:2px 7px}
.main-nav a b{background:#dff3fb;color:var(--brand-dark)}.main-nav a i{background:#fff1dc;color:#af6500}
.sidebar-bottom{margin-top:auto;display:grid;gap:8px}
.system-card{display:flex;gap:9px;align-items:center;background:#f7fafb;border:1px solid #edf0f2;border-radius:10px;padding:10px}
.system-card div{display:grid;gap:2px}.system-card strong{font-size:11px}.system-card small{font-size:9px;color:var(--muted)}
.pulse-dot{width:8px;height:8px;background:#25a86f;border-radius:50%;box-shadow:0 0 0 4px #dff5eb}
.profile-card{display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:9px;padding:11px 8px 0;border-top:1px solid var(--line)}
.profile-card div{display:grid}.profile-card strong{font-size:12px}.profile-card small{font-size:10px;color:var(--muted)}
.profile-card button{border:0;background:none;color:var(--muted)}.avatar{width:35px;height:35px;border-radius:9px;background:linear-gradient(145deg,#0a9bd6,#0877ad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px}
.app-shell{margin-left:var(--sidebar);padding:28px 34px 40px;min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 auto 24px;max-width:1500px}
.page-title h1{font-size:30px;line-height:1;margin:5px 0 7px;letter-spacing:-.8px}.page-title p{margin:0;color:var(--muted)}
.eyebrow{font-weight:700;font-size:10px;letter-spacing:1.6px;color:var(--brand-dark)}
.top-actions{display:flex;align-items:center;gap:9px;position:relative}.icon-button{width:41px;height:41px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#657384;display:grid;place-items:center}
.notification{position:relative}.notification b{position:absolute;right:-3px;top:-5px;background:#e94f4f;color:#fff;font-size:9px;border:2px solid var(--canvas);border-radius:10px;min-width:18px;height:18px;display:grid;place-items:center}
.global-search-panel{position:absolute;z-index:125;right:0;top:52px;width:min(520px,calc(100vw - 28px));overflow:hidden;background:#fff;border:1px solid #dbe5ea;border-radius:14px;box-shadow:0 22px 60px rgba(30,52,65,.24)}.global-search-panel>label{height:54px;padding:0 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.global-search-panel>label svg{width:19px;color:var(--brand)}.global-search-panel input{min-width:0;flex:1;border:0;outline:0;font-size:13px;color:var(--ink)}.global-search-panel kbd{padding:3px 6px;border:1px solid #dce4e8;border-radius:5px;background:#f6f8f9;color:#7b8992;font:8px inherit}.global-search-panel>div{max-height:min(480px,calc(100vh - 170px));overflow:auto}.global-search-group>span{display:block;padding:9px 15px 5px;color:#87949c;font-size:8px;font-weight:800;letter-spacing:.08em}.global-search-result{width:100%;padding:11px 15px;border:0;border-top:1px solid #edf1f3;background:#fff;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;text-align:left}.global-search-result:hover,.global-search-result:focus{outline:0;background:#eff8fc}.global-search-result>span:first-child{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand-dark);display:grid;place-items:center;font-size:10px;font-weight:800}.global-search-result strong,.global-search-result small{display:block}.global-search-result strong{font-size:11px}.global-search-result small{margin-top:3px;color:var(--muted);font-size:9px}.global-search-result>b{color:#91a0a8;font-size:17px}.global-search-empty{padding:28px 18px;text-align:center;color:#84919a;font-size:10px;line-height:1.5}.global-search-panel>footer{padding:9px 15px;background:#f8fafb;color:#89959d;font-size:8px}
.notification{cursor:pointer;transition:.18s ease}.notification:hover,.notification[aria-expanded="true"]{color:var(--brand);border-color:#9bcfe4;box-shadow:0 5px 16px rgba(26,91,119,.14)}.create-job-button{min-width:136px;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.01em;box-shadow:0 8px 21px rgba(7,141,202,.28)!important}.notification-panel{position:absolute;z-index:120;right:0;top:52px;width:min(410px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 90px));overflow:hidden;background:#fff;border:1px solid #dbe5ea;border-radius:14px;box-shadow:0 22px 60px rgba(30,52,65,.24)}.notification-panel[hidden]{display:none}.notification-panel>header{padding:16px 18px 12px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line)}.notification-panel h2{margin:3px 0 0;font-size:18px}.notification-panel>header button{border:0;background:transparent;color:var(--brand);font-size:9px;font-weight:700;cursor:pointer}.notification-panel>div{max-height:480px;overflow:auto}.notification-item{width:100%;border:0;border-bottom:1px solid #edf1f3;background:#fff;padding:13px 17px;display:grid;grid-template-columns:10px 1fr;gap:10px;text-align:left;cursor:pointer}.notification-item:hover{background:#f7fbfd}.notification-item.unread{background:#f1f9fd}.notification-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;background:#a9b4ba}.notification-item.unread .notification-dot{background:var(--brand);box-shadow:0 0 0 3px rgba(7,141,202,.12)}.notification-item strong{display:block;font-size:11px;color:#2b3f4a}.notification-item p{margin:4px 0;color:#61717b;font-size:9px;line-height:1.4}.notification-item small{font-size:8px;color:#98a2a9}.notification-panel>footer{padding:10px 17px;color:#89959d;font-size:8px;background:#f8fafb}.notification-empty{padding:35px 18px;text-align:center;color:#84919a;font-size:10px}
.button{height:42px;border-radius:9px;padding:0 15px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;white-space:nowrap}
.button svg{width:18px;height:18px}.button.primary{background:var(--brand);color:#fff;box-shadow:0 6px 15px rgba(7,141,202,.18)}.button.primary:hover{background:var(--brand-dark)}
.button.secondary{background:#fff;color:#4d5b69;border-color:#dce2e7}.button.secondary:hover{border-color:#b8c4cc;background:#fafcfd}
.mobile-menu{display:none}
.metrics{max-width:1500px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.metrics article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;display:flex;align-items:center;gap:13px;min-width:0}
.metric-icon{width:43px;height:43px;border-radius:10px;display:grid;place-items:center;flex:none}.metric-icon.blue{color:var(--brand-dark);background:#e5f5fc}.metric-icon.amber{color:#b26a05;background:#fff2dc}.metric-icon.violet{color:#6e4ed2;background:#f0ebff}.metric-icon.green{color:#138759;background:#e3f6ee}
.metrics article>div:last-child{min-width:0}.metrics span{display:block;color:var(--muted);font-size:11px}.metrics strong{font-size:24px;line-height:1.25;display:inline-block;margin-right:8px}.metrics small{font-size:10px;color:#8a95a1;white-space:nowrap}.metrics small b{color:var(--green)}
.workspace{max-width:1500px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(42,61,78,.03);overflow:hidden}
.status-tabs{display:flex;align-items:center;gap:3px;padding:0 18px;border-bottom:1px solid var(--line);overflow:auto}
.status-tabs button{height:53px;border:0;background:transparent;color:#74818e;font-size:12px;font-weight:600;padding:0 13px;position:relative;white-space:nowrap}
.status-tabs button span{font-size:10px;background:#eef1f4;border-radius:10px;padding:2px 6px;margin-left:4px}
.status-tabs button.active{color:var(--brand-dark)}.status-tabs button.active:after{content:"";position:absolute;bottom:0;left:10px;right:10px;height:2px;background:var(--brand);border-radius:3px}
.status-tabs button.active span{background:#e4f4fb}
.status-tabs .map-tab{margin-left:auto;display:flex;align-items:center;gap:5px}.status-tabs .map-tab svg{width:14px;height:14px}.status-tabs .map-tab.active{background:#eef8fc;border-radius:8px;height:35px;margin-top:9px}.status-tabs .map-tab.active:after{display:none}
.list-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}
.search-box{height:40px;width:min(420px,48%);display:flex;align-items:center;gap:8px;border:1px solid #dce2e7;border-radius:8px;padding:0 11px;color:#84909c}
.search-box svg{width:17px}.search-box input{border:0;outline:0;width:100%;color:var(--ink);background:transparent;font-size:12px}
.tool-group{display:flex;gap:8px}.select-wrap{height:40px;display:flex;align-items:center;border:1px solid #dce2e7;border-radius:8px;background:#fff;padding-left:11px}.select-wrap span{font-size:10px;color:#86919c;border-right:1px solid var(--line);padding-right:9px}.select-wrap select{border:0;outline:0;background:transparent;color:#455362;font-size:11px;padding:0 28px 0 9px;height:100%}
.tool-group .button{height:40px;font-size:11px}.tool-group .button b{background:#e3f4fb;color:var(--brand-dark);font-size:9px;border-radius:8px;padding:2px 5px}
.jobs-table-wrap{min-height:340px}.jobs-table{border-collapse:collapse;width:100%}.jobs-table th{text-align:left;padding:11px 14px;background:#fafbfc;color:#8a95a1;text-transform:uppercase;font-size:9px;letter-spacing:.65px;font-weight:700}.jobs-table td{border-top:1px solid #edf0f2;padding:13px 14px;vertical-align:middle;font-size:11px}
.jobs-table tbody tr{cursor:pointer;transition:.15s}.jobs-table tbody tr:nth-child(odd){background:#fff}.jobs-table tbody tr:nth-child(even){background:#f3f5f6}.jobs-table tbody tr:hover{background:#e7f4fa}.job-number{display:grid;gap:3px}.job-number strong{color:var(--brand-dark);font-size:12px}.job-number small{color:#919ca6;font-size:9px}
.customer-cell{display:grid;gap:3px}.customer-cell strong{font-size:12px}.customer-cell span,.subtle{color:#7d8995;font-size:10px}.customer-cell span svg{width:11px;height:11px;vertical-align:-2px;margin-right:3px}
.appliance-cell{display:flex;align-items:center;gap:8px}.appliance-icon{width:31px;height:31px;border-radius:8px;background:#edf6fa;color:var(--brand-dark);display:grid;place-items:center}.appliance-icon svg{width:16px}.appliance-cell div{display:grid}.appliance-cell strong{font-size:11px}.appliance-cell small{color:#87929d;font-size:9px}
.schedule-cell{display:grid;gap:3px}.schedule-cell strong{font-size:11px}.schedule-cell span{font-size:9px;color:#87929d}
.tech-cell{display:flex;align-items:center;gap:7px}.tech-avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e9eff5;color:#526274;font-size:9px;font-weight:700}.tech-cell span{font-size:10px}.tech-cell.unassigned{color:#9ba4ad;font-style:italic}
.status{display:inline-flex;align-items:center;gap:6px;border-radius:12px;padding:5px 8px;font-size:9px;font-weight:700;white-space:nowrap}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.status.quote{background:#fff2db;color:#a96300}.status.work{background:#e7f4fb;color:#0878b1}.status.review{background:#f0eaff;color:#6e4ccb}.status.complete{background:#e6f6ef;color:#16865a}.status.unsuccessful{background:#fdeaea;color:#be4141}
.row-open{border:0;background:transparent;color:#a4adb5;padding:5px}.row-open svg{width:16px}
.list-footer{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;color:#84909b;font-size:10px}.list-footer div{display:flex;gap:3px}.list-footer button{height:28px;min-width:28px;border:1px solid #e0e5e9;background:#fff;color:#687582;border-radius:6px;font-size:10px}.list-footer button.active{background:var(--brand);border-color:var(--brand);color:#fff}.list-footer button:disabled{opacity:.45}
.mobile-job-list,.mobile-nav{display:none}.empty-state{text-align:center;padding:70px 20px}.empty-state svg{width:34px;height:34px;color:#a9b5bd}.empty-state h3{margin:12px 0 4px}.empty-state p{margin:0;color:var(--muted);font-size:12px}
.map-view{position:relative;height:570px;overflow:hidden;background:#e8eef0}.map-view iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.8) contrast(.94)}.map-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,47,58,.08),transparent 50%);pointer-events:none}.map-sidebar{position:absolute;z-index:3;left:16px;top:16px;bottom:16px;width:300px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid rgba(208,218,224,.9);border-radius:11px;box-shadow:0 12px 35px rgba(28,49,61,.17);overflow:hidden}.map-sidebar-head{height:60px;padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.map-sidebar-head div{display:grid;gap:2px}.map-sidebar-head span{font-size:8px;color:#8a97a1;letter-spacing:1px;font-weight:700}.map-sidebar-head strong{font-size:13px}.map-sidebar-head button{border:0;background:#eaf6fb;color:var(--brand-dark);border-radius:7px;padding:7px 9px;font-size:9px;font-weight:700}.map-job-list{height:calc(100% - 60px);overflow:auto}.map-job-card{display:grid;grid-template-columns:32px 1fr;gap:9px;padding:12px 13px;border-bottom:1px solid #edf0f2;cursor:pointer}.map-job-card:hover{background:#f7fbfc}.map-job-card .map-index{width:29px;height:29px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--brand);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700}.map-job-card .map-index span{transform:rotate(45deg)}.map-job-card h4{font-size:11px;margin:0 0 3px}.map-job-card p{font-size:9px;color:var(--muted);margin:2px 0}.map-job-card small{font-size:8px;color:var(--brand-dark);font-weight:700}.map-markers{position:absolute;inset:0;z-index:2;pointer-events:none}.map-marker{position:absolute;width:33px;height:33px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 4px 12px rgba(27,51,64,.3);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700;pointer-events:auto}.map-marker span{transform:rotate(45deg)}.map-marker.quote{background:#d88917}.map-marker.work{background:var(--brand)}.map-marker.review{background:var(--violet)}.map-marker.complete{background:var(--green)}.map-marker:nth-child(1){left:57%;top:30%}.map-marker:nth-child(2){left:73%;top:19%}.map-marker:nth-child(3){left:62%;top:57%}.map-marker:nth-child(4){left:84%;top:44%}.map-marker:nth-child(5){left:48%;top:69%}.map-marker:nth-child(6){left:76%;top:72%}.map-legend{position:absolute;right:14px;bottom:14px;z-index:3;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;gap:10px;box-shadow:0 5px 15px rgba(29,47,58,.1)}.map-legend span{display:flex;align-items:center;gap:4px;font-size:8px;color:#667581}.map-legend i{width:7px;height:7px;border-radius:50%}.map-legend i.quote{background:#d88917}.map-legend i.work{background:var(--brand)}.map-legend i.review{background:var(--violet)}.map-legend i.complete{background:var(--green)}
.scrim{position:fixed;inset:0;background:rgba(17,31,43,.45);backdrop-filter:blur(2px);z-index:40;opacity:0;visibility:hidden;transition:.22s}.scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;z-index:50;right:0;top:0;height:100vh;background:#fff;box-shadow:-20px 0 50px rgba(25,42,56,.17);transform:translateX(105%);transition:transform .26s ease;overflow:auto}.drawer.open{transform:none}
#jobDrawer{inset:auto;right:auto;width:min(860px,calc(100vw - 48px));height:auto;max-height:none;padding:25px;border-radius:18px;box-shadow:0 28px 80px rgba(18,37,52,.28);transform:none!important;opacity:1;visibility:visible;transition:none!important;overflow:visible}#jobDrawer.open{transform:none!important;opacity:1;visibility:visible}#jobDrawer .drawer-head{cursor:grab;user-select:none;touch-action:none;background:#fff;z-index:5;padding:0 0 14px;border-bottom:1px solid var(--line)}#jobDrawer.dragging .drawer-head{cursor:grabbing}.create-drawer{width:min(680px,100%)}.create-drawer form{min-height:100%;padding:0 28px 95px}
.drawer-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.drawer-head.sticky{position:sticky;top:0;background:#fff;z-index:2;padding:25px 0 17px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:23px;margin:4px 0 0;letter-spacing:-.4px}.drawer-head p{margin:6px 0 0;color:var(--muted);font-size:11px}
.close-button{width:36px;height:36px;border:1px solid var(--line);background:#fff;color:#6c7885;border-radius:8px;display:grid;place-items:center;flex:none}.close-button svg{width:17px}
.detail-status{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.job-status-picker{display:flex;align-items:center;gap:8px;color:#7d8993;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.job-status-picker button{cursor:pointer;outline:0}.job-status-picker button:focus{box-shadow:0 0 0 3px rgba(7,141,202,.14)}
.detail-customer{display:flex;align-items:center;gap:12px;background:#f7fafb;border-radius:11px;padding:15px}.large-avatar{width:45px;height:45px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}.detail-customer h3{font-size:14px;margin:0 0 3px}.detail-customer p{font-size:10px;color:var(--muted);margin:0}.quick-contact{margin-left:auto;display:flex;gap:6px}.quick-contact button{width:34px;height:34px;border:1px solid #dce3e8;background:#fff;border-radius:8px;color:var(--brand-dark)}.quick-contact svg{width:15px}
.detail-customer-identity{min-width:0;display:grid;gap:4px}.detail-customer-identity h3{margin-bottom:2px}.detail-customer-identity p{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:baseline;gap:7px}.detail-customer-identity p span{font-size:7px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:#8a98a1}.detail-customer-identity p strong{font-size:9px;font-weight:600;color:#405560;overflow-wrap:anywhere}.detail-customer-identity p strong.missing{color:#ad6b2c;font-style:italic}.quick-contact button{cursor:pointer}.quick-contact button:hover{border-color:#8cc5dc;background:#eef9fd}.contact-editor{margin-top:9px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.detail-grid article{border:1px solid var(--line);border-radius:9px;padding:12px;display:grid;gap:3px}.detail-grid span{text-transform:uppercase;color:#929da6;font-size:8px;letter-spacing:.7px}.detail-grid strong{font-size:11px}.detail-grid small{color:var(--muted);font-size:9px}
.detail-field-button,.detail-tech-button{border:0;background:transparent;padding:0;text-align:left;display:grid;gap:3px;cursor:pointer;color:inherit;width:100%;border-radius:5px}.detail-field-button:hover strong,.detail-tech-button:hover strong{color:var(--brand)}.detail-field-button:focus-visible,.detail-tech-button:focus-visible{outline:2px solid rgba(7,141,202,.35);outline-offset:3px}.inline-detail-editor{margin:-4px 0 14px;padding:13px;border:1px solid #b9dcea;border-radius:11px;background:#f6fbfd}.inline-detail-editor .form-grid{margin:0}.inline-editor-actions{display:flex;justify-content:flex-end;gap:8px}.inline-detail-editor .form-message{margin:6px 0 0}.appliance-editor-fields{margin-top:13px}.quick-picker form>footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.quick-picker form>footer .button{width:auto}.quick-picker form .quick-picker-body{padding:16px}
.detail-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:20px}.detail-tabs button{border:0;background:none;padding:10px 13px;color:var(--muted);font-size:11px}.detail-tabs button.active{color:var(--brand-dark);font-weight:700;border-bottom:2px solid var(--brand)}
.timeline{padding:15px 2px}.timeline article{display:grid;grid-template-columns:15px 1fr;gap:10px;position:relative;padding-bottom:20px}.timeline article:not(:last-child):before{content:"";position:absolute;left:5px;top:12px;bottom:0;width:1px;background:#dfe5e9}.timeline-dot{width:11px;height:11px;border:3px solid #d8f1fb;background:var(--brand);border-radius:50%;z-index:1}.timeline-dot.green{background:var(--green);border-color:#dff3eb}.timeline-dot.gray{background:#96a2ac;border-color:#edf0f2}.timeline strong{font-size:11px}.timeline p{font-size:10px;color:#667482;margin:3px 0}.timeline small{font-size:9px;color:#99a3ac}.drawer-actions{display:flex;gap:8px;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:15px 0}.drawer-actions .button{flex:1}
.stepper{display:flex;align-items:center;justify-content:center;margin:22px 0;color:#9aa4ad;font-size:9px;font-weight:600}.stepper span{display:flex;align-items:center;gap:5px;white-space:nowrap}.stepper span b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef1f3;color:#788591}.stepper span.active{color:var(--brand-dark)}.stepper span.active b{background:var(--brand);color:#fff}.stepper i{width:45px;height:1px;background:#dfe4e8;margin:0 8px}
.form-section{padding:4px 0 22px;margin-bottom:20px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:start;gap:10px;margin-bottom:15px}.section-title>span{width:25px;height:25px;border-radius:7px;background:#e6f5fb;color:var(--brand-dark);display:grid;place-items:center;font-size:10px;font-weight:700}.section-title h3{font-size:14px;margin:1px 0 2px}.section-title p{font-size:10px;color:var(--muted);margin:0}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f0f3f5;border-radius:8px;padding:3px;margin-bottom:14px}.segmented button{border:0;background:transparent;height:35px;border-radius:6px;color:#73808c;font-size:11px;font-weight:600}.segmented button.active{background:#fff;color:var(--brand-dark);box-shadow:0 2px 7px rgba(38,54,66,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:6px;color:#475563;font-size:10px;font-weight:600}.form-grid label b{color:#d35a5a;font-size:8px;margin-left:3px}.form-grid label em{font-style:normal;color:#9aa3ab;font-weight:400;font-size:8px}.form-grid .wide{grid-column:1/-1}
.form-grid input,.form-grid select{width:100%;height:40px;border:1px solid #d9e0e5;border-radius:8px;padding:0 11px;outline:0;background:#fff;color:var(--ink);font-size:11px}.form-grid input:focus,.form-grid select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(7,141,202,.1)}
.text-button{border:0;background:none;color:var(--brand-dark);font-weight:600;font-size:10px;padding:12px 0}.check-row{display:flex;align-items:start;gap:9px;border:1px solid #dce3e8;background:#f9fbfc;border-radius:9px;padding:11px;cursor:pointer}.check-row input{accent-color:var(--brand);margin-top:2px}.check-row span{display:grid;gap:2px}.check-row b{font-size:10px}.check-row small{font-size:9px;color:var(--muted)}
.billing-address-fields{margin-top:12px;padding:12px;border:1px solid #dce3e8;background:#f8fafb;border-radius:9px}
.appliance-card{border:1px solid #dfe5e9;border-radius:9px;padding:12px;background:#fbfcfd}.appliance-number{display:flex;align-items:center;gap:7px;color:var(--brand-dark);font-size:10px;font-weight:700;margin-bottom:10px}.appliance-number svg{width:15px}.remove-appliance{margin-left:auto;width:28px;height:28px;border:1px solid #e1e6ea;background:#fff;color:#7f8b95;border-radius:7px;display:grid;place-items:center}.remove-appliance:hover{color:var(--red);border-color:#f1caca;background:#fff8f8}.remove-appliance svg{width:13px;height:13px}.add-appliance{width:100%;height:39px;border:1px dashed #b8ced9;background:#f8fcfd;color:var(--brand-dark);border-radius:8px;margin-top:9px;font-size:10px;font-weight:700}.add-appliance svg{width:14px;vertical-align:-3px;margin-right:5px}
.form-message{font-size:10px;color:var(--red);min-height:14px}.create-actions{position:fixed;right:0;bottom:0;width:min(680px,100%);background:#fff;border-top:1px solid var(--line);padding:14px 28px;display:flex;justify-content:flex-end;gap:8px;z-index:3}
.toast{position:fixed;z-index:100;right:24px;bottom:24px;background:#173342;color:#fff;padding:12px 16px;border-radius:9px;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:none}
@media(max-width:1150px){:root{--sidebar:78px}.sidebar{padding:17px 10px}.brand{height:58px;margin-bottom:18px}.brand img{width:78px;height:78px}.main-nav a,.settings-link{justify-content:center;padding:0}.main-nav a span,.main-nav a b,.main-nav a i,.settings-link span,.system-card,.profile-card div,.profile-card button{display:none}.profile-card{grid-template-columns:1fr;padding:12px 0 0}.avatar{margin:auto}.main-nav a.active:before{left:10px}.metrics{grid-template-columns:repeat(2,1fr)}.jobs-table th:nth-child(5),.jobs-table td:nth-child(5){display:none}}
@media(max-width:760px){body{padding-bottom:70px}.sidebar{display:none}.app-shell{margin:0;padding:18px 14px 28px}.topbar{margin-bottom:17px}.mobile-menu{display:grid;gap:4px;width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;flex:none}.mobile-menu span{height:2px;background:#60707d;border-radius:3px}.page-title{flex:1}.page-title .eyebrow,.page-title p{display:none}.page-title h1{font-size:25px;margin:0}.top-actions .icon-button:first-child{display:none}.top-actions .button{width:40px;padding:0}.top-actions .button span{display:none}.metrics{grid-template-columns:repeat(2,1fr);gap:8px}.metrics article{padding:12px;gap:9px}.metric-icon{width:35px;height:35px}.metric-icon svg{width:16px}.metrics strong{font-size:20px}.metrics span{font-size:9px}.metrics small{display:none}.workspace{border-radius:10px}.status-tabs{padding:0 9px}.status-tabs button{height:47px;padding:0 9px}.status-tabs .map-tab{margin-left:0}.list-tools{display:grid;padding:11px}.search-box{width:100%}.tool-group{justify-content:space-between}.select-wrap{flex:1}.select-wrap span{display:none}.select-wrap select{width:100%}.jobs-table,.list-footer{display:none}.mobile-job-list{display:grid}.mobile-job-card{padding:14px;border-bottom:1px solid var(--line);display:grid;gap:11px;cursor:pointer}.mobile-job-card:active{background:#f7fafb}.mobile-job-head{display:flex;align-items:center;justify-content:space-between}.mobile-job-head strong{color:var(--brand-dark);font-size:12px}.mobile-job-main{display:grid;grid-template-columns:39px 1fr;gap:10px}.mobile-job-main .appliance-icon{width:39px;height:39px}.mobile-job-main h3{font-size:13px;margin:0 0 3px}.mobile-job-main p{margin:0;color:var(--muted);font-size:10px}.mobile-job-meta{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px dashed #e5e9ec;color:#64727f;font-size:9px}.mobile-job-meta span{display:flex;align-items:center;gap:4px}.mobile-job-meta svg{width:12px}.map-view{height:600px}.map-sidebar{left:10px;right:10px;top:auto;bottom:10px;width:auto;height:220px}.map-sidebar-head{height:52px}.map-job-list{height:168px}.map-job-card{padding:10px 12px}.map-legend{display:none}.map-marker:nth-child(n){top:25%}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--line);z-index:30;padding-bottom:max(0px,env(safe-area-inset-bottom))}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7f8a94;text-decoration:none;font-size:8px}.mobile-nav a svg{width:18px}.mobile-nav a.active{color:var(--brand-dark)}.mobile-nav button{width:46px;height:46px;border:0;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;margin:-15px auto 0;box-shadow:0 6px 15px rgba(7,141,202,.28)}.mobile-nav button svg{width:22px}.job-drawer{padding:20px}.detail-grid{grid-template-columns:1fr 1fr}.create-drawer form{padding:0 18px 90px}.drawer-head.sticky{padding-top:20px}.create-actions{padding:12px 18px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.stepper i{width:18px;margin:0 4px}.toast{right:12px;left:12px;bottom:78px;text-align:center}}
@media(max-width:400px){.metrics{grid-template-columns:1fr 1fr}.metrics article{display:block}.metric-icon{margin-bottom:7px}.detail-grid{grid-template-columns:1fr}.stepper span{font-size:0}.stepper span b{font-size:9px}}
@media(max-width:1150px) and (min-width:761px){.brand{height:72px;padding:2px}.brand img{width:100%;height:100%;object-fit:contain}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.drawer,.scrim,.toast{transition:none}}

.map-job-card:nth-child(even){background:#f3f5f6}.map-job-card:hover{background:#e7f4fa}
@media(max-width:760px){.mobile-job-card:nth-child(odd){background:#fff}.mobile-job-card:nth-child(even){background:#f3f5f6}.mobile-job-card:active{background:#e7f4fa}}
.appointment-editor{padding:0 24px 18px}.appointment-editor>button{width:100%}.appointment-editor form{margin-top:14px;padding:18px;border:1px solid #dbe4ea;border-radius:14px;background:#f8fafc}.appointment-editor h3{margin:0 0 14px}.appointment-editor .create-actions{padding:14px 0 0}.appointment-editor #notificationRecipients{margin-top:8px}
.tech-picker{border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;padding:7px 28px 7px 9px;border-radius:10px;max-width:155px;color:#34434f}.tech-picker:hover,.tech-picker:focus-visible{background:#e8f4fb;border-color:#8cc9ea;outline:0}
.schedule-workspace{max-width:1500px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(42,61,78,.03);overflow:hidden}.schedule-toolbar{min-height:82px;padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px}.schedule-toolbar h2{margin:4px 0 0;font-size:22px}.calendar-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.calendar-nav .icon-button{font-size:24px}.calendar-views{display:flex;background:#eef2f4;padding:3px;border-radius:9px}.calendar-views button{height:34px;padding:0 15px;border:0;background:transparent;border-radius:7px;color:#6f7d89;font-size:11px;font-weight:700}.calendar-views button.active{background:#fff;color:var(--brand-dark);box-shadow:0 2px 7px rgba(38,54,66,.1)}.calendar-legend{display:flex;align-items:center;gap:14px;min-height:43px;padding:8px 20px;border-bottom:1px solid var(--line);overflow:auto}.calendar-legend span{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;color:#667581}.calendar-legend i{width:9px;height:9px;border-radius:50%}.calendar-surface{min-height:610px;overflow:auto}.calendar-event{border:0;border-left:3px solid var(--brand);border-radius:7px;background:#eaf6fb;color:#22546c;text-align:left;padding:6px 7px;font-size:9px;line-height:1.3;cursor:pointer;overflow:hidden}.calendar-event:hover{filter:brightness(.97);box-shadow:0 3px 10px rgba(29,63,80,.12)}.calendar-event strong,.calendar-event span{display:block}.calendar-event strong{font-size:9px}.calendar-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.unassigned{border-color:#9aa5ae;background:#f0f2f4;color:#66727c}.calendar-event[data-tech="Alex Morgan"]{border-color:#7c5ce3;background:#f0ebff;color:#58429a}.calendar-event[data-tech="Daniel Reed"]{border-color:#1a9b65;background:#e7f6ef;color:#176c4a}.calendar-event[data-tech="Mike Torres"]{border-color:#078dca;background:#e6f5fb;color:#17617f}.week-calendar{display:grid;grid-template-columns:64px repeat(7,minmax(125px,1fr));min-width:960px}.week-head{position:sticky;top:0;z-index:3;background:#fafcfd;border-bottom:1px solid var(--line);padding:11px;text-align:center;font-size:10px;color:#697784}.week-head strong{display:block;font-size:17px;color:#273744;margin-top:3px}.time-label{height:56px;border-right:1px solid var(--line);border-bottom:1px solid #eef1f3;padding:7px 8px;text-align:right;color:#929ca5;font-size:9px}.week-slot{height:56px;border-right:1px solid var(--line);border-bottom:1px solid #eef1f3;padding:3px;position:relative}.week-slot .calendar-event{position:absolute;inset:3px;z-index:1}.day-calendar{display:grid;grid-template-columns:64px repeat(var(--tech-count),minmax(180px,1fr));min-width:760px}.day-tech-head{position:sticky;top:0;z-index:3;background:#fafcfd;border-bottom:1px solid var(--line);padding:12px;text-align:center}.day-tech-head strong{display:block;font-size:11px}.day-tech-head span{font-size:9px;color:#8a95a1}.day-slot{height:64px;border-right:1px solid var(--line);border-bottom:1px solid #eef1f3;padding:3px;position:relative}.day-slot .calendar-event{height:calc(100% - 6px);width:100%}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);min-width:760px}.month-weekday{background:#fafcfd;border-bottom:1px solid var(--line);padding:10px;text-align:center;color:#77848f;font-size:9px;font-weight:700;text-transform:uppercase}.month-day{min-height:118px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;display:flex;flex-direction:column;gap:4px}.month-day.outside{background:#fafbfc;color:#adb5bc}.month-day.today{box-shadow:inset 0 0 0 2px var(--brand)}.month-date{font-size:10px;font-weight:700;margin-bottom:2px}.month-day .calendar-event{padding:4px 5px}.month-more{border:0;background:transparent;color:var(--brand-dark);font-size:9px;text-align:left;font-weight:700;padding:2px}
@media(max-width:760px){.schedule-toolbar{align-items:flex-start;flex-wrap:wrap}.calendar-nav{margin-left:0}.calendar-views{margin-left:auto}.schedule-workspace{border-radius:10px}.calendar-surface{min-height:520px}.month-day{min-height:95px}}
.schedule-workspace{background:#f8fafb}.schedule-toolbar{background:#fff}.calendar-legend{background:#fff}.calendar-surface{background:#fff;max-height:calc(100vh - 235px);min-height:640px}.timeline-calendar{min-width:1040px}.timeline-header{display:grid;position:sticky;top:0;z-index:8;background:#fff;border-bottom:1px solid #dce3e8;box-shadow:0 2px 5px rgba(35,55,68,.04)}.timeline-header.week{grid-template-columns:70px repeat(7,1fr)}.timeline-header.day{grid-template-columns:70px repeat(var(--tech-count),1fr)}.timeline-corner{border-right:1px solid var(--line);padding:12px}.timeline-day-head{min-height:60px;padding:9px 8px;border-right:1px solid var(--line);text-align:center;color:#6c7883;font-size:10px}.timeline-day-head strong{display:block;font-size:18px;color:#273744;margin-top:2px}.timeline-day-head.today{background:#eff9fd;color:var(--brand-dark)}.timeline-day-head.today strong{width:30px;height:30px;margin:2px auto 0;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center}.timeline-day-head small{display:block;color:#929ca5;margin-top:3px}.timeline-body{display:grid;grid-template-columns:70px 1fr;position:relative;height:840px}.time-rail{position:relative;border-right:1px solid #dce3e8;background:#fbfcfd}.time-rail span{position:absolute;right:9px;transform:translateY(-50%);color:#8a96a0;font-size:9px}.timeline-columns{display:grid;position:relative}.timeline-columns.week{grid-template-columns:repeat(7,1fr)}.timeline-columns.day{grid-template-columns:repeat(var(--tech-count),1fr)}.timeline-column{position:relative;border-right:1px solid #e1e6ea;background:repeating-linear-gradient(to bottom,#fff 0,#fff 31px,#f0f3f5 32px,#fff 33px,#fff 63px,#dfe5e9 64px)}.timeline-event{position:absolute;border:0;border-left:4px solid var(--brand);border-radius:3px;background:#e9f5fa;color:#274c60;text-align:left;padding:5px 7px;min-height:24px;overflow:hidden;cursor:pointer;z-index:3;box-shadow:0 1px 2px rgba(34,53,65,.08)}.timeline-event:hover{z-index:6;filter:brightness(.97);box-shadow:0 5px 14px rgba(34,53,65,.16)}.timeline-event strong,.timeline-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-event strong{font-size:9px}.timeline-event span{font-size:9px}.timeline-event .event-meta{font-size:8px;opacity:.78;margin-top:1px}.timeline-event.unassigned{border-color:#98a4ae;background:#f0f2f4;color:#616e78}.timeline-event[data-tech="Alex Morgan"]{border-color:#805bd6;background:#f0eaff;color:#60459b}.timeline-event[data-tech="Daniel Reed"]{border-color:#159a64;background:#e6f6ee;color:#176d4b}.timeline-event[data-tech="Mike Torres"]{border-color:#078dca;background:#e4f4fb;color:#155f7e}.now-line{position:absolute;left:0;right:0;height:2px;background:#ef5350;z-index:7;pointer-events:none}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:9px;height:9px;border-radius:50%;background:#ef5350}.two-week-calendar{min-width:1040px;display:grid;grid-template-columns:repeat(7,1fr);background:#fff}.two-week-day{min-height:250px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;display:flex;flex-direction:column;gap:3px}.two-week-day .calendar-event,.month-day .calendar-event{border-radius:2px;padding:3px 5px;min-height:21px}.two-week-day .calendar-event strong,.month-day .calendar-event strong{font-size:8px}.two-week-day .calendar-event span,.month-day .calendar-event span{display:none}.two-week-head{font-size:10px;color:#7d8993;font-weight:700;margin-bottom:4px}.month-day{min-height:138px;padding:6px;gap:2px}.month-date{align-self:flex-end;color:#687681}.month-day.today .month-date{background:var(--brand);color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.month-more{color:#147bac}.calendar-empty{position:absolute;inset:0;display:grid;place-items:center;color:#96a1aa;font-size:11px;pointer-events:none}

.schedule-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:640px}.schedule-calendar-pane{min-width:0}.dispatch-queue{border-left:1px solid var(--line);background:#f7fafc;display:flex;flex-direction:column;min-width:0}.dispatch-queue header{height:70px;padding:13px 14px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dispatch-queue h3{font-size:14px;margin:4px 0 0}.dispatch-queue h3 b{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:11px;background:var(--brand-soft);color:var(--brand-dark);font-size:9px;margin-left:5px}.dispatch-queue header>button{width:31px;height:31px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-dark);font-size:19px;cursor:pointer}.queue-controls{padding:11px;border-bottom:1px solid var(--line);display:grid;gap:8px}.queue-controls select,.queue-controls label{height:37px;border:1px solid #d9e2e8;border-radius:8px;background:#fff}.queue-controls select{padding:0 10px;color:#52606c;font-size:10px}.queue-controls label{display:flex;align-items:center;gap:6px;padding:0 9px}.queue-controls label svg{width:14px;color:#85919c}.queue-controls input{border:0;outline:0;width:100%;font-size:10px}.queue-list{padding:10px;display:grid;align-content:start;gap:8px;overflow:auto;max-height:calc(100vh - 390px);min-height:420px}.queue-card{position:relative;border:1px solid #dae4ea;border-radius:11px;background:#fff;padding:11px 11px 10px 15px;text-align:left;cursor:grab;box-shadow:0 2px 5px rgba(30,52,66,.04);transition:.15s}.queue-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--brand)}.queue-card:hover{border-color:#9fcfe5;box-shadow:0 7px 18px rgba(31,73,94,.1);transform:translateY(-1px)}.queue-card.dragging{opacity:.48;cursor:grabbing}.queue-card-head{display:flex;justify-content:space-between;gap:8px}.queue-card strong{font-size:11px;color:#273744}.queue-card-head span{font-size:8px;color:var(--brand-dark);font-weight:700}.queue-card p{margin:5px 0 3px;font-size:10px;color:#53616e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-card small{display:block;font-size:8px;color:#8a96a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-card-meta{display:flex;gap:5px;margin-top:8px}.queue-card-meta i{font-style:normal;background:#f0f4f6;color:#667681;padding:3px 6px;border-radius:6px;font-size:8px}.queue-empty{padding:45px 15px;text-align:center;color:#8c98a2;font-size:10px}.dispatch-queue footer{margin-top:auto;padding:11px 13px;border-top:1px solid var(--line);background:#fff;color:#81909b;font-size:9px}.schedule-workspace.queue-collapsed .schedule-main{grid-template-columns:minmax(0,1fr) 48px}.schedule-workspace.queue-collapsed .dispatch-queue header{padding:9px}.schedule-workspace.queue-collapsed .dispatch-queue header>div,.schedule-workspace.queue-collapsed .queue-controls,.schedule-workspace.queue-collapsed .queue-list,.schedule-workspace.queue-collapsed .dispatch-queue footer{display:none}.schedule-workspace.queue-collapsed .dispatch-queue header>button{transform:rotate(180deg)}.timeline-column.drop-target,.month-day.drop-target,.two-week-day.drop-target{background-color:#e7f6fc;box-shadow:inset 0 0 0 2px var(--brand)}
@media(max-width:980px){.schedule-main{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:760px){.schedule-main{display:block}.dispatch-queue{border-left:0;border-top:1px solid var(--line)}.queue-list{max-height:310px;min-height:180px}.schedule-workspace.queue-collapsed .schedule-main{display:block}.schedule-workspace.queue-collapsed .dispatch-queue{height:48px}.schedule-workspace.queue-collapsed .dispatch-queue header{height:48px}}
.timeline-calendar{min-width:700px}
.timeline-calendar{min-width:620px}
.timeline-event.dragging,.calendar-event.dragging{opacity:.45;cursor:grabbing}.timeline-event{touch-action:none}.event-resize{position:absolute!important;left:5px!important;right:5px!important;bottom:0!important;height:8px!important;display:block!important;cursor:ns-resize;border-bottom:2px solid transparent}.timeline-event:hover .event-resize{border-bottom-color:currentColor}.timeline-column.drop-target,.month-day.drop-target,.two-week-day.drop-target{outline:2px solid var(--brand);outline-offset:-2px}
.timeline-column.drop-conflict,.month-day.drop-conflict,.two-week-day.drop-conflict{background:#fff0ef!important;outline:2px solid #e4544f!important;outline-offset:-2px}.schedule-confirm-backdrop{position:fixed;inset:0;z-index:90;background:rgba(20,35,45,.38);display:grid;place-items:center;padding:20px}.schedule-confirm-backdrop[hidden]{display:none}.schedule-confirm{width:min(520px,calc(100vw - 32px));border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(20,38,50,.3);overflow:hidden}.schedule-confirm>header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 16px;border-bottom:1px solid var(--line)}.schedule-confirm h2{font-size:19px;margin:4px 0 0}.schedule-confirm-job{display:flex;justify-content:space-between;gap:12px;padding:15px 22px;background:#f6fafc;color:#53636f}.schedule-confirm-job strong{color:var(--brand-dark)}.schedule-confirm-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:10px;padding:18px 22px 12px}.schedule-confirm-grid article{padding:11px;border:1px solid #dfe7ec;border-radius:10px}.schedule-confirm-grid span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#82909b}.schedule-confirm-grid strong{display:block;margin-top:5px;font-size:11px;color:#2c3e4b}.schedule-confirm>.check-row{margin:5px 22px 15px}.schedule-confirm>.form-message{padding:0 22px}.schedule-confirm>footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line)}
@media(max-width:560px){.schedule-confirm-grid{grid-template-columns:1fr}.schedule-confirm>footer{flex-direction:column-reverse}.schedule-confirm>footer button{width:100%}}
.drop-preview{position:absolute;left:3px;right:3px;z-index:12;border:1px dashed #168dbd;border-radius:5px;background:rgba(217,244,254,.92);color:#17647f;padding:5px;font-size:9px;font-weight:700;pointer-events:none;overflow:hidden}.drop-preview.conflict{border-color:#df4d48;background:rgba(255,226,224,.95);color:#9c302d}.drop-preview.compact{position:relative;left:auto;right:auto;top:auto;height:auto;min-height:27px;margin-top:3px}
.visit-control{margin-bottom:12px;border:1px solid #dce6ec;border-radius:13px;background:#f8fbfc;padding:14px}.visit-control-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.visit-control-head span{display:block;font-size:8px;letter-spacing:.09em;color:#81909b}.visit-control-head strong{display:block;margin-top:3px;font-size:13px;color:#2c3f4c}.visit-control-head .button{width:auto;min-width:108px;height:36px}.visit-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:13px 0}.visit-progress i{height:5px;border-radius:3px;background:#dce4e8}.visit-progress i.done{background:var(--brand)}.visit-progress.cancelled i{background:#e15c56}.visit-actions{display:flex;justify-content:space-between}.visit-actions button{border:0;background:transparent;color:var(--brand-dark);font-size:9px;font-weight:700;cursor:pointer}.visit-actions button:last-child{color:#b84945}.visit-control form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.visit-control form label{display:grid;gap:6px;color:#5c6b76;font-size:9px}.visit-control form select{height:38px;border:1px solid #d6e0e6;border-radius:8px;background:#fff;padding:0 9px}.visit-control form>div{display:flex;gap:8px;margin-top:10px}.visit-control form .button{width:50%}.button.danger{background:#d94f49;color:#fff;border-color:#d94f49}.timeline-event[data-status="confirmed"],.calendar-event[data-status="confirmed"]{box-shadow:inset 0 0 0 1px rgba(8,141,202,.28)}.timeline-event[data-status="en_route"],.calendar-event[data-status="en_route"]{background:#fff3d9;color:#74551d}.timeline-event[data-status="arrived"],.calendar-event[data-status="arrived"]{background:#e4f6ec;color:#176b48}.timeline-event[data-status="completed"],.calendar-event[data-status="completed"]{opacity:.64}.timeline-event[data-status="cancelled"],.calendar-event[data-status="cancelled"]{background:#f1f2f3;color:#8a939a;text-decoration:line-through;opacity:.68}
.signature-acceptance{padding:0 24px 16px}.signature-acceptance>button{width:100%}.signature-acceptance form{margin-top:12px;padding:17px;border:1px solid #b9dcea;border-radius:14px;background:#f6fbfd}.signature-acceptance h3{font-size:17px;margin:4px 0}.signature-acceptance p{font-size:9px;color:#74828d}.signature-label{display:grid;gap:7px;margin-top:12px;font-size:9px;font-weight:700;color:#445661}.signature-label canvas{width:100%;height:210px;border:2px dashed #9dc9dc;border-radius:12px;background:#fff;touch-action:none;cursor:crosshair}.signature-acceptance .text-button{margin:7px 0 4px}.signature-acceptance .create-actions{padding:12px 0 0}
.quote-mode .detail-customer,.quote-mode .detail-grid,.quote-mode .appointment-editor,.quote-mode .signature-acceptance,.quote-mode .drawer-actions{display:none}.quote-editor{padding:16px 0 2px}.quote-editor>header{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:13px}.quote-editor h3{font-size:17px;margin:4px 0 0}.quote-editor h3 small{font-size:9px;color:#89959e;font-weight:500;margin-left:5px}.quote-tax{display:flex;gap:8px}.quote-tax label{display:grid;gap:4px;color:#788590;font-size:8px;font-weight:700;text-transform:uppercase}.quote-tax input{height:34px;width:135px;border:1px solid #d9e2e7;border-radius:8px;padding:0 9px;font-size:10px}.quote-tax label:last-child input{width:82px}.quote-lines-head,.quote-line{display:grid;grid-template-columns:118px minmax(190px,1fr) 52px 92px 82px 28px;gap:7px;align-items:center}.quote-lines-head{padding:7px 9px;color:#89959f;background:#f4f7f8;border-radius:7px 7px 0 0;text-transform:uppercase;font-size:7px;font-weight:700;letter-spacing:.06em}.quote-line{padding:8px;border:1px solid #e1e7eb;border-top:0;background:#fff}.quote-line:last-child{border-radius:0 0 8px 8px}.quote-line input,.quote-line select{width:100%;height:32px;border:1px solid #dce3e8;border-radius:7px;padding:0 7px;font-size:9px;background:#fff}.quote-line .line-kind,.quote-line .line-item{display:grid;grid-template-columns:1fr;gap:4px}.quote-line .line-item input:last-child{color:#788590}.quote-line output{text-align:right;font-size:10px;font-weight:700;color:#2e414d}.remove-quote-line{width:26px;height:26px;border:0;border-radius:7px;background:#fff0ef;color:#bd4d48;cursor:pointer}.quote-add-actions{display:flex;gap:8px;padding:10px 0}.quote-add-actions button{height:31px;border:1px dashed #9fc8da;border-radius:7px;background:#f7fcfe;color:var(--brand-dark);padding:0 12px;font-size:9px;font-weight:700}.quote-editor>footer{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:end;border-top:1px solid var(--line);padding-top:12px}.quote-totals{display:grid;gap:5px;min-width:185px}.quote-totals span,.quote-totals strong{display:flex;justify-content:space-between;gap:25px;font-size:9px;color:#6f7d87}.quote-totals strong{font-size:13px;color:#253945;border-top:1px solid #dfe5e9;padding-top:6px}.quote-editor>footer .button{height:39px}.quote-editor.readonly .quote-add-actions,.quote-editor.readonly #saveQuote,.quote-editor.readonly .remove-quote-line{display:none}.quote-editor.readonly input,.quote-editor.readonly select{pointer-events:none;background:#f6f8f9;color:#687781}@media(max-width:760px){.quote-editor>header{align-items:start;flex-direction:column}.quote-tax{width:100%}.quote-tax label{flex:1}.quote-tax input,.quote-tax label:last-child input{width:100%}.quote-lines-head{display:none}.quote-line{grid-template-columns:1fr 1fr}.quote-line .line-item{grid-column:1/-1}.quote-line output{text-align:left}.quote-editor>footer{grid-template-columns:1fr}.quote-totals{min-width:0}.quote-editor>footer .button{width:100%}}

/* Compact WiseRepair Job workspace: independent design using the reference workflow. */
#jobDrawer{height:min(760px,calc(100vh - 36px));max-height:calc(100vh - 36px);padding:0;overflow:hidden;border-radius:16px;display:grid;grid-template-rows:auto auto minmax(0,1fr)}#jobDrawer .job-card-title{padding:14px 18px 12px;background:linear-gradient(135deg,#123e54,#0a759e);color:#fff;border:0;border-radius:16px 16px 0 0}#jobDrawer .job-card-title .eyebrow{color:#a8d9ec}#jobDrawer .job-card-title h2{font-size:19px;margin-top:2px}.job-title-actions{display:flex;align-items:center;gap:9px}.job-title-status{min-width:92px;height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.54);border-radius:18px;background:#fff;color:#123e54;font-size:10px;font-weight:800;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18),0 0 0 3px rgba(255,255,255,.08);transition:transform .15s ease,box-shadow .15s ease}.job-title-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:currentColor;vertical-align:1px}.job-title-status:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.24),0 0 0 3px rgba(255,255,255,.14)}.job-title-status:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:2px}.job-title-status.quote{background:#fff1d8;color:#9a5b00}.job-title-status.work{background:#e4f5fc;color:#0875a9}.job-title-status.review,.job-title-status.follow_up{background:#f0eaff;color:#6849aa}.job-title-status.complete{background:#e2f7ec;color:#157a52}.job-title-status.unsuccessful,.job-title-status.cancelled{background:#fde9e8;color:#b63d3d}#jobDrawer .job-card-title .close-button{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}.job-command-bar{height:57px;padding:6px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:5px;background:#f8fafb}.job-command-bar button{height:43px;min-width:74px;border:1px solid transparent;border-radius:9px;background:transparent;color:#52616d;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:650;cursor:pointer}.job-command-bar button:hover{border-color:#cfe2eb;background:#fff;color:var(--brand-dark)}.job-command-bar svg{width:17px;height:17px;color:var(--brand)}.job-card-layout{display:grid;grid-template-columns:82px minmax(0,1.4fr) minmax(300px,.9fr);min-height:0}.job-section-rail{border-right:1px solid var(--line);background:#f5f8fa;padding:10px 7px;display:flex;flex-direction:column;gap:7px}.job-section-rail button{height:65px;border:1px solid transparent;border-radius:10px;background:transparent;color:#70808c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:700;cursor:pointer}.job-section-rail button svg{width:21px;height:21px}.job-section-rail button.active{background:#fff;border-color:#cfe0e8;color:var(--brand-dark);box-shadow:0 4px 12px rgba(29,62,78,.08)}.job-primary-column{padding:15px 17px;overflow:auto;min-width:0}.job-primary-column .detail-grid{margin:12px 0}.job-primary-column .appointment-editor{padding:0}.job-primary-column .signature-acceptance{padding:8px 0 0}.job-primary-column .quote-editor{padding:0}.job-activity-column{border-left:1px solid var(--line);background:#fbfcfd;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0}.job-activity-column>header{padding:15px 18px 11px;border-bottom:1px solid var(--line);background:#fff}.job-activity-column h3{margin:3px 0 0;font-size:16px}.job-activity-column .timeline{padding:15px 17px;overflow:auto}.job-activity-column .timeline article{padding-bottom:18px}.job-activity-column .timeline p{line-height:1.45}.job-activity-column .drawer-actions{position:static;padding:10px 14px;margin:0}.activity-empty{padding:35px 10px;text-align:center;color:#8c98a1;font-size:10px}.quote-editor .quote-lines-head,.quote-editor .quote-line{grid-template-columns:105px minmax(145px,1fr) 45px 78px 70px 26px}.quote-editor>footer{gap:10px}.quote-editor .quote-totals{min-width:160px}@media(max-width:900px){#jobDrawer{height:min(820px,calc(100vh - 20px));width:calc(100vw - 20px)!important}.job-command-bar{padding-left:12px;padding-right:12px}.job-card-layout{grid-template-columns:68px minmax(0,1fr)}.job-activity-column{display:none}.job-section-rail button{height:58px}.quote-editor .quote-lines-head{display:none}.quote-editor .quote-line{grid-template-columns:1fr 1fr}.quote-editor .quote-line .line-item{grid-column:1/-1}}@media(max-width:560px){#jobDrawer{height:calc(100vh - 12px);max-height:calc(100vh - 12px)}#jobDrawer .job-card-title{padding-left:14px;padding-right:12px}.job-title-actions{gap:6px}.job-title-status{min-width:78px;height:31px;padding:0 9px;font-size:9px}.job-command-bar{overflow-x:auto;justify-content:flex-start}.job-command-bar button{min-width:64px}.job-command-bar button span{font-size:9px}.job-card-layout{grid-template-columns:1fr}.job-section-rail{border-right:0;border-bottom:1px solid var(--line);padding:5px;flex-direction:row}.job-section-rail button{height:42px;flex:1;flex-direction:row}.job-section-rail button svg{width:17px}.job-primary-column{padding:12px}.detail-grid{grid-template-columns:1fr 1fr}}
#jobDrawer[hidden]{display:none}
/* Appointment status correction controls */
.visit-status-buttons{display:flex;gap:7px;align-items:center}
.technician-assignment-field{display:grid;gap:7px}.technician-assignment-field>span{font-size:9px;font-weight:700;color:#445661}.technician-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.technician-checklist label{min-height:38px;border:1px solid #d7e1e6;border-radius:9px;background:#fff;padding:8px 10px;display:flex;align-items:center;gap:8px;font-size:10px;color:#394b57;cursor:pointer}.technician-checklist label:has(input:checked){border-color:#61b5d7;background:#edf8fc;color:#154f68}.technician-checklist input{width:16px!important;height:16px!important;flex:0 0 16px;accent-color:var(--brand)}
.job-card-layout{height:100%;min-height:0;overflow:hidden}#jobDrawer{grid-template-rows:72px 57px minmax(0,1fr)}.appointment-editor #appointmentForm .create-actions{position:static;right:auto;bottom:auto;width:auto;background:transparent;border:0;margin:-48px 0 14px;padding:0;z-index:auto;min-height:40px}.editing-appointment>.detail-status,.editing-appointment>.detail-customer,.editing-appointment>.detail-grid,.editing-appointment .visit-control,.editing-appointment .appointment-editor>#toggleAppointment{display:none}.editing-appointment .appointment-editor #appointmentForm{margin-top:0}.editing-appointment .appointment-editor{padding-bottom:0}
.job-primary-column,.job-section-rail,.job-activity-column{min-height:0;height:auto;max-height:100%}
.activity-portal-link{display:block;margin:6px 0;color:var(--brand);font-size:9px;line-height:1.35;overflow-wrap:anywhere}.activity-copy-link{border:0;border-radius:6px;background:#e7f4fa;color:var(--brand-dark);padding:5px 8px;margin:0 0 6px;font-size:8px;font-weight:700;cursor:pointer}
.activity-message-preview{white-space:pre-wrap;max-height:92px;overflow:auto;padding:7px;border-radius:7px;background:#f3f7f9;color:#53636d!important;font-size:8px!important}
@media(max-width:760px){.top-actions .create-job-button{width:auto;min-width:104px;padding:0 14px}.top-actions .create-job-button span{display:inline}.notification-panel{position:fixed;top:68px;right:12px;left:12px;width:auto}}

/* Compact shared pickers for Job status and multi-technician assignment. */
.status-picker{border:0;cursor:pointer}.status-picker:hover{filter:brightness(.96);box-shadow:0 0 0 2px rgba(7,141,202,.09)}.detail-tech-button,.appointment-tech-summary{width:100%;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;padding:0;cursor:pointer;color:inherit}.detail-tech-button:hover{border-color:#cfe3ec;background:#f4fafc;padding:6px;margin:-6px}.detail-tech-button strong,.detail-tech-button small,.appointment-tech-summary strong,.appointment-tech-summary small{display:block}.appointment-tech-summary{min-height:47px;border-color:#d7e1e6;background:#fff;padding:8px 11px}.appointment-tech-summary:hover{border-color:#72b9d6;background:#f7fcfe}.appointment-tech-summary strong{font-size:11px;color:#28414f}.appointment-tech-summary small{margin-top:3px;color:#83909a;font-size:8px}.quick-picker-backdrop{position:fixed;inset:0;z-index:120;background:rgba(18,35,46,.4);display:grid;place-items:center;padding:18px}.quick-picker-backdrop[hidden]{display:none}.quick-picker{width:min(430px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 36px));border-radius:16px;background:#fff;box-shadow:0 28px 80px rgba(18,38,51,.34);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.quick-picker>header{display:flex;align-items:center;justify-content:space-between;padding:17px 19px 14px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8fcfd,#edf7fb)}.quick-picker h2{margin:3px 0 0;font-size:18px;color:#203946}.quick-picker .close-button{position:static}.quick-picker-body{padding:15px 18px;overflow:auto;min-height:0;max-height:55vh}.quick-picker>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:#fafcfd}.quick-picker>footer[hidden]{display:none}.quick-picker-search{height:39px;border:1px solid #d7e2e8;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 10px;margin-bottom:11px}.quick-picker-search svg{width:15px;color:#84939e}.quick-picker-search input{width:100%;border:0;outline:0;font-size:10px}.quick-tech-list{display:grid;gap:6px;max-height:310px;overflow:auto;padding-right:3px}.quick-tech-list label{min-height:47px;border:1px solid #dce5ea;border-radius:9px;padding:7px 10px;display:flex;align-items:center;gap:10px;cursor:pointer}.quick-tech-list label:has(input:checked){border-color:#63b6d7;background:#edf8fc}.quick-tech-list input{width:17px;height:17px;accent-color:var(--brand);flex:none}.quick-tech-list b,.quick-tech-list small{display:block}.quick-tech-list b{font-size:10px;color:#304653}.quick-tech-list small{margin-top:2px;font-size:8px;color:#89959e}.quick-lead-field{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.quick-lead-field span{font-size:8px;font-weight:700;text-transform:uppercase;color:#73828d}.quick-lead-field select{height:39px;border:1px solid #d7e1e6;border-radius:9px;background:#fff;padding:0 10px;font-size:10px}.quick-picker-empty{padding:25px;text-align:center;color:#87949d;font-size:10px}.quick-status-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-status-list>button{min-height:63px;border:1px solid #dce5ea;border-radius:11px;background:#fff;padding:10px;text-align:left;cursor:pointer}.quick-status-list>button:hover,.quick-status-list>button.selected{border-color:#76bbd6;background:#f1f9fc}.quick-status-list>button:disabled{cursor:not-allowed;opacity:.48;background:#f3f5f6}.quick-status-list small{display:block;margin-top:7px;color:#87939c;font-size:8px}
@media(max-width:480px){.quick-status-list{grid-template-columns:1fr}.quick-picker-body{max-height:62vh}}

.email-composer-backdrop{position:fixed;inset:0;z-index:130;background:rgba(13,31,42,.55);display:grid;place-items:center;padding:18px}.email-composer-backdrop[hidden]{display:none}.email-composer{width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 30px);border-radius:17px;background:#fff;box-shadow:0 30px 90px rgba(8,27,39,.4);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.email-composer>header{display:flex;justify-content:space-between;align-items:center;padding:17px 20px 14px;background:linear-gradient(135deg,#123e54,#087fa9);color:#fff}.email-composer>header .eyebrow{color:#a9dced}.email-composer>header h2{margin:3px 0 0;font-size:20px}.email-composer>header .close-button{position:static;color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12)}.email-composer form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.email-compose-main{display:grid;grid-template-columns:minmax(0,1fr) 285px;min-height:0}.email-fields{padding:18px 20px;overflow:auto;display:grid;gap:11px}.email-fields>label{display:grid;gap:5px;color:#687984;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.email-fields input,.email-fields textarea{border:1px solid #d7e2e8;border-radius:9px;background:#fff;padding:0 11px;color:#263d4a;font-size:11px;font-family:inherit;font-weight:500;text-transform:none;letter-spacing:normal}.email-fields input{height:39px}.email-fields input[readonly]{background:#f5f8f9;color:#6f7e88}.email-fields textarea{height:220px;padding-top:11px;resize:vertical;line-height:1.55}.email-fields label small{font-size:8px;text-transform:none;letter-spacing:normal;color:#79909d}.email-fields label small.missing{color:#b94b46}.email-brand-preview{border:1px solid #dbe7ec;border-radius:12px;padding:13px 15px;display:flex;align-items:center;gap:17px;background:#f9fcfd}.email-brand-preview img{width:155px;height:auto}.email-brand-preview strong,.email-brand-preview span,.email-brand-preview a{display:block}.email-brand-preview strong{color:#24404e;font-size:11px}.email-brand-preview span,.email-brand-preview a{margin-top:3px;font-size:8px;color:#72838e}.email-documents{border-left:1px solid var(--line);background:#f7fafb;padding:18px;overflow:auto}.email-documents h3{margin:4px 0 14px;font-size:15px}.email-document{display:flex;gap:10px;border:1px solid #d9e4e9;border-radius:10px;background:#fff;padding:11px;cursor:pointer}.email-document:has(input:checked){border-color:#66b6d5;background:#eef9fd}.email-document input{width:16px;height:16px;accent-color:var(--brand)}.email-document b,.email-document small,.email-document em{display:block}.email-document b{font-size:10px;color:#294351}.email-document small{margin-top:3px;font-size:8px;color:#748590}.email-document em{margin-top:6px;font-size:8px;color:#087faa;font-style:normal}.email-add-files{height:42px;margin-top:11px;border:1px dashed #8abed2;border-radius:9px;color:var(--brand-dark);display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:700;cursor:pointer;background:#f9fdff}.email-add-files input{display:none}.email-add-files svg{width:14px}.email-added-file{display:flex;justify-content:space-between;gap:8px;padding:9px 3px;border-bottom:1px solid #e0e7eb;font-size:8px;color:#526874}.email-added-file small{color:#8a98a1}.email-empty-files{font-size:9px;color:#84939d}.email-composer footer{display:grid;grid-template-columns:1fr minmax(150px,auto) auto auto;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#fff}.email-composer footer strong,.email-composer footer small{display:block}.email-composer footer strong{font-size:9px;color:#a06b13}.email-composer footer small{margin-top:3px;font-size:8px;color:#7d8b94}.email-composer footer .form-message{margin:0}.email-composer footer .button{width:auto;min-width:110px}@media(max-width:700px){.email-composer-backdrop{padding:6px}.email-composer{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.email-compose-main{grid-template-columns:1fr;overflow:auto}.email-fields{overflow:visible;padding:14px}.email-documents{border-left:0;border-top:1px solid var(--line);overflow:visible;padding:14px}.email-fields textarea{height:180px}.email-brand-preview img{width:120px}.email-composer footer{grid-template-columns:1fr 1fr}.email-composer footer>div,.email-composer footer .form-message{grid-column:1/-1}.email-composer footer .button{width:100%}}

.sms-composer-backdrop{position:fixed;inset:0;z-index:135;background:rgba(13,31,42,.55);display:grid;place-items:center;padding:12px}.sms-composer-backdrop[hidden]{display:none}.sms-composer{width:min(500px,calc(100vw - 24px));border-radius:17px;background:#fff;box-shadow:0 30px 90px rgba(8,27,39,.4);overflow:hidden}.sms-composer>header{display:flex;align-items:center;justify-content:space-between;padding:17px 19px 14px;background:linear-gradient(135deg,#123e54,#087fa9);color:#fff}.sms-composer>header .eyebrow{color:#a9dced}.sms-composer>header h2{font-size:19px;margin:3px 0 0}.sms-composer>header .close-button{position:static;color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12)}.sms-fields{padding:18px;display:grid;gap:13px}.sms-fields>label{display:grid;gap:6px;color:#687984;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.sms-fields input,.sms-fields textarea{border:1px solid #d7e2e8;border-radius:9px;background:#fff;padding:0 11px;color:#263d4a;font:500 11px/1.5 inherit;text-transform:none;letter-spacing:normal}.sms-fields input{height:40px;width:100%}.sms-fields textarea{height:150px;padding-top:10px;resize:vertical}.sms-fields label>small{display:flex;justify-content:flex-end;color:#87959e;font-size:8px;text-transform:none;letter-spacing:normal}.sms-fields label>small.missing{justify-content:flex-start;color:#b94b46}.sms-recipient-row{display:flex;gap:8px}.sms-recipient-row .button{width:auto;min-width:125px;height:40px;white-space:nowrap}.sms-composer footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;padding:12px 18px;border-top:1px solid var(--line)}.sms-composer footer strong,.sms-composer footer small{display:block}.sms-composer footer strong{font-size:9px;color:#a06b13}.sms-composer footer small{margin-top:3px;font-size:8px;color:#7d8b94}.sms-composer footer .form-message{grid-column:1/-1;margin:0}.sms-composer footer .button{width:auto;min-width:105px}@media(max-width:520px){.sms-recipient-row{display:grid}.sms-recipient-row .button{width:100%}.sms-composer footer{grid-template-columns:1fr 1fr}.sms-composer footer>div,.sms-composer footer .form-message{grid-column:1/-1}.sms-composer footer .button{width:100%}}

.invoice-panel{margin-top:18px;padding-top:16px;border-top:2px solid #dce8ed}.invoice-empty{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px dashed #9fc8da;border-radius:11px;background:#f7fcfe}.invoice-empty h3{font-size:15px;margin:3px 0}.invoice-empty p{font-size:9px;color:#71818b;margin:0}.invoice-empty .button{width:auto}.invoice-panel>div>header{display:flex;justify-content:space-between;align-items:center}.invoice-panel h3{margin:3px 0;font-size:16px}.invoice-status{padding:5px 9px;border-radius:12px;background:#fff1d8;color:#966000;font-size:8px;font-weight:800}.invoice-status.partially_paid{background:#e8f4fb;color:#0874a7}.invoice-status.paid{background:#e3f6ec;color:#157b52}.invoice-financials{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:11px 0}.invoice-financials span{border:1px solid #dfe7eb;border-radius:9px;padding:10px;color:#788791;font-size:8px}.invoice-financials strong{display:block;margin-top:4px;color:#29404d;font-size:14px}.invoice-financials .balance{border-color:#8fc7dc;background:#f1fafe}.invoice-actions{display:flex;gap:8px}.invoice-actions .button{width:auto}.payment-list{display:grid;gap:5px;margin-top:11px}.payment-list article{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:9px 11px;border-radius:8px;background:#f6f9fa;font-size:9px}.payment-list article small{grid-column:1/-1;color:#89969f;font-size:8px}.payment-list>p{font-size:9px;color:#87949d}.payment-composer-backdrop{position:fixed;inset:0;z-index:140;background:rgba(13,31,42,.55);display:grid;place-items:center;padding:12px}.payment-composer-backdrop[hidden]{display:none}.payment-composer{width:min(520px,calc(100vw - 24px));border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(8,27,39,.4);overflow:hidden}.payment-composer>header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(135deg,#123e54,#087fa9);color:#fff}.payment-composer>header .eyebrow{color:#a9dced}.payment-composer h2{margin:3px 0 0;font-size:18px}.payment-composer>header .close-button{position:static;color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12)}.payment-fields{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.payment-fields label{display:grid;gap:5px;color:#687984;font-size:8px;font-weight:700;text-transform:uppercase}.payment-fields label.wide{grid-column:1/-1}.payment-fields input,.payment-fields select,.payment-fields textarea{border:1px solid #d7e2e8;border-radius:8px;padding:0 10px;font-family:inherit}.payment-fields input,.payment-fields select{height:39px}.payment-fields textarea{height:70px;padding-top:8px}.payment-composer .form-message{padding:0 18px}.payment-composer footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.payment-composer footer .button{width:auto}@media(max-width:560px){.invoice-empty{align-items:stretch;flex-direction:column}.invoice-empty .button{width:100%}.invoice-financials{grid-template-columns:1fr}.invoice-actions{display:grid}.invoice-actions .button{width:100%}.payment-fields{grid-template-columns:1fr}.payment-fields label.wide{grid-column:auto}}

.invoice-financials .paid-summary{border:1px solid #9bd9b8;border-radius:9px;padding:10px;background:#f0fbf5;color:#168055;font:inherit;text-align:left;cursor:pointer}.invoice-financials .paid-summary strong{color:#168055}.invoice-financials .paid-summary small{display:block;margin-top:3px;font-size:7px;color:#5d9d7e}.invoice-financials .paid-summary:hover{border-color:#54bb82;box-shadow:0 3px 10px rgba(35,135,83,.12)}.payment-manager{width:min(880px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.payment-manager-body{padding:18px}.payment-job-total span,.payment-manager-balance span{display:block;color:#788791;font-size:9px}.payment-job-total strong,.payment-manager-balance strong{display:block;margin-top:4px;font-size:24px;color:#243d4a}.payment-history{margin:18px 0}.payment-history h3,.payment-manager form>h3{margin:0 0 9px;font-size:14px}.payment-table{border:1px solid #dfe7eb;border-radius:9px;overflow:hidden}.payment-table-head,.payment-table-row{display:grid;grid-template-columns:110px 110px 135px 145px minmax(120px,1fr);gap:8px;align-items:center}.payment-table-head{padding:8px 10px;background:#eef3f5;color:#657681;font-size:8px;font-weight:750;text-transform:uppercase}.payment-table-row{padding:10px;border-top:1px solid #e3e9ec;font-size:9px}.payment-table-row strong{font-size:10px;color:#263e4b}.payment-none{padding:13px;margin:0;color:#87949d;font-size:9px}.payment-manager-balance{margin:18px 0;padding:13px 15px;border-radius:10px;background:#f1fafe;border:1px solid #91c8dc}.payment-manager form{border:1px solid #dce5e9;border-radius:11px;background:#f9fbfc;padding-top:15px}.payment-manager form>h3{padding:0 18px}.payment-manager .payment-fields{padding-top:5px;grid-template-columns:repeat(3,1fr)}.payment-manager .payment-fields .wide{grid-column:1/-1}@media(max-width:720px){.payment-table{overflow-x:auto}.payment-table-head,.payment-table-row{min-width:650px}.payment-manager .payment-fields{grid-template-columns:1fr 1fr}.payment-manager .payment-fields .wide{grid-column:1/-1}}@media(max-width:480px){.payment-manager .payment-fields{grid-template-columns:1fr}.payment-manager .payment-fields .wide{grid-column:auto}}
.quote-document-actions{display:flex;gap:8px}.quote-document-actions .button{white-space:nowrap}@media(max-width:760px){.quote-document-actions{display:grid;grid-template-columns:1fr 1fr}}
.quote-document-actions{flex-wrap:wrap}.quote-document-actions .send-quote{border-color:#89c7df;color:var(--brand-dark);background:#f3fbfe}
.quote-field-wrap{display:grid;gap:0;position:relative}.quote-field-hint{display:none;margin-top:5px;padding:6px 8px;border-radius:7px;background:#fff1ef;border:1px solid #f1bbb5;color:#a23d35;font-size:8px;line-height:1.3;font-weight:650;box-shadow:0 4px 12px rgba(121,48,41,.08)}.quote-field-wrap.invalid input{border-color:#df685e!important;background:#fff9f8!important;box-shadow:0 0 0 3px rgba(223,104,94,.11)}.quote-field-wrap.invalid .quote-field-hint{display:block}.quote-field-wrap.invalid:before{content:"";position:absolute;left:12px;top:30px;border:5px solid transparent;border-bottom-color:#f1bbb5;z-index:1}
/* Payment manager uses the four visible fields: amount, date, method, reference. */
.payment-manager .payment-table-head,
.payment-manager .payment-table-row{grid-template-columns:110px 110px 150px minmax(150px,1fr)}
.payment-manager .payment-fields{grid-template-columns:repeat(4,1fr)}
@media(max-width:720px){.payment-manager .payment-fields{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.payment-manager .payment-fields{grid-template-columns:1fr}}

/* 2026 modern visual system — premium operational workspace. */
:root{--brand:#0796d2;--brand-dark:#056996;--brand-soft:#e8f7fd;--ink:#142936;--muted:#6f808b;--line:#dfe9ee;--surface:rgba(255,255,255,.92);--canvas:#f3f7f9;--green:#15966a;--amber:#e08a19;--sidebar:246px;--shadow:0 16px 45px rgba(20,45,59,.09);--shadow-hover:0 22px 54px rgba(20,45,59,.15);--radius-sm:10px;--radius:16px;--radius-lg:22px}
body{background:radial-gradient(circle at 78% -10%,rgba(7,150,210,.12),transparent 32rem),radial-gradient(circle at 18% 100%,rgba(31,177,130,.07),transparent 28rem),var(--canvas);letter-spacing:-.01em}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.65) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.65) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 60%)}
button,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease,opacity .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(7,150,210,.24);outline-offset:2px}
.sidebar{background:linear-gradient(175deg,#102d3c 0%,#0c2330 58%,#071b26 100%);border:0;padding:18px 15px;color:#fff;box-shadow:14px 0 40px rgba(16,43,57,.1)}
.brand{height:116px;border-color:rgba(255,255,255,.1);margin-bottom:20px;background:#fff;border-radius:15px;padding:9px;box-shadow:0 12px 28px rgba(0,0,0,.14)}
.main-nav{gap:6px}.main-nav a,.settings-link{height:48px;border-radius:12px;color:#a9bec9;padding:0 14px;position:relative}.main-nav a:hover,.settings-link:hover{color:#fff;background:rgba(255,255,255,.08);transform:translateX(2px)}
.main-nav a.active{color:#fff;background:linear-gradient(135deg,rgba(21,166,220,.34),rgba(10,119,166,.2));box-shadow:inset 0 0 0 1px rgba(113,211,245,.2),0 10px 24px rgba(0,0,0,.12)}.main-nav a.active:before{left:0;width:4px;height:25px;background:#51c9f1;box-shadow:0 0 16px rgba(81,201,241,.65)}
.main-nav a b{background:rgba(61,191,238,.16);color:#8ee1ff}.main-nav a i{background:rgba(255,182,71,.14);color:#ffc977}.system-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08);border-radius:13px}.system-card strong{color:#e7f1f5}.system-card small{color:#819aa7}.settings-link{color:#a9bec9}.profile-card{border-color:rgba(255,255,255,.1)}.profile-card strong{color:#f1f7fa}.profile-card small,.profile-card button{color:#91a7b2}.avatar{border-radius:11px;background:linear-gradient(145deg,#1bb2eb,#0877ad);box-shadow:0 7px 18px rgba(7,141,202,.28)}
.app-shell{position:relative;padding:32px 38px 50px}.topbar{margin-bottom:25px}.page-title h1{font-size:34px;letter-spacing:-1.25px}.page-title p{font-size:13px}.eyebrow{color:#0779aa;letter-spacing:1.8px}
.icon-button{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:0 7px 18px rgba(28,56,72,.06)}.icon-button:hover{transform:translateY(-2px);border-color:#9ed1e5;box-shadow:0 12px 25px rgba(28,76,98,.12)}
.button{height:44px;border-radius:12px;font-weight:700}.button.primary{background:linear-gradient(135deg,#0aa4df,#087db6);box-shadow:0 10px 22px rgba(7,141,202,.25)}.button.primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(7,141,202,.32)}.button:active{transform:translateY(1px)}.create-job-button{min-width:148px;height:46px;border:1px solid rgba(255,255,255,.3);box-shadow:0 12px 28px rgba(7,141,202,.28)!important}.notification-panel{border-radius:18px;box-shadow:0 30px 80px rgba(16,42,56,.26);backdrop-filter:blur(20px)}
.metrics{gap:15px;margin-bottom:20px}.metrics article{position:relative;overflow:hidden;border-color:rgba(216,229,235,.9);border-radius:17px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,252,253,.86));box-shadow:0 9px 28px rgba(26,55,70,.055);transition:.2s ease}.metrics article:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;right:-42px;top:-45px;background:radial-gradient(circle,rgba(7,150,210,.12),transparent 70%)}.metrics article:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#c9e1eb}.metric-icon{width:46px;height:46px;border-radius:13px}.metrics strong{font-size:27px;letter-spacing:-1px}
.workspace,.schedule-workspace{border-radius:var(--radius-lg);border-color:rgba(211,225,232,.92);background:var(--surface);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.status-tabs{padding:8px 13px 0;gap:5px}.status-tabs button{height:48px;border-radius:11px 11px 0 0}.status-tabs button:hover{color:var(--ink);background:rgba(233,244,249,.68)}.status-tabs button.active{background:#f1f9fc}.status-tabs button.active:after{height:3px;left:14px;right:14px;box-shadow:0 -3px 12px rgba(7,150,210,.35)}
.list-tools{padding:16px 19px;background:rgba(249,252,253,.68)}.search-box,.select-wrap{height:43px;border-radius:12px;background:#fff}.search-box:focus-within,.select-wrap:focus-within{border-color:#7ec4df;box-shadow:0 0 0 4px rgba(7,150,210,.09)}
.jobs-table th{padding:13px 15px;background:#f3f7f9;color:#71818c}.jobs-table td{padding:15px}.jobs-table tbody tr{position:relative}.jobs-table tbody tr:nth-child(even){background:rgba(245,248,249,.72)}.jobs-table tbody tr:hover{background:#eaf7fc;box-shadow:inset 4px 0 0 var(--brand)}.appliance-icon{border-radius:10px}.tech-avatar{box-shadow:0 0 0 3px #fff,0 3px 9px rgba(27,53,67,.12)}.status{border-radius:999px;padding:6px 10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}.list-footer{padding:14px 19px;background:rgba(249,252,253,.72)}.list-footer button{border-radius:9px}
.scrim{background:rgba(5,21,30,.54);backdrop-filter:blur(7px)}#jobDrawer{border:1px solid rgba(216,230,236,.9);border-radius:24px;padding:0;background:rgba(255,255,255,.97);box-shadow:0 40px 110px rgba(9,31,44,.34);overflow:hidden}#jobDrawer .drawer-head{padding:18px 22px 15px;background:linear-gradient(135deg,#fafdfe,#edf8fc);border-bottom:1px solid #dce9ef}.drawer-head h2{font-size:24px}.job-title-status{border-radius:999px!important;box-shadow:0 5px 14px rgba(22,73,97,.11)}
.job-command-bar{background:#fff;padding:7px 18px;gap:7px;justify-content:center}.job-command-bar button{border-radius:11px;min-width:78px}.job-command-bar button:hover{background:#edf8fc;color:var(--brand-dark);transform:translateY(-1px)}.job-section-rail{background:#f6f9fa}.job-section-rail button{border-radius:11px}.job-section-rail button.active{background:#fff;box-shadow:0 7px 18px rgba(25,55,70,.09);color:var(--brand-dark)}
.detail-customer{border:1px solid #dfeaed;border-radius:15px;background:linear-gradient(135deg,#f8fcfd,#edf8fb)}.large-avatar{border-radius:13px;box-shadow:0 9px 20px rgba(7,141,202,.22)}.detail-grid article{border-radius:13px;background:#fff;transition:.18s ease}.detail-grid article:hover{border-color:#a8d3e3;box-shadow:0 9px 20px rgba(31,70,89,.07);transform:translateY(-1px)}.job-primary-column,.job-activity-column{scrollbar-width:thin;scrollbar-color:#a9c3cf transparent}.job-activity-column{background:#f8fafb}.timeline-dot{box-shadow:0 0 0 4px #fff}
.quick-picker,.email-composer,.sms-composer,.payment-composer{border-radius:22px;border:1px solid rgba(208,227,235,.55);box-shadow:0 36px 100px rgba(8,29,42,.38)}.quick-picker>header,.email-composer>header,.sms-composer>header,.payment-composer>header{background:linear-gradient(135deg,#123e54,#067fae 70%,#08a0cf)}.quick-status-list>button,.quick-tech-list label,.email-document,.invoice-financials span,.payment-manager form{border-radius:13px}.quick-status-list>button:hover,.quick-status-list>button.selected{transform:translateY(-1px);box-shadow:0 8px 18px rgba(31,78,99,.08)}
.auth-gate{background:radial-gradient(circle at 70% 10%,rgba(25,171,223,.2),transparent 38%),linear-gradient(145deg,#eff6f8,#dceef5)}.auth-card{border-radius:24px;padding:34px;box-shadow:0 35px 100px rgba(17,49,65,.2)}
@keyframes surfaceIn{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}.workspace,.schedule-workspace,.notification-panel,.quick-picker,.email-composer,.sms-composer,.payment-composer{animation:surfaceIn .26s cubic-bezier(.2,.75,.25,1)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:980px){:root{--sidebar:214px}.app-shell{padding:25px 22px 95px}.metrics{grid-template-columns:repeat(2,1fr)}}

.staff-drawer{width:min(900px,94vw);padding:28px;background:var(--canvas);overflow:auto}.staff-settings-body{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:18px}.staff-invite-card,.staff-list-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.staff-invite-card h3,.staff-list-card h3{margin:4px 0 6px}.staff-invite-card>div>p{margin:0 0 18px;color:var(--muted);font-size:12px}.staff-invite-card form .button{margin-top:12px}.staff-access-row{display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.staff-access-row:last-child{border:0}.staff-access-row .avatar{background:var(--brand-soft);color:var(--brand-dark)}.staff-access-row strong,.staff-access-row small{display:block}.staff-access-row small{color:var(--muted);margin-top:3px}.staff-access-row .staff-state{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--green);background:#e9f8f2;border-radius:999px;padding:6px 9px}.staff-access-row .staff-state.pending{color:#9a6510;background:#fff5df}.invite-link-result{margin-top:18px;padding:14px;border-radius:12px;background:var(--brand-soft);border:1px solid #c9eaf7}.invite-link-result p{font-size:10px;color:var(--muted)}.invite-link-result div{display:flex;gap:8px}.invite-link-result input{min-width:0;flex:1}.invite-link-result .button{width:auto}.invite-recipient{padding:10px;border-radius:10px;background:var(--brand-soft);color:var(--brand-dark);font-weight:700;text-align:center}.auth-card.invitation-mode [name="auth_email"]{pointer-events:none;background:#f3f7f9}@media(max-width:760px){.staff-drawer{width:100%;padding:18px 14px 82px}.staff-settings-body{grid-template-columns:1fr}.invite-link-result div{display:grid}}
.settings-drawer{width:min(1180px,96vw);padding:0;background:#f3f7f9}.settings-drawer>.drawer-head{padding:26px 28px 20px;background:#fff;border-bottom:1px solid var(--line)}.settings-layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 120px)}.settings-nav{padding:18px 12px;border-right:1px solid var(--line);background:#f8fbfc}.settings-nav button{width:100%;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border:0;background:transparent;text-align:left;padding:11px;border-radius:12px;color:var(--ink);cursor:pointer}.settings-nav button:hover{background:#eef6f9}.settings-nav button.active{background:#fff;color:var(--brand-dark);box-shadow:0 6px 20px rgba(24,55,70,.08)}.settings-nav svg{width:18px;height:18px;justify-self:center}.settings-nav span,.settings-nav b,.settings-nav small{display:block}.settings-nav b{font-size:11px}.settings-nav small{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.35}.settings-content{padding:28px;overflow:auto}.settings-section{display:none}.settings-section.active{display:block;animation:settings-in .18s ease}.settings-section>h2{font-size:25px;margin:5px 0}.settings-section>p{color:var(--muted);margin:0 0 22px}.settings-placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.settings-placeholder-grid article{min-height:110px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(24,55,70,.05)}.settings-placeholder-grid strong,.settings-placeholder-grid span{display:block}.settings-placeholder-grid strong{font-size:13px;margin-bottom:8px}.settings-placeholder-grid span{font-size:10px;line-height:1.55;color:var(--muted)}@keyframes settings-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:760px){.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.settings-nav button{min-width:145px;grid-template-columns:24px 1fr}.settings-nav small{display:none}.settings-content{padding:20px 14px}.settings-placeholder-grid{grid-template-columns:1fr}}
.settings-workspace{width:100%;overflow:hidden;background:#f3f7f9;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.settings-workspace>.drawer-head{display:none}.settings-workspace .settings-layout{min-height:620px}.settings-link.active{background:rgba(37,166,219,.17)!important;color:#fff!important}
.customers-workspace{display:grid;gap:18px}.customer-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.customer-metrics article{padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.customer-metrics span,.customer-metrics strong,.customer-metrics small{display:block}.customer-metrics span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.customer-metrics strong{font-size:25px;margin:7px 0;color:var(--ink)}.customer-metrics small{font-size:9px;color:var(--muted)}.customer-directory-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.customer-directory-head h2{margin:4px 0 0}.customer-directory-head .search-box{width:340px}.customers-table{width:100%;border-collapse:collapse}.customers-table th{padding:12px 14px;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fbfc}.customers-table td{padding:14px;border-top:1px solid var(--line);font-size:10px;cursor:pointer}.customers-table td small,.customers-table td strong{display:block}.customers-table td small{color:var(--muted);margin-top:4px}.customer-name-cell{display:flex;align-items:center;gap:10px}.customer-name-cell .avatar{background:var(--brand-soft);color:var(--brand-dark)}.customer-active-count{color:var(--brand-dark);background:var(--brand-soft);border-radius:999px;padding:5px 8px;display:inline-block!important}.customer-mobile-list{display:none}.customer-drawer{width:min(980px,96vw);padding:0;background:#f4f8fa;overflow:auto}.customer-drawer-head{padding:25px 28px;background:#fff;border-bottom:1px solid var(--line)}.customer-profile-body{padding:22px}.customer-profile-summary{display:grid;grid-template-columns:60px 1fr auto;gap:15px;align-items:center;background:#fff;padding:20px;border:1px solid var(--line);border-radius:var(--radius)}.customer-profile-summary strong,.customer-profile-summary span,.customer-profile-summary small{display:block}.customer-profile-summary span,.customer-profile-summary small{color:var(--muted);margin-top:4px}.customer-profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.customer-profile-stats article{padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.customer-profile-stats span,.customer-profile-stats strong{display:block}.customer-profile-stats span{font-size:8px;color:var(--muted);text-transform:uppercase}.customer-profile-stats strong{font-size:19px;margin-top:5px}.customer-addresses,.customer-job-history,.customer-profile-form{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.customer-addresses h3,.customer-job-history h3{margin:4px 0 12px}.customer-addresses article{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.customer-addresses article svg{width:18px}.customer-addresses p{margin:4px 0 0;color:var(--muted)}.customer-job-history button{width:100%;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;text-align:left;border:0;border-top:1px solid var(--line);background:#fff;padding:12px;cursor:pointer}.customer-job-history button span strong,.customer-job-history button span small{display:block}.customer-address-edit{padding:15px 0;border-bottom:1px solid var(--line)}.customer-profile-form textarea{min-height:80px}.customer-mobile-card{padding:14px;border-top:1px solid var(--line)}@media(max-width:900px){.customer-metrics{grid-template-columns:repeat(2,1fr)}.customers-table{display:none}.customer-mobile-list{display:block}.customer-profile-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.customer-directory-head{display:grid;gap:12px}.customer-directory-head .search-box{width:100%}.customer-profile-summary{grid-template-columns:50px 1fr}.customer-profile-summary .button{grid-column:1/-1;width:100%}}
.customers-workspace{width:100%;max-width:none}.customer-drawer{width:min(1280px,calc(100vw - 48px));height:calc(100vh - 36px);top:18px;border-radius:18px 0 0 18px}.customer-profile-main{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);gap:14px;align-items:start}.customer-profile-summary,.customer-profile-stats{grid-column:1/-1}.customer-addresses,.customer-job-history{margin-top:0}.customer-profile-form{max-width:900px;margin:0 auto}@media(max-width:900px){.customer-drawer{width:calc(100vw - 20px);height:calc(100vh - 20px);top:10px}.customer-profile-main{grid-template-columns:1fr}.customer-profile-summary,.customer-profile-stats{grid-column:auto}.customer-addresses,.customer-job-history{margin-top:14px}}
@media(max-width:760px){body{background:#f3f7f9}.app-shell{padding:19px 14px 92px}.topbar{align-items:flex-start}.page-title h1{font-size:28px}.page-title p{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metrics article{padding:13px;border-radius:15px}.metrics article:nth-child(n+3){display:flex}.metric-icon{width:38px;height:38px}.metrics strong{font-size:21px}.metrics small{display:none}.workspace,.schedule-workspace{border-radius:18px}.mobile-job-card{border-radius:16px;box-shadow:0 8px 25px rgba(24,54,69,.07)}#jobDrawer{width:calc(100vw - 12px);border-radius:22px 22px 0 0;top:6px!important;left:6px!important;height:calc(100vh - 6px);max-height:none}.job-command-bar{justify-content:space-around}.job-section-rail{padding:7px}.detail-grid{gap:8px}}
@media(max-width:430px){.metrics{grid-template-columns:1fr 1fr}.metrics article{gap:9px}.metrics span{font-size:9px}.top-actions{gap:6px}.top-actions .icon-button:first-child{display:none}.create-job-button{min-width:112px;height:43px}.status-tabs{padding-left:8px;padding-right:8px}.list-tools{padding:12px}.page-title .eyebrow{font-size:8px}}
.customers-workspace{width:100%;max-width:1500px;margin-left:auto;margin-right:auto}.customers-workspace .customer-directory{width:100%;max-width:none;margin:0}
#customerDrawer{padding:0;overflow:hidden;border-radius:16px;display:grid;grid-template-rows:72px minmax(0,1fr);background:#f4f8fa}#customerDrawer .customer-drawer-head{padding:14px 18px 12px;background:linear-gradient(135deg,#123e54,#0a759e);color:#fff;border:0;border-radius:16px 16px 0 0}#customerDrawer .customer-drawer-head .eyebrow{color:#a8d9ec}#customerDrawer .customer-drawer-head h2{font-size:19px;margin:2px 0 0}#customerDrawer .customer-drawer-head p{margin:3px 0 0;color:rgba(255,255,255,.74);font-size:9px}#customerDrawer .customer-drawer-head .close-button{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}#customerDrawer .customer-profile-body{overflow:auto;min-height:0}@media(max-width:900px){#customerDrawer{width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important;left:10px!important;top:10px!important}}@media(max-width:560px){#customerDrawer{width:calc(100vw - 12px)!important;height:calc(100vh - 12px)!important;left:6px!important;top:6px!important;border-radius:20px 20px 0 0}}

/* Customer window polish: balanced panels, stable forms and an unambiguous identity card. */
#customerDrawer .customer-drawer-head p{display:none}
#customerDrawerInitials{display:flex;align-items:center;justify-content:center;justify-self:center;width:48px;height:48px;min-width:48px;padding:0;margin:0;line-height:1;text-align:center;color:#fff;background:linear-gradient(135deg,#18a8dc,#087aa9)}
#customerDrawerSinceBody{margin-top:7px!important;color:#71838d!important;font-size:9px}
#customerDrawer .customer-profile-body{padding:0;overflow:hidden}
#customerDrawer .customer-profile-main{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:0;align-items:stretch}
#customerDrawer .customer-profile-content{min-width:0;overflow:auto;padding:22px;scrollbar-width:thin;scrollbar-color:#a9c3cf transparent}
#customerDrawer .customer-profile-summary,#customerDrawer .customer-profile-stats{grid-column:auto}
#customerDrawer .customer-addresses{height:auto;box-sizing:border-box;min-width:0}
#customerDrawer .customer-job-history{height:100%;min-height:0;min-width:0;box-sizing:border-box;margin:0;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:#fbfcfd;display:grid;grid-template-rows:auto minmax(0,1fr)}
#customerDrawer .customer-job-history>header{padding:20px 20px 14px;border-bottom:1px solid var(--line);background:#fff}
#customerDrawer .customer-job-history>header h3{margin-bottom:0}
#customerDrawer #customerJobList{min-height:0;overflow:auto;padding:8px 18px 18px;scrollbar-width:thin;scrollbar-color:#a9c3cf transparent}
#customerDrawer .customer-job-history button{border-radius:9px;padding:13px 10px;grid-template-columns:minmax(85px,1fr) minmax(80px,1fr) auto;gap:8px}
#customerDrawer .customer-job-history button:hover{background:#f1f8fb}
#customerDrawer .customer-profile-form{width:100%;max-width:none;margin:0;box-sizing:border-box}
#customerDrawer .customer-profile-form>.form-grid>label,#customerDrawer .customer-address-edit .form-grid>label{grid-template-rows:20px auto;align-content:start}
#customerDrawer .customer-profile-form>.form-grid>label>span,#customerDrawer .customer-address-edit .form-grid>label>span{display:flex;align-items:center;justify-content:space-between;min-height:20px;gap:8px}
#customerDrawer .customer-address-edit .check-row{margin-top:12px}
#customerDrawer .customer-address-edit .check-row small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:900px){#customerDrawer .customer-profile-body{overflow:auto}#customerDrawer .customer-profile-main{height:auto;grid-template-columns:1fr}#customerDrawer .customer-profile-content{overflow:visible;padding:16px}#customerDrawer .customer-addresses{height:auto}#customerDrawer .customer-job-history{height:auto;max-height:360px;border-left:0;border-top:1px solid var(--line)}#customerDrawer #customerJobList{max-height:280px}}

/* Customers mirrors the Jobs workspace and interaction language. */
.customers-workspace{gap:0}.customers-workspace .customer-metrics{width:100%;max-width:none;margin:0 0 20px;align-self:stretch}.customers-workspace .customer-metrics article{display:flex;align-items:center;gap:13px;padding:18px}.customers-workspace .customer-metrics strong{font-size:27px;margin:0 8px 0 0}.customer-tabs button{min-width:145px}.customer-list-tools{min-height:72px}.customer-list-tools .search-box{width:min(560px,55%)}.customer-list-hint{display:flex;align-items:center;gap:9px;color:#778892;font-size:9px}.customer-list-hint svg{width:18px;height:18px;color:var(--brand)}.customer-table-wrap{background:#fff}.customers-table th{padding:13px 15px;background:#f3f7f9;color:#71818c}.customers-table td{padding:15px;font-size:10px;transition:.18s ease}.customers-table tbody tr:nth-child(even){background:rgba(245,248,249,.72)}.customers-table tbody tr:hover{background:#eaf7fc;box-shadow:inset 4px 0 0 var(--brand)}.customers-table tbody tr:hover .row-open{background:#fff;color:var(--brand-dark);transform:translateX(2px)}.customer-name-cell .avatar{width:38px;height:38px;border-radius:11px;box-shadow:0 5px 14px rgba(7,141,202,.14)}.customers-table .row-open{width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#91a1a9;transition:.18s ease}.customer-active-count{min-width:26px;text-align:center}.customer-mobile-card{margin:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(24,54,69,.07);cursor:pointer}.customer-mobile-head{display:grid!important;grid-template-columns:42px 1fr auto;gap:10px;align-items:center}.customer-mobile-head span strong,.customer-mobile-head span small{display:block}.customer-mobile-card>p{margin:12px 0 5px;color:var(--ink)}.customer-mobile-card>small{display:block;color:var(--muted)}.customer-mobile-card>div:last-child{display:flex;gap:7px;margin-top:13px}.customer-mobile-card>div:last-child span,.customer-mobile-card>div:last-child strong{padding:5px 8px;border-radius:999px;background:#f1f7f9;color:#60737d;font-size:8px}.customer-mobile-card>div:last-child strong{margin-left:auto;background:#e9f8f2;color:#22785d}@media(max-width:900px){.customer-list-hint{display:none}.customer-list-tools .search-box{width:100%}.customer-tabs{overflow-x:auto}.customer-tabs button{min-width:125px}}

/* High-contrast Job window title and close control. */
#jobDrawer .job-card-title .eyebrow{color:#0876a8}
#jobDrawer .job-card-title h2{color:#101d25;font-weight:800;text-shadow:none}
#jobDrawer .job-card-title .close-button{background:#183746;border-color:#183746;color:#fff;box-shadow:0 7px 17px rgba(17,44,58,.2)}
#jobDrawer .job-card-title .close-button:hover{background:#081a24;border-color:#081a24;transform:translateY(-1px);box-shadow:0 10px 22px rgba(8,26,36,.28)}
#jobDrawer .job-card-title .close-button:active{transform:translateY(1px)}

/* Billing document actions stay compact until explicitly opened. */
.quote-actions-menu{position:relative}.quote-actions-menu summary{list-style:none;min-width:104px;user-select:none}.quote-actions-menu summary::-webkit-details-marker{display:none}.quote-actions-menu summary span{font-size:14px;transition:transform .18s ease}.quote-actions-menu[open] summary{border-color:#80c3de;background:#f0fafe;color:var(--brand-dark)}.quote-actions-menu[open] summary span{transform:rotate(180deg)}.quote-actions-menu>div{position:absolute;right:0;bottom:calc(100% + 10px);z-index:30;width:270px;padding:8px;border:1px solid #d7e6ec;border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 22px 55px rgba(14,43,58,.22);animation:surfaceIn .18s ease}.quote-actions-menu>div>span{display:block;padding:7px 9px 8px;color:#71818b;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.quote-actions-menu>div button{width:100%;border:0;border-radius:11px;background:transparent;padding:10px;display:grid;grid-template-columns:32px 1fr;text-align:left;column-gap:9px;color:#294451}.quote-actions-menu>div button:hover{background:#edf8fc}.quote-actions-menu>div svg{grid-row:1/3;width:19px;height:19px;align-self:center;color:var(--brand)}.quote-actions-menu>div b{font-size:10px}.quote-actions-menu>div small{margin-top:3px;color:#7b8b94;font-size:8px}@media(max-width:760px){.quote-actions-menu{grid-column:1/-1}.quote-actions-menu summary{width:100%}.quote-actions-menu>div{position:fixed;left:12px;right:12px;bottom:14px;width:auto}}

/* Quote and Invoice are peer documents inside the current Job. */
.quote-editor>header h3,.invoice-panel h3{font-size:22px;line-height:1.15;margin:4px 0 0;letter-spacing:-.45px;color:#172d39}.invoice-empty h3{font-size:22px}.invoice-panel>div>header{min-height:48px}

/* Real Job list controls and conditional pagination. */
.job-list-summary{display:flex;align-items:center;gap:16px}.job-list-summary label{display:flex;align-items:center;gap:6px;color:#70808b}.job-list-summary select{height:30px;border:1px solid #d8e3e8;border-radius:8px;background:#fff;padding:0 25px 0 8px;color:#344c59;font-size:10px}.job-pagination{display:flex;align-items:center;gap:4px}.job-pagination[hidden]{display:none}.job-pagination>span{padding:0 3px;color:#93a0a8}@media(max-width:760px){.list-footer{display:flex!important;align-items:flex-start;gap:11px;flex-direction:column}.job-list-summary{width:100%;justify-content:space-between}.job-pagination{width:100%;overflow-x:auto}.job-pagination button{flex:none}}

/* Dashboard */
.dashboard-map-card{width:100%;max-width:none;margin:0;overflow:hidden}.dashboard-map-card>header{min-height:78px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.dashboard-map-card h2{margin:3px 0;font-size:19px}.dashboard-map-card>header p{margin:0;color:#7d8b94;font-size:8px}.dashboard-map-tabs{display:flex;padding:4px;border-radius:12px;background:#edf3f6}.dashboard-map-tabs button{height:34px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#71818b;font-size:8px;font-weight:750}.dashboard-map-tabs button.active{background:#fff;color:var(--brand-dark);box-shadow:0 4px 12px rgba(25,60,78,.1)}.dashboard-map-layout{height:430px;display:grid;grid-template-columns:minmax(0,1fr) 330px}.dashboard-map-canvas{position:relative;overflow:hidden;background:#e7eef1}.dashboard-map-canvas iframe{width:100%;height:100%;border:0;filter:saturate(.82) contrast(.94)}.dashboard-map-notice{position:absolute;left:14px;bottom:14px;max-width:300px;padding:10px 12px;border:1px solid rgba(255,255,255,.75);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 9px 24px rgba(22,51,66,.18);display:grid;grid-template-columns:21px 1fr;gap:2px 8px;color:#71818b;font-size:8px;backdrop-filter:blur(12px)}.dashboard-map-notice svg{grid-row:1/3;width:18px;color:var(--brand)}.dashboard-map-notice b{color:#294451;font-size:9px}.dashboard-map-layout>aside{border-left:1px solid var(--line);background:#fbfcfd;overflow:hidden}.dashboard-map-layout>aside>header{height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:#7a8992;font-size:8px;font-weight:750;letter-spacing:.06em}.dashboard-map-layout>aside>header strong{min-width:23px;height:23px;border-radius:12px;background:var(--brand-soft);color:var(--brand-dark);display:grid;place-items:center}.dashboard-map-layout>aside>div{height:378px;overflow:auto}.dashboard-map-layout aside button{width:100%;padding:11px 12px;border:0;border-bottom:1px solid #e8eef1;background:#fff;display:grid;grid-template-columns:36px 1fr 12px;gap:9px;align-items:center;text-align:left}.dashboard-map-layout aside button:hover{background:#eef9fd}.dashboard-map-layout aside button .avatar{width:34px;height:34px}.dashboard-map-layout aside button span strong,.dashboard-map-layout aside button span small,.dashboard-map-layout aside button span em{display:block}.dashboard-map-layout aside button span strong{font-size:9px}.dashboard-map-layout aside button span small{margin-top:2px;color:#667984;font-size:8px}.dashboard-map-layout aside button span em{margin-top:3px;color:#93a0a7;font-size:7px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-map-layout aside button>b{color:#9babb2}.dashboard-map-empty{display:grid;place-items:center;height:180px;color:#89969e;font-size:9px}@media(max-width:1050px){.dashboard-map-layout{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:760px){.dashboard-map-card>header{align-items:stretch;flex-direction:column}.dashboard-map-tabs{overflow-x:auto}.dashboard-map-tabs button{flex:1;min-width:94px}.dashboard-map-layout{height:auto;grid-template-columns:1fr}.dashboard-map-canvas{height:330px}.dashboard-map-layout>aside{border-left:0;border-top:1px solid var(--line)}.dashboard-map-layout>aside>div{height:250px}}
.dashboard-workspace{width:100%;max-width:1500px;margin:0 auto;display:grid;gap:18px}.dashboard-priority-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dashboard-priority-grid>button{min-height:98px;padding:15px;border:1px solid #dce7ec;border-radius:17px;background:linear-gradient(145deg,#fff,#f8fbfc);display:grid;grid-template-columns:46px 1fr 16px;gap:12px;align-items:center;text-align:left;color:var(--ink);box-shadow:0 9px 26px rgba(27,57,72,.055);transition:.18s ease}.dashboard-priority-grid>button:hover{transform:translateY(-2px);border-color:#add5e4;box-shadow:0 14px 30px rgba(24,64,83,.1)}.dashboard-priority-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center}.dashboard-priority-icon.blue{color:#087ead;background:#e5f6fc}.dashboard-priority-icon.amber{color:#b87a18;background:#fff3df}.dashboard-priority-icon.red{color:#ba4a45;background:#fdeceb}.dashboard-priority-icon.violet{color:#7656d3;background:#f0ebff}.dashboard-priority-icon svg{width:20px}.dashboard-priority-grid button>span:nth-child(2) small,.dashboard-priority-grid button>span:nth-child(2) strong,.dashboard-priority-grid button>span:nth-child(2) em{display:block}.dashboard-priority-grid small{color:#87949c;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.dashboard-priority-grid strong{margin:4px 0;font-size:16px}.dashboard-priority-grid em{color:#7f8d96;font-size:8px;font-style:normal}.dashboard-priority-grid button>b{color:#9aabb3;font-size:20px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px}.dashboard-card{width:100%;max-width:none;margin:0;min-height:270px;padding:19px}.dashboard-card>header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.dashboard-card h2{margin:4px 0 0;font-size:18px}.dashboard-card>header button{border:0;background:transparent;color:var(--brand-dark);font-size:9px;font-weight:750}.dashboard-today{grid-row:span 2}.dashboard-today>div>button{width:100%;min-height:62px;padding:10px 4px;border:0;border-bottom:1px solid #edf1f3;background:#fff;display:grid;grid-template-columns:65px 1fr 110px 15px;gap:10px;align-items:center;text-align:left}.dashboard-today>div>button:hover,.dashboard-activity>div>button:hover{background:#f3fafe}.dashboard-today time{font-size:11px;font-weight:800;color:var(--brand-dark)}.dashboard-today button span strong,.dashboard-today button span small{display:block}.dashboard-today button span small{margin-top:3px;color:#7e8c95;font-size:8px}.dashboard-today button em{font-size:8px;font-style:normal;color:#61727c}.dashboard-finance-total{padding:20px 0 13px}.dashboard-finance-total span,.dashboard-finance-total strong,.dashboard-finance-total small{display:block}.dashboard-finance-total span{color:#74838d;font-size:8px;text-transform:uppercase}.dashboard-finance-total strong{margin:5px 0;font-size:28px;color:#16805a}.dashboard-finance-total small{color:#86949c;font-size:8px}.dashboard-finance-bars{display:grid;gap:12px}.dashboard-finance-bars>div>span{display:flex;justify-content:space-between;margin-bottom:5px;color:#71818b;font-size:8px}.dashboard-finance-bars>div>span strong{color:#344b57}.dashboard-finance-bars i{display:block;height:7px;border-radius:5px;background:#edf3f5;overflow:hidden}.dashboard-finance-bars i b{display:block;height:100%;border-radius:5px}.dashboard-finance-bars .green{background:#26a876}.dashboard-finance-bars .amber{background:#e3a23d}.dashboard-finance-bars .blue{background:#159ed4}.dashboard-pipeline{display:grid;gap:14px;padding-top:17px}.dashboard-pipeline>div{display:grid;grid-template-columns:1fr auto;gap:6px}.dashboard-pipeline>div>span{display:flex;align-items:center;gap:7px;font-size:9px}.dashboard-pipeline>div>span>i{width:7px;height:7px;border-radius:50%}.dashboard-pipeline>div>strong{font-size:11px}.dashboard-pipeline>div>b{grid-column:1/-1;height:6px;border-radius:4px;background:#edf3f5;overflow:hidden}.dashboard-pipeline>div>b>i{display:block;height:100%;border-radius:4px}.dashboard-pipeline i.quote{background:#e5a533}.dashboard-pipeline i.work{background:#169ed1}.dashboard-pipeline i.review{background:#8063db}.dashboard-pipeline i.complete{background:#25a673}.dashboard-activity>div>button{width:100%;padding:11px 3px;border:0;border-bottom:1px solid #edf1f3;background:#fff;display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:start;text-align:left}.dashboard-activity .timeline-dot{width:8px;height:8px;margin-top:3px}.dashboard-activity button span strong,.dashboard-activity button span small{display:block}.dashboard-activity button span strong{font-size:9px;text-transform:capitalize}.dashboard-activity button span small,.dashboard-activity button time{margin-top:3px;color:#87949d;font-size:8px}.dashboard-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#87949d}.dashboard-empty svg{width:28px;height:28px;margin-bottom:10px}.dashboard-empty strong{color:#526570;font-size:11px}.dashboard-empty span{margin-top:4px;font-size:8px}@media(max-width:1050px){.dashboard-priority-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.dashboard-priority-grid{grid-template-columns:1fr 1fr;gap:9px}.dashboard-priority-grid>button{grid-template-columns:38px 1fr;padding:11px;min-height:88px}.dashboard-priority-grid button>b{display:none}.dashboard-priority-icon{width:38px;height:38px}.dashboard-grid{grid-template-columns:1fr}.dashboard-today{grid-row:auto}.dashboard-card{min-height:240px}.dashboard-today>div>button{grid-template-columns:52px 1fr 12px}.dashboard-today button em{display:none}}@media(max-width:430px){.dashboard-priority-grid{grid-template-columns:1fr}}

/* Parts catalog and inventory */
.parts-workspace{width:100%;max-width:1500px;margin:0 auto}.parts-workspace .parts-metrics{width:100%;max-width:none;margin:0 0 20px}.parts-directory{width:100%;max-width:none;margin:0}.parts-directory .list-tools .search-box{width:min(660px,65%)}.parts-directory .list-tools>.button{width:auto}.parts-table{width:100%;border-collapse:collapse}.parts-table th{padding:13px 12px;text-align:left;background:#f3f7f9;color:#71818c;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.parts-table td{padding:14px 12px;border-top:1px solid var(--line);font-size:9px;cursor:pointer}.parts-table tbody tr:nth-child(even){background:#f9fbfc}.parts-table tbody tr:hover{background:#eaf7fc;box-shadow:inset 4px 0 0 var(--brand)}.parts-table td:first-child strong,.parts-table td:first-child small{display:block}.parts-table td:first-child strong{color:var(--brand-dark);font-size:10px}.parts-table td:first-child small{margin-top:4px;color:#7d8b94}.parts-table .row-open{width:31px;height:31px;border:0;border-radius:8px;background:transparent;color:#8c9ba3}.part-stock{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:750}.part-stock.stock{background:#e5f7ee;color:#167752}.part-stock.low{background:#fff3dc;color:#9c6510}.part-stock.out{background:#fdebea;color:#b3433f}.part-stock.inactive{background:#edf1f3;color:#77858d}.parts-mobile-list{display:none}.part-editor{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.part-editor form textarea{min-height:76px;border:1px solid #d7e2e8;border-radius:8px;padding:9px;font-family:inherit}.part-editor .form-grid label>span{display:flex;justify-content:space-between;gap:8px}.part-editor .check-row{margin-top:14px}.part-editor footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--line)}@media(max-width:950px){.parts-table{display:none}.parts-mobile-list{display:grid}.parts-mobile-list article{margin:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.parts-mobile-list article>div{display:flex;justify-content:space-between;align-items:center}.parts-mobile-list h3{margin:9px 0 4px}.parts-mobile-list p{margin:0;color:#7d8b94;font-size:9px}.parts-mobile-list article>div:last-child{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.parts-directory .list-tools .search-box{width:100%}}@media(max-width:560px){.parts-tabs{overflow-x:auto}.parts-tabs button{min-width:110px}.parts-directory .list-tools>.button{width:100%}.part-editor{height:calc(100vh - 12px);max-height:none}.part-editor footer{position:sticky;bottom:0;background:#fff}}

/* Reports */
.reports-workspace>.workspace,.reports-workspace .report-card{width:100%;max-width:none;margin:0}
.reports-workspace{width:100%;max-width:1500px;margin:0 auto;display:grid;gap:18px}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.report-toolbar h2{margin:3px 0;font-size:20px}.report-toolbar p{margin:0;color:var(--muted);font-size:9px}.report-presets{display:flex;padding:4px;border-radius:12px;background:#edf3f6}.report-presets button{height:35px;padding:0 15px;border:0;border-radius:9px;background:transparent;color:#71818b;font-size:9px;font-weight:750}.report-presets button.active{background:#fff;color:var(--brand-dark);box-shadow:0 4px 12px rgba(25,60,78,.1)}#reportDateForm{display:flex;align-items:end;gap:8px}#reportDateForm label{display:grid;gap:4px;color:#71818b;font-size:8px;font-weight:700;text-transform:uppercase}#reportDateForm input{height:38px;border:1px solid #d7e2e8;border-radius:9px;padding:0 9px;color:#334b58}#reportDateForm .button{height:38px}.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.report-kpi{position:relative;overflow:hidden;min-height:116px;padding:17px;border:1px solid #d9e6ec;border-radius:17px;background:linear-gradient(145deg,#fff,#f7fbfc);box-shadow:0 9px 28px rgba(26,55,70,.055)}.report-kpi:after{content:"";position:absolute;right:-32px;top:-38px;width:85px;height:85px;border-radius:50%;background:rgba(7,150,210,.08)}.report-kpi span,.report-kpi strong,.report-kpi small{display:block}.report-kpi span{color:#71818b;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.report-kpi strong{margin:11px 0 5px;font-size:22px;line-height:1;color:#213945;white-space:nowrap}.report-kpi small{color:#84939c;font-size:8px}.report-kpi.collected{border-color:#bfe5d2}.report-kpi.collected strong{color:#16805a}.report-kpi.outstanding{border-color:#f1d6a8}.report-kpi.outstanding strong{color:#a66b10}.report-kpi.margin strong{font-size:13px;color:#778892}.report-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:14px}.report-card{min-height:300px;padding:19px}.report-card>header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.report-card h3{margin:4px 0 0;font-size:17px}.report-card>header>strong{color:var(--green);font-size:9px}.report-trend{grid-column:span 2}.report-chart{height:220px;display:flex;align-items:stretch;gap:5px;padding-top:18px;overflow-x:auto}.report-chart-column{min-width:26px;flex:1;display:grid;grid-template-rows:16px 1fr 22px;gap:4px;text-align:center}.report-chart-column>span{font-size:7px;color:#87949d;white-space:nowrap;overflow:hidden}.report-chart-column>i{position:relative;display:block;border-radius:7px 7px 2px 2px;background:#f0f5f7;overflow:hidden}.report-chart-column>i>b{position:absolute;left:0;right:0;bottom:0;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#19a9df,#087eb3);min-height:2px}.report-chart-column>small{font-size:7px;color:#7b8992;white-space:nowrap}.report-bar-row{margin-bottom:14px}.report-bar-row>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.report-bar-row strong{font-size:9px;color:#334b58}.report-bar-row span{font-size:8px;color:#71818b}.report-bar-row>i{display:block;height:7px;border-radius:5px;background:#edf3f5;overflow:hidden}.report-bar-row>i>b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#0a94cc,#28b7df)}.report-statuses .report-bar-row>i>b{background:linear-gradient(90deg,#775dde,#a391ed)}.report-breakdown{display:grid;gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.report-breakdown>div{display:flex;justify-content:space-between;padding:14px;background:#fbfcfd}.report-breakdown span{color:#71818b;font-size:9px}.report-breakdown strong{font-size:10px;color:#263e4b}.report-ranking .report-bar-row>i>b{background:linear-gradient(90deg,#18a36f,#62c996)}.report-empty{display:grid;place-items:center;min-height:150px;margin:0;color:#8b98a1;font-size:9px;text-align:center}@media(max-width:1180px){.report-kpis{grid-template-columns:repeat(3,1fr)}.report-grid{grid-template-columns:1fr 1fr}.report-trend{grid-column:span 2}}@media(max-width:760px){.report-toolbar{align-items:stretch;flex-direction:column}.report-presets{overflow-x:auto}.report-presets button{flex:1;min-width:74px}#reportDateForm{display:grid;grid-template-columns:1fr 1fr}#reportDateForm .button{grid-column:1/-1}.report-kpis{grid-template-columns:1fr 1fr}.report-kpi{min-height:102px;padding:14px}.report-kpi strong{font-size:19px}.report-grid{grid-template-columns:1fr}.report-trend{grid-column:auto}.report-card{min-height:260px}.report-chart{height:190px}}
/* Accounting */
.accounting-workspace{display:grid;gap:18px;min-width:0}.accounting-workspace[hidden]{display:none}.accounting-workspace>.workspace{width:100%;max-width:none;margin:0}.accounting-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px}.accounting-toolbar h2{margin:4px 0;font-size:24px}.accounting-toolbar p{margin:0;color:var(--muted)}.accounting-range{display:grid;justify-items:end;gap:9px}.accounting-range small{color:var(--muted)}.accounting-range form{display:flex;align-items:center;gap:8px}.accounting-range input{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff}.accounting-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.accounting-panel{padding:0;overflow:hidden;min-height:420px}.accounting-tabs{padding:0 20px}.accounting-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.accounting-overview>article,.accounting-overview>section{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.accounting-overview h3{margin:5px 0;font-size:25px}.accounting-overview p{margin:0;color:var(--muted)}.accounting-highlight{background:linear-gradient(135deg,#eef8ff,#fff)!important;border-color:#c9e6f8!important}.accounting-mix>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);text-transform:capitalize}.accounting-mix p{padding-top:12px}.accounting-checklist>div{display:flex;align-items:center;gap:12px;padding:9px 0}.accounting-checklist span:last-child{display:grid}.accounting-checklist small{color:var(--muted)}.check-state{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:800}.check-state.done{background:#e5f7ed;color:#17864b}.check-state.attention{background:#fff1d7;color:#a35c00}.accounting-table-wrap{overflow:auto;padding:16px 20px 24px}.accounting-table-wrap table{width:100%;border-collapse:collapse}.accounting-table-wrap th{padding:12px;text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}.accounting-table-wrap td{padding:15px 12px;border-bottom:1px solid var(--line)}.accounting-table-wrap tbody tr[data-accounting-job]{cursor:pointer}.accounting-table-wrap tbody tr[data-accounting-job]:hover{background:#f4faff}.accounting-status,.accounting-unconfigured{display:inline-flex;border-radius:999px;padding:5px 9px;background:#edf3f7;color:#53677a;font-size:12px;font-weight:700;text-transform:capitalize}.accounting-status.paid{background:#e5f7ed;color:#17864b}.accounting-status.open,.accounting-status.partially_paid{background:#fff1d7;color:#8b5800}.accounting-unconfigured{background:#f1edff;color:#6553a8}.accounting-note{margin:20px 20px 0;padding:14px 16px;border-radius:13px;background:#f6f3ff;border:1px solid #ded7ff;display:grid;gap:4px;color:#51477d}.accounting-note span{font-size:13px}.accounting-empty{text-align:center!important;color:var(--muted);padding:44px!important}
.technician-pay-table{min-width:1120px}.technician-pay-table input{width:105px;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff}.technician-pay-table td small{display:block;margin-top:4px;color:var(--muted)}.technician-pay-table .button{white-space:nowrap;margin:2px}.technician-statement-detail>td{padding:0 20px 22px!important;background:#f7fafc}.technician-statement-detail section{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.technician-statement-detail section>header,.saved-statement>header{display:flex;justify-content:space-between;gap:12px}.statement-live-lines{overflow:auto;margin:12px 0}.statement-live-lines table{min-width:700px}.statement-create{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:12px;background:#f4f8fa;border-radius:10px}.statement-create label{display:grid;gap:4px;color:var(--muted);font-size:11px}.statement-create label:nth-child(2){flex:1;min-width:220px}.statement-create input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px}.saved-statement{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px}.saved-statement p{margin:6px 0;color:var(--muted)}.saved-statement>div{display:flex;gap:6px;flex-wrap:wrap}.saved-statement>div button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 8px}.saved-statement footer{margin-top:10px}.statement-status{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#edf3f7;text-transform:capitalize}.statement-status.approved{background:#e8f3ff;color:#176ba0}.statement-status.paid{background:#e5f7ed;color:#17864b}
.statement-payout{display:flex!important;align-items:center;gap:6px!important;flex-wrap:wrap}.statement-payout input,.statement-payout select{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff}.statement-payout input{width:145px}.saved-statement footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.technician-history-register{width:100%;max-width:none;margin:0;padding:0;overflow:hidden}.technician-history-register>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px;border-bottom:1px solid var(--line)}.technician-history-register h3{margin:4px 0;font-size:19px}.technician-history-register p{margin:0;color:var(--muted)}.statement-history-filters{display:flex;gap:5px}.statement-history-filters button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 11px}.statement-history-filters button.active{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.statement-history-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 20px 0}.statement-history-kpis article{padding:13px;border:1px solid var(--line);border-radius:11px;background:#f8fbfc}.statement-history-kpis span,.statement-history-kpis strong{display:block}.statement-history-kpis span{color:var(--muted);font-size:10px}.statement-history-kpis strong{margin-top:4px;font-size:18px}.technician-history-register td small{display:block;color:var(--muted);margin-top:3px}.technician-history-register td:last-child{white-space:nowrap}.technician-history-register td .button{display:inline-flex;margin:2px;text-decoration:none}@media(max-width:650px){.technician-history-register>header{align-items:flex-start;flex-direction:column}.statement-history-filters{width:100%;overflow:auto}.statement-history-kpis{grid-template-columns:repeat(2,1fr);padding:12px}.technician-history-register .accounting-table-wrap{overflow:auto}.technician-history-register table{min-width:880px}}
.ageing-summary{padding:20px}.ageing-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.ageing-summary h3{margin:4px 0;font-size:20px}.ageing-summary p{margin:0;color:var(--muted)}.ageing-buckets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}.ageing-buckets button{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f8fbfc;text-align:left}.ageing-buckets button.active{border-color:var(--brand);box-shadow:0 0 0 2px rgba(7,134,182,.12)}.ageing-buckets span,.ageing-buckets small{color:var(--muted);font-size:10px}.ageing-buckets strong{font-size:16px;color:var(--brand-dark)}.ageing-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf3f7;font-size:10px;font-weight:800;text-transform:uppercase}.ageing-status.current{background:#e5f7ed;color:#17864b}.ageing-status.1_30{background:#edf5ff;color:#176ba0}.ageing-status.31_60{background:#fff4dc;color:#9a6700}.ageing-status.61_90,.ageing-status.90_plus{background:#ffebeb;color:#a73434}@media(max-width:900px){.ageing-buckets{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.ageing-summary{padding:14px}.ageing-summary>header{flex-direction:column}.ageing-buckets{grid-template-columns:repeat(2,1fr)}#accountingAgeingPanel .accounting-table-wrap{overflow:auto}#accountingAgeingPanel table{min-width:780px}}
.ageing-status[class~="1_30"]{background:#edf5ff;color:#176ba0}.ageing-status[class~="31_60"]{background:#fff4dc;color:#9a6700}.ageing-status[class~="61_90"],.ageing-status[class~="90_plus"]{background:#ffebeb;color:#a73434}
@media(max-width:1000px){.accounting-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-toolbar{flex-direction:column}.accounting-range{justify-items:start}.accounting-overview{grid-template-columns:1fr}}
@media(max-width:620px){.accounting-metrics{grid-template-columns:1fr}.accounting-range form{flex-wrap:wrap}.accounting-tabs{overflow:auto}.accounting-overview{padding:12px}.accounting-table-wrap{padding:10px}.accounting-toolbar{padding:18px}}
.job-parts-panel{margin:0 18px 16px;padding:14px;border:1px solid #dce8ed;border-radius:13px;background:#f8fbfc}.job-parts-panel>header{margin-bottom:10px}.job-parts-panel h3{margin:3px 0 0;font-size:14px}.job-parts-panel form{display:grid;grid-template-columns:1.4fr 1.2fr 70px auto;gap:7px}.job-parts-panel select,.job-parts-panel input{min-width:0;height:38px;border:1px solid #d7e2e8;border-radius:8px;background:#fff;padding:0 8px;font-size:9px}.job-part-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 2px;border-top:1px solid #e1e8ec;margin-top:9px}.job-part-row strong,.job-part-row small{display:block}.job-part-row small{margin-top:3px;color:var(--muted);font-size:8px}.job-part-actions{display:flex;align-items:center;gap:5px}.job-part-actions button{height:28px;border:1px solid #cfdde4;border-radius:7px;background:#fff;color:var(--brand-dark);font-size:8px;font-weight:700}.job-part-state{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;background:#e8f5fa;color:var(--brand-dark);font-size:7px;font-weight:800;text-transform:uppercase}@media(max-width:760px){.job-parts-panel form{grid-template-columns:1fr 1fr}.job-part-actions{flex-wrap:wrap;justify-content:flex-end}}
.inventory-movement-editor{margin:15px 0;padding:13px;border:1px solid #d9e7ed;border-radius:12px;background:#f4f9fb}.inventory-movement-editor>strong,.inventory-movement-editor>small{display:block}.inventory-movement-editor>small{margin:4px 0 9px;color:var(--muted)}.inventory-movement-editor>div{display:grid;grid-template-columns:1fr 90px 1.4fr auto;gap:7px}.inventory-movement-editor select,.inventory-movement-editor input{min-width:0;height:38px;border:1px solid #d7e2e8;border-radius:8px;background:#fff;padding:0 8px}@media(max-width:620px){.inventory-movement-editor>div{grid-template-columns:1fr 80px}.inventory-movement-editor>div input:nth-of-type(2),.inventory-movement-editor button{grid-column:1/-1}}
.job-part-history{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:3px}.job-part-history li{display:flex;gap:7px;color:#758690;font-size:7px}.job-part-history b{text-transform:capitalize;color:#4c6674}.report-profitability{width:100%;max-width:none;margin-top:16px;padding:19px}.report-profitability>header h3{margin:4px 0;font-size:17px}.report-profitability>header p{margin:0;color:var(--muted);font-size:9px}.report-profitability-table{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.report-profitability-head,.report-profitability-table button{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:10px;align-items:center}.report-profitability-head{padding:9px 12px;background:#f3f7f9;color:#71818c;font-size:8px;font-weight:750;text-transform:uppercase}.report-profitability-table button{width:100%;padding:12px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;font-size:9px}.report-profitability-table button:hover{background:#f1f9fd}.report-profitability-table button strong,.report-profitability-table button small{display:block}.report-profitability-table button small{margin-top:3px;color:var(--muted)}.report-profitability-table .profit-value{color:var(--green);font-weight:800}@media(max-width:650px){.report-profitability-table{overflow:auto}.report-profitability-head,.report-profitability-table button{min-width:640px}}
.now-line{background:var(--brand)}.now-line:before{background:var(--brand)}.now-line>span{position:absolute;left:7px;top:-9px;padding:2px 5px;border-radius:5px;background:var(--brand);color:#fff;font-size:7px;font-weight:800;letter-spacing:.03em;white-space:nowrap;box-shadow:0 2px 6px rgba(7,141,202,.25)}
.invoice-financials{grid-template-columns:repeat(3,1fr)}.invoice-due-date{background:#f8fafb}.invoice-summary-overdue .invoice-due-date{border-color:#f2b8b5;background:#fff5f4}.invoice-summary-overdue .invoice-due-date strong{color:#b42318}@media(max-width:560px){.invoice-financials{grid-template-columns:1fr}}
.expense-register-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px 4px}.expense-register-toolbar h3{margin:4px 0;font-size:20px}.expense-register-toolbar p{margin:0;color:var(--muted)}.expense-register-toolbar .button{width:auto}.expense-row small{display:block;margin-top:3px;color:var(--muted);text-transform:capitalize}.expense-row.void{opacity:.62}.expense-row td>button:not(.button){border:0;background:none;padding:0;color:var(--brand);font-weight:800;cursor:pointer}.accounting-status.void{background:#edf1f3;color:#657681}.expense-composer-backdrop{position:fixed;inset:0;z-index:145;background:rgba(13,31,42,.58);display:grid;place-items:center;padding:12px}.expense-composer-backdrop[hidden]{display:none}.expense-composer{width:min(680px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(8,27,39,.4)}.expense-composer>header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(135deg,#123e54,#087fa9);color:#fff}.expense-composer>header .eyebrow{color:#a9dced}.expense-composer h2{margin:3px 0 0}.expense-composer>header .close-button{position:static;color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12)}.expense-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:18px}.expense-fields label{display:grid;gap:5px;color:#687984;font-size:8px;font-weight:700;text-transform:uppercase}.expense-fields label.wide{grid-column:1/-1}.expense-fields input,.expense-fields select,.expense-fields textarea{min-width:0;border:1px solid #d7e2e8;border-radius:8px;background:#fff;padding:0 10px;font-family:inherit}.expense-fields input,.expense-fields select{height:39px}.expense-fields textarea{height:72px;padding-top:8px}.expense-composer .form-message{padding:0 18px}.expense-composer footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.expense-composer footer .button{width:auto}@media(max-width:620px){.expense-register-toolbar{align-items:stretch;flex-direction:column}.expense-register-toolbar .button{width:100%}.expense-fields{grid-template-columns:1fr}.expense-fields label.wide{grid-column:auto}}
.accounting-export{display:inline-flex;width:auto;margin-top:12px}.accounting-adjustment-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.accounting-adjustment-grid>section+section{border-left:1px solid var(--line)}.accounting-adjustment-grid h4{margin:18px 20px 0}.accounting-adjustment-grid small,.payment-table-row small{display:block;margin-top:3px;color:var(--muted)}.refund-payment{display:block;margin-top:4px;border:0;background:none;padding:0;color:#b42318;font-size:8px;font-weight:800;cursor:pointer}.expense-row td:last-child{display:flex;gap:5px}.expense-row td:last-child .button{width:auto}@media(max-width:850px){.accounting-adjustment-grid{grid-template-columns:1fr}.accounting-adjustment-grid>section+section{border-left:0;border-top:1px solid var(--line)}}
.invoice-status.overdue,.accounting-status.overdue{background:#fde9e7;color:#b42318}
/* Accounting operations: forms stay usable on desktop and phone. */
.financial-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 24px 18px}.financial-preview span{padding:14px;border:1px solid #dbe5ec;border-radius:12px;background:#f7fafc;display:flex;flex-direction:column;gap:4px}.financial-preview strong{font-size:20px;color:#123047}.wide-composer{max-width:760px}.purchase-order-grid{display:grid;gap:14px}.purchase-order-card{border:1px solid #dbe5ec;border-radius:14px;padding:16px;background:#fff}.purchase-order-card>header,.purchase-line,.supplier-return,.integration-event{display:flex;align-items:center;justify-content:space-between;gap:12px}.purchase-line{padding:12px 0;border-top:1px solid #edf2f5}.purchase-line span:first-child{display:flex;flex-direction:column}.purchase-line small,.supplier-return{color:#617485}.supplier-return{padding:9px 12px;background:#f7fafc;border-radius:9px;margin-bottom:6px}.purchase-line button,.supplier-return button{margin-left:6px}.accounting-table-wrap input,.expense-register-toolbar select,.staff-access-row select{min-height:38px;border:1px solid #cad8e1;border-radius:8px;padding:7px 9px;background:#fff}.integration-state{display:block;margin-top:12px;font-size:12px;text-transform:uppercase}.integration-state.configured{color:#11875d}.integration-state.not-configured{color:#a45c13}.integration-event{padding:12px 0;border-bottom:1px solid #e5edf2}.integration-event span:first-child{display:flex;flex-direction:column}.financial-audit code{white-space:normal}
@media(max-width:720px){html,body{max-width:100%;overflow-x:hidden}.financial-preview{grid-template-columns:1fr;margin:0 16px 16px}.purchase-order-card>header,.purchase-line,.supplier-return,.integration-event{align-items:flex-start;flex-direction:column}.purchase-line span:last-child{width:100%;display:flex}.purchase-line button{flex:1;margin:4px 0}.accounting-tabs{max-width:100%;overflow-x:auto}.accounting-table-wrap{max-width:100%;overflow-x:auto}.expense-register-toolbar{align-items:flex-start;flex-direction:column}.wide-composer{width:calc(100vw - 20px)}}
