@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#243d33;--muted:#7a8981;--green:#175440;--soft:#e9f0e8;--lime:#e9edce;--bg:#f6f8f5;--line:#e4eae2;--white:#fff;--amber:#b78334;--red:#ad6654;--shadow:0 12px 45px #29433108}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #93b69d;outline-offset:3px}a{color:var(--green)}.skip{position:fixed;top:-60px;left:260px;background:var(--green);color:#fff;padding:10px;z-index:100}.skip:focus{top:10px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.035em}h1{font-size:34px;font-weight:750;line-height:1.22}h2{font-size:20px;line-height:1.3;font-weight:700}h3{font-size:16px;font-weight:700}h4{font-size:14px}small,.small{font-size:12px}.muted{color:var(--muted)}.tiny{font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:650}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:650;color:var(--green);margin-bottom:12px}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.layout{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;width:224px;background:#fff;border-right:1px solid var(--line);padding:30px 18px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:0 12px 29px;text-decoration:none;color:var(--ink)}.brand img{width:35px;height:35px}.brand strong{font:800 21px Manrope,Arial;letter-spacing:-.8px}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-top:3px}.navgroup{margin:13px 12px 7px;color:#95a099;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:650}.navitem{width:100%;border:0;border-radius:9px;display:flex;gap:12px;align-items:center;background:none;color:#697a6e;padding:11px 12px;text-align:left;font-size:12px;font-weight:500;position:relative}.navitem:hover{background:#f4f7f2;color:var(--green)}.navitem.active{background:var(--soft);color:var(--green);font-weight:700}.navitem.active:before{content:'';position:absolute;left:-18px;top:10px;bottom:10px;width:3px;background:var(--green);border-radius:0 3px 3px 0}.navitem .index{margin-left:auto;font-size:9px;opacity:.55}.sidefoot{margin-top:auto;padding:20px 12px 0}.sidefoot button{border:0;background:none;padding:8px 0;display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px}.madeby{margin-top:15px;padding-top:15px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);letter-spacing:.04em}.madeby b{color:var(--ink);letter-spacing:.13em}.workspace{grid-column:2;min-width:0}.topbar{height:76px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fafbf9}.crumb{font-size:11px;color:var(--muted);display:flex;gap:12px;align-items:center}.crumb b{color:var(--ink);font-weight:500}.topright{display:flex;align-items:center;gap:18px}.demo{font-size:10px;display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);padding:5px 9px;border-radius:30px;color:#6c7e6b;background:#fff}.dot{width:5px;height:5px;background:#749269;border-radius:50%;display:inline-block}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e9edde;color:#48623c;font-size:10px;font-weight:700}.linkbtn{border:0;background:none;color:var(--green);font-size:12px;font-weight:600;padding:0;display:inline-flex;gap:7px;align-items:center}.linkbtn .icon{width:14px;height:14px}.mobilemenu{display:none}.content{max-width:1550px;margin:auto;padding:38px 44px 26px;animation:enter .3s ease}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:28px}.pagehead p{margin-top:10px;font-size:13px;color:var(--muted);max-width:650px}.pageactions{display:flex;gap:9px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:10px 15px;font-size:12px;font-weight:600;min-height:39px;text-decoration:none;transition:background .15s,transform .15s}.btn:hover{background:var(--soft)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:#23644e}.btn.soft{background:var(--soft);border-color:var(--soft);color:var(--green)}.btn.compact{padding:7px 10px;min-height:32px;font-size:11px}.btn .icon{width:16px;height:16px}.btn.block{width:100%}.btn.warn{color:#986933;background:#fbf5e9;border-color:#edddc0}.iconbtn{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 25px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:10px;color:var(--muted);font-weight:500}.field select,.field input,.input,.field textarea{min-height:40px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 11px;color:var(--ink);font-size:12px;max-width:100%;min-width:0}.field select{min-width:138px;cursor:pointer}.field.grow{flex:1}.filterdivider{height:32px;width:1px;background:var(--line);margin:15px 4px 0}.filter-note{margin-left:auto;color:var(--muted);font-size:10px}.filtertag{font-size:10px;padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.pad{padding:25px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.panelhead p{font-size:11px;color:var(--muted);margin-top:4px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:16px}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.grid-even{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mb{margin-bottom:22px}.metricrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:23px 0;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:24px}.metric{padding:0 25px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric .label{font-size:11px;color:var(--muted)}.metric .num{font:700 30px Manrope,Arial;letter-spacing:-1.3px;margin:9px 0 5px;line-height:1.2}.metric .foot{font-size:10px;color:var(--muted)}.metric .foot.positive{color:#477354}.pill{display:inline-flex;align-items:center;gap:5px;background:var(--soft);color:#4f775c;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:500;white-space:nowrap}.pill.amber{background:#fbf2e2;color:#98723c}.pill.red{background:#faece6;color:#a16a55}.pill.blue{background:#eef3f6;color:#647f8f}.pill.gray{background:#f1f3f1;color:#7d8980}.tagline{font-size:10px;color:var(--muted);margin-top:10px}.conclusion{display:flex;gap:15px;align-items:center;padding:18px 22px;background:#edf2e7;border:1px solid #e1e8d7;border-radius:10px;margin-top:23px}.conclusion .icon{color:#5d794f}.conclusion strong{font-size:12px;font-weight:600;display:block}.conclusion p{font-size:11px;color:#75836b;margin-top:3px}.conclusion .btn{margin-left:auto;flex-shrink:0;background:#fff8;border-color:#dbe4d1}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;text-align:left;padding:13px 16px;background:#f8faf7;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:15px 16px;border-bottom:1px solid #eef1eb;vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.tabletitle{padding:23px 25px 18px}.tabletitle h2{font-size:16px}.tablerowbtn{border:0;background:none;color:var(--green);font-weight:600;font-size:12px;text-align:left;padding:0}.numcell{font-variant-numeric:tabular-nums}.progress{height:5px;background:#eff2eb;border-radius:5px;overflow:hidden}.progress span{display:block;height:100%;background:#779971;border-radius:5px}.progress.thick{height:8px}.barrow{display:grid;grid-template-columns:110px 1fr 45px;gap:15px;align-items:center;margin-bottom:21px;font-size:11px}.barrow:last-child{margin:0}.barrow button{border:0;background:none;padding:0;text-align:left;color:var(--ink);font-size:11px}.barrow strong{font-size:12px;text-align:right;font-weight:500}.barrow .progress{height:12px}.stat-card{padding:19px;border:1px solid var(--line);border-radius:9px}.stat-card strong{font:700 24px Manrope;display:block;margin-top:10px}.stat-card p{font-size:11px;color:var(--muted);margin-top:6px}.panelnote{padding:12px 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);background:#fcfdfb}.pagefoot{display:flex;justify-content:space-between;margin-top:24px;font-size:9px;color:#94a091;gap:15px}.pagefoot a{color:inherit}.tabs{display:flex;padding:4px;background:#f1f4ee;border-radius:7px;gap:3px;align-items:center;flex-wrap:wrap}.tabs button{border:0;padding:7px 12px;font-size:11px;color:var(--muted);background:none;border-radius:5px;display:flex;align-items:center;gap:6px}.tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 5px #253b2510}.tabs .icon{width:14px;height:14px}.empty{padding:45px 25px;text-align:center;color:var(--muted);font-size:12px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:white}.search input{border:0;outline:0!important;min-width:0;width:100%;font-size:12px;background:transparent;color:var(--ink)}.search .icon{width:15px;color:var(--muted)}
/* Citizen listening room */
.citizen-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;max-width:1050px;margin:15px auto 0;align-items:start}.invitation{padding:34px 0}.invitation h1{font-size:46px;line-height:1.16;font-weight:650;max-width:440px}.invitation h1 em{font-style:normal;color:#799063}.invitation>p{font-size:14px;line-height:1.8;max-width:360px;color:var(--muted);margin:20px 0 30px}.campaignbadge{display:inline-flex;gap:7px;align-items:center;border-radius:6px;background:#eaf0e4;color:#5b7651;font-size:10px;padding:6px 10px;margin-bottom:24px}.wavecard{margin:24px 0;padding:18px 20px;background:#e9eedf;border-radius:12px;display:flex;align-items:center;gap:15px;max-width:370px}.playbtn{width:38px;height:38px;background:var(--green);color:white;border:0;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.wave{display:flex;gap:3px;align-items:center;height:27px;flex:1}.wave i{display:block;flex:1;max-width:4px;background:#8b9f72;border-radius:3px}.wave.playing i{animation:wave .6s infinite alternate}.voicecaption{font-size:10px;color:#70825f;margin-top:4px}.journey{display:flex;gap:21px;margin-top:32px;color:#89957f;font-size:10px}.journey span{display:flex;align-items:center;gap:7px}.journey b{height:22px;width:22px;border:1px solid #dce5d4;border-radius:50%;display:grid;place-items:center;color:#637b58;font-size:9px}.privacyline{font-size:10px;color:var(--muted);max-width:340px;margin-top:28px;display:flex;gap:8px}.privacyline .icon{width:13px;height:13px}.chatcard{border:1px solid #dfe6d9;background:#fff;border-radius:18px;box-shadow:0 20px 80px #394c2e09;overflow:hidden}.chathead{padding:18px 21px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.botavatar{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:var(--soft);color:var(--green)}.chathead strong{font-size:12px;font-weight:600}.chathead small{display:block;color:var(--muted);font-size:9px}.chathead select{margin-left:auto;border:0;background:#f5f7f1;padding:6px;border-radius:5px;font-size:10px;color:var(--ink);max-width:118px}.chatbody{padding:23px;min-height:335px}.chatbubble{background:#f5f7f2;border-radius:0 13px 13px 13px;padding:15px 17px;font-size:13px;line-height:1.65;margin-bottom:18px}.chatbubble.user{background:#e8f0e6;margin-left:45px;border-radius:13px 0 13px 13px}.chatmeta{font-size:9px;color:var(--muted);text-align:center;margin:0 0 20px}.optiongrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.option{border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;padding:13px 12px;display:flex;gap:10px;align-items:center;font-size:11px;color:var(--ink)}.option:hover,.option.selected{border-color:#9bb692;background:#f1f6ed}.option.selected{box-shadow:inset 0 0 0 1px #9bb692}.option .icon{color:#799473;width:17px;height:17px}.chatbottom{padding:15px 22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fdfefb}.chatbottom small{font-size:9px;color:var(--muted)}.chatsteps{display:flex;gap:5px}.chatsteps i{width:17px;height:3px;background:#e5ebdf;border-radius:5px}.chatsteps i.active{background:#6e9066}.chatfields{display:grid;gap:12px}.chatfields select{width:100%}.chatfields textarea{width:100%;resize:vertical;min-height:88px}.success-circle{width:60px;height:60px;display:grid;place-items:center;margin:8px auto 20px;border-radius:50%;background:#e7f0e2;color:var(--green)}.success-circle .icon{width:28px;height:28px}.receipt{text-align:center}.receipt h2{font-size:22px}.receipt p{font-size:12px;color:var(--muted);margin:10px 0 23px}.receiptid{background:#f5f7f1;padding:14px;border:1px dashed #cfdac5;border-radius:8px;font:600 17px Manrope;letter-spacing:.05em}.dialpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.dialpad button{border:1px solid var(--line);background:#fff;border-radius:8px;height:49px;font:600 19px Manrope;color:var(--green)}.dialpad small{display:block;font:400 8px 'DM Sans';color:var(--muted)}
/* Spatial views */
.mapview{position:relative;background:#e8eddf;min-height:350px;overflow:hidden;border-radius:10px}.mapview svg{width:100%;height:100%;display:block}.mapview .map-svg{min-height:360px}.map-legend{position:absolute;left:17px;bottom:16px;display:flex;gap:12px;background:#fffffff0;border:1px solid #e4e8dd;border-radius:7px;padding:9px 12px;font-size:9px;color:#748069}.map-legend i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:2px}.mapnorth{position:absolute;top:14px;right:16px;background:#fffD;border-radius:5px;padding:7px 10px;font-size:10px;color:#56714e}.mapscale{position:absolute;bottom:16px;right:17px;font-size:9px;color:#6b7c5e;background:#ffffffe0;border-radius:4px;padding:5px 8px}.map-controls{display:flex;gap:7px;position:absolute;left:16px;top:15px}.map-controls button{font-size:9px;padding:6px 10px;background:#fffE;border:1px solid #d8e1cf;border-radius:5px;color:#6b7a61}.map-controls button.active{background:var(--green);color:white}.mapmark{cursor:pointer;outline:none}.mapmark:focus circle{stroke:#222;stroke-width:3}.mapmark:hover circle{stroke:#fff;stroke-width:4}.photoref{height:390px;width:100%;object-fit:cover;display:block;border-radius:10px}.image-caption{font-size:9px;color:var(--muted);margin-top:9px}.mini-map{height:170px;border-radius:10px;overflow:hidden;background:#e9eddc}.villagelist{display:grid;gap:9px}.villagerow{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.villagerow:last-child{border:0}.placeicon{width:34px;height:34px;background:#f1f4ea;border-radius:8px;display:grid;place-items:center;color:#829572}.villagerow strong{font-size:12px}.villagerow small{font-size:10px;display:block;color:var(--muted)}.familylist{display:flex;flex-direction:column;gap:6px}.familyrow{display:flex;gap:11px;align-items:center;padding:12px;border-radius:8px;border:1px solid transparent;background:transparent;text-align:left;color:var(--ink);width:100%}.familyrow.active{background:#f0f5eb;border-color:#dce6d3}.familyrow:hover{background:#f5f8f1}.familyrow strong{font-size:12px}.familyrow small{font-size:10px;color:var(--muted);display:block}.initial{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e9edde;font-size:10px;font-weight:600;color:#698057;flex-shrink:0}.household-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:22px}.personhero{display:flex;align-items:center;gap:15px;margin-bottom:20px}.personhero .initial{height:55px;width:55px;font-size:16px;background:#e8eecf}.personhero h2{font-size:22px}.personhero p{font-size:11px;color:var(--muted);margin-top:5px}.detailgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#f8faf5;padding:16px;border-radius:8px;margin:19px 0}.detailgrid small{font-size:9px;color:var(--muted);display:block;margin-bottom:4px}.detailgrid strong{font-size:11px;font-weight:500}.members{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0 0}.member{display:flex;align-items:center;gap:8px}.member .initial{width:29px;height:29px;font-size:9px}.member strong{font-size:10px;font-weight:500}.member small{font-size:9px;display:block;color:var(--muted)}.benefitrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.benefitrow:last-child{border:0}.benefitrow h4{font:600 12px 'DM Sans';letter-spacing:0}.benefitrow p{font-size:10px;color:var(--muted);margin-top:4px}.benefitrow .pill{margin-right:auto}.phasegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.phase{padding:22px 20px;border:1px solid var(--line);border-radius:10px;background:white;text-align:left;color:var(--ink)}.phase.active{border-color:#aac29d;background:#f0f5e9}.phase small{font-size:10px;color:var(--muted)}.phase h3{margin:14px 0 8px}.phase p{font-size:11px;color:var(--muted)}.phase .phaseno{font:500 25px Manrope;color:#9bae8e}.scheme-card{padding:21px;border:1px solid var(--line);border-radius:11px;background:white}.scheme-card h3{font-size:14px;margin:12px 0 6px}.scheme-card p{font-size:11px;color:var(--muted);min-height:32px}.scheme-card .scheme-bottom{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);padding-top:13px;margin-top:17px}.scheme-card .scheme-bottom strong{font:700 23px Manrope}.scheme-card .scheme-bottom small{display:block;font-size:9px;color:var(--muted)}.scheme-card .progress{margin-top:15px}.project-card{padding:16px;border:1px solid var(--line);border-radius:9px;background:white;display:flex;gap:12px;align-items:flex-start}.project-card.selected{background:#f6f9ef;border-color:#b9ccab}.project-card input{accent-color:var(--green);width:16px;height:16px;margin-top:4px}.project-card h4{font:600 12px 'DM Sans';letter-spacing:0}.project-card p{font-size:10px;color:var(--muted);margin:5px 0}.project-card .price{margin-left:auto;text-align:right;white-space:nowrap}.project-card .price strong{font-size:12px;font-weight:600}.planner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);gap:23px}.budgetcard{position:sticky;top:25px;align-self:start}.budgetnum{font:700 38px Manrope;letter-spacing:-1.5px;margin:18px 0 5px}.budgetcard input[type=range]{width:100%;accent-color:var(--green);margin:20px 0}.summaryline{display:flex;justify-content:space-between;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line)}.summaryline strong{font-weight:600}.goalrow{display:flex;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.goalbadge{width:40px;height:40px;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edf2e4;color:#72855c;font-size:8px;flex-shrink:0}.goalbadge b{font-size:17px;line-height:1}.goalrow h4{font-size:12px}.goalrow .goaltext{flex:1}.goalrow p{font-size:10px;color:var(--muted);margin-top:4px}.goalrow strong{font:700 21px Manrope}.spark{height:140px;display:flex;gap:10px;align-items:flex-end;padding-top:25px}.sparkbar{flex:1;background:#b4c89d;border-radius:4px 4px 0 0;position:relative;min-width:10px}.sparkbar:last-child{background:var(--green)}.sparkbar span{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}.conflictcard{padding:22px;background:white;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:15px}.conflictcard h3{margin:9px 0 6px;font-size:15px}.conflictcard p{font-size:11px;color:var(--muted);max-width:650px}.evidence{display:flex;gap:8px;align-items:center;margin-top:15px;flex-wrap:wrap}.evidence span{font-size:10px;background:#f6f8f2;padding:7px 10px;border-radius:5px;color:#7b886e}.evidence .icon{width:14px;height:14px;color:#97a289}.conflictaction{align-self:center;text-align:right}.conflictaction strong{font:700 23px Manrope;display:block;margin-bottom:12px}.steptrail{position:relative;padding-left:26px}.steptrail:before{content:'';position:absolute;left:5px;top:10px;bottom:20px;width:1px;background:var(--line)}.trailitem{position:relative;margin-bottom:23px}.trailitem:before{content:'';position:absolute;left:-25px;top:5px;width:8px;height:8px;border:2px solid white;background:#8fa57b;border-radius:50%;box-shadow:0 0 0 1px #d3dfc9}.trailitem small{font-size:10px;color:var(--muted)}.trailitem h4{font-size:12px;margin:5px 0}.trailitem p{font-size:11px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:20px 0}.flex-end{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.nowrap{white-space:nowrap}.selected-scope{color:var(--green);background:#f0f5e9;border-radius:7px;padding:9px 13px;font-size:11px}.large-num{font:700 50px Manrope;letter-spacing:-2px;line-height:1.2}.ring{--value:68;--ring:#789669;width:130px;height:130px;border-radius:50%;background:conic-gradient(var(--ring) calc(var(--value)*1%),#edf2e7 0);position:relative;display:grid;place-items:center;flex-shrink:0}.ring:before{content:'';position:absolute;inset:10px;background:#fff;border-radius:50%}.ring span{position:relative;font:700 27px Manrope}.ring small{font:400 9px 'DM Sans';display:block;text-align:center;color:var(--muted)}.legendlist{display:flex;flex-direction:column;gap:15px;font-size:11px;flex:1}.legendlist span{display:flex;justify-content:space-between;gap:20px}.legendlist b{font-weight:500}.welcome-art{margin-top:30px;max-width:360px;border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.loading{padding:60px;text-align:center}.source-link{display:block;margin:12px 0;padding:15px;background:#f5f8ef;border-radius:8px;text-decoration:none}.source-link strong{font-size:12px}.source-link p{font-size:11px;color:var(--muted);margin-top:5px}.toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translate(-50%,20px);max-width:min(500px,90vw);padding:12px 20px;border-radius:9px;background:#244a39;color:#fff;font-size:12px;box-shadow:0 10px 30px #0002;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:16px;padding:0;max-width:680px;width:calc(100% - 36px);max-height:85vh;color:var(--ink);box-shadow:0 25px 120px #0002}dialog::backdrop{background:#203c2b60;backdrop-filter:blur(3px)}.dialoghead{padding:25px 28px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.dialoghead h2{font-size:22px}.dialogbody{padding:24px 28px}.dialogbody>p{font-size:13px;color:var(--muted);margin-bottom:15px}.dialogbody .btn{margin-top:10px}.dialogfoot{padding:17px 28px;background:#f9fbf6;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.note{background:#f6f8ef;border-left:3px solid #b5c89d;padding:12px 15px;border-radius:0 6px 6px 0;font-size:11px;color:#7a896a}.error{color:#ae5b45;font-size:11px;margin:8px 0}.green{color:var(--green)}.show-mobile{display:none}.viewtoggle{display:flex;gap:7px;align-items:center}.viewtoggle button{padding:6px 11px;font-size:10px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--muted)}.viewtoggle button.active{background:var(--soft);color:var(--green)}.filter-chip{border:1px solid var(--line);border-radius:30px;background:white;font-size:10px;padding:6px 12px;color:var(--muted)}.filter-chip.active{background:var(--green);color:white;border-color:var(--green)}.pagination{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:15px 20px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.phonehint{font-size:10px;color:#9c8e71;text-align:center;margin-top:12px}.noresults{padding:30px;text-align:center;background:#f7f9f3;border-radius:8px;font-size:12px;color:var(--muted)}
@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{to{transform:scaleY(.35)}}
@media(min-width:1600px){.content{padding-top:48px}.citizen-layout{gap:80px;margin-top:40px}.chatbody{min-height:365px}}
@media(max-width:1200px){.layout{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding-left:12px;padding-right:12px}.navitem{font-size:11px;padding:10px}.topbar{padding:0 28px}.content{padding:28px}.citizen-layout{gap:27px}.invitation h1{font-size:36px}.metric{padding:0 17px}.metric .num{font-size:26px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(2,1fr)}.barrow{grid-template-columns:93px 1fr 38px;gap:9px}.household-layout{grid-template-columns:210px 1fr}.pagehead h1{font-size:28px}.pad{padding:21px}.phasegrid{gap:9px}.phase{padding:15px}}
@media(max-width:940px){.layout{grid-template-columns:76px minmax(0,1fr)}.sidebar{width:76px;padding:25px 12px}.brand{padding:0 8px 24px}.brand div,.navitem .navtext,.navitem .index,.navgroup,.sidefoot .label,.madeby{display:none}.navitem{justify-content:center;padding:14px 8px}.navitem.active:before{left:-12px}.sidefoot{padding:20px 8px 0}.content{padding:26px}.topbar{padding:0 26px}.citizen-layout{gap:26px}.invitation{padding-top:28px}.invitation h1{font-size:33px}.invitation>p{font-size:12px}.journey{gap:10px;font-size:9px}.grid2,.planner{grid-template-columns:1fr}.grid-even{grid-template-columns:1fr 1fr}.metric .num{font-size:24px}.metric .foot{font-size:9px}.filter-note{display:none}.conflictcard{grid-template-columns:1fr auto}.toast{left:calc(50% + 38px)}.household-layout{grid-template-columns:190px 1fr}.detailgrid{grid-template-columns:repeat(2,1fr)}.members{gap:9px}.topright{gap:10px}.crumb{font-size:10px}}
@media(max-width:700px){.layout{display:block}.sidebar{transform:translateX(-100%);width:230px;transition:transform .2s;box-shadow:20px 0 60px #0001}.sidebar.open{transform:translateX(0)}.sidebar.open .brand div,.sidebar.open .navtext,.sidebar.open .navgroup,.sidebar.open .sidefoot .label,.sidebar.open .madeby{display:block}.sidebar.open .navitem{justify-content:flex-start}.workspace{width:100%}.mobilemenu{display:inline-grid}.topbar{height:62px;padding:0 18px;gap:10px}.crumb{display:none}.topright{margin-left:auto}.topright>.linkbtn{display:none}.content{padding:25px 18px}.pagehead{align-items:flex-start;gap:15px;margin-bottom:22px}.pagehead h1{font-size:27px}.pagehead p{font-size:11px}.pagehead .eyebrow{font-size:9px;margin-bottom:8px}.pageactions .btn{padding:8px}.pageactions .btn .btntext{display:none}.pagehead .pageactions{align-self:flex-start}.citizen-layout{display:block;margin:0}.invitation{padding:0 0 25px}.invitation h1{font-size:36px;max-width:360px}.invitation>p{margin:12px 0;font-size:12px}.wavecard{margin:17px 0;padding:13px 17px;max-width:100%}.journey,.privacyline,.welcome-art{display:none}.campaignbadge{margin-bottom:15px}.chatbody{padding:20px;min-height:280px}.chatcard{border-radius:14px}.invitation .tabs{display:inline-flex}.metricrow{grid-template-columns:repeat(2,1fr);row-gap:20px;padding:20px 0}.metric:nth-child(2){border-right:0}.metric .num{font-size:26px;margin:6px 0}.metric .foot{font-size:9px}.grid-even,.grid3,.household-layout{grid-template-columns:1fr}.household-layout>.panel:first-child{max-height:260px;overflow:auto}.familylist{display:grid;grid-template-columns:1fr 1fr}.familyrow{padding:9px}.familyrow strong{font-size:10px}.familyrow small{font-size:8px}.familyrow .initial{width:29px;height:29px;font-size:8px}.pad{padding:19px}.conclusion{align-items:flex-start;padding:16px;flex-wrap:wrap;gap:10px}.conclusion .btn{margin-left:28px}.conclusion strong{font-size:11px}.conclusion p{font-size:10px}.conclusion>div{flex:1}.filterdivider{display:none}.filters{gap:8px}.field select{min-width:0;width:100%;font-size:11px}.filters .field{flex:1;min-width:calc(33% - 8px)}.filters .field.grow{min-width:45%}.conflictcard{grid-template-columns:1fr;gap:13px}.conflictaction{display:flex;align-items:center;justify-content:space-between;text-align:left}.conflictaction strong{margin:0;font-size:20px}.phasegrid{grid-template-columns:1fr 1fr}.mapview{min-height:280px}.mapview .map-svg{min-height:280px}.photoref{height:280px}.pagefoot{font-size:8px}.toast{left:50%;font-size:11px}.dialoghead{padding:20px}.dialogbody{padding:20px}.dialoghead h2{font-size:20px}.members .member:nth-child(n+4){display:none}.goalrow strong{font-size:19px}.map-legend{font-size:8px;gap:8px;padding:7px;left:8px;bottom:8px}.mapscale{right:8px;bottom:8px;font-size:8px}.chathead{padding:16px}.tabs button{font-size:10px;padding:7px 10px}.pagefoot .end{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.pageactions,.pagefoot,.filters,.btn,.toast{display:none!important}.layout{display:block}.workspace{display:block}.content{padding:0;max-width:none}.panel{break-inside:avoid}.grid2,.grid-even{display:block}.panel{margin-bottom:15px}body{background:white}}
/* Interaction and data-view refinements */
.field select{max-width:100%}.chathead .field{min-width:95px}.chathead .field label{font-size:9px}.chathead select{padding:5px 9px}.chatmeta{display:block;margin:14px 0 8px}.chatbody textarea{width:100%;resize:vertical}.chatfields{display:grid;gap:18px;margin:20px 0}.chatfields .field{min-width:0}.chatfields select{width:100%}.receipt{display:grid;justify-items:center;gap:14px}.benefitrow>div>small{display:block;margin:5px 0 0 30px}.benefitrow>div>.icon{margin-right:10px}.detailgrid b,.detailgrid small{display:block}.detailgrid small{color:var(--muted);margin-bottom:6px}.barrow>span>.icon{width:14px;height:14px;vertical-align:middle;margin-right:3px}.barrow.selected{outline:1px solid #a7c0a6;border-radius:5px;background:#f0f5eb!important}.evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;margin:22px 0}.evidence>div{background:#f5f7f1;border:1px solid var(--line);padding:16px;border-radius:9px}.evidence b,.evidence small,.evidence span{display:block}.evidence small{font-size:9px;letter-spacing:.1em;color:var(--muted);margin-bottom:9px}.evidence span{padding:0;margin-top:8px;background:none}.conflictcard h2{margin-top:8px}.source-link{display:flex;align-items:center;justify-content:space-between;margin:18px 0 5px;font-weight:600}.scheme-card h2{margin-top:22px}.scheme-card>p{margin:8px 0 28px;min-height:22px}.scheme-bottom small,.price small{display:block}.project-card h3{font-size:15px}.project-card p{font-size:11px;color:var(--muted);margin:6px 0 12px}.price{text-align:right;white-space:nowrap}.price small{font-size:9px;color:var(--muted);margin-top:8px}.phase{text-align:left;color:var(--ink)}.phase p{margin-top:10px}.phase h2{margin-top:15px}.stat-card h3{margin-top:12px;line-height:1.6}.note{display:flex;gap:10px;align-items:flex-start}.note .icon{flex-shrink:0}.personhero>div:nth-child(2){flex:1}.personhero p{font-size:12px;color:var(--muted);margin-top:7px}.budgetcard>label{display:flex;justify-content:space-between;font-size:12px;margin-top:22px}.budgetcard input[type=range]{width:100%;accent-color:var(--green);margin:16px 0}.pagination{display:flex;justify-content:space-between;align-items:center}.tablewrap small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.panelhead.pad{padding:24px}.image-caption{font-size:10px;line-height:1.6}.goalrow{display:flex;gap:16px;align-items:center;margin-bottom:24px}.goaltext{flex:1}.goaltext .progress{margin-top:10px}.goalrow>b{font-size:13px}.summaryline{padding:14px 0;border-bottom:1px solid var(--line)}.chatbottom span{display:flex;gap:5px;align-items:center}.chatbottom .icon{width:12px;height:12px}.phonehint{display:flex;gap:8px;align-items:center}.wavecard small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.pagefoot{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-size:9px;color:var(--muted);letter-spacing:.03em}.panelnote{line-height:1.7}.conclusion{margin-top:24px}.panel.pad>p{line-height:1.75}.field{max-width:100%}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}dialog select,dialog textarea{width:100%}input[data-input]{max-width:100%}.photoref{width:100%;object-fit:contain;background:#eff2eb}.panelhead .tabs{margin:0}.map-controls{padding:0 24px 15px;display:flex;gap:7px;flex-wrap:wrap}.map-controls button{border:1px solid var(--line);padding:7px 10px;border-radius:6px;background:#fff;color:var(--muted);font-size:10px}.map-controls button.active{background:var(--green);color:white}.project-card{display:flex;align-items:flex-start;gap:16px}.project-card input{margin-top:4px}.conclusion .btn{flex-shrink:0}.receipt .btn{white-space:normal}.citizen-layout .invitation h1{font-size:clamp(45px,4.2vw,68px)}
@media(max-width:700px){.evidence{grid-template-columns:1fr}.evidence>div{padding:12px}.evidence b{font-size:12px}.evidence span{font-size:10px}.pagefoot .end{display:none}.personhero{flex-wrap:wrap}.project-card{gap:10px}.price{font-size:12px}.price small{white-space:normal;max-width:70px}.conclusion .btn{width:100%}.chatbottom{flex-wrap:wrap;gap:8px}.chatfields .row{flex-wrap:wrap}.filters .field{flex:1 1 130px}.panelhead.pad{padding:20px}.goalrow{gap:10px}.citizen-layout .invitation h1{font-size:44px}.pagination{padding:16px;gap:10px}.detailgrid{grid-template-columns:repeat(2,1fr)}}
.members{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.member{display:flex;align-items:center;gap:5px;border-radius:20px;background:#f2f5ed;padding:7px 10px;font-size:10px;color:#71816e}.member .icon{width:12px;height:12px}.detailgrid{gap:18px}.dialogbody .benefitrow p{margin-top:8px}.barrow>span{line-height:1.4}.chatbody>.btn.block{margin-top:16px}
.progress i{display:block;height:100%;background:#779971;border-radius:5px;transition:width .2s ease}textarea,input:not([type]),input[type=text],input[type=search]{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);font-size:12px;line-height:1.55}textarea::placeholder,input::placeholder{color:#95a096}.chatbody textarea{min-height:75px}.barrow .progress{margin-top:0}.barrow>span{font-size:11px}.filters{row-gap:14px}@media(min-width:701px){.mobilemenu{display:none}}@media(prefers-reduced-motion:reduce){.progress i{transition:none}}
