:root{--ink:#203d36;--muted:#61726b;--paper:#f6f7f2;--border:#dbe1d8;--teal:#266b72;--orange:#c47732;--purple:#795795;--warn:#8f542a}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border);background:#fff}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:650;letter-spacing:-.4px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:white;border-radius:9px;font-size:23px}.brand-sub{margin-left:13px;padding-left:17px;border-left:1px solid var(--border);color:var(--muted);font-size:15px;font-weight:400;letter-spacing:0}.top-meta{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:#b17940}.workspace{display:grid;grid-template-columns:380px minmax(0,1fr);height:calc(100vh - 112px);min-height:650px}.sidebar{padding:27px 25px 20px;overflow-y:auto;background:#fafbf7;border-right:1px solid var(--border)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:var(--muted);margin:0 0 11px}h1{font-size:31px;line-height:1.12;letter-spacing:-1px;margin:0 0 14px;font-weight:600}.intro{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 23px}.view-tabs{display:flex;border-bottom:1px solid var(--border);gap:16px;margin-bottom:23px}.view-tabs button{font-size:12px;background:none;border:0;border-bottom:2px solid transparent;padding:0 0 11px;color:var(--muted);cursor:pointer;white-space:nowrap}.view-tabs button.active{color:var(--ink);border-bottom-color:var(--teal);font-weight:650}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #5598a0;outline-offset:3px}label.field-label{display:block;font-size:11px;font-weight:650;margin-bottom:8px}select{width:100%;padding:11px 10px;background:#fff;border:1px solid #cbd5ca;border-radius:6px;color:var(--ink);margin-bottom:16px;font-size:13px}.subheading{margin:20px 0 9px;font-size:14px;font-weight:650}.note,.callout{padding:12px 13px;background:#eef2ec;border-left:3px solid #91a68c;font-size:12px;line-height:1.6;margin:12px 0}.callout{background:#fbf2e8;border-color:#c58b50;color:#79502f}.note strong,.callout strong{display:block;margin-bottom:3px}.metric-row{display:flex;gap:10px;margin:12px 0}.metric{background:#fff;border:1px solid var(--border);border-radius:6px;padding:12px;flex:1}.metric .number{display:block;font-size:25px;letter-spacing:-.7px;font-weight:600}.metric .caption{font-size:10px;color:var(--muted);display:block;margin-top:5px}.metric small{font-size:11px;font-weight:400}.fact-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.fact-row .fact-label{color:var(--muted)}.fact-row .fact-value{text-align:right;font-weight:600;max-width:65%}.hint{font-size:11px;line-height:1.6;color:var(--muted)}.small-button,.button{border:1px solid var(--border);background:var(--ink);color:white;border-radius:5px;font-size:12px;padding:9px 13px}.button.light{background:#fff;color:var(--ink);white-space:nowrap}.ghost{background:none;border:1px solid var(--border);padding:7px 11px;border-radius:5px;font-size:11px;color:var(--muted);margin-left:13px}.text-button{background:none;border:0;color:var(--teal);font-size:11px;padding:5px 0}.profile{border-top:1px solid var(--border);margin-top:23px;padding-top:18px;font-size:11px}.profile strong{font-size:11px}.profile p{margin:8px 0;line-height:1.6}.profile span{font-size:10px;color:var(--muted);line-height:1.5}.project-progress{font-size:11px;margin-top:23px}.project-progress summary{cursor:pointer;color:var(--teal)}.package{margin:13px 0;border-left:2px solid #c4d0bf;padding-left:10px;line-height:1.5}.package p{margin:3px 0;color:var(--muted);font-size:10px}.map-area{position:relative;display:flex;flex-direction:column;min-width:0;background:#e8eee6}.map-heading{background:#fffefbeF;padding:22px 25px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:2;border-bottom:1px solid var(--border)}.map-heading .eyebrow{margin-bottom:5px}h2{font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.5px;margin:0 0 6px}.map-heading p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0;max-width:680px;line-height:1.5}#map{flex:1;min-height:350px;background:#e8eee6}.map-legend{position:absolute;left:18px;bottom:92px;background:#fffffff0;padding:11px 13px;border:1px solid #d9e0d5;border-radius:6px;font-size:10px;box-shadow:0 2px 10px #213d3610;max-width:340px}.legend-row{display:flex;align-items:center;gap:9px;margin:5px 0}.legend-line{display:inline-block;width:25px;border-top:3px solid var(--teal)}.legend-dot{display:inline-block;width:9px;height:9px;background:#a44f37;border-radius:50%;margin:0 8px}.map-controls{height:37px;background:#f7f9f4;display:flex;align-items:center;gap:20px;padding:0 18px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.map-controls label{display:flex;align-items:center;gap:5px}.map-controls input{accent-color:var(--teal)}.bottom-line{min-height:39px;background:#fff;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:0 18px;font-size:10px;border-top:1px solid var(--border)}.feature-info{position:absolute;top:135px;right:15px;max-width:330px;background:#fff;padding:18px 28px 15px 17px;border:1px solid var(--border);box-shadow:0 8px 25px #203d3620;border-radius:7px;z-index:5;font-size:12px}.feature-info p{font-size:11px;white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}.feature-info button{position:absolute;right:7px;top:5px;border:0;background:none;font-size:21px;color:var(--muted)}.evidence-item{margin:11px 0;padding:11px 12px;border:1px solid var(--border);border-radius:5px;background:white;font-size:11px;line-height:1.5}.evidence-item strong{font-size:12px;display:block;margin-bottom:4px}.evidence-item a,.order-item a{color:var(--teal)}.tag{font-family:Consolas,monospace;background:#eef2ed;padding:2px 4px;font-size:10px;border-radius:3px;display:inline-block;margin:3px 3px 0 0}.order-item{padding:13px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.6}.order-item strong{display:block}.order-item p{font-size:11px;color:var(--muted);margin:4px 0}.route-table{border-collapse:collapse;width:100%;font-size:11px}.route-table td{padding:8px 0;border-bottom:1px solid var(--border)}.route-table td:last-child{text-align:right;white-space:nowrap}.route-table tr.selected td{font-weight:650;color:var(--teal)}footer{height:42px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);border-top:1px solid var(--border);background:#fff}dialog{max-width:670px;width:calc(100% - 35px);border:1px solid var(--border);border-radius:10px;padding:30px;color:var(--ink);max-height:85vh}dialog::backdrop{background:#173c3655}.dialog-close{position:absolute;right:13px;top:8px;background:none;border:0;font-size:25px;color:var(--muted)}.source-row{padding:13px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.6}.source-row a{color:var(--teal)}.ol-control{background:#ffffffb0;border-radius:5px;padding:3px}.ol-control button{background:#fff;color:var(--ink);font-size:19px}.ol-control button:hover{background:#e4ece1}.ol-attribution{max-width:85%;font-size:9px}.ol-attribution a{color:var(--teal)}.ol-scale-line{background:#31584ee0;bottom:110px;left:auto;right:12px}.ol-zoom{top:15px;left:15px}.loading{font-size:12px;color:var(--muted)}
@media(max-width:1050px){.workspace{grid-template-columns:330px minmax(0,1fr)}.sidebar{padding:22px 18px}.map-heading{padding:18px}.map-heading h2{font-size:18px}.brand-sub{display:none}.map-controls{gap:8px}.map-controls span{max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(max-width:760px){.topbar{padding:0 15px;height:58px}.brand{font-size:17px}.top-meta{font-size:10px}.top-meta .ghost{display:none}.workspace{height:auto;display:flex;flex-direction:column;min-height:0}.sidebar{overflow:visible;max-height:none;border-right:0;padding:20px}.sidebar h1{font-size:25px}.sidebar h1 br{display:none}.intro{margin-bottom:16px}.map-area{height:650px}.map-heading{min-height:105px}.map-heading .button{padding:8px;font-size:10px}.profile,.project-progress{display:none}.map-legend{max-width:80%;font-size:9px}.bottom-line{font-size:9px}.map-controls{font-size:9px}footer{height:auto;min-height:48px;gap:10px;padding:10px 15px;line-height:1.5}.feature-info{top:125px;max-width:80%}}
@media print{.workspace{height:auto;min-height:0;grid-template-columns:300px minmax(0,1fr)}.sidebar{overflow:visible}.map-area{height:850px}.topbar{height:55px}.top-meta button,.view-tabs,.profile,.project-progress,#fit,#export,.map-controls,.ol-zoom{display:none}.map-legend{bottom:55px}footer{height:auto;padding:10px}.feature-info{display:none!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.comparison-card{border-left:4px solid var(--route-color);padding:12px 14px;margin:12px 0;background:#fff;border-radius:0 8px 8px 0}.comparison-card strong{color:var(--route-color);font-size:14px}.comparison-card p{margin:7px 0;font-size:14px}.comparison-distance{font-size:24px;font-weight:650;margin:6px 0}.comparison-card span{font-size:14px;color:#4b6059}.map-legend{max-width:calc(100% - 48px)}.legend-row{line-height:1.5}

.view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.view-link{display:block;text-align:center;padding:10px 4px;font:inherit;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}.view-link:hover{color:var(--ink);border-bottom-color:var(--teal)}
.boundary-workspace{grid-template-columns:420px minmax(0,1fr)}.boundary-workspace .sidebar{padding:22px}.boundary-workspace .map-area{display:grid;grid-template-rows:auto minmax(260px,1fr) auto auto;overflow:hidden}.boundary-workspace input[type=search]{width:100%;padding:11px;border:1px solid var(--border);border-radius:5px;font:inherit;background:#fff}.boundary-workspace .map-heading{min-height:95px}#entry-map{width:100%;min-height:260px;background:#e9eee5}.entry-detail{padding:14px 18px;max-height:250px;overflow:auto;background:#fff;border-top:1px solid var(--border)}.entry-detail .fact-row{padding:5px 0}.entry-detail li{margin:6px 0}.entry-card{padding:10px 12px;margin:8px 0;border:1px solid var(--border);border-left:4px solid;background:#fff;border-radius:4px}.entry-card span{display:block;font-size:11px;color:var(--muted);line-height:1.5}.entry-card button{text-align:left;line-height:1.5}.entry-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:12px 0}.entry-actions .button{padding:8px;font-size:11px}.entry-actions button:disabled{opacity:.45}.planning-note{padding:11px;border-left:3px solid var(--orange);background:#faf1e7}.planning-note p{font-size:12px;line-height:1.6}
@media(max-width:760px){.boundary-workspace .sidebar{max-height:65vh;overflow:auto;padding:18px}.boundary-workspace .map-area{height:75vh;min-height:620px}.boundary-workspace .brand{font-size:16px}.boundary-workspace .entry-detail{max-height:230px}.topbar a.button{font-size:11px;padding:8px}.entry-card{margin:7px 0}}

@media(max-width:760px){.workspace:not(.boundary-workspace)>.sidebar{max-height:65vh;overflow-y:auto}.workspace:not(.boundary-workspace)>.map-area{height:75vh;min-height:650px}}
