@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@300;400;500;600&display=swap');:root{--bg:#07100e;--panel:#0b1512;--panel2:#0e1a16;--line:#1b2b25;--muted:#758a82;--text:#eef5f1;--green:#72f0aa;--green2:#35c77b;--amber:#e6c76a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#08110f;padding:27px 18px;display:flex;flex-direction:column}.logo{color:white;text-decoration:none;font:400 15px Manrope;letter-spacing:.4px;display:flex;align-items:center;gap:3px}.logo b{font-weight:600}.radar-icon{width:24px;height:24px;border:1px solid var(--green);border-radius:50%;margin-right:8px;position:relative}.radar-icon:before{content:'';position:absolute;width:8px;height:8px;border:1px solid var(--green);border-radius:50%;left:7px;top:7px}.workspace-label{font-size:9px;letter-spacing:1.7px;color:#53665f;margin:48px 12px 12px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{border:0;background:transparent;color:#758a82;text-align:left;padding:12px 13px;border-radius:7px;font:400 13px 'DM Sans';cursor:pointer;display:flex;gap:11px;align-items:center}.nav:hover,.nav.active{background:#102019;color:#e9f4ef}.nav.active{box-shadow:inset 2px 0 var(--green)}.nav i{margin-left:auto;background:#172b22;color:#8fb5a5;border-radius:12px;padding:2px 7px;font-style:normal;font-size:10px}.side-bottom{margin-top:auto}.status,.profile{border-top:1px solid var(--line);padding:16px 10px;display:flex;gap:10px;align-items:center}.status i{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green)}.status b,.profile b{font-size:11px;font-weight:500;display:block}.status small,.profile small{display:block;color:#61766e;font-size:9px;margin-top:3px}.profile span{display:grid;place-items:center;width:30px;height:30px;background:#13251e;border:1px solid #28483a;border-radius:50%;font-size:10px}.app{min-width:0}header{height:88px;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#08110fcc;backdrop-filter:blur(15px);position:sticky;top:0;z-index:20}h1{font:400 23px Manrope;margin:4px 0}.kicker{font-size:9px;letter-spacing:1.7px;color:#648076;margin:0}.header-actions{display:flex;gap:8px}button{font-family:inherit;cursor:pointer}.ghost,.primary{padding:10px 14px;border-radius:6px;font-size:11px}.ghost{background:#0d1915;border:1px solid var(--line);color:#9aaca5}.primary{background:var(--green);border:1px solid var(--green);color:#07100e;font-weight:600}.view{display:none;padding:25px 30px 45px}.view.active{display:block}.strategybar{display:flex;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px 18px;gap:38px}.strategybar div{display:flex;flex-direction:column;gap:4px}.strategybar span{font-size:8px;letter-spacing:1.4px;color:#60746d}.strategybar b{font-size:11px;font-weight:500}.strategybar button{margin-left:auto;background:none;color:var(--green);border:0;font-size:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.metrics article{background:var(--panel);padding:18px 20px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics span{display:block;color:#657a72;font-size:8px;letter-spacing:1.4px}.metrics strong{font:300 30px Manrope;display:block;margin:7px 0 2px}.metrics small{color:#52665f;font-size:9px}.radar-layout{display:grid;grid-template-columns:minmax(400px,1.45fr) minmax(330px,.8fr);border:1px solid var(--line);border-radius:9px;overflow:hidden;min-height:590px}.map-panel,.list-panel{background:var(--panel)}.list-panel{border-left:1px solid var(--line)}.panel-head{height:72px;padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font:400 17px Manrope;margin:4px 0}.segmented{background:#07110e;padding:3px;border:1px solid var(--line);border-radius:6px}.segmented button{border:0;background:none;color:#687d75;padding:6px 9px;font-size:9px;border-radius:4px}.segmented .active{background:#16271f;color:white}.count{font-size:10px;color:var(--green)}#map{height:518px;background:#0a1411}.maplibregl-canvas{filter:saturate(.6) brightness(.7)}.maplibregl-ctrl-attrib{font-size:8px!important;background:#07110ecc!important;color:#61766e!important}.marker{width:30px;height:30px;border-radius:50%;background:#0c1b16;border:2px solid var(--green);box-shadow:0 0 0 6px #72f0aa18,0 0 20px #72f0aa33;color:var(--green);font-size:9px;font-weight:600;display:grid;place-items:center}.marker.warm{border-color:var(--amber);color:var(--amber);box-shadow:0 0 0 6px #e6c76a12}.map-legend{position:absolute}.map-panel{position:relative}.map-legend{bottom:13px;left:13px;z-index:5;background:#07110ee8;border:1px solid var(--line);border-radius:6px;padding:9px 11px;display:flex;gap:14px;font-size:9px;color:#778b83}.map-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:5px}.map-legend i.hot{background:var(--green)}.map-legend .demo{color:#d4b75f;border-left:1px solid var(--line);padding-left:12px}.cards{height:518px;overflow:auto}.card{padding:17px 20px;border-bottom:1px solid var(--line);cursor:pointer;transition:.15s}.card:hover{background:#102019}.card-top{display:flex;justify-content:space-between;gap:12px}.card h3{font:500 13px Manrope;margin:0}.card .score{font:400 22px Manrope;color:var(--green)}.meta{color:#62766e;font-size:9px;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.chip{background:#11221b;border:1px solid #1e372d;color:#8eaaa0;border-radius:3px;padding:4px 6px;font-size:8px}.confidence{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:8px;color:#62766e}.bar{height:2px;background:#203129;flex:1}.bar i{display:block;height:100%;background:var(--green)}.notice{margin-top:14px;border:1px solid #4b4224;background:#17160e;border-radius:7px;padding:12px 15px;display:flex;gap:14px;font-size:10px;color:#9e9574}.notice b{color:#e0c76d;white-space:nowrap}.section-intro{max-width:730px;margin:35px 0}.section-intro h2{font:300 40px/1.1 Manrope;letter-spacing:-1.5px;margin:10px 0}.section-intro>p:last-child{color:#71867e;line-height:1.6}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.column{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:360px}.column-head{padding:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px}.deal{margin:9px;padding:13px;background:#0f1c18;border:1px solid #1c3128;border-radius:6px}.deal b{font-size:11px}.deal small{display:block;color:#647970;margin-top:5px;font-size:9px}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:900px}.strategy-grid label{position:relative;background:var(--panel);border:1px solid var(--line);padding:14px;color:#71867e;font-size:9px}.strategy-grid input,.strategy-grid select{display:block;width:100%;margin-top:8px;background:none;border:0;color:white;font-size:14px;outline:0}.strategy-grid label>span{position:absolute;right:15px;bottom:15px}.signals-title{font:400 15px Manrope;margin-top:28px}.toggles{display:flex;flex-wrap:wrap;gap:8px;max-width:900px}.toggles label{background:var(--panel);border:1px solid var(--line);padding:11px 14px;border-radius:6px;color:#9bada6;font-size:10px}.toggles input{accent-color:var(--green)}.save{margin-top:25px}.sources{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:900px}.source{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.source-top{display:flex;justify-content:space-between}.source h3{margin:0;font:500 14px Manrope}.source p{font-size:10px;color:#6d8179}.badge{font-size:8px;padding:5px 7px;border-radius:12px;background:#2a2512;color:#d5bc62;height:max-content}.drawer-backdrop{position:fixed;inset:0;background:#0009;z-index:40;opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;right:0;top:0;height:100vh;width:min(520px,100%);background:#0a1411;border-left:1px solid var(--line);z-index:50;transform:translateX(100%);transition:.25s;padding:35px;overflow:auto}.drawer.open{transform:none}.drawer-close{position:absolute;right:20px;top:18px;background:none;border:0;color:#81958d;font-size:25px}.drawer-score{font:300 62px Manrope;color:var(--green);margin:25px 0 0}.drawer h2{font:400 25px Manrope;margin:6px 0}.drawer .location{color:#71867e}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:25px 0}.score-part{border:1px solid var(--line);background:#0d1a16;padding:12px}.score-part span{display:block;color:#687c74;font-size:8px;text-transform:uppercase}.score-part b{font:400 18px Manrope}.drawer-section{border-top:1px solid var(--line);padding:20px 0}.drawer-section h3{font:500 12px Manrope}.drawer-section li{color:#8fa29a;font-size:11px;margin:8px 0;line-height:1.5}.drawer-cta{width:100%;padding:13px}@media(max-width:1050px){.shell{grid-template-columns:70px 1fr}.sidebar{padding:25px 10px}.logo b,.logo:not(.radar-icon),.workspace-label,.nav span,.side-bottom div>div,.profile{font-size:0}.logo{justify-content:center}.radar-icon{margin:0}.nav{justify-content:center}.nav i{display:none}.radar-layout{grid-template-columns:1fr}.list-panel{border-left:0;border-top:1px solid var(--line)}.cards{height:auto;max-height:430px}.pipeline{grid-template-columns:1fr 1fr}}@media(max-width:700px){.shell{display:block}.sidebar{position:fixed;bottom:0;top:auto;width:100%;height:62px;z-index:100;padding:7px;background:#08110ff5;border-top:1px solid var(--line);border-right:0}.logo,.workspace-label,.side-bottom{display:none}.sidebar nav{flex-direction:row;justify-content:space-around}.nav{flex:1;flex-direction:column;gap:3px;font-size:15px;padding:5px}.nav span{display:block;font-size:8px}.app{padding-bottom:62px}header{height:70px;padding:0 17px}.header-actions .ghost{display:none}.view{padding:15px}.strategybar{overflow:auto;gap:25px}.strategybar>div{min-width:max-content}.strategybar button{display:none}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:14px}.radar-layout{display:block}.map-panel .panel-head{height:auto;align-items:flex-start;gap:12px}.segmented{white-space:nowrap}#map{height:390px}.section-intro h2{font-size:32px}.pipeline,.strategy-grid,.sources{grid-template-columns:1fr}.drawer{padding:30px 22px}.score-grid{grid-template-columns:1fr 1fr}}
.territory-tools{display:flex;gap:10px;max-width:900px;margin-bottom:12px}.territory-tools input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:11px 13px;color:white;outline:0}.territory-summary{display:flex;gap:8px;margin:12px 0}.summary-pill{border:1px solid var(--line);background:var(--panel);padding:10px 13px;border-radius:6px;font-size:10px;color:#80948c}.summary-pill b{color:white;margin-right:5px}.territory-table{max-width:900px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.territory-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:12px 15px;border-bottom:1px solid var(--line);background:var(--panel);font-size:11px}.territory-row:hover:not(.head){background:#102019}.territory-row.head{font-size:8px;letter-spacing:1px;color:#63776f;background:#09120f}.territory-row .pop{font-variant-numeric:tabular-nums}@media(max-width:700px){.territory-row{grid-template-columns:1.5fr .8fr .8fr}.territory-row span:last-child{display:none}.territory-tools{flex-direction:column}}

.analyse-form{max-width:900px;display:flex;gap:8px}.analyse-form input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:14px;color:white;outline:0}.analyse-state{max-width:900px;margin-top:14px;border:1px dashed #294037;border-radius:8px;padding:40px;text-align:center;color:#63776f}.analyse-state>span{font-size:25px;color:var(--green)}.analyse-state b{display:block;color:#a5b6af;margin:8px}.analyse-state p{font-size:10px}.analysis-result{max-width:900px;margin-top:14px}.analysis-hero{background:linear-gradient(120deg,#0e1d17,#0a1411);border:1px solid #244034;border-radius:9px;padding:22px}.analysis-hero h2{font:400 21px Manrope;margin:5px 0}.source-checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.source-check{font-size:8px;border:1px solid #26503d;color:#88caa9;padding:5px 7px;border-radius:12px}.analysis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.analysis-card{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:16px}.analysis-card span{display:block;color:#63776f;font-size:8px;letter-spacing:1px}.analysis-card b{display:block;font:400 15px Manrope;margin-top:7px}.analysis-card small{color:#60736c;font-size:9px}.business-modes{max-width:900px;margin-top:22px}.mode-tabs{display:flex;gap:6px;flex-wrap:wrap}.mode-tab{border:1px solid var(--line);background:var(--panel);color:#7f938b;border-radius:5px;padding:8px 10px;font-size:9px}.mode-tab.active{border-color:#397457;color:var(--green)}.mode-output{margin-top:8px;border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:16px;color:#91a49c;font-size:11px;line-height:1.6}@media(max-width:700px){.analyse-form{flex-direction:column}.analysis-grid{grid-template-columns:1fr 1fr}}
.inline-select{background:transparent;border:0;color:#eef5f1;font:500 11px 'DM Sans';outline:0}.inline-select option{background:#0b1512}.decision{display:inline-block;margin-top:25px;padding:6px 9px;border-radius:4px;font-size:8px;letter-spacing:1.2px}.decision.go{background:#163626;color:#72f0aa;border:1px solid #2d6b4c}.decision.watch{background:#332c15;color:#e6c76a;border:1px solid #66572a}.decision.low{background:#271b1b;color:#c89191;border:1px solid #513232}.evidence-row{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.evidence-row span{font-size:8px;color:#8ec4aa;border:1px solid #244735;background:#0e2018;padding:5px 7px;border-radius:4px}.timeline{border-top:1px solid var(--line);padding:18px 0}.timeline>div{display:grid;grid-template-columns:12px 95px 1fr;align-items:center;gap:8px;margin:10px 0;font-size:9px;color:#70847c}.timeline i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #72f0aa12}.timeline b{font-weight:500;color:#b3c3bd}

.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.fit-grid>div{display:grid;grid-template-columns:1fr 28px;gap:5px;align-items:center;background:#0d1a16;border:1px solid var(--line);padding:9px;border-radius:5px}.fit-grid span{text-transform:capitalize;color:#82968e;font-size:9px}.fit-grid b{font:500 11px Manrope;text-align:right}.fit-grid i{grid-column:1/-1;height:2px;background:#1d3028}.fit-grid em{display:block;height:100%;background:var(--green)}


/* Institutional premium */
:root{--bg:#f4f2ed;--panel:#fbfaf7;--panel2:#f0eee8;--line:#d8d4ca;--muted:#77766f;--text:#20231f;--green:#173d32;--green2:#285a49;--amber:#9a7138}
body{background:var(--bg);color:var(--text)}
.sidebar{background:#18372f;border-right:0}.logo{color:#f6f2e9;letter-spacing:.08em}.radar-icon,.radar-icon:before{border-color:#c9b98e}.workspace-label{color:#8da49a}.nav{color:#a9bbb4;border-radius:4px}.nav:hover,.nav.active{background:#24483d;color:#fff}.nav.active{box-shadow:inset 2px 0 #d4c69e}.nav i{background:#2b5045;color:#d8e3de}.status,.profile{border-color:#315248}.status i{background:#d4c69e;box-shadow:none}.status small,.profile small{color:#8fa59c}.profile span{background:#24483d;border-color:#42655a;color:#f5f0e5}
header{background:rgba(244,242,237,.94);border-color:var(--line)}h1,.panel-head h2,.section-intro h2,.analysis-hero h2,.drawer h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em}.kicker{color:#8b867b}.ghost{background:#f9f7f2;border-color:#cbc7bd;color:#55574f}.primary{background:#173d32;border-color:#173d32;color:#fff;font-weight:500}
.strategybar,.metrics,.map-panel,.list-panel,.column,.source,.analysis-card,.mode-output,.fit-grid>div{background:var(--panel)}.strategybar button{color:#173d32}.metrics strong{font-family:Georgia,'Times New Roman',serif;color:#273029}.metrics span,.metrics small,.strategybar span{color:#8a877e}.radar-layout{box-shadow:0 14px 40px rgba(49,46,37,.06)}
.segmented{background:#ebe8e1}.segmented button{color:#77766f}.segmented .active{background:#fff;color:#173d32}#map{background:#e8e6df}.maplibregl-canvas{filter:saturate(.45) contrast(.94) brightness(1.04)}.marker{background:#fff;border-color:#173d32;box-shadow:0 2px 8px rgba(23,61,50,.2);color:#173d32}.marker.warm{border-color:#9a7138;color:#815c2c;box-shadow:0 2px 8px rgba(129,92,44,.18)}.map-legend{background:#fffdf8ee;color:#686861}.map-legend i.hot{background:#173d32}.map-legend .demo{color:#6d6654}
.card:hover,.territory-row:hover:not(.head){background:#f3f0e9}.card h3{color:#272c28}.card .score{color:#173d32}.meta,.confidence{color:#85827a}.chip{background:#f0eee8;border-color:#ddd8cd;color:#666960}.bar{background:#e1ded6}.bar i{background:#315f50}.notice{background:#f4efe3;border-color:#ddd0b4;color:#756b56}.notice b{color:#73592f}.section-intro h2{font-size:42px}.section-intro>p:last-child{color:#706f68}
.deal{background:#f4f2ec;border-color:#dedad0}.strategy-grid label,.toggles label{background:#fbfaf7;color:#77766f}.strategy-grid input,.strategy-grid select{color:#242824}.toggles input{accent-color:#173d32}.badge{background:#e8eee9;color:#315c4c}
.drawer-backdrop{background:#17201b66}.drawer{background:#f8f6f1;border-color:#d5d0c5}.drawer-score{font-family:Georgia,'Times New Roman',serif;color:#173d32}.drawer .location,.drawer-section li{color:#6d7069}.territory-tools input,.analyse-form input{background:#fff;color:#242824}.summary-pill,.territory-row{background:#faf8f3}.summary-pill b{color:#173d32}.territory-row.head{background:#ebe8e0;color:#77766f}
.analyse-state{border-color:#cfcac0;color:#858178;background:#faf8f3}.analyse-state>span{color:#173d32}.analysis-hero{background:#18372f;border-color:#18372f;color:#f5f2ea}.analysis-hero h2{color:#fff}.analysis-hero .meta{color:#b7c5bf}.source-check{border-color:#57766b;color:#dce6e1;background:#24483d}.mode-tab{background:#faf8f3;color:#666961}.mode-tab.active{border-color:#173d32;color:#173d32;background:#edf1ed}.mode-output{color:#62655f}.inline-select{color:#242824}.inline-select option{background:#fff}
.decision.go{background:#e6eee9;color:#1f5946;border-color:#b8d0c5}.decision.watch{background:#f2ead8;color:#7a5b2e;border-color:#d9c8a5}.decision.low{background:#eee5e2;color:#80534a;border-color:#d8c2bd}.evidence-row span{color:#315f50;border-color:#c7d8d0;background:#edf3ef}.timeline i{background:#173d32;box-shadow:none}.timeline b{color:#444a45}.fit-grid span{color:#74766f}.fit-grid i{background:#dedbd3}.fit-grid em{background:#315f50}
@media(max-width:700px){.sidebar{background:#18372ff5}.nav{color:#b9c8c2}.nav.active{background:#2a4c41}.section-intro h2{font-size:34px}header{background:#f4f2edf5}}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0}.tech-grid>div{background:var(--panel);padding:13px}.tech-grid span{display:block;color:#858178;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.tech-grid b{display:block;color:#29302b;font:400 15px Georgia,serif;margin-top:6px}
.decision-room{margin-top:22px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.55)}.decision-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.decision-columns h3{font-size:13px;margin:8px 0 12px}.decision-columns li{margin:8px 0;color:#5d625d;font-size:12px;line-height:1.5}.comp-list{display:grid;gap:1px;background:var(--line);margin-top:12px}.comp-list>div{display:grid;grid-template-columns:90px 1fr 1fr;gap:12px;align-items:center;background:var(--panel);padding:11px 12px}.comp-list b{font:400 14px Georgia,serif}.comp-list span,.comp-list small{font-size:10px;color:#6f746e}@media(max-width:700px){.decision-columns{grid-template-columns:1fr}.comp-list>div{grid-template-columns:75px 1fr}.comp-list small{grid-column:1/-1}}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pricing-grid article{background:var(--panel);border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;min-height:410px}.pricing-grid article.featured{border:1px solid #173d32;box-shadow:0 18px 45px rgba(23,61,50,.09);transform:translateY(-6px)}.pricing-grid h3{font:400 34px Georgia,serif;margin:8px 0}.pricing-grid h3 small{font:400 11px DM Sans}.pricing-grid>b{font-size:12px;color:#555c56}.pricing-grid ul{padding-left:18px;margin:25px 0;flex:1}.pricing-grid li{font-size:12px;color:#626861;margin:11px 0;line-height:1.45}.premium-note{display:flex;gap:20px;align-items:center;margin-top:20px;padding:18px 22px;background:#18372f;color:#f5f2ea}.premium-note span{font-size:12px;color:#b7c5bf}@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.pricing-grid article.featured{transform:none}}
.feasibility-head{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:12px}.feasibility-head>div{background:var(--panel);padding:14px}.feasibility-head span{display:block;font-size:8px;text-transform:uppercase;color:#858178}.feasibility-head b{display:block;margin-top:6px;font:400 17px Georgia,serif}.hypothesis-note{font-size:11px;line-height:1.6;color:#77766f;margin-top:12px}.economic-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.economic-line span{font-size:11px}.economic-line b{font:400 20px Georgia,serif;color:#173d32}@media(max-width:700px){.feasibility-head{grid-template-columns:1fr 1fr}.economic-line{align-items:flex-start;gap:15px}}
.reg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:12px}.reg-grid>div{background:var(--panel);padding:14px}.reg-grid b{display:block;font-size:10px;text-transform:uppercase;color:#354a40;margin-bottom:7px}.reg-grid span{font-size:11px;line-height:1.5;color:#666b65}.source-line{display:block;margin-top:12px;color:#8a877e;font-size:9px}@media(max-width:700px){.reg-grid{grid-template-columns:1fr}}
.sup-summary{display:flex;align-items:baseline;gap:10px;margin:12px 0}.sup-summary b{font:400 28px Georgia,serif;color:#173d32}.sup-summary span{font-size:11px;color:#6b706a}.sup-list{display:grid;gap:1px;background:var(--line)}.sup-list>div{display:grid;grid-template-columns:70px 1fr 150px;gap:12px;background:var(--panel);padding:11px 12px;align-items:center}.sup-list b{font-size:10px;color:#173d32}.sup-list span,.sup-list small{font-size:10px;color:#696e68}.clean-signal{padding:13px;border-left:2px solid #789287;background:#eef2ee;font-size:11px;color:#42554c}@media(max-width:700px){.sup-list>div{grid-template-columns:55px 1fr}.sup-list small{grid-column:1/-1}}
.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.scenario-grid article{border:1px solid var(--line);background:#f7f6f2;padding:15px}.scenario-grid article>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#74766f}.scenario-grid article>b{display:block;font:400 22px Georgia,serif;color:#173d32;margin-top:7px}.scenario-grid article>small{display:block;font-size:9px;color:#85867f;margin:3px 0 12px}.scenario-grid dl{display:grid;grid-template-columns:1fr auto;gap:6px;margin:0;padding-top:10px;border-top:1px solid var(--line)}.scenario-grid dt,.scenario-grid dd{font-size:9px;margin:0}.scenario-grid dt{color:#777a74}.scenario-grid dd{font-weight:600}.scenario-grid article:nth-child(2){background:#eef1ed;border-color:#aebbb4}@media(max-width:700px){.scenario-grid{grid-template-columns:1fr}}
.scenario-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.scenario-controls label{font-size:9px;text-transform:uppercase;color:#777a74}.scenario-controls input{width:100%;box-sizing:border-box;margin-top:5px;padding:9px 8px;border:1px solid var(--line);background:#fff;font:500 11px inherit;color:#26332d}.live-scenario{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:10px 0 16px}.live-scenario>div{background:#fff;padding:12px}.live-scenario span,.live-scenario small{display:block;font-size:9px;color:#7a7d77}.live-scenario b{display:block;margin-top:5px;font:400 16px Georgia,serif;color:#173d32}.live-scenario .verdict{background:#edf1ed}.live-scenario .verdict b{font-size:13px}.live-scenario .verdict small{margin-top:5px;line-height:1.35}@media(max-width:700px){.scenario-controls{grid-template-columns:repeat(2,1fr)}.live-scenario{grid-template-columns:1fr 1fr}}
.source-health{display:inline-flex;padding:5px 8px;margin:8px 0 4px;border:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.source-health.complete{background:#edf2ee;color:#315446}.source-health.partial{background:#f4efe5;color:#785f32}.source-health.unavailable,.source-health.no_geometry{background:#f3e9e6;color:#78483e}
.territorial-reading{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:10px 0 14px}.territorial-reading>div{background:#f7f6f2;padding:12px}.territorial-reading span,.territorial-reading small{display:block;font-size:9px;color:#777a74}.territorial-reading b{display:block;margin:5px 0 2px;font:400 16px Georgia,serif;color:#173d32;text-transform:capitalize}@media(max-width:700px){.territorial-reading{grid-template-columns:1fr 1fr}}.territory-signals{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.territory-signals span{padding:6px 9px;border:1px solid #d8d5cc;background:#f7f6f2;font-size:10px;color:#455149}.demand-room .analysis-grid{grid-template-columns:repeat(4,1fr)}@media(max-width:700px){.demand-room .analysis-grid{grid-template-columns:1fr 1fr}}

/* Opportunity investigation dossier */
.dossier-intro{margin:24px 0 10px;padding:18px;background:#10221b;border:1px solid #284638;border-radius:8px}
.dossier-intro h3{font:400 19px Manrope;margin:8px 0}.dossier-intro p:last-child,.dossier-section p,.dossier-section li{font-size:12px;line-height:1.65;color:#a1b5aa}
.dossier-section{border-top:1px solid #294137;padding:12px 0}
.dossier-section summary{cursor:pointer;font:500 13px Manrope;color:#dceee3;padding:9px 0}
.dossier-rows{margin:10px 0}.dossier-rows>div{display:grid;grid-template-columns:44% 1fr;gap:5px 10px;padding:11px 0;border-bottom:1px solid #1b3228}
.dossier-rows dt{font-size:11px;color:#879e91}.dossier-rows dd{margin:0;font-size:12px;color:#e6f5eb;overflow-wrap:anywhere}
.dossier-rows small{grid-column:1/-1;color:#789082;font-size:10px;line-height:1.5}
.dossier-links{display:flex;gap:9px;flex-wrap:wrap}.dossier-links a{color:#88d5aa;text-underline-offset:3px}
.dossier-warning{padding:14px;border:1px solid #62512a;background:#211c12;color:#e6d39a;font-size:11px;line-height:1.6;border-radius:7px;margin:16px 0}
@media(max-width:700px){.dossier-rows>div{grid-template-columns:1fr}.dossier-rows small{grid-column:1}.dossier-section summary{font-size:12px}}

/* Evidence-aware territory comparison */
.benchmark-list{display:grid;gap:12px;margin:16px 0}
.benchmark-list article{border:1px solid #2b4638;background:#10251c;border-radius:9px;padding:15px}
.benchmark-list h4{font:600 13px Manrope,sans-serif;margin:0 0 10px;color:#e4f2e8}
.benchmark-numbers{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.benchmark-numbers b{font-size:19px;color:#a2efc1}.benchmark-numbers span{font-size:11px;color:#a0b5a8}
.benchmark-track{height:6px;border-radius:20px;background:#2a4034;overflow:hidden;margin:10px 0}
.benchmark-track i{display:block;height:100%;background:linear-gradient(90deg,#5fa78a,#a2efc1);border-radius:20px}
.benchmark-list small{font-size:11px;color:#a0b5a8;line-height:1.5}
.benchmark-caveat,.benchmark-empty{font-size:12px;line-height:1.7;padding:13px;border:1px solid #62512a;border-radius:8px;background:#211c12;color:#e2d39b}

.dossier-print{width:100%;margin:14px 0 18px;border:1px solid #88d5aa;color:#a2efc1;background:#142d21;padding:12px;border-radius:7px;cursor:pointer}
@media print{
@page{size:A4;margin:16mm}
html,body{background:#fff!important;color:#111!important;font:10pt/1.5 Arial,sans-serif!important}
.shell,.drawer-backdrop,.drawer-close,.dossier-print{display:none!important}
.drawer{display:block!important;position:static!important;transform:none!important;width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;padding:0!important}
#drawerContent{display:block!important;overflow:visible!important;height:auto!important;color:#111!important}
#drawerContent *{color:#111!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important}
#drawerContent .drawer-score{font-size:26pt!important}
#drawerContent .dossier-section{break-inside:avoid;border-top:1px solid #bbb!important;padding:7px 0!important}
#drawerContent details{display:block!important}
#drawerContent details>summary{font-weight:bold!important}
#drawerContent .benchmark-track{border:1px solid #aaa!important;height:7px}
#drawerContent .benchmark-track i{background:#666!important;print-color-adjust:exact}
#drawerContent a{text-decoration:underline!important}
#drawerContent .drawer-cta{display:none!important}
}

.dossier-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 23px}
.dossier-kpi{padding:13px;background:#11271d;border:1px solid #2b4638;border-radius:8px;min-width:0}
.dossier-kpi span{display:block;font-size:10px;color:#9ab5a5;margin-bottom:7px}
.dossier-kpi strong{display:block;font:600 17px Manrope,sans-serif;color:#a2efc1;overflow-wrap:anywhere}
.dossier-kpi small{display:block;font-size:10px;color:#90a698;margin-top:6px}
@media(max-width:420px){.dossier-kpis{grid-template-columns:1fr}}
@media print{#drawerContent .dossier-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}#drawerContent .dossier-kpi{border:1px solid #bbb!important;padding:8px!important;break-inside:avoid}#drawerContent .dossier-kpi strong{font-size:13pt!important}}

.workspace-hint{color:#9db4a5;font-size:12px;margin:0 0 18px}
.deal-open{background:transparent;color:#e8f6ed;border:0;padding:0;font:600 13px Manrope,sans-serif;text-align:left;cursor:pointer}
.deal-open:hover{color:#a2efc1}
.deal-label{display:block;font-size:10px;color:#9cb3a5;margin-top:12px}
.deal-label select{display:block;margin-top:6px;width:100%;background:#12281d;color:#e8f6ed;border:1px solid #365746;border-radius:6px;padding:8px}
#strategyFeedback{font-size:12px;color:#a2efc1;margin-top:14px}

.territory-inspect{border:1px solid #3e6951;border-radius:6px;background:#142c21;color:#a2efc1;padding:7px 9px;cursor:pointer}
.territory-insight{padding:22px;margin:20px 0;border:1px solid #355443;border-radius:12px;background:#12251c}
.territory-insight h3{margin:0 0 8px;color:#d8f4e3}
.territory-insight p{color:#a5bcae;font-size:12px}
.territory-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:17px 0}
.territory-metrics>div{padding:12px;border:1px solid #355443;border-radius:8px}
.territory-metrics small,.territory-metrics span{display:block;color:#91ad9c;font-size:11px}
.territory-metrics strong{display:block;color:#c6f5d6;font-size:17px;margin:6px 0}

.casebook{margin:22px 0;padding:18px;border:1px solid #365644;border-radius:10px;background:#12271d}
.casebook h3{margin:0 0 8px;color:#c7efd7}
.casebook label{display:block;color:#a4beac;font-size:12px;margin:13px 0}
.casebook textarea,.casebook input{display:block;box-sizing:border-box;width:100%;margin-top:7px;padding:10px;background:#0c1c15;border:1px solid #3a5c49;border-radius:6px;color:#e6f5eb;font:inherit}
.casebook ul{padding-left:20px;color:#a4beac;font-size:11px}
#caseFeedback{color:#a5edc2;font-size:12px}
@media print{.casebook{border:1px solid #aaa!important}.casebook button{display:none!important}.casebook textarea,.casebook input{border:0!important;padding:3px!important;color:#111!important}}

.radar-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:12px 0}
.radar-controls label{flex:1 1 125px;font-size:10px;color:#9cb8a6}
.radar-controls input,.radar-controls select{box-sizing:border-box;display:block;width:100%;padding:9px;background:#11251a;color:#e2f3e8;border:1px solid #395743;border-radius:7px;margin-top:5px}
#radarReset{padding:9px;background:transparent;border:1px solid #3b614b;color:#a6d6b7;border-radius:7px;cursor:pointer}

.feasibility{margin:30px 0;padding:24px;border:1px solid #355442;border-radius:14px;background:#11251b}
.feasibility h2{margin:8px 0;color:#d8f4e2}
.feasibility>p{color:#a2bbaa;font-size:13px}
.feasibility-grid,.feasibility-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px;margin:20px 0}
.feasibility-grid label{font-size:12px;color:#a9c3b2}
.feasibility-grid input{box-sizing:border-box;width:100%;display:block;margin-top:6px;padding:11px;border-radius:7px;background:#0b1c13;border:1px solid #385c46;color:#eff9f2}
.feasibility-actions{display:flex;gap:9px;flex-wrap:wrap}
.feasibility-actions button{cursor:pointer;padding:10px 13px;border-radius:7px;border:1px solid #45654f;background:#183626;color:#d9f1df}
.feasibility-kpis>div{padding:15px;border:1px solid #365543;border-radius:9px}
.feasibility-kpis small{display:block;color:#a1b9a8;font-size:11px}
.feasibility-kpis strong{display:block;color:#b6f0c8;font-size:20px;margin-top:7px}
.feas-warning{color:#f4b9a8}

.pipeline-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0}
.pipeline-actions button,.pipeline-actions select,.feasibility-actions button{border:1px solid #45654f;border-radius:7px;background:#183626;color:#d9f1df;padding:10px;cursor:pointer}
.pipeline-actions label{color:#a5c3ae;font-size:12px}
.scenario-scroll{overflow-x:auto;margin:16px 0}.scenario-scroll table{width:100%;border-collapse:collapse;min-width:570px;color:#d8efdf}.scenario-scroll td,.scenario-scroll th{padding:11px;border-bottom:1px solid #365442;text-align:left;font-size:12px}.scenario-scroll button{color:#a5e8b8;background:transparent;border:1px solid #42684f;padding:5px;cursor:pointer}

.territory-compare{margin:18px 0;padding:20px;border:1px solid #365543;border-radius:12px;background:#10251b}
.territory-compare h3{margin:0 0 8px;color:#d9f1e2}
.territory-compare p,.territory-compare span{font-size:12px;color:#a8bfad}
.territory-compare button{margin:8px 8px 8px 0;padding:9px;border:1px solid #426a51;border-radius:7px;background:#183727;color:#b4ebc7;cursor:pointer}

.feasibility,.territory-compare,.territory-insight,.casebook{background:#faf8f3;border-color:#dedbd2;color:#344b3c}
.feasibility h2,.territory-compare h3,.casebook h3{color:#193b2c}
.feasibility-grid input,.casebook input,.casebook textarea,.radar-controls input{background:#fff;color:#273b30}
.territory-row{grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:8px;min-width:650px}
.territory-table{overflow-x:auto;max-width:100%}
@media(max-width:700px){.feasibility-grid,.feasibility-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.feasibility-grid,.feasibility-kpis{grid-template-columns:1fr}}

.cadastre-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;background:#f5f6f1;border-top:1px solid #d8dfd7;font-size:11px;color:#4b6253}
.cadastre-toolbar label{display:flex;align-items:center;gap:7px;font-weight:600}.cadastre-toolbar input{accent-color:#147c52}
.parcel-inspect{position:relative;background:#f9faf5;border:1px solid #d2ded4;padding:17px;margin:10px 0;color:#2b4535;border-radius:10px}
.parcel-inspect[hidden]{display:none}.parcel-inspect h3{font:400 24px Georgia,serif;margin:5px 0}.parcel-inspect p{font-size:12px;color:#647568}
.parcel-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.parcel-stats>div{padding:10px;background:#edf3ec;border-radius:6px}.parcel-stats small{display:block;font-size:10px;color:#667d6b}.parcel-stats strong{display:block;font-size:15px;margin-top:5px}
#parcelInfoClose{position:absolute;right:10px;top:10px;background:transparent;border:0;font-size:23px;cursor:pointer}
#parcelAnalyze{background:#1b6246;border:0;border-radius:6px;color:white;padding:11px 15px;cursor:pointer}
@media(max-width:600px){.cadastre-toolbar{align-items:flex-start}.parcel-stats{grid-template-columns:1fr 1fr}}

.parcel-context{border-top:1px solid #d8e0d5;margin-top:15px;padding-top:12px;color:#294937}
.parcel-context h4{font-size:15px;margin:0 0 12px}.parcel-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.parcel-context-grid article{padding:12px;background:#eef3eb;border:1px solid #dce7d8;border-radius:7px}
.parcel-context-grid small{font-size:10px;color:#5c7765;display:block}.parcel-context-grid strong{font-size:15px;color:#244a32;display:block;margin-top:8px;overflow-wrap:anywhere}.parcel-context-grid p{font-size:10px}
@media(max-width:700px){.parcel-context-grid{grid-template-columns:1fr}}

.nearby-sales{margin-top:15px;border-top:1px solid #d9e1d7;padding-top:12px}.nearby-sales h4{margin:0 0 8px;font-size:14px}.nearby-sales label{display:flex;align-items:center;gap:8px;font-size:11px}.nearby-sales select{background:#fff;border:1px solid #b9cabb;border-radius:5px;color:#284835;padding:7px}.nearby-sales strong{display:block;margin-top:10px;font-size:13px;color:#224d34}

.metro-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;background:#e9f0e9;color:#35543d;border-top:1px solid #d5dfd4;font-size:11px}.metro-toolbar label{font-weight:650}.metro-toolbar select{max-width:240px;min-width:165px;border:1px solid #b7cbb9;border-radius:6px;background:white;color:#244b32;padding:9px}.metro-toolbar span{color:#607b68}

/* Dated DVF observations in parcel inspection */
.nearby-sales-list{display:grid;gap:8px;margin:12px 0}.nearby-sale{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border:1px solid rgba(30,55,49,.13);border-radius:12px;background:rgba(255,255,255,.55)}.nearby-sale span{font-size:12px}.nearby-sale strong{font-size:13px;white-space:nowrap}.nearby-sale small{grid-column:1/-1;color:#64736c;font-size:11px}

/* Research map / study notebook */
.sales-toolbar,.study-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;background:#f4f6f0;border-bottom:1px solid rgba(34,58,48,.13);font-size:12px}.sales-toolbar label{display:flex;align-items:center;gap:6px}.sales-toolbar select,.sales-toolbar input[type=number]{max-width:135px;min-height:32px;border:1px solid #ccd8cf;border-radius:8px;padding:4px 7px;background:#fff}.sales-toolbar #salesStatus{flex:1;min-width:180px;color:#53645b}.study-toolbar button{border:1px solid #b6cbbd;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}.study-toolbar span{font-size:11px;color:#53645b}.study-list{display:flex;gap:7px;flex-wrap:wrap;padding:0 12px}.study-entry{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#e9efe7;border-radius:9px;font-size:11px}.study-entry button{border:0;background:transparent;cursor:pointer;color:#224b3d}.dvf-sale-marker{width:27px;height:27px;border:2px solid white;border-radius:50%;background:#125846;color:#fff;box-shadow:0 2px 8px #0004;cursor:pointer;font-weight:700;font-size:12px}.dvf-sale-marker:hover{transform:scale(1.15);background:#f26d58}.sales-detail{position:absolute;z-index:15;bottom:20px;left:16px;width:min(360px,calc(100% - 32px));background:#fff;border:1px solid #d4dfd7;border-radius:14px;padding:15px;box-shadow:0 8px 28px #0002;font-size:13px}.sales-detail[hidden]{display:none}.sales-detail h3{margin:0 22px 8px 0;font-size:16px}.sales-detail p{margin:6px 0}.sales-detail #salesDetailClose{float:right;border:0;background:transparent;font-size:22px;cursor:pointer}@media(max-width:680px){.sales-toolbar,.study-toolbar{gap:7px;padding:9px}.sales-toolbar label{font-size:11px}.sales-toolbar #salesStatus{flex-basis:100%}.study-list{max-height:100px;overflow:auto}}

/* UX pass: navigation clarity and keyboard focus */
.workspace-beta{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:5px;background:#dff0e7;color:#175941;font-size:9px;letter-spacing:.06em}.nav:focus-visible,.ghost:focus-visible,.primary:focus-visible,.dvf-sale-marker:focus-visible,.study-toolbar button:focus-visible,.study-entry button:focus-visible{outline:3px solid #f4a86b;outline-offset:3px}.nav,.ghost,.primary{transition:background-color .16s ease,color .16s ease}.sales-toolbar select:focus-visible,.sales-toolbar input:focus-visible{outline:2px solid #2b9270;outline-offset:2px}@media(prefers-reduced-motion:reduce){.nav,.ghost,.primary,.dvf-sale-marker{transition:none}}

.research-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:16px;background:linear-gradient(115deg,#103a31,#185c4b);color:#fff;border-radius:18px}.research-intro .kicker{color:#a9ddcb}.research-intro h2{font-size:clamp(20px,2.4vw,30px);font-weight:500;letter-spacing:-.03em;margin:8px 0}.research-intro p:not(.kicker){font-size:13px;line-height:1.6;max-width:650px;color:#d5e9e0}.research-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.research-actions button{padding:11px 14px;border:1px solid #ffffff66;background:#ffffff16;border-radius:10px;color:#fff;cursor:pointer;white-space:nowrap}.research-actions button:hover{background:#ffffff30}.research-actions button:focus-visible{outline:3px solid #ffc88c;outline-offset:3px}.study-highlight{outline:3px solid #36b78b;outline-offset:6px;border-radius:8px}@media(max-width:950px){.research-intro{flex-direction:column;align-items:flex-start}.research-actions{justify-content:flex-start}}@media(max-width:560px){.research-intro{padding:19px}.research-actions{width:100%}.research-actions button{flex:1 1 100%;text-align:center}}

/* Mobile-first readability and information architecture — October UX audit */
:root{color-scheme:dark}
body{font-size:16px;line-height:1.5}
.secondary-nav[hidden]{display:none!important}
.secondary-nav{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.nav{font-size:15px;min-height:46px;line-height:1.35}
.nav i{font-size:12px}
.workspace-label,.kicker{font-size:12px;letter-spacing:.09em}
.status b,.profile b{font-size:13px}
.status small,.profile small{font-size:12px}
.ghost,.primary{font-size:14px;min-height:44px}
.strategybar span,.metrics span,.metrics small,.meta,.chip,.confidence,.map-legend,.count,.card .score,.notice,.column-head,.deal small,.strategy-grid label,.toggles label,.source p,.badge,.score-part span,.drawer-section li,.summary-pill,.territory-row,.territory-row.head,.analyse-state p{font-size:max(12px,1em)}
.strategybar b,.strategybar button,.card h3,.deal b,.drawer-section h3{font-size:14px}
.metrics small,.meta,.confidence,.source p,.drawer-section li{color:#a8bdb2}
.panel-head h2{font-size:19px}
.card{padding:19px 20px}
.card h3{font-size:16px}
.chip{font-size:12px;padding:6px 9px}
.sales-toolbar label,.sales-toolbar #salesStatus,.study-toolbar span,.study-entry{font-size:14px}
.sales-toolbar input,.sales-toolbar select,.study-toolbar button,.study-entry button{min-height:44px;font-size:14px}
.sales-detail{font-size:15px}
.research-intro p:not(.kicker){font-size:15px}
@media(min-width:1051px){.secondary-nav{margin-left:0}.secondary-nav .nav{width:100%}}
@media(min-width:701px) and (max-width:1050px){.secondary-nav{position:absolute;top:235px;left:68px;z-index:60;background:#0b1a14;border:1px solid #355548;border-radius:12px;padding:10px;min-width:190px;box-shadow:0 12px 30px #0007}.secondary-nav .nav{justify-content:flex-start}.secondary-nav .nav span{display:inline;font-size:14px}}
@media(max-width:700px){
 body{font-size:16px}
 .sidebar{height:76px;padding:7px 5px;bottom:0}
 .sidebar nav{gap:2px;height:100%;align-items:stretch}
 .nav{min-width:0;min-height:58px;gap:3px;padding:7px 3px;font-size:20px;border-radius:9px}
 .nav span{font-size:11px;line-height:1.2;white-space:normal;text-align:center}
 .app{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 header{height:auto;min-height:74px;padding:12px 16px;gap:10px}
 h1{font-size:22px}
 .kicker{font-size:11px}
 .header-actions .primary{font-size:13px;padding:10px}
 .view{padding:14px 12px 28px}
 .secondary-nav{position:fixed;bottom:calc(82px + env(safe-area-inset-bottom));right:8px;left:8px;z-index:110;padding:12px;background:#0e2019;border:1px solid #3a6b56;border-radius:16px;box-shadow:0 0 0 100vmax #0008,0 14px 40px #0009}
 .secondary-nav .nav{flex-direction:row;justify-content:flex-start;gap:14px;font-size:20px;min-height:54px;padding:10px 16px}
 .secondary-nav .nav span{font-size:16px;text-align:left}
 .metrics article{padding:16px}
 .metrics span,.metrics small{font-size:12px}
 .metrics strong{font-size:27px}
 .panel-head{padding:15px 12px}
 .segmented button{font-size:13px;min-height:40px}
 .cards{max-height:none}
 .card h3{font-size:16px}
 .notice{font-size:13px;line-height:1.5;flex-wrap:wrap}
 .strategybar{padding:14px;gap:18px}
 .strategybar span{font-size:11px}
 .strategybar b{font-size:14px}
 .study-list{max-height:180px}
 .sales-toolbar label{font-size:14px}
 .territory-row{font-size:13px}
 .drawer{padding:26px 18px 95px}
 .drawer-section li{font-size:14px}
}
@media(max-width:360px){.nav span{font-size:10px}.header-actions .primary{font-size:12px}}

/* Layout stabilization: keep every application screen inside its viewport */
html,body{max-width:100%;overflow-x:clip}
.shell,.app,.view,.radar-layout,.map-panel,.list-panel,.panel-head,.strategybar,.research-intro,.metrics,.pipeline,.strategy-grid,.sources,.pricing-grid,.feasibility-grid{min-width:0}
.app{width:100%;overflow-x:clip}
.view{max-width:100%}
.view>*{max-width:100%}
.panel-head{height:auto;min-height:72px;gap:12px;flex-wrap:wrap}
.panel-head>div{min-width:0}
.segmented{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.segmented button{flex:0 0 auto}
.strategybar{flex-wrap:wrap;gap:14px 22px}
.strategybar>div{min-width:0}
.strategybar .inline-select{max-width:100%;width:min(100%,260px)}
.strategybar button{margin-left:0}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.metrics article{min-width:0}
.radar-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr)}
.map-panel,.list-panel{min-width:0}
.metro-toolbar,.cadastre-toolbar,.sales-toolbar,.study-toolbar{max-width:100%;min-width:0}
.metro-toolbar select,.sales-toolbar select,.sales-toolbar input{max-width:100%;min-width:0}
.study-list{min-width:0;overflow-wrap:anywhere}
.study-entry{max-width:100%;flex-wrap:wrap;overflow-wrap:anywhere}
.research-intro>div{min-width:0}
.research-actions{min-width:0}
.research-actions button{white-space:normal;overflow-wrap:anywhere}
.territory-tools,.analyse-form{min-width:0}
.territory-tools input,.analyse-form input{min-width:0}
.territory-table{max-width:100%;overflow-x:auto}
.territory-row{min-width:0;overflow-wrap:anywhere}
.pricing-grid,.feasibility-grid,.pipeline,.sources,.strategy-grid{max-width:100%}
.pricing-grid>*,.feasibility-grid>*,.pipeline>*,.sources>*,.strategy-grid>*{min-width:0;overflow-wrap:anywhere}
.drawer{max-width:100vw;overflow-x:hidden}
.drawer *{overflow-wrap:anywhere}
.sales-detail{max-width:calc(100% - 32px);overflow-wrap:anywhere}
header .header-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}
header>div:first-child{min-width:0}
@media(max-width:1050px){.radar-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 .view{padding:14px 12px 26px}
 .shell{width:100%;overflow-x:clip}
 header{flex-wrap:wrap;align-items:center}
 header h1{overflow-wrap:anywhere}
 .header-actions{max-width:100%}
 .strategybar{overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .strategybar>div{min-width:0}
 .strategybar>div b{overflow-wrap:anywhere}
 .strategybar select{width:100%}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metrics article{padding:13px}
 .panel-head{display:flex;flex-direction:column;align-items:stretch}
 .segmented{width:100%;overflow-x:auto}
 .metro-toolbar{align-items:stretch;flex-direction:column}
 .metro-toolbar select{width:100%;max-width:100%;min-height:44px;font-size:16px}
 .sales-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .sales-toolbar label{min-width:0;flex-wrap:wrap;align-content:start}
 .sales-toolbar label:first-child,.sales-toolbar #salesStatus{grid-column:1/-1}
 .sales-toolbar select,.sales-toolbar input[type=number]{width:100%;max-width:100%;font-size:16px}
 .study-toolbar{align-items:stretch;flex-direction:column}
 .study-toolbar button{width:100%}
 .study-list{padding:10px}
 .study-entry{width:100%;justify-content:space-between;font-size:14px}
 .radar-layout{min-height:0}
 #map{height:min(56vh,470px);min-height:310px}
 .map-legend{max-width:calc(100% - 24px);flex-wrap:wrap;gap:8px}
 .territory-row{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr);gap:6px;padding:12px 9px}
 .analyse-form{flex-wrap:wrap}
 .analyse-form input{flex:1 1 100%;font-size:16px}
 .analyse-form button{min-height:44px}
 .pipeline,.sources,.strategy-grid,.pricing-grid,.feasibility-grid{grid-template-columns:minmax(0,1fr)}
 .research-intro{padding:18px}
 .research-intro h2{font-size:23px;line-height:1.25}
 .research-actions{width:100%}
 .research-actions button{width:100%;min-height:44px}
 .drawer{width:100%;padding:28px 18px 100px}
 .score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){.strategybar{grid-template-columns:minmax(0,1fr)}.sales-toolbar{grid-template-columns:minmax(0,1fr)}}

/* Tablet: collapse sidebar content rather than clipping it inside 70px */
@media(min-width:701px) and (max-width:1050px){
 .sidebar{width:70px;min-width:0;overflow:visible;padding:20px 8px}
 .sidebar .logo{font-size:0;justify-content:center;min-width:0}
 .sidebar .logo b{display:none}
 .sidebar .radar-icon{flex:0 0 24px}
 .sidebar .workspace-label,.sidebar .side-bottom{display:none}
 .sidebar nav{width:100%;gap:6px}
 .sidebar .nav{width:100%;min-width:0;padding:12px 0;min-height:48px;justify-content:center;font-size:21px}
 .sidebar .nav>span,.sidebar .nav>i{display:none}
 .sidebar .secondary-nav{width:210px;left:68px;top:205px}
 .sidebar .secondary-nav .nav{justify-content:flex-start;gap:10px;padding:10px 12px;font-size:17px}
 .sidebar .secondary-nav .nav>span{display:inline;font-size:14px}
}

/* Browser-tested viewport refinements (320–1440px). */
@media(max-width:700px){
 .map-panel .panel-head{overflow:hidden}
 .map-panel .segmented{min-width:0;max-width:100%;overscroll-behavior-x:contain}
 .map-panel .region-filter{flex-shrink:0;min-width:max-content;padding:10px 12px;font-size:13px}
 .radar-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .radar-controls label{min-width:0;flex-basis:auto;font-size:14px}
 .radar-controls input,.radar-controls select{min-width:0;min-height:44px;font-size:16px}
 .maplibregl-map{overflow:hidden}
 .maplibregl-marker{max-width:none}
}
@media(max-width:360px){.radar-controls{grid-template-columns:minmax(0,1fr)}}
@media(min-width:701px) and (max-width:1050px){.sidebar nav{min-width:0}.sidebar .nav{overflow:hidden}.sidebar .nav span{display:none}.sidebar .nav i{display:none}}

/* Land due diligence: accessible, tappable checklist */
.diligence{margin:18px 0;padding:14px;border:1px solid #3d634d;border-radius:10px;background:#0d2017}.diligence h4{display:flex;justify-content:space-between;gap:12px;margin:0 0 8px;color:#d8f5e3;font-size:16px}.diligence h4 span{white-space:nowrap;color:#a8e2be}.casebook .diligence-item{display:flex;align-items:flex-start;gap:11px;padding:11px 0;margin:0;border-bottom:1px solid #34513e;color:#e2f0e5;font-size:14px;line-height:1.5;cursor:pointer}.diligence-item:last-child{border-bottom:0}.casebook .diligence-item input{width:20px;height:20px;flex:0 0 20px;margin:1px 0;accent-color:#39ba81}.diligence-item span{min-width:0;overflow-wrap:anywhere}

/* Official parcel verification actions */
.parcel-official-links{margin:16px 0;padding:15px;border:1px solid #365a45;border-radius:12px;background:#10251a}.parcel-official-links h4{font-size:16px;margin:0 0 8px;color:#d9f2df}.parcel-link-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.parcel-link-actions a,.parcel-link-actions button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;min-height:44px;padding:10px;border-radius:9px;border:1px solid #507a5d;background:#1b3928;color:#e9f8ec;text-decoration:none;font:inherit;font-size:13px;cursor:pointer;overflow-wrap:anywhere}.parcel-link-actions a:hover,.parcel-link-actions button:hover{background:#2a4d35}.parcel-coordinates{font-size:13px;color:#afcbb7;overflow-wrap:anywhere}@media(max-width:390px){.parcel-link-actions{grid-template-columns:minmax(0,1fr)}}

.parcel-prescriptions{margin:14px 0;padding:14px;border:1px solid #4b7657;border-radius:10px;background:#132c1d}.parcel-prescriptions h4{margin:0 0 9px;font-size:15px;color:#d9f5df}.parcel-prescriptions strong{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.parcel-prescriptions p{margin:8px 0}

/* Exportable parcel study: accessible action on narrow screens */
.parcel-print-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:14px 0;padding:11px 16px;border:1px solid #73bd8c;border-radius:10px;background:#244d34;color:#f1fff4;font:inherit;font-size:14px;font-weight:700;line-height:1.4;text-align:center;cursor:pointer;overflow-wrap:anywhere}.parcel-print-button:hover{background:#316445}.parcel-print-button:focus-visible{outline:3px solid #a6edba;outline-offset:3px}

/* Evidence-first parcel qualification */
.parcel-evidence{margin:16px 0;padding:15px;border:1px solid #3b6550;border-radius:12px;background:#10241b}.parcel-evidence h4{margin:0 0 12px;font-size:16px;color:#e2f5e8}.parcel-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.parcel-evidence-grid>div{padding:12px;border-radius:9px;background:#1b3627;min-width:0}.parcel-evidence-grid strong{display:block;font-size:14px;color:#e4f6e8;overflow-wrap:anywhere}.parcel-evidence-grid small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#b0cdb9;overflow-wrap:anywhere}@media(max-width:390px){.parcel-evidence-grid{grid-template-columns:minmax(0,1fr)}}

/* Parcel data provenance and completeness */
.parcel-quality{padding:16px;margin:14px 0 20px;border:1px solid #4a755c;border-radius:12px;background:#12291d}.parcel-quality h4{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 10px;font-size:16px}.parcel-quality h4 span{font-size:12px;color:#b4d9c2}.parcel-quality-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.parcel-quality-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:8px;background:#193624;min-width:0}.parcel-quality-row>strong{flex:0 0 auto;border-radius:5px;padding:3px 6px;font-size:11px}.quality-ready{color:#b5f4d0;background:#225339}.quality-missing{color:#f1d6a5;background:#5c4222}.parcel-quality-row div{min-width:0}.parcel-quality-row b{display:block;font-size:13px;overflow-wrap:anywhere}.parcel-quality-row small{display:block;color:#b3c9ba;font-size:12px;line-height:1.4}@media(max-width:700px){.parcel-quality-list{grid-template-columns:minmax(0,1fr)}}

.pipeline-export{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:10px 0 16px;padding:10px 16px;border:1px solid #47785b;border-radius:10px;color:#e5f5e8;background:#173725;font:inherit;font-size:14px;cursor:pointer}.pipeline-export:hover{background:#265338}@media(max-width:700px){.pipeline-export{width:100%;white-space:normal;text-align:center}}
