:root{--ink:#183033;--muted:#6a7c7e;--line:#d9e5e3;--teal:#087875;--teal-dark:#075c5a;--teal-soft:#e4f3f0;--radius:6px;--control-height:38px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f2f7f6;font-size:14px;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:0;border-radius:var(--radius);cursor:pointer;min-height:var(--control-height);padding:8px 12px;background:var(--teal);color:#fff;line-height:1.3}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4389b9;outline-offset:3px}button[hidden],[hidden]{display:none!important}
header{height:64px;padding:12px 20px;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d3dfe5;gap:16px}.title{display:flex;gap:14px;align-items:center}.map-mark{color:#216658;font-size:32px}h1{font-size:22px;line-height:1.15;margin:0}header p{margin:5px 0 0;color:#647e8b;font-size:13px}.badge{font-size:12px;padding:6px 10px;border:1px solid #d3dfe5;border-radius:4px;white-space:nowrap}
main{display:grid;grid-template-columns:minmax(0,1fr) 355px;height:calc(100dvh - 64px)}aside{background:#fff;padding:16px;overflow-y:auto;border-left:1px solid #d3dfe5}h2{font-size:17px;margin:0 0 10px}h3{font-size:14px;margin:12px 0}p{line-height:1.5;margin:10px 0}.hint{font-size:12px;color:#647e8b}.primary{width:100%;font-weight:600;padding:10px 12px}.secondary{background:#fff;color:var(--teal-dark);font-size:12px;border:1px solid var(--line)}.text-button{background:none;color:#244f65;font-size:12px;padding:7px 0;text-decoration:underline}.buttons{display:flex;flex-wrap:wrap;gap:6px}
.map-panel{display:flex;flex-direction:column;min-width:0}.map-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:52px;padding:10px 18px;background:#f8fafb;border-bottom:1px solid #d3dfe5}.map-tools span{margin-right:auto;font-weight:600;font-size:13px}#map{flex:1;min-height:420px}.legend{display:flex;flex-wrap:wrap;gap:14px;padding:12px 18px;font-size:11px;background:#fff}.legend span:before{content:'■';margin-right:6px}.parcel{color:#497aa0}.residual{color:#a18456}.selected{color:#216658}.discovery{color:#8096a3}
#status{font-size:12px;color:#567383;padding:10px 0;line-height:1.5}#status.error{color:#963c31}#basemap-status{padding:8px 18px;background:#fff3cf;font-size:12px}#basemap-status[data-status=ready]{display:none}#basemap-status[data-status=error]{background:#fff0e9}#basemap-status[data-status=offline]{background:#edf3f6}#retry-map{margin-left:8px}#search-panel{padding-bottom:10px;border-bottom:1px solid #d3dfe5}#search-hint{font-size:13px;color:#567383}#search-panel[hidden]{display:none}#points{margin-bottom:10px}.point-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:12px}.point-row button{padding:4px 8px;font-size:15px}.search-pin{border-radius:50%;background:#244f65;color:#fff;font-size:12px;font-weight:700;line-height:28px;text-align:center;border:2px solid white;box-shadow:0 1px 4px #244f6540}
.basket-panel{margin-top:17px}.basket-heading{display:flex;align-items:center;justify-content:space-between}.basket-heading h2{margin:0}#basket-count{background:#edf3f6;color:#244f65;border-radius:12px;min-width:25px;text-align:center;padding:3px 6px;font-size:12px}#basket-empty{font-size:13px;color:#647e8b;padding:14px 0}.basket-row{display:grid;grid-template-columns:1fr auto;gap:6px;padding:13px 0;border-bottom:1px solid #e3eaee}.basket-name{display:block;border:0;background:none;text-align:left;color:#203a49;font-weight:600;font-size:13px;padding:0;overflow-wrap:anywhere}.basket-detail{display:block;font-size:11px;color:#647e8b;margin-top:5px;line-height:1.4}.basket-row.pending .basket-detail{color:#997231}.basket-remove{align-self:start;background:none;color:#647e8b;font-size:19px;padding:0 5px}.basket-total{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:14px 0;gap:10px;border-top:1px solid #d3dfe5}.basket-total span{font-size:12px;color:#567383}.basket-total strong{font-size:19px;white-space:nowrap}.context-tools{margin-top:12px}#selection-note:empty{display:none}details{font-size:12px;line-height:1.5}summary{cursor:pointer;color:#244f65;padding:8px 0}#advanced{margin-top:20px;border-top:1px solid #d3dfe5;padding-top:6px}.advanced-content{padding:8px 0}.advanced-content .buttons{margin:9px 0}label{display:block;font-size:12px;padding:7px 0}input[type=checkbox]{margin-right:6px}input[type=number]{width:60px;margin-left:7px;padding:4px;border:1px solid #bbcdd6;border-radius:3px}dl{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:12px}dd{margin:0}#connector-setup{border-top:1px solid #d3dfe5;margin-top:15px;padding-top:8px}#connector-status{font-size:11px;color:#647e8b}#connector-status[data-status=missing]{color:#997231}.extension-path{display:block;overflow-wrap:anywhere;background:#edf3f6;padding:7px;margin-top:6px;font-size:11px}#connector-setup ol{padding-left:18px}#connector-setup li{margin:8px 0}#outline-note{color:#997231}
@media(max-width:850px){header{height:auto;min-height:76px;padding:14px 16px}h1{font-size:20px}header p{font-size:11px}.badge{font-size:10px;white-space:normal;max-width:95px}.map-mark{display:none}main{display:flex;flex-direction:column;height:auto}.map-panel{height:58dvh;min-height:440px}#map{min-height:300px}aside{overflow:visible;border-left:0;border-top:1px solid #d3dfe5;padding:20px}#search-panel{scroll-margin-top:15px}.map-tools{padding:8px 12px}.map-tools span{font-size:12px}.legend{padding:10px 12px;gap:8px;font-size:10px}}
.area-helper{margin-top:16px;padding:13px;background:#fff9ed;border:1px solid #e4d5b6;border-radius:5px}.area-helper h3{margin:0 0 7px;font-size:14px}.area-helper p{font-size:12px;margin:7px 0}.area-helper .buttons{margin-top:10px}.area-helper .hint{font-size:10px;color:#7c6d52}.basket-edit{padding:4px 0;margin-top:4px;background:none;color:#244f65;font-size:11px;text-decoration:underline}#drawing-hint{margin:0;padding:10px 18px;background:#fff2cc;color:#634e24;font-size:13px;line-height:1.5;border-bottom:1px solid #e4d5b6}
@media(max-width:850px){.map-panel:has(#drawing-hint:not([hidden])){min-height:540px}}

#fragment-panel{padding:12px 18px;background:#fff2e5;border-top:2px solid #d56a27}#fragment-panel p{margin:0 0 9px;font-size:13px;line-height:1.5}#fragment-panel .buttons{display:flex;flex-wrap:wrap;gap:8px}#edit-territory{margin-top:12px;width:100%}
@media(max-width:850px){.map-panel:has(#fragment-panel:not([hidden])){min-height:600px}}

/* Compact tools; map feature colours remain defined by the existing geometry renderer. */
.quick-tools { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.quick-tools h2 { font-size: 13px; margin-bottom: 8px; }
.connection-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 12px; }
.connection-tools #connector-status { margin: 0; flex: 1 1 180px; overflow-wrap: anywhere; }
#advanced { margin-top: 12px; }
#connector-setup { margin-top: 4px; padding-top: 0; border-top: 0; }
button:hover:not(:disabled) { background: var(--teal-dark); }
button.secondary:hover:not(:disabled), button.text-button:hover:not(:disabled) { background: var(--teal-soft); color: var(--teal-dark); border-color: var(--teal); }
button:active:not(:disabled) { filter: brightness(.94); }
button { touch-action: manipulation; }
#total-area, dl { font-variant-numeric: tabular-nums; }
summary { overflow-wrap: anywhere; }
@media (pointer: coarse) { button, summary { min-height: 44px; } .basket-remove { min-width: 44px; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
