@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#273b36;background:#f5f7f6;font-synthesis:none;font-weight:400;font-size:14px;--green:#176d53;--border:#e3e9e6;--muted:#7b8a84;--ok:#219870;--rain:#418bce;--late:#cc9b20;--interrupted:#dc7c36;--absent:#d46d6d}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #dfe6e2;border-radius:8px;color:#40534a;padding:10px 14px;cursor:pointer;font-weight:600;font-size:13px;transition:background .15s,border-color .15s}button:hover{background:#edf4f0;border-color:#aabfb3}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #72b99f;outline-offset:3px}input,select,textarea{border:1px solid #dce4df;border-radius:7px;padding:10px 11px;color:#35493f;background:#fff;min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #a9d5c0;border-color:#5b9c7e}textarea{min-height:66px;resize:vertical}label{font-size:12px;font-weight:600;color:#65786c;display:flex;flex-direction:column;gap:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:30px;letter-spacing:-1px;font-weight:800;margin:6px 0 9px}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:14px}p{line-height:1.65;color:#7a8981}small{font-size:11px}.app-shell{display:flex;min-height:100vh}.sidebar{width:234px;background:#fff;border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;padding:36px 19px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#284b3f;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;letter-spacing:-.8px;padding:0 10px}.brand-light{font-weight:500}.brand-icon{width:39px;height:43px;background:#176d53;color:#fff;border-radius:12px;display:grid;place-items:center}.brand-icon svg{width:25px;height:25px}.brand small{display:block;font-family:DM Sans,sans-serif;font-size:8px;letter-spacing:2px;color:#83978b;margin-top:3px;font-weight:600}.workspace-label{font-size:9px;font-weight:600;letter-spacing:1.6px;color:#91a298;margin:55px 13px 15px}nav{display:flex;flex-direction:column;gap:7px}nav button{border:0;justify-content:flex-start;padding:14px 13px;color:#7d8f84;font-size:12px;background:transparent;white-space:nowrap}nav button.nav-active{background:#eaf4ee;color:#1f7558}nav button svg{stroke-width:1.6}.sidebar-note{margin:auto 8px 34px;padding-top:45px;color:#75a08a}.sidebar-note strong{display:block;font-size:11px;color:#5b7566;margin-top:13px}.sidebar-note p{font-size:10px;line-height:1.8;margin-top:7px;color:#96a69c}.sidebar-bottom{border-top:1px solid #edf0ed;padding-top:20px;display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}.avatar{width:34px;height:34px;background:#edf2ed;border:1px solid #e0e8e0;border-radius:50%;display:grid;place-items:center;color:#688773}.sidebar-bottom small{display:block;font-size:9px;font-weight:400;color:#95a198;margin-top:3px}.main-shell{margin-left:234px;width:calc(100% - 234px)}.topbar{height:73px;display:flex;align-items:center;padding:0 37px;gap:10px;border-bottom:1px solid var(--border);background:#fff}.breadcrumb{font-size:11px;color:#93a097;flex:1}.breadcrumb span{padding:0 12px;color:#c2ccc5}.breadcrumb strong{font-weight:500;color:#5f7366}.save-indicator{font-size:10px;color:#8b9a90;margin-right:12px}.save-indicator>span{display:inline-block;border-radius:50%;width:5px;height:5px;background:#66a885;margin-right:5px}.icon-button{padding:6px;border:none;background:transparent;color:#7c9184}.topbar .icon-button{padding:8px}main{padding:33px 37px 22px;max-width:1660px;margin:auto}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#83998c}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.section-heading p{font-size:12px}.heading-actions{display:flex;gap:10px}.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 2px 3px #154d3610}.primary:hover{background:#115b44;color:#fff;border-color:#115b44}.soft{background:#eaf3ed;border-color:#eaf3ed;color:#39785b}.source-banner{background:#fff;border:1px solid var(--border);border-radius:10px;display:flex;gap:14px;align-items:center;padding:17px 20px;margin-bottom:21px}.source-icon{width:41px;height:43px;background:#eff6f0;border:1px solid #e3eee5;border-radius:9px;display:grid;place-items:center;color:#589c76}.source-icon svg{stroke-width:1.4}.source-banner strong{font-size:12px;font-weight:600}.source-banner p{font-size:11px;margin-top:4px}.pill{margin-left:auto;border-radius:20px;background:#f0f7f2;font-size:10px;color:#639774;padding:5px 10px;display:flex;align-items:center;gap:5px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:27px}.stat-card{padding:17px 19px;background:#fff;border:1px solid var(--border);border-radius:9px;position:relative;overflow:hidden}.stat-card:after{content:"";height:2px;position:absolute;bottom:0;left:0;right:0;opacity:.4;background:var(--accent)}.stat-card>div{font-size:11px;display:flex;gap:8px;align-items:center;color:#7c8b82;margin-bottom:11px}.stat-card strong{font-size:29px;letter-spacing:-1px;font-family:Manrope,sans-serif;font-weight:700}.stat-card small{color:#a0aaa4;margin-left:8px;font-size:10px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.ok{--accent:var(--ok);--tint:#eef8f2;--ink:#478569}.rain{--accent:var(--rain);--tint:#eff6fc;--ink:#547fab}.late{--accent:var(--late);--tint:#fffae9;--ink:#9d8b45}.interrupted{--accent:var(--interrupted);--tint:#fff3e9;--ink:#be875d}.absent{--accent:var(--absent);--tint:#fcf2f1;--ink:#bc8380}.period-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.period-bar label{font-size:10px;margin-bottom:8px;color:#839388}.inline-fields{display:flex;align-items:center;gap:10px}.inline-fields input{max-width:145px;padding:8px 11px;font-size:11px}.inline-fields span{color:#9aa69e;font-size:11px}.inline-fields button{padding:8px 13px;font-size:11px}.patrol-explainer{display:flex;gap:9px;color:#8b9f91;align-items:flex-start;font-size:10px;line-height:1.6}.patrol-explainer strong{font-weight:500;color:#5c7967}.card{background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:0 2px 3px #32453302}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:21px;align-items:start}.calendar-card{overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 18px;gap:6px}.calendar-toolbar>button{font-size:11px;padding:9px 11px}.month-nav{display:flex;align-items:center;gap:10px}.month-nav h2{font-size:16px;text-transform:capitalize;min-width:150px;text-align:center}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;background:#fff}.weekdays span{font-size:9px;color:#8a9b90;text-align:center;font-weight:500;padding:12px 0 13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 15px 18px}.calendar-day{background:var(--tint);border:1px solid transparent;min-height:94px;border-radius:7px;padding:10px 8px 8px;display:block;text-align:left;position:relative;overflow:hidden}.calendar-day:hover{background:var(--tint);border-color:var(--accent)}.day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.day-top strong{font-size:14px;color:#52695a;font-weight:500}.day-top svg{color:var(--ink)}.day-status{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--ink);font-weight:500;white-space:nowrap}.day-status .dot{width:4px;height:4px}.calendar-day small{font-size:7px;color:#94a396;display:block;margin-top:4px;font-weight:400}.calendar-day.outside{background:#fafbfa}.calendar-day.outside strong{color:#aeb9b1}.calendar-day.focused{outline:1px solid var(--accent);outline-offset:-1px}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day.selected .day-top strong{font-weight:800}.day-coffee{position:absolute;right:6px;bottom:8px;color:#8fac99}.calendar-footer{display:flex;justify-content:space-between;gap:10px;padding:15px 19px;border-top:1px solid #edf0ed;color:#97a49b;font-size:9px}.calendar-footer>span{display:flex;gap:6px;align-items:center}.calendar-footer .dot{width:5px;height:5px}.detail-column{display:flex;flex-direction:column;gap:16px}.detail-card{padding:23px 21px}.empty-details{text-align:center;padding:14px 0 20px}.empty-details>span{width:65px;height:65px;border-radius:50%;background:#f3f7f3;display:grid;place-items:center;margin:auto auto 20px;color:#8eac98}.empty-details>span svg{stroke-width:1.3}.empty-details h2{font-size:15px;margin-bottom:11px}.empty-details p{font-size:11px;line-height:1.8}.mini-divider{height:1px;background:#edf1ee;width:38px;margin:21px auto}.empty-details small{font-size:10px;color:#a0afa4;line-height:1.7;display:block}.next-card{border:1px solid #dfebe2;border-radius:11px;background:#eef5ef;padding:22px 21px}.next-card .eyebrow{font-size:8px;color:#88a68f}.next-card h3{font-size:15px;margin:10px 0}.next-card p{font-size:11px;color:#819b86;line-height:1.8;margin-bottom:19px}.next-card>button{width:100%;font-size:11px}.next-card .primary{justify-content:space-between;padding:11px 12px}.next-card .text-button{margin-top:8px;color:#78927e;font-size:10px}.next-card>small{font-size:8px;text-align:center;display:block;color:#9aafa0;line-height:1.6;margin-top:10px}.page-footnote{margin-top:20px;display:flex;align-items:center;gap:7px;font-size:9px;color:#9daa9f}.paint-panel{margin:0 15px 8px;background:#f8faf8;border:1px solid #e7ede8;border-radius:8px;padding:13px}.paint-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.paint-title strong{font-size:11px;font-weight:500}.text-button{border:0;padding:5px;background:transparent;font-size:11px;color:#799281}.text-button:hover{background:#e8f0e9}.palette{display:flex;flex-wrap:wrap;gap:7px}.palette-button{font-size:10px;padding:7px 8px;border-color:#e3e9e4;color:var(--ink);background:#fff}.palette-button.chosen{background:var(--tint);border-color:var(--accent)}.selection-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;font-size:10px;color:#83978a}.selection-tools .text-button{font-size:9px}.paint-panel>small{display:block;font-size:9px;color:#a0afa4;margin-top:5px}.detail-heading h2{font-size:23px;margin:9px 0 13px}.status-tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:5px 8px;border-radius:5px;background:var(--tint);color:var(--ink);white-space:nowrap}.status-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}.small-callout{background:#f2f6f2;border-radius:7px;padding:12px;line-height:1.6;color:#7c9281;font-size:11px;margin:13px 0}.detail-numbers{display:flex;gap:22px;margin:22px 0 8px}.detail-numbers strong{font-size:23px;font-weight:600;font-family:Manrope,sans-serif;display:block}.detail-numbers span{font-size:9px;color:#93a298;display:block;margin-top:5px}.detail-numbers small{font-size:10px;color:#8d9c92}.tiny{font-size:10px;line-height:1.7}.muted{color:#8e9d92}.detail-card h3{margin:22px 0 12px;font-size:12px}.findings{max-height:240px;overflow:auto}.finding{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#a88b6a;line-height:1.6;margin:12px 0}.finding svg{flex-shrink:0;margin-top:2px}.finding small{display:block;color:#9fa79d;font-size:9px}.finding.dinner{color:#6c9b79}.finding.rain{color:#5e90b7}.finding.critical,.finding.absence{color:#c18478}.detail-card textarea{font-size:11px}.detail-card label{margin-top:15px}.timeline{margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}summary{cursor:pointer;font-size:11px;color:#6d8d78;padding:9px 0}.timeline-row{display:flex;gap:10px;font-size:9px;border-bottom:1px solid #eff2ee;padding:10px 0}.timeline-row time{color:#91a398;font-variant-numeric:tabular-nums}.timeline-row small{display:block;font-size:8px;color:#a6b2a8}.timeline{max-height:390px;overflow:auto}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:#263f33;color:#fff;padding:15px 17px;border-radius:9px;box-shadow:0 8px 35px #11261c30;display:flex;align-items:center;gap:12px;z-index:100;font-size:12px;max-width:90%;min-width:300px}.toast>svg{flex-shrink:0}.toast button{padding:4px;color:#dbece2;border:0;background:none;margin-left:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18372860;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:#fff;border:1px solid #e5ede6;border-radius:15px;padding:30px;width:490px;max-width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 90px #18302230}.modal h2{font-size:23px;margin:10px 0 13px}.modal p{font-size:12px;margin:10px 0}.modal label{margin:18px 0}.modal .tiny{font-size:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.modal-actions button{font-size:11px}.import-sample{padding:15px;background:#f5f8f5;border-radius:8px;margin:20px 0}.import-sample span{font-size:11px;color:#91a193;display:block;margin-bottom:7px}.import-sample strong{font-size:17px;font-weight:500}.break-row{display:flex;gap:12px;align-items:center}.break-row label{flex:1}.break-row>button{padding:9px;margin-top:20px}.wide{width:620px}.preview-table{max-height:310px;overflow:auto;margin:22px 0}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;background:#f5f8f5;color:#91a294;font-weight:500;padding:10px 12px;position:sticky;top:0;z-index:1}td{padding:10px 12px;border-bottom:1px solid #edf2ed}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #b6d7c4;border-top-color:#267856;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;gap:10px;color:#548065!important;margin-top:18px!important}.busy-banner{position:fixed;bottom:28px;right:28px;display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #d4e2d6;padding:18px;border-radius:10px;z-index:90}.tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:1px solid #dfe8e1}.tabs button{background:none;border:0;border-radius:0;padding:13px 19px;font-size:12px;color:#98a79b}.tabs button.active{border-bottom:2px solid var(--green);color:var(--green)}.settings-card{padding:28px}.settings-card h2{margin-bottom:13px}.settings-card>.muted{font-size:12px;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:25px}.form-grid label{font-size:11px}.form-grid input,.form-grid select{font-size:12px}.settings-card hr{border:0;border-top:1px solid var(--border);margin:30px 0}.settings-footer{border-top:1px solid var(--border);margin-top:30px;padding-top:23px;display:flex;gap:12px}.point-row{display:grid;grid-template-columns:25px 145px minmax(150px,1fr) 65px;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2ee}.point-row input{font-size:12px}.point-index{color:#9bad9e;font-size:12px}.check{display:flex;flex-direction:row;align-items:center;font-size:11px;font-weight:400}.check input{width:auto;accent-color:var(--green)}.point-list{margin-bottom:20px}.route-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.route-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}.route-row>span{font-size:11px;color:#96a89a;width:22px;flex-shrink:0}.route-row select{font-size:10px;flex:1}.route-row button{padding:7px;border:0}.route-layout details{border-bottom:1px solid #edf1ed;padding:5px 0}.route-layout summary{font-size:10px}.route-layout summary small{display:block;font-size:8px;color:#a2b0a4;margin-top:5px}.neighbor-list{display:flex;flex-direction:column;gap:9px;padding:10px;background:#f7f9f7;border-radius:6px}.neighbor-list label{font-size:9px}.error{background:#fff0ed;color:#a95641;padding:12px;border-radius:7px;margin-top:20px}@media(min-width:1550px){.calendar-day{min-height:117px}.day-status{font-size:10px}.calendar-day small{font-size:9px}.calendar-layout{grid-template-columns:minmax(0,1fr) 310px}.calendar-grid{gap:8px}.day-top strong{font-size:16px}}@media(max-width:1200px){.sidebar{width:200px;padding:30px 12px 20px}.main-shell{margin-left:200px;width:calc(100% - 200px)}main{padding:28px 23px}.topbar{padding:0 23px}.calendar-layout{grid-template-columns:minmax(0,1fr) 235px;gap:16px}.calendar-toolbar{padding:17px 12px}.month-nav{gap:2px}.month-nav h2{font-size:14px;min-width:130px}.calendar-day{min-height:86px;padding:8px 5px}.calendar-grid{gap:4px;padding:0 10px 14px}.day-status{font-size:7px}.day-coffee{display:none}.section-heading h1{font-size:26px}.heading-actions button{font-size:11px;padding:9px 10px}.stat-card{padding:15px}.detail-card,.next-card{padding:20px 16px}.calendar-toolbar>button{font-size:10px;padding:8px}.calendar-footer{font-size:8px;padding:13px 12px}}@media(max-width:1000px){.sidebar{width:75px;padding:28px 10px}.brand{padding:0;justify-content:center}.brand>span:last-child,.workspace-label,.sidebar-note,.sidebar-bottom,nav button{font-size:0}.brand-icon{width:37px}.brand-icon svg{width:25px}nav{margin-top:45px}nav button{justify-content:center;padding:15px 10px}nav button svg{width:22px;height:22px}.main-shell{margin-left:75px;width:calc(100% - 75px)}.sidebar-bottom{display:none}.stats-grid{gap:8px}.stat-card strong{font-size:26px}.calendar-layout{grid-template-columns:minmax(0,1fr) 240px}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.calendar-layout{grid-template-columns:1fr}.detail-column{display:grid;grid-template-columns:1fr 1fr}.calendar-day{min-height:95px}.day-status{font-size:9px}.calendar-day small{font-size:8px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.section-heading h1{font-size:25px}.patrol-explainer{display:none}.save-indicator{font-size:9px}.calendar-toolbar{padding:18px}.month-nav h2{font-size:16px}.route-layout{grid-template-columns:1fr}.point-row{grid-template-columns:20px 100px minmax(100px,1fr) 45px;gap:8px}.point-row input{font-size:10px}.stats-grid{gap:6px}.stat-card{padding:12px 9px}.stat-card>div{font-size:9px;gap:5px}.stat-card small{display:none}.source-banner{padding:14px}.pill{display:none}.tabs button{padding:11px;font-size:10px}}@media(max-width:520px){.sidebar{width:54px;padding:23px 5px}.brand-icon{width:33px;height:37px}.main-shell{margin-left:54px;width:calc(100% - 54px)}.topbar{height:58px;padding:0 12px}.breadcrumb{font-size:9px}.breadcrumb span{padding:0 5px}.save-indicator{display:none}.topbar .icon-button{padding:5px}main{padding:23px 12px}.section-heading h1{font-size:23px}.section-heading p,.source-banner strong{font-size:10px}.source-banner p{font-size:9px}.source-icon{width:32px;height:34px;flex-shrink:0}.stats-grid{gap:4px;margin-bottom:22px}.stat-card{padding:10px 5px}.stat-card>div{font-size:7px;gap:3px}.stat-card .dot{width:4px;height:4px}.stat-card strong{font-size:23px}.inline-fields{gap:5px}.inline-fields input{width:115px;font-size:10px;padding:7px 5px}.inline-fields button{padding:7px;font-size:9px}.calendar-toolbar{padding:13px 7px}.month-nav h2{font-size:12px;min-width:111px}.month-nav .icon-button{padding:3px}.calendar-toolbar>button{font-size:8px;padding:8px 6px;gap:4px}.calendar-toolbar>button svg{width:12px}.calendar-grid{gap:3px;padding:0 6px 12px}.calendar-day{min-height:75px;padding:7px 4px}.day-top strong{font-size:12px}.day-top svg{width:8px}.day-status{font-size:6px;gap:2px}.day-status .dot{width:3px;height:3px}.calendar-day small{font-size:6px}.day-top{margin-bottom:9px}.weekdays{padding:0 6px}.weekdays span{font-size:7px}.calendar-footer{font-size:7px;padding:11px 8px;gap:5px}.detail-column{grid-template-columns:1fr}.page-footnote{font-size:8px;align-items:flex-start}.form-grid{grid-template-columns:1fr}.settings-card{padding:18px}.settings-footer{flex-direction:column}.point-row{grid-template-columns:18px 1fr 1fr;gap:7px}.point-row .check{grid-column:2/4}.point-row label{font-size:9px}.toast{font-size:10px;min-width:0;width:90%;bottom:14px}.modal{padding:22px}.modal h2{font-size:20px}.modal-actions{flex-wrap:wrap}.preview-table th,.preview-table td{padding:8px 6px;font-size:9px}.status-tag{font-size:8px}.paint-panel{margin:0 6px 8px;padding:9px}.palette{gap:5px}.palette-button{font-size:8px;padding:6px}.paint-title strong{font-size:9px}.tabs{gap:0}.tabs button{padding:10px 8px;font-size:8px}}@media(max-width:1000px){.brand>span:last-child,.workspace-label,.sidebar-note,.sidebar-bottom{display:none}}@media(max-width:520px){.day-status,.calendar-day small{font-size:7px}}
