:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#263d34;background:#f5f7f6;font-synthesis:none;font-size:14px;font-weight:400;--green: #153d35;--accent: #c7e99b;--border: #e0e7e2;--muted: #718078;--paper: #fff;--red: #af4537}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,a,input,select,summary{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #2d8a71}button{color:inherit}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}input,select{min-width:0;border:1px solid #d7e0da;background:#fff;color:#253e32;border-radius:6px;padding:10px 11px;width:100%;font-size:14px}input[type=checkbox]{width:15px;height:15px;accent-color:#23745b;cursor:pointer}input[type=color]{width:34px;height:32px;padding:3px;cursor:pointer}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;margin:14px 0}h1,h2,h3,h4,p{margin:0}button{border:0;background:transparent}small{font-size:12px}h1{font-size:29px;letter-spacing:-1px;font-weight:650}h2{font-size:18px;font-weight:650}h3{font-size:16px}.hidden{display:none}.app{min-height:100vh}.app-header{height:80px;display:flex;align-items:center;padding:0 32px;border-bottom:1px solid var(--border);background:#fff;gap:66px}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:750;letter-spacing:-.8px}.brand img{width:39px;height:39px}.brand-caption{display:block;font-size:9px;letter-spacing:1.5px;font-weight:600;color:var(--muted);margin-top:2px}.app-header nav{display:flex;align-self:stretch;gap:32px}.app-header nav button{display:flex;align-items:center;gap:9px;font-size:14px;color:#748178;padding:0 2px;border-bottom:2px solid transparent}.app-header nav button.nav-active{color:var(--green);border-color:var(--green);font-weight:650}.header-right{margin-left:auto;display:flex;gap:26px;align-items:center}.local-pill{display:flex;gap:7px;font-size:12px;color:#61776a}.avatar{height:34px;width:34px;background:#eef2ed;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#5a6d60}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px 23px}.breadcrumb{display:flex;align-items:center;gap:10px;color:#839087;font-size:12px;margin-bottom:10px}.breadcrumb button{padding:0;font-size:12px;color:#6b7c71}.title-row{display:flex;align-items:center;gap:8px}.saved{display:flex;align-items:center;gap:5px;color:#7b897f;font-size:11px;margin-left:12px}.heading-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:6px;padding:11px 16px;font-size:13px;font-weight:600;min-height:41px;transition:background .15s}.button.primary{background:var(--green);color:#fff;box-shadow:0 1px 2px #122e3315}.button.primary:hover{background:#225446}.button.secondary{border:1px solid #d9e2dc;background:#fff;color:#42564a}.button.secondary:hover{background:#f4f7f4}.button.small{min-height:33px;padding:7px 10px;font-size:12px}.full{width:100%}.icon-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:#7a897e;border-radius:5px}.icon-button:hover{background:#ecf2ed;color:#234c3c}.text-button{display:inline-flex;gap:5px;align-items:center;padding:0;color:#36755b;font-size:12px;font-weight:600}.workspace{margin:0 24px 0 32px;display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff;min-height:710px}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:#fff;min-width:0}.side-tabs{display:flex;padding:0 20px;gap:23px;border-bottom:1px solid var(--border);height:55px;flex-shrink:0}.side-tabs>button{border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:#839086;padding:0}.side-tabs>button.selected{border-color:#2c7458;color:#294a37}.side-tabs>button>span{font-size:10px;border-radius:4px;background:#f0f3f0;padding:2px 5px;color:#718376}.sidebar-scroll{padding:23px 18px;flex:1;max-height:710px;overflow:auto}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:1.2px;color:#8a978d;margin-bottom:15px}.section-label button{letter-spacing:0}.group-card{border:1px solid #e2e9e3;border-radius:7px;margin-bottom:13px;overflow:hidden;background:#fff;transition:border-color .15s}.group-card.selected{border-color:#8fbb9b;background:#f7fbf7;box-shadow:0 0 0 1px #9dc9a722}.group-select{width:100%;padding:14px 13px 11px;text-align:left}.group-card-top{display:flex;align-items:center;gap:9px}.group-symbol{width:33px;height:33px;border-radius:5px;display:grid;place-items:center;flex-shrink:0}.group-name{font-weight:650;font-size:14px;min-width:0;overflow-wrap:anywhere}.group-name small{display:block;margin-top:4px;font-size:10px;color:#89958b;font-weight:400}.badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:3px 5px;border-radius:4px;white-space:nowrap;font-weight:600}.group-card .badge{margin-left:auto}.badge.good{color:#387a49;background:#eaf3e7}.badge.warn{color:#947125;background:#fbf3df}.badge.bad{color:#a44a3c;background:#fae9e5}.group-area{font-size:30px;font-weight:650;letter-spacing:-1px;margin:17px 0 3px}.group-area>span{font-weight:400;font-size:14px;letter-spacing:0;color:#829385}.group-secondary{font-size:11px;color:#8b978e}.group-card-bottom{border-top:1px solid #e5ece5;display:flex;align-items:center;justify-content:space-between;padding:4px 10px 4px 13px;min-height:35px}.quality-warning,.quality-good{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500;max-width:200px;overflow-wrap:anywhere}.quality-warning{color:#aa812f}.quality-good{color:#408652}.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.unassigned{border:1px dashed #d7ded6;width:100%;display:flex;text-align:left;align-items:center;gap:9px;padding:13px 10px;border-radius:6px;color:#90772f}.unassigned span{flex:1;font-size:12px;font-weight:600}.unassigned small{display:block;font-size:10px;font-weight:400;color:#8b9486;margin-top:4px}.unassigned b{font-size:12px}.hint-card{display:flex;gap:10px;color:#859287;padding:24px 2px 10px}.hint-card svg{flex-shrink:0;margin-top:2px}.hint-card p{font-size:11px;line-height:1.8}.source-card{border-top:1px solid var(--border);padding:19px 18px 18px;display:flex;flex-direction:column;gap:8px}.source-card>div{display:flex;gap:8px;align-items:center;color:#5f7064}.source-card strong{font-size:12px;overflow-wrap:anywhere}.source-card>span{font-size:11px;color:#8b978e}.source-card button{display:flex;align-items:center;gap:4px;color:#52725d;padding:0;text-align:left;font-size:10px}.source-card .source-note{font-size:10px;color:#99a499;margin-top:4px}.work-area{min-width:0}.plot-toolbar{height:55px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.plot-toolbar>div{display:flex;align-items:center;gap:15px}.toolbar-label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.subtle{color:#92a095;font-size:11px}.plot-toolbar button{padding:5px;display:flex;align-items:center;justify-content:center;color:#748777;min-width:25px;min-height:25px}.plot-toolbar .unit-choice{font-size:11px;border-radius:3px}.unit-choice.active{background:#eaf1e9;color:#2b6140}.divider{height:18px;width:1px;background:#e3e9e4}.plot-shell{position:relative;background:#f0f5f1;overflow:hidden;min-height:380px;height:calc(100vh - 445px);max-height:620px}.survey-plot{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.survey-plot:active{cursor:grabbing}.map-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--border);background:#fff}.map-mode-buttons{display:flex;gap:3px;flex-wrap:wrap}.map-mode-buttons button{font-size:12px;padding:8px 10px;border-radius:5px;min-height:36px}.map-mode-buttons button[aria-pressed=true]{background:#e4eee7;color:#153d35;font-weight:650}.map-message{margin:0;padding:10px 18px;background:#fff4dc;font-size:12px;color:#72501e}.satellite-canvas{position:absolute;inset:0}.satellite-shell{background:#34443b}.satellite-shell .maplibregl-ctrl-attrib{max-width:min(90%,600px);font-size:10px}.boundary-label{font-size:12px;fill:#294739;paint-order:stroke;stroke:#f6f8f7;stroke-width:3px;stroke-linejoin:round}.adjustment-panel{padding:12px 18px;border-top:1px solid var(--border);background:#f9fbf9}.adjustment-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#526b5b}.adjustment-summary>span{flex:1;min-width:170px}.adjustment-summary .checkbox-label{font-size:12px;white-space:nowrap;margin:0}.adjustment-note{font-size:11px;color:#738073;margin:7px 0}.coordinate-edit{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:9px}.coordinate-edit label{font-size:11px;display:flex;flex-direction:column;gap:4px;flex:1;min-width:125px;max-width:230px}.coordinate-edit input{width:100%;min-width:0;font-size:12px}.corner-select{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:12px}.corner-select select{width:180px}@media(max-width:600px){.map-edit-toolbar{padding:8px;gap:4px}.map-mode-buttons button{min-height:40px;padding:8px}.adjustment-panel{padding:12px}.coordinate-edit label{max-width:none}.coordinate-edit .button{min-height:40px}.plot-top{gap:8px}}.plot-point{cursor:pointer}.plot-top{position:absolute;top:17px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;z-index:1}.plot-chip{display:flex;align-items:center;gap:7px;border:1px solid #dce6dd;background:#ffffffde;border-radius:5px;padding:6px 9px;font-size:10px;color:#5d7963;box-shadow:0 1px 2px #153d3503}.plot-chip .tiny-dot{color:#83aa72}.plot-chip.muted{color:#879686}.plot-controls{position:absolute;right:18px;top:80px;display:flex;flex-direction:column;background:#fff;border:1px solid #dce5dc;border-radius:6px;box-shadow:0 2px 7px #2847350b;overflow:hidden}.plot-controls button{width:33px;height:34px;display:flex;align-items:center;justify-content:center;color:#78907a;font-size:12px}.plot-controls button.active{color:#2e6b43;background:#edf4e9}.plot-controls button:hover{background:#eef4ed}.plot-controls>span{height:1px;background:#e2e9e0}.plot-bottom{position:absolute;bottom:14px;left:20px;right:18px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;font-size:9px;color:#7a8d7c}.scale{display:flex;flex-direction:column;gap:5px;font-size:10px;align-items:center}.scale>span{border:1px solid #6a846a;border-top:0;height:5px;max-width:160px}.point-panel{background:#fff;border-top:1px solid var(--border)}.point-panel-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 21px 13px;gap:16px}.point-panel-heading h2{font-size:14px;display:flex;align-items:center;gap:8px}.point-panel-heading h2 span{color:#849188;font-weight:400;font-size:12px;border-left:1px solid #dae1db;padding-left:9px}.point-panel-heading p{font-size:10px;color:#8d9b91;margin-top:5px}.point-panel-tools{display:flex;gap:9px;align-items:center}.point-panel-tools input{width:120px;font-size:11px;padding:8px 9px}.group-settings{display:flex;align-items:center;gap:12px;padding:0 21px 12px;flex-wrap:wrap}.group-settings label{margin:0;font-size:10px;display:flex;flex-direction:row;align-items:center;gap:6px;color:#839285;font-weight:500}.group-settings input:not([type=color]){width:100px;padding:5px 7px;font-size:11px}.group-settings select{width:104px;padding:5px;font-size:11px}.group-settings input[type=color]{height:27px;width:28px}.reset{font-size:10px;color:#859383;text-decoration:underline}.perimeter{margin-left:auto;color:#829383;font-size:10px}.perimeter strong{color:#466a4d;font-weight:500;margin-left:4px}.point-content{display:flex;min-width:0}.table-scroll{overflow:auto;flex:1;max-height:305px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}thead{position:sticky;top:0;z-index:1;background:#f8faf8}th{font-size:10px;color:#8b998e;font-weight:500;padding:10px 13px;border-top:1px solid #e7ece7;border-bottom:1px solid #e7ece7}td{padding:9px 13px;border-bottom:1px solid #eff2ee;font-size:11px;color:#7c8a80}td:first-child,th:first-child{padding-left:22px}td input[type=checkbox]{width:13px;height:13px;margin:0;vertical-align:middle}.point-link{font-weight:600;font-size:12px;padding:0;color:#355b42}.selected-row{background:#f0f7ed}.excluded-row{opacity:.55}.numeric{font-variant-numeric:tabular-nums;color:#607966}.solution{font-size:9px;font-weight:500;padding:3px 5px;background:#fcf6e6;color:#a38138;border-radius:3px}.solution.fix{color:#408652;background:#ecf6eb}.reorder{display:flex;gap:4px}.reorder button{padding:2px;color:#90a08e}.reorder button:hover{color:#2e673d;background:#edf3e9}.empty-table{padding:24px;font-size:12px;color:#8b988b}.point-inspector{width:255px;flex-shrink:0;padding:15px;border-left:1px solid #e1e8df;background:#fafcf9;max-height:305px;overflow:auto}.point-inspector>div{display:flex;justify-content:space-between;align-items:center}.point-inspector h3{font-size:13px}.point-inspector label{font-size:11px;margin:9px 0}.point-inspector input,.point-inspector select{font-size:12px;padding:7px}.point-inspector dl{font-size:11px;line-height:1.6}.point-inspector dt{color:#8b9589}.point-inspector dd{margin:0 0 8px;color:#4e6550;font-variant-numeric:tabular-nums}.point-inspector summary{font-size:11px;color:#527b58;cursor:pointer}.point-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}.app-footer{display:flex;justify-content:space-between;padding:14px 32px;color:#8b9a8d;font-size:10px;gap:12px}.app-footer>span{display:flex;align-items:center;gap:6px}.footer-separator{margin:0 7px;color:#c1cbc0}.empty-workspace{max-width:700px;margin:0 auto;padding:85px 28px 40px;text-align:center}.empty-kicker{color:#739274;font-size:10px;letter-spacing:2px;font-weight:650}.empty-workspace h1{font-size:42px;letter-spacing:-1.6px;margin:16px 0}.empty-workspace>p{font-size:16px;color:#7c8e80;line-height:1.8}.import-drop{margin:35px auto 25px;padding:34px;border:1px dashed #bacbbc;background:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 12px 40px #244b3305}.import-glyph{background:#edf4e9;color:#427149;width:64px;height:64px;display:grid;place-items:center;border-radius:15px;margin-bottom:5px}.import-drop h2{font-size:20px}.import-drop p{font-size:13px;color:#849280}.import-drop .button{margin:4px 0}.import-drop>span{font-size:11px;color:#97a28f}.empty-notes{display:flex;justify-content:center;gap:28px;color:#8b9a87;font-size:11px}.empty-notes span{display:flex;align-items:center;gap:6px}.modal{border:1px solid #d9e3db;border-radius:12px;box-shadow:0 25px 90px #112f3433;color:#2a4133;max-width:min(520px,calc(100vw - 24px));width:520px;max-height:90dvh;padding:0;background:#fff}.modal.wide{width:680px;max-width:min(680px,calc(100vw - 24px))}.modal::backdrop{background:#0e282753;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e3e9e2;position:sticky;top:0;background:#fff;z-index:2}.modal-body{padding:22px 24px}.modal-intro{color:#7b8d7b;font-size:13px;line-height:1.7;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:18px;border-top:1px solid #e4eae1}.info-box{background:#f3f7f0;border:1px solid #e3ebdd;padding:14px;border-radius:6px;display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.6;margin:18px 0;color:#6b8468}.info-box strong{font-size:12px;color:#426441}.info-box small{font-size:11px;color:#8a9a80}.warning-box{padding:12px;background:#fcf6e7;color:#957827;border-radius:6px;font-size:12px;line-height:1.7;margin:12px 0}.import-stats{display:flex;gap:15px;margin:20px 0}.import-stats>div{flex:1;border:1px solid #e0e8dc;border-radius:6px;padding:17px;text-align:center}.import-stats strong{font-size:26px;display:block;font-weight:600}.import-stats span{font-size:11px;color:#8d9a84;display:block;margin-top:5px}.import-group{border-bottom:1px solid #e7ece2;display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:15px 0;font-size:13px}.import-group small{color:#a08138;margin-left:auto}.import-group p{width:100%;font-size:11px;color:#927d43;line-height:1.6}details{margin:12px 0}summary{cursor:pointer}li{font-size:12px;line-height:1.8}.export-main{background:#f5f8f1;border:1px solid #e2e9db;border-radius:8px;padding:20px}.export-icon{color:#528053;margin-bottom:10px}.export-main h3{font-size:19px;margin-bottom:8px}.export-main>p{font-size:12px;line-height:1.6;color:#829379}.export-main label{font-size:12px;margin:15px 0}.checkbox-label{flex-direction:row;align-items:center;font-weight:400;gap:9px}.export-main .export-omission{color:#a27630;font-size:11px;display:flex;align-items:center;gap:7px;margin:8px 0}.export-other{margin-top:24px}.export-other h4{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#8a9880;margin-bottom:6px}.export-other>button{padding:14px 0;display:flex;align-items:center;gap:13px;width:100%;border-bottom:1px solid #e8ede2;text-align:left;color:#668160}.export-other>button>span{flex:1;color:#476443;font-size:13px}.export-other small{display:block;font-size:10px;color:#8fa185;margin-top:4px}.project-row{display:flex;gap:10px;border-bottom:1px solid #e4eade;padding:15px 0}.project-row>button:first-child{display:flex;align-items:center;gap:13px;text-align:left;flex:1}.project-row span{flex:1}.project-row strong{font-size:14px}.project-row small{display:block;font-size:10px;color:#8ea083;margin-top:5px}.rule-row{display:grid;grid-template-columns:90px 1fr 125px 25px;gap:8px;margin-bottom:10px}.rule-row input,.rule-row select{font-size:12px}.review-list h3{font-size:15px;margin-bottom:12px}.review-list>p{font-size:12px;color:#87987d;line-height:1.7}.review-item,.review-group{margin:14px 0;border-bottom:1px solid #e3eade;padding-bottom:13px;font-size:12px;line-height:1.7;color:#8b7e54}.review-group strong{font-size:13px;color:#5b714e;margin-right:10px}.review-group p{margin:9px 0;font-size:11px}.review-item button{text-decoration:underline;color:#67884f;padding:0}.success-box{display:flex;gap:8px;align-items:center;color:#477c43;margin-top:15px;font-size:12px}.error-banner{position:relative;z-index:10;display:flex;align-items:center;gap:10px;padding:13px 32px;background:#fbece8;color:#a34c3c;font-size:13px;line-height:1.5}.error-banner>span{flex:1}.error-banner>svg{flex-shrink:0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#173e31;color:#fff;box-shadow:0 5px 20px #163d3430;border-radius:8px;display:flex;align-items:center;gap:12px;padding:14px 20px;font-size:13px;max-width:calc(100vw - 30px);z-index:100;line-height:1.6}.toast svg{flex-shrink:0}@media(min-width:1500px){.workspace{grid-template-columns:320px minmax(0,1fr)}.sidebar-scroll{padding:25px}.group-card .group-name small,.group-card .quality-warning,.group-card .badge{font-size:11px}.plot-shell{min-height:450px}.app-header,.workspace-heading{padding-left:40px}.workspace{margin-left:40px;margin-right:32px}}@media(max-width:1100px){.app-header{gap:35px;padding:0 22px}.header-right{gap:12px}.workspace-heading{padding:20px 22px}.workspace{margin:0 16px;grid-template-columns:245px minmax(0,1fr)}.saved{display:none}.heading-actions .button{font-size:11px;padding:10px}.sidebar-scroll{padding:18px 12px}.group-card .badge{font-size:9px}.group-name{font-size:12px}.point-panel-heading{flex-wrap:wrap}.point-panel-tools{width:100%}.point-panel-tools input{flex:1}.plot-toolbar .subtle{display:none}.group-settings{gap:8px}.perimeter{margin-left:0}.point-content{flex-wrap:wrap}.point-inspector{width:100%;border-left:0;border-top:1px solid #e1e8df;max-height:300px}.point-inspector>label{display:inline-flex;width:47%;margin-right:3%}.point-inspector dl{display:flex;gap:10px;flex-wrap:wrap}.app-footer{padding:14px 20px}}@media(max-width:700px){:root{font-size:16px}.app-header{height:65px;padding:0 16px;gap:16px}.brand{font-size:21px;gap:8px}.brand img{width:34px;height:34px}.brand-caption{font-size:8px}.app-header nav{margin-left:auto;gap:13px}.app-header nav button{flex-direction:column;gap:2px;font-size:10px;min-width:52px;justify-content:center}.app-header nav button svg{width:20px;height:20px}.header-right{display:none}.workspace-heading{padding:19px 16px;flex-direction:column;align-items:stretch;gap:14px}.breadcrumb{font-size:11px;margin-bottom:6px}.title-row h1{font-size:26px}.heading-actions{gap:8px}.heading-actions .button{font-size:12px;min-height:43px}.heading-actions .primary{flex:1}.heading-actions .primary>svg:last-child{display:none}.workspace{margin:0 10px;display:flex;flex-direction:column;min-height:0}.sidebar{order:2;border-right:0;border-top:1px solid var(--border)}.work-area{order:1}.sidebar-scroll{max-height:none;padding:18px 14px}.section-label{font-size:11px}.group-card{margin-bottom:12px}.group-name{font-size:16px}.group-name small{font-size:12px}.group-card .badge{font-size:11px}.group-area{font-size:30px}.group-secondary,.quality-warning,.quality-good{font-size:12px}.group-card-bottom{padding:7px 12px}.group-card .icon-button{min-height:36px;min-width:36px}.source-card{padding:18px 16px}.source-card strong{font-size:14px}.source-card>span,.source-card button{font-size:12px}.source-card .source-note{font-size:11px}.side-tabs{height:49px}.side-tabs>button{font-size:14px}.hint-card p{font-size:12px}.plot-toolbar{height:45px;padding:0 12px}.plot-toolbar>div{gap:7px}.plot-toolbar button{min-width:30px;min-height:30px}.toolbar-label{font-size:12px}.plot-shell{height:340px;min-height:0}.plot-top{left:12px;right:12px;top:12px}.plot-controls{right:10px;top:61px}.plot-controls button{width:36px;height:37px}.plot-bottom{left:14px;right:10px;font-size:8px}.point-panel-heading{padding:16px 13px 10px;gap:12px}.point-panel-heading h2{font-size:16px}.point-panel-heading p{font-size:12px;line-height:1.5}.point-panel-tools input{font-size:14px}.point-panel-tools .button{font-size:12px}.group-settings{padding:0 13px 13px;gap:10px}.group-settings label{font-size:12px}.group-settings input:not([type=color]){font-size:13px;width:85px;padding:7px}.group-settings select{font-size:13px;width:110px;padding:7px}.perimeter{font-size:12px;margin-top:4px}.reset{font-size:12px}.table-scroll{max-height:300px}th{font-size:11px;padding:10px}td{font-size:12px;padding:10px}td:first-child,th:first-child{padding-left:13px}th:nth-child(3),td:nth-child(3){display:none}.point-link{font-size:14px;min-height:28px}.solution{font-size:10px}.reorder{gap:0}.reorder button{padding:5px;min-width:29px;min-height:33px}td input[type=checkbox]{width:16px;height:16px}.point-inspector input,.point-inspector select{font-size:14px}.point-inspector label,.point-inspector dl{font-size:12px}.app-footer{padding:16px 14px;flex-direction:column;font-size:11px;gap:9px}.empty-workspace{padding:58px 20px 30px}.empty-kicker{font-size:8px}.empty-workspace h1{font-size:35px}.empty-workspace>p{font-size:14px}.import-drop{padding:28px 18px;margin-top:26px}.import-drop h2{font-size:18px}.import-drop>span{font-size:10px}.empty-notes{flex-direction:column;align-items:center;gap:13px}.empty-notes span{font-size:12px}.modal>header{padding:17px}.modal-body{padding:18px}.modal label{font-size:13px}.modal input,.modal select{font-size:16px}.modal-intro{font-size:14px}.rule-row{grid-template-columns:75px 1fr 30px}.rule-row select{grid-column:1/3;grid-row:2}.rule-row .icon-button{grid-column:3;grid-row:1/3}.import-group{gap:8px}.import-stats>div{padding:12px}.import-stats{gap:8px}.export-other>button>span{font-size:14px}.export-other small{font-size:12px}.error-banner{padding:12px 16px;font-size:12px}.review-group p{font-size:13px}.review-list>p{font-size:13px}.review-item{font-size:13px}.toast{font-size:12px;bottom:15px;width:max-content}.modal .button{font-size:13px;min-height:43px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.group-name small,.group-secondary,.quality-warning,.quality-good,.source-card>span,.source-card button,.point-panel-heading p,.hint-card p,.perimeter{font-size:12px}.toolbar-label{font-size:14px}.group-card .badge,.source-card .source-note,.plot-chip,.group-settings label,.reset,.app-footer{font-size:11px}th{font-size:12px}td{font-size:13px}.solution{font-size:10px}.point-link{font-size:14px}.modal-error{padding:12px;border:1px solid #e7beb3;background:#fff0eb;color:#a44736;border-radius:6px;font-size:13px;line-height:1.6;margin-bottom:16px}@media(max-width:700px){.work-area{display:contents}.plot-toolbar{order:0}.plot-shell,.adjustment-panel{order:1}.sidebar{order:2}.point-panel{order:3}.sidebar-scroll{max-height:370px}.hint-card{display:none}.source-card{padding:13px 16px}.source-card .source-note{display:none}.source-card>span{font-size:12px}.group-card .badge{font-size:11px}.toolbar-label,.point-panel-heading p,td{font-size:12px}.app-footer{font-size:11px}}@media(max-width:700px){.title-row{flex-wrap:wrap}.saved{display:flex;font-size:10px;margin-left:auto;max-width:180px}}.land-areas{display:grid;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid #dfe8df;text-align:left}.land-areas>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}.land-areas span{font-size:12px;font-weight:600;color:#64806a}.land-areas small{font-size:10px;font-weight:400}.land-areas strong{font-size:13px;font-weight:600;color:#315c43;font-variant-numeric:tabular-nums}.import-group .land-areas{width:100%;margin-top:0;padding-top:10px}.import-group .land-areas small{margin-left:0;color:inherit}@media(max-width:700px){.land-areas strong{font-size:14px}.land-areas span{font-size:13px}.land-areas small{font-size:11px}}.next-step{display:grid;gap:9px;padding:15px 21px;border-top:1px solid var(--border);background:#f3f7f3}.next-step.blocked{background:#fdf4f1;border-top-color:#f0d9cf}.next-step-head{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.next-step-head strong{font-size:14px;color:#26382d}.next-step-area{margin-left:auto;font-size:14px;font-weight:600;color:#315c43;font-variant-numeric:tabular-nums}.next-step p{margin:0;font-size:13px;line-height:1.45;color:#4d6353}.next-step-note{font-size:12px!important;color:#7c6a58!important}.next-step-actions{display:flex;flex-wrap:wrap;gap:9px}.next-step-actions:empty{display:none}.plot-chip.editing{border-color:#cfe0d2;color:#2f6a4a;font-weight:600}.plot-chip.editing.armed{border-color:#c98f6a;background:#fff3ec;color:#a4552a}@media(max-width:700px){.plot-shell{height:46vh;min-height:260px}.next-step{order:0;padding:14px 16px;border-top:none;border-bottom:1px solid var(--border)}.plot-toolbar{order:1}.map-edit-toolbar,.map-message{order:2}.plot-shell{order:3}.adjustment-panel{order:4}.sidebar{order:5}.point-panel{order:6}.next-step p{font-size:14px}.next-step-actions .button{flex:1 1 auto;min-height:44px;justify-content:center}}.update-banner{display:flex;align-items:center;gap:12px;padding:11px 21px;background:#eaf2ea;border-bottom:1px solid #cfe0d2;color:#26512f;font-size:13px}.update-banner span{flex:1}.update-banner>button:last-child{background:none;border:none;color:#5d7963;cursor:pointer;padding:4px}.link-button{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-button:disabled{opacity:.6;cursor:default}@media(max-width:700px){.update-banner{flex-wrap:wrap;padding:11px 16px;font-size:14px}.update-banner span{flex:1 1 100%;order:-1}.update-banner .button{flex:1;min-height:44px;justify-content:center}}.empty-build{font-size:11px;color:#879686}.next-step-area{display:grid;gap:6px}.next-step-area>strong{font-size:26px;font-weight:650;color:#1d3f2b;font-variant-numeric:tabular-nums;line-height:1.1}.next-step-area>strong span{font-size:13px;font-weight:500;color:#64806a}.next-step-area .land-areas{margin-top:0;padding-top:8px}.next-step-area-missing{font-size:13px;color:#8a7565!important}@media(max-width:700px){.next-step-area>strong{font-size:30px}.next-step-area .land-areas strong{font-size:15px}}.plot-shell.full-screen{position:fixed;inset:0;z-index:60;max-height:none;height:100dvh;border-radius:0;border:none}.plot-shell.full-screen .survey-plot{touch-action:none}.plot-shell.full-screen .plot-controls{top:auto;bottom:24px;right:16px}.plot-recentre{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid #c98f6a;background:#fff3ec;color:#a4552a;font-size:13px;font-weight:600;box-shadow:0 2px 8px #153d3520;cursor:pointer}.export-blocked{margin:0;font-size:13px;color:#a4552a;background:#fff3ec;border:1px solid #f0d9cf;border-radius:8px;padding:10px 12px}.button.full{width:100%;justify-content:center}.steps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;font-size:12px;color:#7c8c80}.steps li{display:flex;align-items:center;gap:7px;padding:7px 12px 7px 7px;border:1px solid var(--border);border-radius:999px;background:#fff}.steps li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eef3ee;color:#6a7f6f;font-size:11px;font-weight:600}.steps li.current{border-color:#b9d2bd;background:#eef5ef;color:#1d3f2b;font-weight:600}.steps li.current span{background:#1d3f2b;color:#fff}.steps li.done{color:#8da392}.button.big{min-height:52px;font-size:15px;padding:0 24px}.saved-surveys{width:min(560px,100%);display:grid;gap:10px;margin-top:26px;text-align:left}.saved-surveys h2{margin:0;font-size:16px;color:#26382d}.saved-surveys>p{margin:-4px 0 6px;font-size:13px;color:#7c8c80}.saved-survey{display:flex;align-items:center;gap:13px;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;text-align:left;color:inherit;font:inherit;min-height:64px}.saved-survey:hover{border-color:#b9d2bd}.saved-survey>span{display:grid;gap:3px;flex:1;min-width:0}.saved-survey strong{font-size:15px;color:#1d3f2b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-survey small{font-size:12px;color:#7c8c80}@media(max-width:700px){.steps{font-size:11px;gap:6px}.steps li{padding:6px 10px 6px 6px}.saved-survey{min-height:68px}}
