@font-face{font-family:Dinkel;src:local('Aptos'),local('Segoe UI')}*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:#203d34;background:#f5f6f1;font-family:Dinkel,'Segoe UI',sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e69842;outline-offset:3px}a{color:#226e52}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}.sidebar{background:#153c30;color:#f5f5eb;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{padding:5px 12px 33px}.brand img{width:157px;height:44px;object-fit:contain}.brand small{display:block;color:#bbd0be;font-size:10px;letter-spacing:2.8px;margin-top:12px}.nav{display:grid;gap:6px}.nav button{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:#bfd1c5;padding:13px 15px;border-radius:7px;font-size:14px;font-weight:500}.nav button.active{background:#f5f6ed;color:#193e30}.nav button:hover:not(.active){background:#224b3d;color:white}.nav svg{width:19px;height:19px}.side-bottom{margin-top:auto;padding:24px 10px 0}.edition-badge{border:1px solid #466451;border-radius:9px;padding:15px}.edition-badge small{color:#aac2b2;font-size:12px}.edition-badge strong{display:block;margin:3px 0;font-size:15px}.avatar-row{display:flex;gap:10px;align-items:center;margin-top:25px;font-size:12px}.avatar{width:34px;height:34px;display:grid;place-items:center;border:1px solid #708773;border-radius:50%;color:#e5cc91}.avatar-row button{margin-left:auto;border:0;background:transparent;color:inherit;padding:8px}.main{min-width:0}.topbar{height:77px;border-bottom:1px solid #dfe4db;background:#fffefb;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:16px}.breadcrumb{font-size:13px;color:#7a847b}.breadcrumb strong{color:#263f34;font-weight:500}.top-meta{display:flex;align-items:center;gap:14px;color:#64776a;font-size:12px}.mini{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;background:#eef2e8;border-radius:5px}.mobile-brand{display:none}.content{padding:30px 34px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{color:#698171;font-size:11px;letter-spacing:2.1px;font-weight:650;text-transform:uppercase}.page-head h1{margin:5px 0 6px;font-size:32px;line-height:1.2;font-weight:650;letter-spacing:-1.2px}.page-head p{margin:0;color:#798379;font-size:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid #dce1d7;background:#fffefa;color:#284337;border-radius:7px;font-size:13px;min-height:42px;text-decoration:none;font-weight:600}.button svg{width:16px;height:16px}.button:hover{background:#eef1e7}.button.primary{background:#ce651d;color:white;border-color:#ce651d;box-shadow:0 2px 3px #69380912}.button.primary:hover{background:#b85515}.button.green{background:#215640;color:white;border-color:#215640}.button.danger{color:#a23b31}.button.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat{background:#fffefa;border:1px solid #e0e5dc;border-radius:9px;padding:16px 19px;display:flex;align-items:center;gap:14px}.stat-icon{width:39px;height:39px;background:#eff3e9;color:#6f8b62;display:grid;place-items:center;border-radius:9px}.stat-icon svg{width:20px;height:20px}.stat strong{font-size:24px;font-weight:600;line-height:1;display:block}.stat span{font-size:12px;color:#788476}.workspace{border:1px solid #d9e1d5;border-radius:11px;background:#fffefa;overflow:hidden;box-shadow:0 5px 25px #14352506}.workspace-head{padding:13px 18px;border-bottom:1px solid #e0e6dc;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.workspace-head strong{font-size:14px;font-weight:600}.small{font-size:12px;color:#7b867a}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:555px}.map-wrapper{position:relative;min-width:0;background:#dce6d6}.map{height:555px;width:100%;z-index:1}.map-control{position:absolute;top:16px;left:16px;z-index:500;display:flex;gap:6px;flex-wrap:wrap;right:52px}.map-control button{border:1px solid #d5ddcf;box-shadow:0 3px 8px #2036260d;background:#fffef8;color:#335342;padding:8px 12px;border-radius:5px;font-size:12px;font-weight:600}.map-control button.on{background:#204d38;color:white;border-color:#204d38}.map-legend{position:absolute;bottom:22px;left:16px;z-index:500;background:#fffef9ed;padding:10px 13px;border:1px solid #d7dfd1;border-radius:6px;font-size:11px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 32px)}.map-legend b{display:inline-block;width:14px;height:3px;background:#d57625;margin-right:5px;vertical-align:middle}.map-legend b.green{background:#367451}.map-legend b.outline{background:transparent;height:9px;border:1px solid #7b8390}.map-hint{position:absolute;bottom:82px;left:16px;right:16px;z-index:500;background:#fff8dc;padding:10px 14px;border-radius:6px;font-size:12px;box-shadow:0 2px 10px #0001}.panel{border-left:1px solid #dfe5d9;padding:22px;min-width:0}.panel h2{font-size:20px;letter-spacing:-.5px;line-height:1.3;margin:6px 0}.panel p{font-size:13px;color:#798375;margin:8px 0 18px}.section-label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#89917f;font-weight:600;margin:22px 0 8px}.owner-row{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0e8;width:100%;background:none;border-top:0;border-left:0;border-right:0;color:#294333;text-align:left}.owner-row:hover{color:#bd621d}.owner-row .initials{height:34px;width:34px;border-radius:7px;background:#eff1e8;display:grid;place-items:center;color:#74876c;font-size:11px;flex-shrink:0}.owner-row strong{font-size:13px;display:block;font-weight:600}.owner-row small{font-size:11px;color:#82907f;display:block}.owner-row svg{width:14px;margin-left:auto}.chip{font-size:11px;display:inline-flex;gap:5px;align-items:center;padding:4px 8px;border-radius:5px;background:#f0eee3;color:#88774b;white-space:nowrap}.chip.signed{background:#e4f1e3;color:#357240}.chip.review,.chip.partial{background:#fff0d7;color:#a7660f}.chip.ready{background:#e8eefb;color:#5477a4}.chip.unmapped{background:#eef0e9;color:#6d7c67}.callout{background:#eff3e8;border-radius:8px;padding:14px;margin-top:18px;font-size:12px;color:#5d7459}.callout strong{display:block;color:#385a36;margin-bottom:4px}.callout.amber{background:#fff3df;color:#9a6b2b}.bottom-row{display:flex;gap:16px;margin-top:20px;align-items:center;justify-content:space-between;font-size:12px;color:#8a9386}.bottom-row .key{display:flex;gap:7px;align-items:center}.bottom-row svg{height:14px;width:14px}.search{position:relative;min-width:220px}.search input{padding-left:35px;background:#fffefa}.search svg{position:absolute;left:11px;top:12px;width:16px;color:#81927e}input,select,textarea{width:100%;border:1px solid #dce3d4;border-radius:6px;padding:10px 12px;background:#fffefa;color:#294033;font-size:14px}textarea{min-height:85px;resize:vertical}label{display:block;font-size:13px;font-weight:600;color:#4e6555;margin:12px 0 5px}.inline-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;cursor:pointer}.inline-check input{width:17px;height:17px;accent-color:#23573f;flex-shrink:0;margin-top:3px}.card{background:#fffefa;border:1px solid #e0e5da;border-radius:9px;padding:23px}.card h2{font-size:19px;margin:0 0 10px}.card p{font-size:14px;color:#758470}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.list-table{width:100%;border-collapse:collapse;font-size:13px}.list-table td,.list-table th{padding:15px 18px;border-bottom:1px solid #e8ede2;text-align:left}.list-table th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#89917f;font-weight:500}.list-table tbody tr:hover{background:#f5f7ee}.list-table .name{font-weight:600}.list-table small{display:block;font-size:11px;color:#7e8c76}.table-wrap{overflow-x:auto;border:1px solid #dfe6d7;border-radius:9px;background:#fffefa}.toolbar{display:flex;gap:10px;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.toolbar select{width:auto}.empty-state{padding:45px;text-align:center;color:#809177}.empty-state svg{width:35px;height:35px;margin-bottom:12px}.empty-state h2{font-size:19px;color:#345039}.detail-head{display:flex;align-items:center;gap:12px}.detail-head h1{margin:0}.back{border:1px solid #dce1d5;background:#fffefa;width:36px;height:36px;display:grid;place-items:center;border-radius:7px}.tabs{display:flex;gap:22px;border-bottom:1px solid #dce4d6;margin:23px 0}.tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#85917b;padding:10px 0;font-size:13px}.tabs button.active{border-bottom-color:#cf712d;color:#214a31}.activity{border-bottom:1px solid #e3e8dd;padding:8px 0 17px}.activity-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}.activity-head svg{width:20px;color:#58805b}.activity-head strong{font-size:14px}.activity-head .inline-check{margin:0 0 0 auto;font-size:11px}.activity-choice{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:5px}.activity-choice button{border:1px solid #dde3d6;background:#fafbf5;color:#78846f;border-radius:5px;font-size:11px;padding:10px 5px}.activity-choice button.active{background:#e6efdf;color:#3e6935;border-color:#88a87c}.activity-choice button[data-choice=no].active{background:#f9eae4;color:#a14f39;border-color:#d3a18f}.activity-choice button[data-choice=conditional].active{background:#fff0d8;color:#9a6825;border-color:#e2bd81}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.note-entry{padding:14px 0;border-bottom:1px solid #e5eade;font-size:13px}.note-entry small{display:block;color:#8e9686;font-size:11px;margin-top:5px}.task{padding:12px 0;border-bottom:1px solid #e5eade}.task input{width:16px}.route-card{display:flex;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid #e4e9dc}.route-card strong{display:block;font-size:14px}.route-card .actions{margin-left:auto}.route-icon{width:42px;height:42px;border-radius:8px;background:#eef2e6;display:grid;place-items:center;color:#6b8a59}.review-banner{background:#fff1dc;padding:17px 22px;border-radius:8px;margin-bottom:22px;font-size:13px;color:#895923}.review-banner strong{display:block}.link-output{word-break:break-all;font-size:13px;padding:12px;background:#f1f5ec;border-radius:5px;margin:12px 0}.muted{color:#7d8d76}.loading{padding:60px;text-align:center}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr}.auth-art{background:#193e32;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center;color:white}.auth-art img{width:240px;max-width:90%;margin-bottom:70px}.auth-art h1{font-size:clamp(32px,4vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.15;margin:0 0 25px}.auth-art p{color:#b7c9b9;max-width:400px}.auth-form{display:flex;justify-content:center;align-items:center;padding:35px;background:#fcfcf6}.auth-form form{width:360px;max-width:100%}.auth-form h2{font-size:25px;margin-bottom:3px}.auth-form .button{margin-top:20px;width:100%}.auth-form .small{margin-top:14px}.auth-error{color:#a44532;font-size:13px;margin-top:10px}.owner-shell{max-width:1220px;margin:auto;padding:0 30px 45px}.owner-top{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid #dce5d4}.owner-logo{background:#193e32;padding:10px 16px;border-radius:6px}.owner-logo img{width:145px;height:38px;object-fit:contain}.owner-heading{padding:35px 0 20px}.owner-heading h1{font-size:34px;letter-spacing:-1px;font-weight:600;margin:0 0 8px}.owner-heading p{color:#7b8872;margin:0}.steps{display:flex;gap:28px;margin:0 0 25px}.steps button{border:0;background:none;color:#95a08e;font-size:13px;padding:8px 0;display:flex;gap:8px;align-items:center}.steps button span{width:25px;height:25px;border-radius:50%;border:1px solid #c9d5be;display:grid;place-items:center;font-size:11px}.steps button.active{color:#294e35;font-weight:600}.steps button.active span{background:#2b593d;color:white;border-color:#2b593d}.owner-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:25px}.owner-grid .map{height:450px;border-radius:9px}.owner-grid .card{padding:25px}.owner-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.signature{width:100%;height:150px;background:#fff;border:1px dashed #9ba98e;border-radius:7px;touch-action:none}.signature-label{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.signature-label button{border:0;background:none;font-size:12px;color:#7e8a72}.modal-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.modal-title h2{font-size:21px;margin:0}.modal-title button{border:0;background:none;padding:8px;color:#71846a}dialog{padding:25px;border:1px solid #dce5d3;border-radius:12px;width:580px;max-width:calc(100vw - 30px);max-height:90dvh;color:#294533;background:#fffef9;box-shadow:0 24px 90px #12322233}dialog::backdrop{background:#10271f80;backdrop-filter:blur(3px)}dialog .button{margin-top:15px}.success-icon{height:62px;width:62px;border-radius:50%;background:#e5efdc;color:#386835;display:grid;place-items:center;margin:15px auto}.success-icon svg{width:32px;height:32px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;z-index:3000;background:#193e31;color:#fff;padding:13px 21px;border-radius:8px;box-shadow:0 5px 30px #0002;font-size:14px;max-width:90vw;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#943b2e}.leaflet-container{font-family:inherit;background:#e7eddf}.leaflet-control-attribution{font-size:10px!important}.leaflet-popup-content{font-family:inherit;margin:14px 17px}.leaflet-popup-content button{margin-top:10px}.obstacle{border:2px solid #fff7e5;background:#234c35;color:white;border-radius:50%;width:22px!important;height:22px!important;display:grid;place-items:center;font-size:10px;box-shadow:0 1px 4px #0003}.leaflet-tooltip{font-family:inherit;border:0;box-shadow:0 2px 9px #0002}.parcel-tag{font-size:10px;color:#677270;background:#ffffffc9;padding:1px 3px;border:0;box-shadow:none}.mobile-menu{display:none}.footnote{font-size:11px;color:#8b9481;margin-top:16px}.inline-two{display:flex;gap:10px}.inline-two>*{flex:1}.paper-note{padding:8px 12px;border-left:3px solid #d7ad63;background:#fbf4e4;font-size:12px;margin:15px 0}.admin-map-small .map{height:330px}.stack{display:grid;gap:15px}.map-tools{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.hint-inline{font-size:12px;color:#7b876f;margin-top:8px}
@media(min-width:1600px){.content{max-width:1700px;margin:auto}.map,.map-layout{height:640px}.map-layout{min-height:640px}}
@media(max-width:1150px){.shell{grid-template-columns:180px 1fr}.sidebar{padding:25px 10px}.brand img{width:140px}.brand small{letter-spacing:1.7px}.content{padding:24px}.topbar{padding:0 24px}.map-layout{grid-template-columns:minmax(0,1fr) 270px}.panel{padding:17px}.page-head h1{font-size:27px}.stat{padding:14px;gap:10px}.stat-icon{display:none}.grid-two{gap:15px}}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:0;background:#153c30}.sidebar .brand,.side-bottom{display:none}.nav{display:flex;padding:8px;gap:3px;overflow-x:auto}.nav button{white-space:nowrap;font-size:12px;padding:10px}.nav svg{width:16px}.topbar{height:62px;padding:0 20px}.top-meta .mini{display:none}.mobile-brand{display:block;font-weight:700;font-size:13px;letter-spacing:1px}.breadcrumb{display:none}.content{padding:20px}.map-layout{grid-template-columns:1fr 260px}.map{height:520px}.stats{gap:8px}.stat strong{font-size:23px}.stat span{font-size:11px}.page-head{align-items:flex-start}.page-head .actions{justify-content:flex-end}.grid-two{grid-template-columns:1fr}.owner-shell{padding:0 20px 30px}.owner-grid{grid-template-columns:1fr 1fr;gap:15px}.owner-grid .card{padding:18px}.activity-choice button{font-size:10px}.auth-art{padding:8vw 5vw}.auth-art h1{font-size:36px}.list-table td,.list-table th{padding:13px}.route-card{flex-wrap:wrap}.route-card .actions{margin-left:0}.owner-top{padding:16px 0}}
@media(max-width:620px){.content{padding:18px 14px}.page-head{display:block;margin-bottom:20px}.page-head .actions{justify-content:flex-start;margin-top:16px}.page-head h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.stat{padding:12px 14px}.stat span{font-size:12px}.map-layout{grid-template-columns:1fr}.map{height:430px}.panel{border-left:0;border-top:1px solid #dfe5d9;padding:20px}.topbar{padding:0 15px}.workspace-head{padding:12px;align-items:flex-start}.workspace-head .small{font-size:11px}.map-control{left:10px;top:10px;gap:4px}.map-control button{padding:9px;font-size:11px}.map-legend{left:10px;gap:8px;font-size:10px}.bottom-row{flex-wrap:wrap;font-size:11px}.owner-shell{padding:0 15px 25px}.owner-grid{grid-template-columns:1fr}.owner-grid .map{height:330px}.owner-heading h1{font-size:29px}.owner-top .small{max-width:115px;text-align:right}.steps{gap:14px}.steps button{font-size:12px}.date-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-art{padding:35px}.auth-art img{width:175px;margin-bottom:25px}.auth-art h1{font-size:30px}.auth-art p{display:none}.auth-form{padding:28px 22px}.tabs{gap:17px}.nav button{min-height:44px}.button{min-height:44px}.activity-choice button{font-size:12px;min-height:44px}.list-table .hide-mobile{display:none}.toolbar .search{flex:1}.top-meta{gap:8px;font-size:11px}.list-table td{padding:13px 10px}.list-table th{padding:12px 10px}.owner-grid .card{padding:21px}.card{padding:20px}.owner-logo img{width:125px;height:32px}.steps{flex-wrap:wrap}.footnote{font-size:12px}}
.sidebar,.content,.stack,.grid-two>*,.owner-grid>*{min-width:0}.map-layout>.map-wrapper>.map{height:100%;min-height:555px}.top-meta svg,.workspace-head>.small svg{width:15px;height:15px;vertical-align:middle}.nav{max-width:100%}.inline-two>*{min-width:0}.route-picker select{font-size:12px;width:155px;padding:8px;background:#fffef9;box-shadow:0 2px 9px #0001}.owner-shell input,.owner-shell textarea,.owner-shell select{font-size:16px}.owner-shell .activity-choice button{min-height:46px;font-size:12px}.owner-shell .map-control{right:45px}
@media(max-width:850px){.shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.map-layout>.map-wrapper>.map{height:430px;min-height:430px}.detail-head{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
