:root{color-scheme:light;font-family:Inter,Segoe UI,system-ui,sans-serif;--ink: #172e2b;--muted: #536966;--brand: #176753;--brand-hover: #105441;--nav: #132d2a;--surface: #fff;--paper: #f3f6f3;--line: #dce6e2;--mint: #e5f5ee;--radius: 16px;--shadow: 0 2px 4px #132d2a06, 0 9px 26px #132d2a05;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled{cursor:default}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #329e82;outline-offset:3px}h1,h2,h3,p,dl,dd{margin:0}h1{font-size:clamp(30px,3.2vw,40px);font-weight:740;line-height:1.04;letter-spacing:-.055em}h2{font-size:19px;font-weight:720;line-height:1.25;letter-spacing:-.032em}h3{font-size:14px;line-height:1.25;letter-spacing:-.015em}p{line-height:1.55}small,.small{font-size:12px}strong{font-weight:690}svg{flex:none;vertical-align:middle}summary{cursor:pointer}.muted{color:var(--muted)}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.tabular{font-variant-numeric:tabular-nums}.row,.row-between{display:flex;align-items:center;gap:9px}.row-between{justify-content:space-between}.wrap{flex-wrap:wrap}.vertical{display:flex;flex-direction:column;gap:14px;min-width:0}.padded{padding:20px}.card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.app-loading{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:14px}.skip-link{position:fixed;z-index:1300;top:8px;inset-inline-start:8px;padding:9px 12px;background:#fff;transform:translateY(-200%)}.skip-link:focus{transform:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 15px;border:1px solid transparent;border-radius:9px;color:var(--ink);background:transparent;font-weight:680;font-size:13px;text-decoration:none;line-height:1.2;white-space:nowrap;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.button.primary{background:var(--brand);color:#fff;box-shadow:0 2px 4px #17675324}.button.primary:hover:not(:disabled){background:var(--brand-hover)}.button.secondary{background:#fff;border-color:var(--line)}.button.secondary:hover:not(:disabled),.button.ghost:hover,.button.icon-button:hover{background:#eaf5ef}.button.ghost{color:var(--brand)}.button.icon-button{padding:0;width:37px;min-height:37px}.button:disabled{opacity:.55}.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--brand);text-decoration:none;font-weight:690;border:0;padding:0;background:transparent}.text-link:hover{text-decoration:underline;text-underline-offset:3px}.back-link{margin-bottom:10px;margin-inline-start:-8px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;align-self:flex-start;width:fit-content;max-width:100%;min-height:23px;padding:3px 8px;border-radius:99px;white-space:nowrap;color:#50635f;background:#eef3f1;font-size:10.5px;font-weight:720}.pill i,.live-label i{display:block;flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}.pill.green{color:#21664f;background:#e6f5ed}.pill.blue{color:#315986;background:#e8f1fc}.pill.amber{color:#89501e;background:#fff0db}.pill.red{color:#9a4148;background:#fae9eb}.avatar{width:35px;height:35px;display:inline-grid;flex:none;place-items:center;border-radius:50%;background:#e5f2e9;color:#28614d;font-size:11px;font-weight:770;text-decoration:none}.error{display:flex;align-items:flex-start;gap:7px;color:#943641;background:#fceef0;border:1px solid #efd2d6;border-radius:9px;padding:9px 11px;font-size:13px;overflow-wrap:anywhere}.error svg{margin-top:2px}.loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:95px;color:var(--muted);font-weight:650}.loading svg{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.empty{display:grid;place-items:center;text-align:center;gap:10px;padding:30px 17px;min-height:150px}.empty>span,.feature-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--brand);background:var(--mint);flex:none}.empty p{max-width:39ch;color:var(--muted);font-size:12px}.empty h3{font-size:15px}.app-shell{min-height:100dvh;display:grid;grid-template-columns:230px minmax(0,1fr)}.app-body{min-width:0}.sidebar{display:flex;flex-direction:column;height:100dvh;position:sticky;top:0;padding:25px 14px 13px;background:linear-gradient(165deg,#153b32,#112b28 65%);color:#deede8;overflow-y:auto}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:26px;font-weight:790;letter-spacing:-.055em;text-decoration:none;white-space:nowrap}.brand-light{color:#f5faf7}.brand-dot{color:#70d3ae}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#a5eccc;color:#17483a}.workspace-select{position:relative;display:flex;align-items:center;gap:9px;margin:29px 1px 18px;padding:9px 10px;background:#203d38;border:1px solid #39544e;border-radius:11px}.workspace-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;background:#34564b;color:#b9f0d8;border-radius:8px}.workspace-select>div{min-width:0}.workspace-select strong,.workspace-select select{display:block;color:#f6fcf8;font-size:13px;font-weight:700}.workspace-select select{appearance:none;position:absolute;inset:0;padding-block:0 13px;padding-inline:49px 25px;width:100%;border:0;border-radius:inherit;background:transparent}.workspace-select select option{color:var(--ink);background:#fff}.workspace-chevron{pointer-events:none;position:absolute;inset-inline-end:8px}.workspace-select small{color:#c0d4ca;font-size:10px}.workspace-select select+small{display:block;padding-top:16px}.nav-caption{display:block;padding:11px 11px 7px;color:#a5c0b6;font-size:9px;font-weight:760;letter-spacing:1.45px}.sidebar nav a{min-height:44px;display:flex;align-items:center;gap:10px;margin-bottom:3px;padding:8px 9px;border-radius:9px;color:#d1e2db;font-size:13px;font-weight:620;text-decoration:none}.sidebar nav a:hover{background:#284640}.sidebar nav a[aria-current=page]{background:#c9efda;color:#143e32;box-shadow:0 3px 12px #071f1b26}.sidebar nav a[aria-current=page] svg{color:#216b50}.sidebar nav a small{margin-inline-start:auto;color:#e9f9ef;background:#416459;border-radius:6px;padding:1px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:16px}.profile-link{display:flex;align-items:center;gap:8px;margin:4px 0;padding:12px 3px 10px;border-top:1px solid #38544e;text-decoration:none}.profile-link>span:nth-child(2){min-width:0}.profile-link strong{display:block;color:#f2f8f4;font-size:12px;overflow-wrap:anywhere}.profile-link small{display:block;margin-top:2px;color:#b9d0c5;font-size:10px}.profile-link svg{margin-inline-start:auto;color:#9fc5b6}.sign-out{display:flex;align-items:center;gap:8px;padding:7px;color:#c2d8ce;border:0;border-radius:6px;background:transparent;font-size:12px}.sign-out:hover{background:#2b4a42;color:#fff}.drawer-backdrop,.drawer-close.button,.menu-button.button{display:none}.topbar{position:sticky;top:0;z-index:700;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:63px;padding:0 clamp(18px,3vw,38px);background:#fff;border-bottom:1px solid var(--line)}.breadcrumbs,.top-actions{display:flex;align-items:center;gap:11px}.language-select{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:33px;padding-inline:8px 4px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand)}.language-select select{min-height:30px;max-width:100%;border:0;background:transparent;color:var(--ink);font-weight:650;font-size:12px}input[type=email],input[type=password],input[autocomplete=off][name=code]{direction:ltr;text-align:start}:root[dir=rtl]{line-height:1.65;font-family:Segoe UI,Tahoma,Arial,sans-serif}:root[dir=rtl] :is(h1,h2,h3,.eyebrow,.nav-caption,.inspector-top,.metric strong,.price){letter-spacing:normal}:root[dir=rtl] :is(.lucide-arrow-left,.lucide-arrow-right,.lucide-arrow-up-right,.lucide-arrow-down-right,.lucide-log-out){transform:scaleX(-1)}:root[dir=rtl] .leaflet-control-attribution{text-align:start}.breadcrumbs{color:var(--muted);font-size:13px}.breadcrumbs strong{color:var(--ink)}.crumb-divider{color:#829490}.top-avatar{width:33px;height:33px}.demo-switch{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:4px 6px 4px 9px;border-radius:8px;font-size:11px;color:var(--muted)}.demo-switch select{padding:3px 0;border:0;color:var(--ink);background:transparent;font-weight:670;font-size:12px}.workspace-main{width:100%;max-width:1670px;margin:auto;padding:25px clamp(18px,2.5vw,32px) 36px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:15px;margin-bottom:21px}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#317561;font-size:10px;font-weight:800;letter-spacing:1.7px}.eyebrow>span{width:12px;height:2px;border-radius:2px;background:#53a88b}.page-heading p{margin-top:8px;color:var(--muted)}.heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.live-label{display:inline-flex;align-items:center;gap:7px;color:#306b55;font-size:12px;font-weight:690;text-decoration:none;white-space:nowrap}.live-label i{width:7px;height:7px;background:#439c73;box-shadow:0 0 0 3px #dcf2e6}.live-label.disconnected{color:#806529}.live-label.disconnected i{background:#b2914b;box-shadow:0 0 0 3px #f5efdf}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.metric{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-height:105px;padding:16px}.metric-label{display:block;color:var(--muted);font-size:12px;font-weight:680}.metric strong{display:block;margin:3px 0 4px;font-size:clamp(23px,2.5vw,33px);font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:1.12}.metric small{color:var(--muted);font-size:10.5px;line-height:1.35}.metric-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;color:#28725b;background:#e8f5ee}.metric-icon.blue{color:#446691;background:#edf2fc}.metric-icon.amber{color:#a46027;background:#fbefdf}.section-head{flex-wrap:wrap;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:65px;padding:13px 17px}.section-head p{margin-top:4px;color:var(--muted);font-size:12px}.section-head>svg{color:#4e8978}.dispatch-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(288px,28%);gap:15px;align-items:start}.map-card{overflow:hidden}.map-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.map-head p{display:flex;align-items:center;gap:5px}.middle-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:#72918a;margin:0 2px}.segmented{display:flex;align-items:center;padding:3px;gap:2px;border:1px solid var(--line);border-radius:9px;background:#f1f5f3}.segmented button{display:flex;align-items:center;gap:5px;min-height:29px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);padding:4px 8px;font-size:12px;font-weight:680;white-space:nowrap}.segmented button[aria-pressed=true]{border-color:#dbe6e1;background:#fff;color:var(--brand);box-shadow:0 1px 3px #132d2a13}.map-tools{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 10px}.control{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:36px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fbfdfc;color:#5a7770}.control input,.control select{width:100%;min-width:0;min-height:34px;border:0;color:var(--ink);background:transparent;font-size:12px}.control.search{flex:1 1 155px}.control.search input{cursor:text}.control.date-control input{width:115px}.layer-row{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:2px 16px 9px}.layer-group{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.layer-group button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;min-height:29px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.layer-group button:hover{background:#f1f7f3}.layer-group button[aria-pressed=true]{color:#1c654e;background:#e5f5ed;border-color:#cde7d9}.layer-count{display:grid;place-items:center;min-width:16px;height:16px;border-radius:50%;color:#fff;background:var(--brand);font-size:9px}.map-style{display:inline-flex;align-items:center;gap:4px;min-height:30px;border:1px solid var(--line);border-radius:7px;padding:0 6px;color:var(--muted)}.map-style select{appearance:none;border:0;background:transparent;color:var(--ink);padding:4px 0;font-size:11px;font-weight:650}.geo-map,.map-list-view{height:clamp(440px,calc(100dvh - 370px),690px)}.geo-map{position:relative;isolation:isolate;overflow:hidden;background:#e4ebe7}.leaflet-host{height:100%;width:100%;background:#e8eeea;font-family:inherit}.leaflet-tile-pane{transition:filter .18s ease}.tiles-light{filter:saturate(.6) contrast(.89) brightness(1.09)}.tiles-night{filter:invert(.88) hue-rotate(172deg) saturate(.63) brightness(.89)}.leaflet-container .leaflet-control-attribution{font-size:10px;color:#26433b}.leaflet-container .leaflet-control-attribution a{color:#235f57}.map-fit{position:absolute;z-index:500;display:grid;place-items:center;width:34px;height:34px;top:10px;inset-inline-end:10px;padding:0;border:1px solid #b7c9c1;border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 2px 5px #19382e22}.map-fit:hover{background:#e8f5ee}.leaflet-control-zoom.leaflet-bar{border:1px solid #b9cac2;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #19382e20}.geo-icon{background:transparent;border:0}.geo-icon:focus-visible{outline:0}.geo-icon:focus-visible>span{outline:3px solid #26578b;outline-offset:3px}.zone-marker{display:flex;align-items:center;gap:5px;width:max-content;max-width:153px;min-height:25px;padding:3px 7px 3px 4px;border-radius:99px;background:#fff;color:#234a40;border:1px solid #7da99b;box-shadow:0 2px 6px #19382e30;transform:translate(-50%,-50%);font-size:10px;font-weight:760;white-space:nowrap}.zone-marker.selected{border-color:#1e7b61;box-shadow:0 0 0 3px #87cdad85,0 2px 7px #173d3250}.zone-marker.attention{border-color:#b88553}.zone-label{overflow:hidden;text-overflow:ellipsis}.zone-value{display:grid;place-items:center;min-width:18px;height:18px;border-radius:50%;color:#1e654e;background:#dff4e9;font-size:10px}.zone-marker.attention .zone-value{color:#864519;background:#fbeddd}.visit-marker,.picked-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid white;color:#fff;background:#267961;box-shadow:0 2px 7px #172e2b59;font-size:15px;font-weight:800}.visit-marker.selected{box-shadow:0 0 0 5px #226b5f4f,0 2px 9px #172e2b59}.visit-marker.needs{background:#ae6329}.visit-marker.needs.selected{box-shadow:0 0 0 5px #e3a15f85,0 2px 9px #172e2b59}.visit-marker.request{background:#4b67a3}.visit-marker.active{background:#367c8d}.visit-marker.done{background:#657e76}.picked-marker{background:#236b9b}.presence-marker{display:flex;align-items:center;gap:7px;width:max-content;padding:5px 8px;border:1px solid #81b49f;border-radius:99px;background:#fff;color:#285e4c;transform:translate(-50%,-50%);font-size:11px;font-weight:750;box-shadow:0 2px 8px #19382e39}.presence-dot{width:9px;height:9px;background:#259165;border-radius:50%;box-shadow:0 0 0 3px #d6efe3}.tile-notice,.pick-hint{position:absolute;z-index:500;bottom:25px;inset-inline-start:9px;display:flex;align-items:center;gap:5px;padding:4px 7px;background:#fffefaee;color:#36584f;font-size:10px;border:1px solid var(--line);border-radius:5px;max-width:calc(100% - 58px)}.tile-notice{bottom:10px}.geo-compact{height:245px;border:1px solid var(--line);border-radius:9px}.geo-picker .leaflet-host{cursor:crosshair}.point-fields{display:flex;flex-direction:column;gap:8px}.map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:10px 16px;min-height:39px}.map-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.map-legend .text-link{margin-inline-start:auto;font-size:11px}.dot{width:8px;height:8px;display:inline-block;flex:none;border-radius:50%}.dot.area{border:1px solid #69a592;border-radius:2px;background:#d1e9e1}.dot.needs{background:#ad652b}.dot.booked{background:#287862}.dot.request{background:#526da8}.dot.live{background:#32986c}.map-list-view{padding:10px 16px;overflow:auto;background:#f8fbf9}.map-list-view h3{margin:9px 0 4px}.map-list-view>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:start}.map-list-view>button:hover,.map-list-view>button[aria-pressed=true]{background:#eaf6ef}.map-list-view>button>span:nth-child(2){flex:1;font-weight:650}.map-list-view>button small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:450}.list-symbol{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#e1f0e9;color:#3a7a65}.unmapped{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-size:12px}.inspector{display:flex;flex-direction:column;min-height:420px}.inspector-content{padding:17px 16px}.inspector-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:13px;color:#647b74;font-size:10px;font-weight:750;letter-spacing:1.15px}.inspector h2{margin:9px 0 6px;font-size:23px}.job-address{display:flex;align-items:flex-start;gap:7px;color:var(--ink);font-size:13px}.job-address svg{margin-top:2px;color:#598b7d}.job-address small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.visit-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:13px 0}.visit-facts>div{display:flex;align-items:flex-start;gap:6px;padding:9px;border-radius:9px;color:var(--muted);background:#f0f6f3;font-size:10px}.visit-facts svg{color:#49816f}.visit-facts strong{display:block;margin-top:4px;color:var(--ink);font-size:11px}.crew-heading{margin:15px 0 6px}.crew-heading small{color:var(--muted);font-size:11px}.crew-progress{height:5px;margin-bottom:4px;border-radius:99px;background:#edf3ef;overflow:hidden}.crew-progress i{display:block;height:100%;border-radius:inherit;background:#4da789;transition:width .2s ease}.crew-list{margin:4px 0 7px}.person{display:flex;gap:8px;align-items:center;min-height:48px;padding:6px 0;border-bottom:1px solid #e9f0ed}.person:last-child{border-bottom:0}.person>div{min-width:0}.person strong,.person small{display:block;overflow-wrap:anywhere}.person strong{font-size:12px}.person small{color:var(--muted);font-size:10px}.person .avatar{width:30px;height:30px}.person .pill{margin-inline-start:auto;align-self:center}.visit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.inspector-footer{display:flex;flex-direction:column;gap:12px;margin-top:15px}.inspector-footer .button{flex:1}.inspector-footer .text-link{justify-content:center;font-size:12px}.queue-link{margin-top:auto;padding:11px 15px;border-top:1px solid var(--line)}.queue-link a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;border-radius:8px;background:#f0f6f3;color:#305c4d;text-decoration:none;font-size:12px;font-weight:680}.queue-link a:hover{background:#e3f2e9}.queue-link a span{display:flex;align-items:center;gap:6px}.queue-link strong{display:grid;place-items:center;min-width:21px;height:21px;border-radius:6px;color:var(--brand);background:#fff}.zone-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0}.zone-stats>div{background:#eff6f2;border-radius:8px;padding:8px}.zone-stats strong,.zone-stats small{display:block}.zone-stats strong{font-size:19px}.zone-stats small{font-size:10px;color:var(--muted)}.nearby{margin-top:12px}.area-list{margin-top:9px}.area-visit{width:100%;min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:start;padding:6px 3px;font-size:12px;font-weight:640}.area-visit span:first-child{display:flex;align-items:center;gap:6px}.area-visit:hover{background:#ecf6ef}.area-visit small{color:var(--muted)}.split-page{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:start}.territory-layout{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr)}.territory-layout .geo-map{border-radius:0 0 var(--radius) var(--radius)}.territory-layout .padded>p{margin-top:9px}.page-tabs{display:flex;gap:4px;align-items:center;margin-bottom:15px;border-bottom:1px solid var(--line);overflow-x:auto}.page-tabs button{padding:9px 11px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-size:13px;font-weight:670;white-space:nowrap}.page-tabs button[aria-pressed=true]{color:var(--brand);border-bottom-color:var(--brand)}.page-tabs button:hover{background:#e8f5ee}.page-tabs.inner{padding:0 13px;margin:0}.table-wrap{overflow:auto}.page-nav{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:10px 14px;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:510px;text-align:start}th,td{text-align:start;padding:13px 16px;border-top:1px solid #e7eeeb;vertical-align:middle;overflow-wrap:anywhere}th{background:#f4f8f6;color:var(--muted);font-size:11px;font-weight:740}td{font-size:13px}td small{display:block;color:var(--muted);margin-top:2px;font-size:11px}td .button{min-height:30px;font-size:11px}.name-cell{display:flex;align-items:center;gap:7px}.name-cell .avatar{width:31px;height:31px}.calendar-card{overflow:hidden}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow-x:auto;border-top:1px solid var(--line)}.calendar-day{display:flex;flex-direction:column;gap:7px;min-height:280px;padding:9px;border-inline-end:1px solid var(--line)}.calendar-day:last-child{border:0}.calendar-day>strong{color:var(--muted);font-size:11px}.calendar-day.today{background:#f0f8f3}.calendar-day.today>strong{color:var(--brand)}.calendar-visit{display:flex;flex-direction:column;gap:3px;border:1px solid #dce9e2;border-radius:8px;padding:7px;background:#fff;text-decoration:none;font-size:12px}.calendar-visit:hover{border-color:#66a792}.calendar-visit>span:first-child,.calendar-visit small{color:var(--muted);font-size:10px}.price{color:var(--brand);font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.rating-display{color:#956121;font-weight:750}.timeline{margin-top:10px}.timeline-item{display:flex;align-items:flex-start;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border:0}.timeline-item i{width:7px;height:7px;flex:none;background:#79b29f;border-radius:50%;margin-top:6px}.timeline-item>div{flex:1}.timeline-item p,.timeline-item small{color:var(--muted);font-size:11px}.chat{max-width:900px;overflow:hidden}.chat-feed{display:flex;flex-direction:column;gap:8px;padding:14px;background:#f5f9f6;border-block:1px solid var(--line);min-height:180px;max-height:420px;overflow:auto}.bubble{max-width:min(86%,570px);width:fit-content;padding:8px 11px;border-radius:11px;border:1px solid var(--line);background:#fff;overflow-wrap:anywhere}.bubble.own{align-self:flex-end;background:#e4f4ea}.bubble small{display:block;margin-bottom:3px;color:var(--muted);font-size:10px}.bubble p{white-space:pre-wrap}.chat-form{padding:13px}.rating-stars{display:flex;gap:4px}.rating-stars .star-active{color:#a66b26}.rating-stars .star-active svg{fill:#ffdf9d}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap;margin-bottom:13px;padding:9px 12px}.report-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px;color:var(--muted);font-size:12px;font-weight:650}.finance-metrics .metric strong,.portal-metrics .metric strong{font-size:clamp(21px,2.4vw,30px)}.finance-layout{grid-template-columns:minmax(0,1.9fr) minmax(235px,1fr)}.chart{padding:0 12px 12px}.chart>svg{width:100%;min-height:105px}.chart-tick{fill:#536966;font-size:10px}.chart-legend{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.chart-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.chart-legend i{width:8px;height:8px;border-radius:2px}.chart summary{padding:6px 8px;color:var(--brand);font-size:11px;font-weight:650}.balance-list{margin-top:10px}.balance-list div{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:9px 0;border-bottom:1px solid var(--line)}.balance-list div:last-child{border-bottom:0}.balance-list dt{color:var(--muted);font-size:11px}.balance-list dd{font-weight:720}.records{margin-top:14px}.portal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.location-card{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:16px}.location-card>div:nth-child(2){flex:1 1 270px}.location-card p{margin-top:4px;color:var(--muted);font-size:12px}.account-card{max-width:550px}dialog{width:min(480px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 26px);padding:20px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;box-shadow:0 22px 80px #132d2a50}dialog.dialog-wide{width:min(660px,calc(100vw - 24px))}dialog::backdrop{background:#122e2b65;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:14px}.modal-heading p{color:var(--muted);margin-top:4px;font-size:12px}.form{display:flex;flex-direction:column;gap:11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.form-grid.single{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:4px;color:var(--ink);min-width:0;font-size:12px;font-weight:670}.field input,.field select,.field textarea,.crew-option>input{min-height:38px;width:100%;border:1px solid #d6e3de;border-radius:8px;background:#fbfdfc;color:var(--ink);padding:7px 9px;font-size:13px;font-weight:450}.field textarea{resize:vertical}.field small{font-weight:450;color:var(--muted);font-size:11px}.form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:3px}.form fieldset{margin:0;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px}.form legend{padding:0 4px;font-size:12px;font-weight:660}.check-group{display:flex;flex-wrap:wrap;gap:6px 12px}.check{display:inline-flex;align-items:center;gap:5px;font-size:12px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand)}.crew-picker{max-height:300px;overflow:auto}.work-checklist{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:10px}.crew-option{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.crew-option>input{width:65px}.leave-entry{min-height:42px;border-bottom:1px solid var(--line);margin-bottom:6px}.toast{position:fixed;inset-inline-end:16px;bottom:16px;z-index:1250;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding-block:7px;padding-inline:13px 9px;border-radius:9px;background:var(--nav);color:#f3faf6;box-shadow:0 8px 28px #162e2b3d;font-size:13px;font-weight:670}.toast .button{color:inherit;width:28px;min-height:28px}.toast .button:hover{background:#29453c}.public-page{min-height:100dvh;background:#f5f8f5}.public-header{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:1250px;margin:auto;padding:17px clamp(15px,4vw,44px)}.public-main{max-width:1250px;margin:auto;padding:8px clamp(15px,4vw,44px) 32px}.public-hero{display:grid;grid-template-columns:1.2fr minmax(0,1fr);align-items:stretch;min-height:430px;border-radius:26px;overflow:hidden;background:#e9f3eb;border:1px solid #dbe9df}.hero-copy{align-self:center;padding:clamp(23px,5vw,60px)}.hero-copy h1,.setup-copy h1{font-size:clamp(40px,6.3vw,79px)}.hero-copy h1 em{color:#397862;font-style:normal}.hero-copy p,.setup-copy p{margin:15px 0 19px;color:#45675b;max-width:45ch;font-size:15px}.hero-region{display:flex;align-items:center;gap:6px;margin-top:20px;font-size:12px;color:#396b58}.hero-art{position:relative;isolation:isolate;min-height:350px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 40% 34%,#a9d9c4,#8cc4ae,#609a8a)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#f2fcf533 1px,transparent 1px),linear-gradient(90deg,#f2fcf533 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse,black 12%,transparent 77%);mask-image:radial-gradient(ellipse,black 12%,transparent 77%)}.orbit{position:absolute;border:1px solid #f4fff882;border-radius:50%;width:80%;aspect-ratio:1;transform:rotate(-22deg) scaleY(.66)}.orbit-two{width:94%;transform:rotate(24deg) scaleY(.74)}.hero-window{position:relative;display:grid;place-items:center;overflow:hidden;z-index:1;width:min(53%,250px);aspect-ratio:4 / 5;border:5px solid #e6f5e9;border-radius:99px 99px 20px 20px;color:#285f4d;background:linear-gradient(150deg,#e2f7e9,#98cbb7);box-shadow:0 18px 55px #204d4240,inset 0 0 0 1px #377c6066}.hero-window svg{z-index:2}.hero-window-sun{position:absolute;width:48px;height:48px;top:16%;inset-inline-end:14%;border-radius:50%;background:#fff0bc}.hero-window-hills{position:absolute;inset:55% -20% -35%;border-radius:46%;background:#79b49c;transform:rotate(-17deg)}.hero-sparkle{position:absolute;color:#f3fbee;z-index:3}.hero-sparkle.one{top:15%;inset-inline-start:15%}.hero-sparkle.two{inset-inline-end:12%;bottom:29%}.hero-badge{display:flex;position:absolute;inset-inline-end:9%;bottom:10%;z-index:3;align-items:center;gap:8px;padding-block:8px;padding-inline:8px 12px;color:#214d40;background:#f8fcf9;border:1px solid #e2f4e7;border-radius:11px;box-shadow:0 7px 18px #234a3c36}.hero-badge>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--mint)}.hero-badge small{display:block;margin-top:1px;font-size:10px}.public-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:14px 0}.service-card{display:flex;align-items:center;gap:10px;padding:14px}.service-card h2{font-size:15px}.service-card p{color:var(--muted);font-size:12px;margin-top:3px}.demo-entry{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}.demo-entry p{margin-top:4px}.auth-switch{margin-top:12px}.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:center;gap:30px;min-height:580px}.setup-copy{padding:clamp(14px,3vw,40px)}.setup-card>h2{margin-top:10px}.setup-card>p{color:var(--muted);margin:5px 0 15px}@media(max-width:1160px){.app-shell{grid-template-columns:192px minmax(0,1fr)}.sidebar{padding-inline:11px}.dispatch-layout{grid-template-columns:minmax(0,1fr) minmax(248px,30%);gap:11px}.metric{padding:12px}.metric-icon{width:31px;height:31px}.layer-group button{padding-inline:6px}}@media(max-width:970px){.app-shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:1200;top:0;bottom:0;inset-inline-start:0;width:min(245px,88vw)}.sidebar.drawer-open{display:flex}.drawer-backdrop{display:block;position:fixed;z-index:1190;inset:0;width:100%;border:0;background:#132d2a59}.drawer-close.button,.menu-button.button{display:inline-flex}.drawer-close.button{color:#cde8dd}.drawer-close.button:hover{background:#2f5147}.breadcrumbs{gap:7px}}@media(max-width:715px){.dispatch-layout,.split-page{grid-template-columns:minmax(0,1fr)}.inspector{min-height:0}.public-hero{grid-template-columns:minmax(0,1fr)}.hero-art{min-height:270px}.hero-window{width:min(34%,175px)}.setup-grid{grid-template-columns:minmax(0,1fr);min-height:0;gap:12px}.public-services{grid-template-columns:1fr}.portal-metrics .metric{min-height:91px}}@media(max-width:510px){.topbar{min-height:49px;padding:0 11px}.top-actions{gap:6px}.top-actions .demo-switch>span{display:none}.top-actions .top-avatar{display:none}.public-header{flex-wrap:wrap}.breadcrumbs{font-size:12px}.crumb-home,.crumb-divider{display:none}.workspace-main{padding:19px 10px 26px}.page-heading{gap:9px;margin-bottom:13px}.page-heading p{margin-top:5px;font-size:12px}.heading-actions{gap:8px}.eyebrow{margin-bottom:6px;font-size:9px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:12px}.metric{min-height:81px;padding:8px 10px}.metric strong{font-size:23px}.metric-icon{width:28px;height:28px}.metric-icon svg{width:16px;height:16px}.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.map-tools{display:grid;grid-template-columns:1fr 1fr;padding:0 9px 8px;gap:6px}.map-tools .search{grid-column:1 / -1}.map-tools .date-control input{width:100%}.layer-row{align-items:flex-start;padding:0 8px 7px}.layer-group{gap:0}.layer-group button{padding:3px 5px;font-size:10px}.section-head{padding:10px 11px}.map-title h2{font-size:16px}.geo-map,.map-list-view{height:365px}.geo-compact{height:207px}.map-legend{gap:7px;padding-inline:9px}.map-legend span{font-size:10px}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three>:first-child{grid-column:1 / -1}.chart-legend{flex-wrap:wrap;gap:5px 8px}.public-hero{border-radius:17px}}.workspace-content{position:relative}.workspace-refresh{position:absolute;inset:0;z-index:650;display:grid;align-items:start;padding-top:80px;background:#f3f6f3eb;border-radius:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.workspace-date{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;padding-inline-end:10px;border-inline-end:1px solid var(--line);white-space:nowrap}.sidebar nav a{transition:background .16s ease,color .16s ease}.sidebar nav a[aria-current=page] small{background:#23634c;color:#fff}.brand-mark{box-shadow:inset 0 0 0 1px #fff4}.metric>div{min-width:0}.metric strong{overflow-wrap:anywhere}.metrics>.metric:first-child{background:linear-gradient(115deg,#e7f4eb,#f6fbf7);border-color:#cbded2}.metric-icon{border:1px solid #ffffffaa}.map-card{box-shadow:0 3px 5px #183c3005,0 15px 40px #183c3009}.map-head{background:linear-gradient(120deg,#fff,#f4f9f5);margin-bottom:12px;border-bottom:1px solid #e8eee9}.inspector{overflow:hidden}.inspector-top{padding-bottom:12px;border-bottom:1px solid var(--line)}.geo-map{border-block:1px solid #d8e3dc}.layer-row{flex-wrap:wrap}.layer-group{flex:1}.clear-search{display:grid;place-items:center;flex:none;border:0;border-radius:5px;background:transparent;color:var(--muted);padding:0;width:28px;height:28px}.clear-search:hover{background:var(--mint);color:var(--brand)}.map-tools input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.presence-marker.selected{box-shadow:0 0 0 4px #87cdad85,0 2px 7px #173d3250}.search-control{min-width:190px;max-width:100%}.calendar-empty{padding-top:20px;text-align:center;opacity:.8}.calendar-visit{transition:background .16s ease,border-color .16s ease}.calendar-visit:hover{background:#f0faf4}.table-wrap{scrollbar-width:thin;scrollbar-color:#c2d5ca transparent}.table-wrap tbody tr:hover{background:#f6faf7}.table-wrap th{white-space:nowrap}.form .form-fields{display:flex;flex-direction:column;gap:12px;padding:0;border:0;border-radius:0;margin:0;min-inline-size:0}.form-fields:disabled{opacity:.7}.form-actions .lucide-loader-circle{animation:rotate 1s linear infinite}.field input,.field select,.field textarea{transition:border-color .16s ease,box-shadow .16s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:#a4bfb0}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#398768;box-shadow:0 0 0 3px #3987681c;background:#fff}.connection-banner{display:flex;align-items:center;gap:9px;padding:11px 14px;margin-bottom:15px;border:1px solid #ead6b5;border-radius:10px;color:#715323;background:#fff7e9;font-size:13px}.error>span{flex:1}.error>.text-link{flex:none;color:inherit}.error-fallback{display:grid;justify-items:center;text-align:center;gap:13px;padding:40px 20px;max-width:650px;margin:30px auto}.error-fallback>svg{color:#a86038}.error-fallback p{color:var(--muted)}.public-header{min-height:92px}.public-hero{box-shadow:0 16px 45px #254d3610}.service-card{padding:22px 18px;border-radius:14px;align-items:flex-start}.service-card h2{line-height:1.4}.hero-art{background:radial-gradient(ellipse at 40% 34%,#bfe5cc,#86bfa5 53%,#4a8676)}:root[dir=rtl] :is(h1,h2,h3){line-height:1.45}:root[dir=rtl] .metric strong{line-height:1.25}:root[dir=rtl] .demo-switch{padding-inline:9px 6px}@media(max-width:1160px){.workspace-date{display:none}.map-tools .search{flex-basis:100%}}@media(max-width:970px){.topbar{min-height:60px}.dispatch-layout{grid-template-columns:minmax(0,1fr) minmax(260px,31%)}}@media(max-width:715px){.dispatch-layout{grid-template-columns:minmax(0,1fr)}.map-tools .search{flex-basis:160px}.geo-map,.map-list-view{height:430px}.geo-compact{height:245px}}@media(max-width:510px){.breadcrumbs{min-width:0}.breadcrumbs strong{max-width:32vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions .language-select{padding-inline:5px 2px}.language-select svg{display:none}.search-control{width:100%}.metrics .metric-icon{display:none}.layer-group{flex-basis:100%}.map-style{margin-inline-start:auto}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(pointer:coarse){.button,.page-tabs button,.segmented button,.layer-group button,.map-style,.language-select,.demo-switch,.control{min-height:44px}.field input,.field select,.field textarea{min-height:44px;font-size:16px}.map-fit{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
