.eco-ui,.eco-dialog{--eco-bg:#17131f;--eco-panel:#241b30;--eco-line:#66516f;--eco-accent:#eed493;--eco-muted:#d0c3d8;--eco-text:#fff6e4;color:var(--eco-text);font:16px/1.55 Avenir,Arial,sans-serif}.eco-ui *,.eco-dialog *{box-sizing:border-box}.eco-ui button,.eco-dialog button,.eco-ui input,.eco-dialog input{font:inherit}.eco-ui button,.eco-dialog button{cursor:pointer;color:inherit}.eco-ui button:disabled,.eco-dialog button:disabled{opacity:.6;cursor:default}.eco-ui button:focus-visible,.eco-dialog button:focus-visible,.eco-ui a:focus-visible,.eco-dialog a:focus-visible,.eco-ui input:focus-visible{outline:3px solid #f4d887;outline-offset:3px}.eco-ui h1,.eco-dialog h1{font:38px/1.05 Goudy,Georgia,serif;letter-spacing:-.4px;margin:12px 0 18px;overflow-wrap:anywhere}.eco-ui h2,.eco-dialog h2{font:27px/1.16 Goudy,Georgia,serif;margin:8px 0 14px}.eco-ui h3,.eco-dialog h3{font:700 19px/1.3 Avenir,sans-serif;margin:8px 0}.eco-ui p,.eco-dialog p{line-height:1.6!important;font-size:16px!important;color:var(--eco-muted);margin:10px 0 18px!important}.eco-ui a,.eco-dialog a{color:#f6dfa5;text-underline-offset:4px}.eco-eyebrow{display:block;font:700 11px/1.5 Avenir,sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#e6c889}.eco-note,.eco-ui .eco-note,.eco-dialog .eco-note{font-size:13px!important;line-height:1.6!important}.eco-demo,.eco-ui .eco-demo,.eco-dialog .eco-demo{font-size:11px!important;color:#bcaec6;text-align:center;padding:18px 0}.eco-primary,.eco-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #b8a0c7;border-radius:10px;min-height:46px;padding:11px 16px;font-weight:700!important;text-align:center}.eco-ui .eco-primary,.eco-dialog .eco-primary{background:var(--eco-accent);color:#26192f;border-color:var(--eco-accent)}.eco-secondary{background:#ffffff06}.eco-wide{width:100%;margin-top:18px}.eco-text{background:none;border:0;padding:8px 0;min-height:44px;text-align:left;color:#f1d997!important;font-weight:700!important}.eco-pill{display:inline-flex;font-size:12px;padding:4px 10px;border:1px solid #a78aaf;border-radius:20px;background:#241b30e8;color:#fff6e4}.eco-directory{padding:0 0 16px}.eco-directory>header{padding:10px 0 20px}.eco-domain-filters{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 6px}.eco-domain-filters button{border:1px solid #80658e;background:#281d32;border-radius:24px;min-height:42px;padding:9px 14px;font-size:14px}.eco-domain-filters button[aria-pressed=true]{background:#e4c99b;color:#23152e;border-color:#e4c99b}.eco-filter-help,.eco-list-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#cbbcd2;margin:8px 0 16px}.eco-filter-help button{border:0;background:none;text-decoration:underline;min-height:38px}.eco-search{display:block;margin-top:12px}.eco-search>span{font-size:12px}.eco-search input,.eco-field input{display:block;width:100%;padding:12px;background:#19121f;border:1px solid #82688f;border-radius:10px;color:#fff6e4;font-size:16px;min-height:48px}.eco-list-meta label{display:flex;gap:7px;align-items:center}.eco-directory-grid{display:grid;gap:22px}.eco-directory-card{border:1px solid #634c70;border-radius:16px;overflow:hidden;background:#241a2e}.eco-art-button{display:block;width:100%;padding:0;border:0;background:#25172b}.eco-duna-image{display:block;width:100%;height:220px;object-fit:cover;object-position:50% 33%}.eco-duna-graphic{min-height:210px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 15% 10%,#91606a,transparent 70%),linear-gradient(130deg,#472255,#202940);text-align:left;color:#ffe9ad}.eco-duna-graphic>span{font:65px/1 Georgia}.eco-duna-graphic>strong{font:30px/1.07 Goudy,Georgia,serif;max-width:290px}.eco-art-speak-for-the-trees,.eco-art-born-to-be-wild{background:radial-gradient(ellipse at 20% 20%,#816257,transparent 70%),#24394b}.eco-art-turn-the-tide,.eco-art-stop-the-slop{background:radial-gradient(ellipse at 20% 20%,#3f5c91,transparent 70%),#382746}.eco-directory-copy{padding:20px}.eco-directory-copy h2{font:29px/1.13 Goudy,Georgia,serif!important;margin:9px 0 12px!important}.eco-tags{display:flex;flex-wrap:wrap;gap:6px;color:#e3c997;font-size:11px;text-transform:uppercase;letter-spacing:.7px}.eco-tags span+span:before{content:'·';margin-right:6px}.eco-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.eco-dialog{border:1px solid #715d7d;border-radius:20px;background:var(--eco-bg);padding:0;width:min(520px,calc(100vw - 20px));max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 20px 100px #0009}.eco-dialog::backdrop{background:#0c071acc;backdrop-filter:blur(5px)}.eco-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid #62516a;min-height:60px}.eco-dialog-header>span{font-weight:700}.eco-dialog-header>button,.eco-close-inline{border:0;background:transparent;font-size:28px!important;min-width:44px;min-height:44px}.eco-dialog-scroll{max-height:calc(100dvh - 115px);overflow:auto;overscroll-behavior:contain;padding:0 20px}.eco-profile-tools{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.eco-profile>.eco-duna-image,.eco-profile>.eco-duna-graphic{border-radius:12px}.eco-profile-title{padding:22px 0 6px}.eco-profile section{padding:12px 0 18px;border-bottom:1px solid #614b6b}.eco-profile section li{margin:10px 0}.eco-tabs{display:flex;border-bottom:1px solid #66506f;gap:0;margin:8px 0 20px}.eco-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:13px 6px;font-size:14px;min-height:48px}.eco-tabs button[aria-current=page]{border-color:#edcf8e;color:#f8dfa5;background:#eed4930b}.eco-tabs img{width:18px;height:18px;filter:brightness(0) invert(1)}.eco-tabs span{display:flex;align-items:center}.eco-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;text-align:left;min-height:55px}.eco-row small,.eco-info small{display:block;color:#c1adc9;font-size:12px}.eco-row strong{display:block;font-size:18px}.eco-profile-bottom{padding:22px 0;display:grid;gap:12px}.eco-confirm{padding:12px;border:1px solid #987aa1;border-radius:10px;color:#f2d5a0;background:#392442}.eco-info{padding:18px;border:1px solid #5e476b;background:#261c32;border-radius:12px;margin:18px 0}.eco-info>strong{display:block}.eco-local{background:#17131f!important;position:absolute!important;inset:0!important;display:flex;flex-direction:column;overflow:hidden}.eco-local-header{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid #60496c;flex-shrink:0;min-height:64px;background:#21182b}.eco-local-header>div{flex:1}.eco-local-header small{display:block;font-size:11px;color:#cbb2d5}.eco-local-header strong{display:block;font-size:15px}.eco-back{font-size:34px!important;line-height:1;border:0;background:none;width:30px;min-height:44px}.eco-local-scroll{padding:22px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#aa89be #251b30}.eco-campaign-art{position:relative;border-radius:13px;overflow:hidden;height:195px}.eco-campaign-art img{width:100%;height:100%;object-fit:cover}.eco-campaign-art .eco-pill{position:absolute;bottom:12px;left:12px}.eco-campaign-intro{padding:22px 0 6px}.eco-participate{background:#392344;border:1px solid #8a6496;padding:22px;border-radius:14px;margin:18px 0 30px}.eco-field{display:block;font-size:13px}.eco-field input{margin-top:8px}.eco-section-heading{margin:20px 0 5px}.eco-activity-list{display:grid;gap:12px}.eco-activity{position:relative;padding:18px;border:1px solid #685075;background:#241b30;border-radius:12px}.eco-activity-meta{display:flex;justify-content:space-between;padding-right:24px;gap:10px;font-size:11px;color:#d5bdde}.eco-activity-open{display:block;width:100%;text-align:left;border:0;background:transparent;padding:0}.eco-activity-open h3{font-size:19px;margin:13px 0 9px}.eco-activity-open p{font-size:14px!important}.eco-star{position:absolute;right:8px;top:8px;font-size:24px!important;background:none;border:0;min-width:42px;min-height:42px;color:#f2d595!important}.eco-local .eco-activity-title{font:700 27px/1.22 Avenir,sans-serif;letter-spacing:-.5px}.eco-lead{font-size:18px!important}.eco-connection-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid #92739e;border-radius:10px;background:#32223d;padding:14px;min-height:54px;text-align:left;margin:14px 0}.eco-connection-row span{font-size:12px;color:#eed493}.eco-disclosure{border-top:1px solid #675172;padding:18px 0}.eco-disclosure summary{font-weight:700;cursor:pointer;min-height:28px}.eco-disclosure p{font-size:14px!important}.eco-agree{display:flex;align-items:flex-start;gap:12px;font-size:13px;padding:18px 0 3px}.eco-agree input{margin-top:5px;min-width:18px}.eco-flow{display:grid;gap:6px;text-align:center;margin:22px 0}.eco-flow span{padding:12px;border:1px solid #70567d;border-radius:10px;background:#2a1c36}.eco-flow small{display:block;color:#dfc393;font-size:11px}.eco-flow b{font-weight:normal;color:#c4a7ce}.eco-steps{list-style:none;padding:0;margin:24px 0}.eco-steps>li{display:flex;gap:18px;margin:24px 0}.eco-steps>li>span{color:#edce8f;font:26px Goudy;min-width:32px}.eco-steps h2{font-size:24px}.eco-connect-sheet{padding:22px;border:2px solid #b190c0;border-radius:14px;background:#392541;margin:22px 0}.eco-close-inline{float:right}.eco-notice{padding:14px;border-left:3px solid #e5c585;background:#33233d}.eco-ki{display:flex;gap:10px;align-items:center;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #6a5175;background:#21172c}.eco-ki-badge{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#654782;border:1px solid #c7a5e5;font:22px Goudy!important;color:#ffefd1}.eco-ki-prompt{flex:1;display:flex;justify-content:space-between;border:1px solid #866697;border-radius:25px;background:#35243f;padding:11px 17px;font-size:14px!important}.eco-ki-panel{position:absolute;bottom:80px;left:12px;right:12px;z-index:50;max-height:70%;overflow:auto;padding:20px;border:1px solid #b794c5;border-radius:16px;background:#33213f;box-shadow:0 10px 40px #0008}.eco-ki-panel header{display:flex;justify-content:space-between;align-items:center}.eco-ki-panel header button{border:0;background:none;font-size:25px;min-height:44px}.eco-ki-chips{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.eco-ki-chips button{background:#473052;border:1px solid #ab88b9;border-radius:20px;padding:9px 12px;font-size:12px}.eco-ki-panel form{display:flex;gap:5px}.eco-ki-panel input{width:100%;min-width:0;background:#22132f;color:#fff6e4;border:1px solid #9d7eb3;border-radius:9px;padding:12px}.eco-ki-panel form button{width:44px;background:#e4c691;border:0;border-radius:10px;color:#23152c}.eco-ki-panel>small{font-size:10px;color:#c7b2d3}.registration-surface:has(.eco-directory) .registration-progress,.registration-surface:has(.eco-directory) .arrival-picture,.registration-surface:has(.eco-directory) .registration-title{display:none!important}.registration-surface:has(.eco-directory){scrollbar-width:thin}.eco-ui input::placeholder{color:#bbaaC5}@media(min-width:700px){.eco-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-local-scroll{padding:26px 30px}.eco-activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.eco-ui h1,.eco-dialog h1{font-size:33px}.eco-local-scroll{padding:16px}.eco-participate{padding:16px}}
/* Local participation uses the existing app composer and bottom navigation. */

.eco-local-header>div>strong{font:25px/1.15 Goudy,Georgia,serif}.eco-local-header>div>span{display:block;font:13px/1.5 Avenir,sans-serif;color:var(--eco-muted);margin-top:3px}.eco-campaign-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:stretch;margin:10px 0 30px}.eco-campaign-actions>.eco-primary,.eco-campaign-actions>.eco-secondary{width:100%;min-width:0}.eco-campaign-actions>.eco-text{font-size:13px;justify-self:start;text-align:left}.eco-campaign-actions>.eco-text:last-child:not(:nth-child(3)){justify-self:end;text-align:right}.eco-activity-meta{align-items:center;padding:0;font-size:12px;min-height:44px}.eco-save{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:none;border:0;padding:6px 0 6px 10px;color:var(--eco-accent)!important;font-size:13px!important}.eco-save svg{flex-shrink:0}.eco-explore-topics{padding-left:20px}.eco-explore-topics li{margin:12px 0}
/* Local Vision and plan: approved warm-black foundation with living accents. */
.eco-local{--eco-bg:#030101;--eco-panel:#1C131D;--eco-line:#2F2730;--eco-accent:#03CCD9;--eco-muted:#d2c8bd;--eco-text:#FFFFE6;background:#030101!important}
.eco-local .eco-local-header{background:#030101;border-color:#2F2730;padding:8px 14px}
.eco-local .eco-local-scroll{scrollbar-color:#594951 #030101;padding-top:20px}
.eco-local .eco-pill{background:#030101df;border-color:#8FE6C666;color:#8FE6C6}
.eco-local .eco-primary{background:#03CCD9;color:#030101;border-color:#03CCD9}.eco-local .eco-secondary{color:#8FE6C6;background:#1C131D;border-color:#8FE6C677}
.eco-local .eco-text{color:#EAAA00!important}.eco-local .eco-primary,.eco-local .eco-secondary,.eco-local .eco-activity-actions .eco-text{white-space:nowrap}
.eco-local .eco-campaign-actions{gap:10px 12px}.eco-local .eco-campaign-actions>.eco-primary,.eco-local .eco-campaign-actions>.eco-secondary{min-width:0;min-height:46px;font-size:14px;padding-inline:12px}
.eco-local .eco-activity,.eco-local .eco-info,.eco-local .eco-connect-sheet{background:#1C131D;border-color:#2F2730}.eco-local .eco-activity-meta{color:#8FE6C6}.eco-local .eco-save{color:#EAAA00!important}
.eco-activity-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.eco-activity-actions .eco-primary{font-size:13px!important;padding:9px 12px;min-height:42px}.eco-activity-actions .eco-text{margin-left:auto;font-size:13px!important;color:#03CCD9!important}
.eco-local .eco-tabs{border-color:#2F2730}.eco-local .eco-tabs button[aria-current=page]{color:#8FE6C6;border-color:#8FE6C6;background:#8FE6C608}.eco-local .eco-connection-row{background:#10232D;border-color:#03CCD955}.eco-local .eco-connection-row span{color:#8FE6C6}
.eco-local .eco-disclosure{border-color:#2F2730}.eco-local .eco-confirm,.eco-local .eco-notice{background:#10232D;border-color:#8FE6C6;color:#8FE6C6}.eco-local .eco-back{color:#03CCD9}.eco-local button:focus-visible,.eco-local a:focus-visible{outline-color:#03CCD9}
.eco-plan{max-width:760px;margin:0 auto;padding-bottom:14px}.eco-plan h1{margin-bottom:18px}.eco-ui .eco-plan-tagline{font:30px/1.2 Goudy,Georgia,serif!important;color:#EAAA00;margin-bottom:14px!important}.eco-ui .eco-plan-lead{font-size:19px!important;color:#8FE6C6;line-height:1.45!important}
.eco-plan>h2{margin-top:38px;padding-top:26px;border-top:1px solid #2F2730;font-size:29px;color:#FFFFE6}.eco-plan p{max-width:68ch}.eco-plan .eco-steps{display:grid;gap:12px;margin:24px 0}.eco-plan .eco-steps>li{margin:0;padding:20px 0;border-bottom:1px solid #2F2730;gap:16px}.eco-plan .eco-steps>li>span{color:#03CCD9;line-height:1.25}.eco-plan .eco-steps h3{font:24px/1.2 Goudy,Georgia,serif;color:#8FE6C6;margin:0 0 8px}.eco-plan .eco-steps p{margin-bottom:0!important}
.eco-plan>ul{padding-left:22px;color:#d2c8bd}.eco-plan>ul>li{padding-left:4px;margin:14px 0;line-height:1.65}.eco-plan>ul>li::marker{color:#8FE6C6}.eco-plan strong{color:#FFFFE6}.eco-plan .eco-return{text-align:center;display:block}
@media(max-width:700px){.eco-local .eco-activity-list{grid-template-columns:minmax(0,1fr)}}

/* Activity research workspace, using the current Kiduna palette. */
.food-section{padding:24px 0;border-top:1px solid var(--eco-line);margin-top:12px;min-width:0}
.food-contributions{padding:0;list-style:none;display:grid;gap:0;margin:0}
.food-contributions li{padding:12px 0 12px 24px;position:relative;border-bottom:1px solid #2f273070;color:var(--eco-muted)}
.food-contributions li:before{content:'↗';position:absolute;left:0;color:#8FE6C6}
.food-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.food-resource{padding:16px;border:1px solid var(--eco-line);border-radius:12px;background:#1C131D;display:flex;flex-direction:column;gap:6px;min-width:0}
.food-resource span{font-size:14px;color:var(--eco-muted)}.food-resource small{font-size:12px;color:#8FE6C6;margin-top:auto;padding-top:6px}
.food-support{display:grid;grid-template-columns:minmax(0,1fr);gap:0 28px}
.food-ally{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--eco-line)}
.food-ally>div{flex:1;min-width:0}.food-ally small,.food-ally strong,.food-ally div>span{display:block}.food-ally small{color:#8FE6C6;font-size:12px}.food-ally div>span{color:var(--eco-muted);font-size:13px;line-height:1.5;margin-top:4px}
.food-ally-avatar{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#10232D;color:#8FE6C6;border:1px solid #03CCD955;font-size:15px}
.food-chat{display:grid;place-items:center;min-width:44px;min-height:44px;background:#10232D;border:1px solid #03CCD955;border-radius:50%;color:#03CCD9!important}
.food-beat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.food-beat-heading h2{margin:8px 0!important}.food-beat-heading .eco-pill{white-space:nowrap}
.food-beat-row{padding:16px 0;border-bottom:1px solid var(--eco-line)}.food-beat-summary{display:flex;gap:12px;justify-content:space-between;align-items:start}.food-beat-summary>div{min-width:0}.food-beat-summary h3{font-size:15px!important;margin:0 0 5px!important;overflow-wrap:anywhere}.food-beat-summary small{font-size:12px;line-height:1.5;color:var(--eco-muted);display:block}
.food-coverage{font-size:11px;border:1px solid #66516f;border-radius:20px;padding:3px 8px;flex-shrink:0;color:var(--eco-muted)}.food-coverage.is-yours{color:#8FE6C6;border-color:#8FE6C655;background:#8FE6C60a}
.food-beat-actions{display:flex;flex-wrap:wrap;gap:4px 18px;padding-top:8px}.food-beat-actions button{font-size:12px!important}.food-beat .eco-tabs{margin-bottom:0}.food-beat>.eco-text{margin-top:12px}
@media(min-width:1050px){.food-support{grid-template-columns:minmax(250px,.85fr) minmax(320px,1.15fr)}}
@media(max-width:380px){.food-resources{grid-template-columns:minmax(0,1fr)}.food-beat-summary{gap:8px}.food-coverage{padding-inline:6px}}

.food-resource a{font-size:13px;min-height:44px;display:flex;align-items:center;color:#03CCD9!important;margin-top:auto;padding-top:6px}.food-resource-notice{overflow-wrap:anywhere}

.food-ally-profile{display:flex;align-items:center;gap:12px;flex:1;min-width:0;background:none;border:0;text-align:left;padding:0}.food-ally-profile>span:last-child{flex:1;min-width:0}.food-ally-profile strong,.food-ally-profile small,.food-ally-profile>span>span{display:block}.food-ally-profile>span>span{font-size:13px;color:var(--eco-muted);line-height:1.5;margin-top:4px}.food-ally-profile:hover strong{text-decoration:underline;text-underline-offset:3px}

/* The shared Vision template fits the existing narrow mobile shell. */
.mobile-app:has(.vision-template){width:min(393px,100vw)!important;height:min(852px,100dvh)!important}
.mobile-app:has(.vision-template) .mobile-body{width:100%!important;min-width:0!important;flex:1;min-height:0}
.mobile-app:has(.vision-template) .vision-template{width:100%!important;min-width:0!important}
.vision-template .v-duna-link{min-width:0;flex:1}.vision-template .v-duna-link>span{min-width:0}
.vision-template .food-resource button{white-space:normal;text-align:left;font-size:13px;min-height:44px}
.vision-template .eco-connection-row{gap:12px}.vision-template .eco-connection-row strong{min-width:0;overflow-wrap:anywhere}
