*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink,#0a2e59);background:#fff;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.03em}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.section{padding:26px 0}.public-section{background:#fff}.eyebrow{display:inline-block;font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--secondary,#00a99d);margin-bottom:8px}.desktop-only{display:inline-flex}.mobile-filter{display:none}.narrow{max-width:840px}.prose{font-size:16px;line-height:1.8}.prose h2{margin-top:28px}.subheading{margin:34px 0 16px}.empty-state{padding:28px;border:1px dashed #cbd9e6;border-radius:14px;color:#64809b;text-align:center;background:#fbfdff}.empty-cell{text-align:center!important;color:#7d93a9!important;padding:30px!important}

/* Buttons */
.btn{border:0;border-radius:9px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;font-size:13px;transition:.2s ease;min-height:40px}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--secondary,#00a99d),var(--primary,#0877c9));box-shadow:0 8px 20px rgba(8,119,201,.18)}.btn-outline{color:#17496f;background:#fff;border:1px solid #bfd0df;box-shadow:0 3px 10px rgba(15,54,87,.05)}.btn-ghost{background:transparent;border:1px solid transparent;color:#254c6f}.btn-soft{background:#eef7ff;border:1px solid #cfe3f2;color:#0b5b99}.btn-sm{padding:7px 12px;min-height:32px;font-size:12px}.btn-lg{padding:14px 22px;font-size:15px}.btn-block{width:100%}.text-button,.danger-link{background:none;border:0;padding:0;color:#0877c9;font-weight:750;font-size:12px}.danger-link{color:#d13c46}.form-actions,.card-actions,.workspace-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.workspace-actions{margin-bottom:20px}

/* Forms */
label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#284d6e}input,select,textarea{width:100%;border:1px solid #cfdeea;border-radius:8px;background:#fff;padding:10px 12px;outline:none;font-size:13px;transition:.18s}input:focus,select:focus,textarea:focus{border-color:var(--primary,#0877c9);box-shadow:0 0 0 3px rgba(8,119,201,.10)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.switch-line{flex-direction:row;align-items:center;gap:10px;padding-top:20px}.switch-line input{width:18px;height:18px}.form-panel{padding:24px}.form-panel>label{margin-top:14px}.form-panel .form-actions{margin-top:18px}

/* Public header/footer */
.public-body{background:#fff}.public-header{height:66px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(161,185,205,.28)}.header-inner{height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:8px;min-width:190px}.brand img{width:190px;height:42px;object-fit:contain;object-position:left center}.brand-mark{font-size:32px;color:var(--primary)}.desktop-nav{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:650}.desktop-nav a{padding:22px 0;position:relative}.desktop-nav a.active:after,.desktop-nav a:hover:after{content:"";position:absolute;left:50%;bottom:10px;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateX(-50%)}.header-actions{display:flex;align-items:center;gap:8px}.icon-button,.menu-toggle{width:36px;height:36px;border:0;background:#f4f8fb;border-radius:50%;font-size:20px}.menu-toggle{display:none}.mobile-menu{display:none;background:#fff;border-top:1px solid #e7eef4}.mobile-menu.open{display:block}.mobile-menu-inner{padding:14px 0 18px;display:grid;gap:4px}.mobile-menu a{padding:11px 2px;font-weight:700}.mobile-auth{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.public-footer{border-top:1px solid #dfe9f1;background:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:34px;padding:28px 0}.footer-brand img{width:180px;height:48px;object-fit:contain;object-position:left}.footer-brand p,.public-footer p{font-size:12px;color:#647f97}.public-footer h4{font-size:12px;margin-bottom:10px}.footer-links{display:flex;gap:11px;flex-wrap:wrap}.footer-links a{font-size:11px;color:#52708c}.socials{display:flex;gap:8px}.socials span{width:28px;height:28px;border-radius:7px;background:#183e63;color:#fff;display:grid;place-items:center;font-size:12px}.footer-bottom{border-top:1px solid #edf2f6;padding:13px 0;text-align:center;color:#7e92a5;font-size:10px}

/* Hero */
.hero-public{height:420px;position:relative;overflow:hidden;border-bottom:1px solid #d8e5ef}.hero-media{position:absolute;inset:0;background-size:cover;background-position:74% center}.hero-content{position:relative;height:100%;display:flex;align-items:flex-start;padding-top:48px}.hero-copy{width:50%;max-width:540px;position:relative;z-index:2}.hero-copy h1{font-size:44px;line-height:1.02;margin-bottom:16px;font-weight:850;color:#0a315d;max-width:520px}.hero-copy h1::first-line{color:#0a315d}.hero-copy p{font-size:14px;line-height:1.55;max-width:520px;color:#345975}.hero-actions{display:flex;gap:12px;margin-top:18px}.hero-quote{position:absolute;right:20px;top:72px;width:190px;color:#fff;font-size:14px;line-height:1.6;font-style:italic;text-shadow:0 2px 12px rgba(0,0,0,.4)}.hand-note{font-family:"Segoe Print","Comic Sans MS",cursive;color:#28518a;font-style:italic;font-size:16px;transform:rotate(-5deg);display:inline-block;margin:23px 0 0 18px;line-height:1.3}.hand-note span{display:block;color:#1c9cc5;font-size:25px;margin-left:45px}.hand-note.mini{font-size:13px;margin:0}.hero-stats{position:absolute;bottom:14px;left:44%;right:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-stat{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:10px;padding:12px 14px;display:flex;gap:10px;align-items:center;box-shadow:0 8px 24px rgba(11,61,95,.15);backdrop-filter:blur(10px)}.hero-stat .metric-icon,.metric-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-weight:900}.hero-stat.cyan .metric-icon{background:#d9f5fa;color:#12abc3}.hero-stat.green .metric-icon{background:#daf6e6;color:#0da66a}.hero-stat.purple .metric-icon{background:#eee5ff;color:#7144da}.hero-stat small{display:block;font-size:9px}.hero-stat strong{font-size:20px;line-height:1.1;display:block;color:#0a315d}.hero-stat em{font-style:normal;font-size:8px;color:#7490a6}

/* Home sections */
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}.section-heading h2{font-size:22px;line-height:1.1;margin-bottom:3px;color:#0a315d}.section-heading p{font-size:11px;color:#6b8398;margin-bottom:0}.section-heading>a{font-size:11px;color:#0780ba;font-weight:800;margin-top:6px}.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.impact-card{min-height:84px;border-radius:10px;padding:13px 16px;display:flex;gap:12px;align-items:center;border:1px solid #e4edf4}.impact-card>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:20px}.impact-card small{display:block;font-size:10px;font-weight:800}.impact-card strong{display:block;font-size:22px;line-height:1.05}.impact-card p{font-size:9px;color:#71869a;margin:3px 0 0}.impact-card.blue{background:#edf7ff}.impact-card.blue>span{background:#d7ecff;color:#1585dd}.impact-card.green{background:#effbf5}.impact-card.green>span{background:#d6f5e5;color:#11a264}.impact-card.orange{background:#fff7ed}.impact-card.orange>span{background:#ffe6c6;color:#f58719}.impact-card.purple{background:#f6f2ff}.impact-card.purple>span{background:#e8dcff;color:#6d3eda}.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.program-card{border:1px solid #dfe9f1;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 12px rgba(14,53,86,.04)}.program-image{display:block;aspect-ratio:2.3/1;background:#eaf2f7;overflow:hidden}.program-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.program-card:hover .program-image img{transform:scale(1.025)}.program-card-body{padding:10px 12px 12px}.badge-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800}.badge.category{background:#fff0f3;color:#d15466}.badge.status{background:#e7f8ef;color:#168355}.program-card h3{font-size:14px;margin:6px 0 4px;color:#0a315d}.program-card h3 a:hover{color:var(--primary)}.program-card p{font-size:10px;color:#60788f;line-height:1.45;min-height:28px;margin-bottom:8px}.program-meta{display:flex;justify-content:space-between;gap:10px;color:#5f7890;font-size:8px}.program-meta span{display:flex;align-items:center;gap:4px}.progress-line{height:6px;background:#e7eef4;border-radius:999px;overflow:hidden;margin-top:10px}.progress-line i{display:block;height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary));border-radius:inherit}.map-section{padding-top:8px;background:linear-gradient(180deg,#fff 0,#fff 55%,#edf8ff 100%)}.map-wrap{position:relative;padding-right:205px}.program-map{height:320px;border-radius:10px;background-size:cover;background-position:center;position:relative;overflow:hidden;border:1px solid #bfe0ef;box-shadow:0 8px 20px rgba(17,75,112,.10)}.map-controls{position:absolute;left:10px;top:10px;display:grid;gap:2px;z-index:4}.map-controls button{width:27px;height:27px;background:#fff;border:1px solid #cadde9;font-weight:800}.map-pin{position:absolute;width:15px;height:15px;border-radius:50% 50% 50% 0;transform:rotate(-45deg) translate(-50%,-50%);z-index:3;box-shadow:0 2px 5px rgba(0,0,0,.18)}.map-pin span{display:block;width:5px;height:5px;background:#fff;border-radius:50%;margin:4px}.map-pin.blue{background:#0b8ce0}.map-pin.green{background:#17ad71}.map-pin.orange{background:#ff8b1f}.map-caption{position:absolute;left:12px;bottom:11px;background:#fff;border-radius:8px;padding:8px 10px;font-size:9px;box-shadow:0 5px 16px rgba(0,0,0,.12);display:flex;gap:5px;align-items:center;color:#18a76a}.map-caption strong{color:#284c6c}.map-caption small{display:block;color:#7690a6}.map-summary{position:absolute;right:8px;top:14px;width:220px;background:rgba(255,255,255,.96);border-radius:10px;padding:16px;box-shadow:0 8px 30px rgba(6,54,90,.18);border:1px solid #dbe7ef}.map-summary h3{font-size:13px}.map-summary p{font-size:10px;margin:8px 0;display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.blue{background:#0b8ce0}.dot.green{background:#17ad71}.dot.orange{background:#ff8b1f}.map-summary .btn{margin-top:8px;width:100%;font-size:10px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.story-card{border:1px solid #e0e9f0;border-radius:10px;padding:8px;display:grid;grid-template-columns:86px 1fr;gap:11px;min-height:98px}.story-card img{width:86px;height:82px;object-fit:cover;border-radius:7px}.story-card h3{font-size:12px;margin:2px 0 4px}.story-card blockquote{margin:0 0 5px;font-size:9px;color:#506b83}.story-card small{font-size:8px;color:#698198}.process-section{padding-top:10px}.process-flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:start}.process-step{text-align:center;position:relative;min-width:0}.process-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin:0 auto 7px;font-size:18px}.process-icon.p0{background:#d7efff;color:#0e78c6}.process-icon.p1{background:#d6f5e5;color:#17a265}.process-icon.p2{background:#fff0da;color:#ef8521}.process-icon.p3{background:#d9f5f5;color:#159d9a}.process-icon.p4{background:#eee4ff;color:#7146d7}.process-icon.p5{background:#fff3d2;color:#e69b19}.process-icon.p6{background:#ffe2e2;color:#db4747}.process-step strong{font-size:11px;display:block}.process-step small{font-size:8px;color:#6a8298;display:block;line-height:1.35;padding:0 5px}.flow-arrow{position:absolute;right:-12px;top:10px;color:#0699b6;font-size:18px}.process-quote{background:#eaf8fb;border-radius:7px;padding:8px;text-align:center;color:#4d7e94;font-size:9px;margin-top:14px;font-style:italic}.evidence-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.evidence-card{position:relative;border-radius:9px;overflow:hidden;border:1px solid #dce8ef;min-height:92px;background:#fff}.evidence-card img{width:100%;height:88px;object-fit:cover}.evidence-card .badge{position:absolute;left:6px;bottom:6px;background:rgba(255,255,255,.92)}.evidence-card strong{display:none}.trust-card{border:1px solid #dce8ef;border-radius:10px;padding:13px;display:grid;grid-template-columns:40px 1fr 60px;gap:11px;align-items:center;background:#fbfeff}.trust-shield{width:38px;height:38px;background:#e0f6e9;color:#15a162;display:grid;place-items:center;border-radius:12px;font-size:20px;font-weight:900}.trust-card h3{font-size:11px;margin:0 0 5px}.trust-card ul{list-style:none;padding:0;margin:0;font-size:8px;color:#55738b}.trust-card li:before{content:"✓";color:#18a468;font-weight:900;margin-right:5px}.mini-chart{height:58px;display:flex;align-items:flex-end;gap:5px}.mini-chart i{width:8px;background:linear-gradient(var(--secondary),var(--primary));border-radius:3px 3px 0 0}.aspiration-section{background:linear-gradient(180deg,#fff,#f4fbff)}.aspiration-layout{display:grid;grid-template-columns:1fr 155px;gap:16px;align-items:end}.aspiration-form{display:grid;gap:11px}.tracking-panel{display:grid;grid-template-columns:1fr 260px;gap:10px;background:#f0fbff;border-radius:10px;padding:12px;border:1px solid #d7edf5}.tracking-panel>div{display:flex;gap:10px}.tracking-panel strong{font-size:11px;display:block}.tracking-panel p{font-size:8px;margin:3px 0;color:#668196}.tracking-panel small{grid-column:1/-1;font-size:8px;color:#58788e}.aspiration-figure{position:relative;min-height:185px}.aspiration-figure img{height:170px;margin-left:auto;object-fit:contain;object-position:bottom}.aspiration-figure .hand-note{position:absolute;top:-18px;right:0;z-index:2}

/* Public secondary pages */
.page-hero{background:linear-gradient(135deg,#eff9ff,#f4fffd);border-bottom:1px solid #dceaf2}.page-hero.compact{padding:48px 0 38px}.page-hero h1{font-size:38px;margin-bottom:8px;color:#0a315d}.page-hero p{max-width:720px;color:#55738d;font-size:14px}.explorer-layout{display:grid;grid-template-columns:240px 1fr;gap:20px}.filter-card{border:1px solid #dfe8ef;border-radius:12px;padding:16px;display:grid;gap:13px;height:max-content;position:sticky;top:84px}.filter-head{display:flex;justify-content:space-between;align-items:center}.filter-head h3{font-size:15px;margin:0}.filter-head a{font-size:11px;color:#0b77ba}.explorer-head{display:flex;justify-content:space-between;margin-bottom:12px}.explorer-head strong{display:block}.explorer-head small{color:#7890a5}.explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-detail-hero{padding:45px 0;background:linear-gradient(135deg,#eef9ff,#fff)}.detail-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}.detail-hero-grid h1{font-size:42px;margin:10px 0}.detail-hero-grid p{color:#56748e}.detail-hero-grid img{width:100%;height:260px;object-fit:cover;border-radius:16px}.detail-meta{display:flex;gap:20px;font-size:12px;color:#54718a}.detail-layout{display:grid;grid-template-columns:1fr 260px;gap:30px}.detail-article{font-size:15px;line-height:1.75}.detail-article h2{margin-top:28px}.detail-summary{display:grid;gap:10px;height:max-content;position:sticky;top:90px}.summary-tile{border:1px solid #dfe9f0;border-radius:12px;padding:15px}.summary-tile small,.summary-tile span{display:block;color:#71869a;font-size:11px}.summary-tile strong{display:block;font-size:26px;color:#0a315d}.simple-table{border:1px solid #dfe9ef;border-radius:10px;overflow:hidden}.simple-table>div{display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #e9eff4}.simple-table>div:last-child{border-bottom:0}.map-page-stats{margin-bottom:15px}.map-page{height:580px}.story-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.story-feature{display:grid;grid-template-columns:180px 1fr;border:1px solid #dfe9f0;border-radius:14px;overflow:hidden;background:#fff}.story-feature img{width:100%;height:100%;object-fit:cover}.story-feature>div{padding:18px}.story-feature h2{font-size:20px}.story-feature blockquote{margin:0 0 10px;font-style:italic;color:#31536f}.story-feature p{font-size:13px;color:#667e92}.story-feature small{color:#7690a5}.impact-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.panel{background:#fff;border:1px solid #dfe8ef;border-radius:14px;padding:18px;box-shadow:0 4px 16px rgba(19,59,90,.04)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-head h2{font-size:18px;margin:0}.metric-row,.task-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.metric-row:last-child,.task-row:last-child{border-bottom:0}.metric-row strong,.task-row strong{display:block;font-size:13px}.metric-row small,.task-row small{display:block;color:#7890a3;font-size:10px}.track-result{margin-top:16px;padding:20px;border:1px solid #dfe9f0;border-radius:14px}.track-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:18px}.track-steps span{padding:10px;text-align:center;background:#edf2f6;border-radius:8px;font-size:11px}.track-steps span.done{background:#e0f6e9;color:#147c50}.success-page{min-height:70vh;display:grid;place-items:center}.success-card{text-align:center;border:1px solid #dfe9ef;border-radius:18px;padding:36px;background:#fff;box-shadow:0 18px 50px rgba(20,62,92,.08)}.success-check{width:56px;height:56px;border-radius:50%;background:#dff7e9;color:#17a362;display:grid;place-items:center;margin:0 auto 15px;font-size:28px;font-weight:900}.success-check.mini{width:38px;height:38px;font-size:18px;margin:0}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.receipt-grid>div{padding:16px;background:#f3f9fd;border-radius:10px}.receipt-grid small{display:block;color:#71879a}.receipt-grid strong{font-size:17px;letter-spacing:.05em}.error-page{text-align:center;min-height:65vh;display:grid;place-items:center}.error-page h1{font-size:80px;margin-bottom:0;color:var(--primary)}.error-page h2{font-size:28px}.search-overlay{position:fixed;inset:0;z-index:100;background:rgba(7,34,55,.8);backdrop-filter:blur(12px);display:grid;place-items:start center;padding-top:18vh}.search-overlay[hidden]{display:none}.search-box{width:min(760px,calc(100% - 30px));background:#fff;padding:14px;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:10px}.search-box input{font-size:18px;border:0}.search-close{position:absolute;right:24px;top:20px;border:0;background:none;color:#fff;font-size:36px}

/* Toast */
.toast{position:fixed;right:20px;top:82px;z-index:200;max-width:460px;padding:13px 44px 13px 15px;border-radius:10px;font-size:12px;font-weight:700;box-shadow:0 12px 34px rgba(0,0,0,.14)}.toast.success{background:#e1f7e9;color:#126f48;border:1px solid #b7e8ca}.toast.error{background:#fff0f0;color:#b22e39;border:1px solid #f0c7ca}.toast button{position:absolute;right:10px;top:8px;border:0;background:none;font-size:20px;color:inherit}

/* Admin shell */
.admin-body{background:#f6f9fc;color:#143b61;min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:245px;height:100dvh;background:#fff;border-right:1px solid #dce7ef;z-index:60;display:flex;flex-direction:column;overflow:hidden}.admin-brand{height:72px;flex:0 0 72px;border-bottom:1px solid #e6eef4;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fff}.admin-brand>a{min-width:0;display:flex;align-items:center}.admin-brand img{width:190px;height:52px;object-fit:contain;object-position:left}.admin-sidebar-close{display:none;width:34px;height:34px;border:0;border-radius:9px;background:#f1f6fa;color:#365c78;padding:8px;place-items:center}.admin-sidebar-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-role-card{margin:12px 14px 10px;padding:13px;flex:0 0 auto;background:linear-gradient(135deg,#f0f9ff,#eef7fb);border:1px solid #d8e9f3;border-radius:12px;display:flex;gap:12px;align-items:center}.role-icon{width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:#e3f2ff;color:#0a78cf;display:grid;place-items:center;font-size:22px}.admin-role-card strong{font-size:11px;display:block}.admin-role-card small{font-size:9px;color:#637c92;line-height:1.35;display:block;margin-top:2px}.admin-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 0 8px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aebdca transparent;scrollbar-gutter:stable}.admin-nav::-webkit-scrollbar{width:7px}.admin-nav::-webkit-scrollbar-track{background:transparent}.admin-nav::-webkit-scrollbar-thumb{background:#aebdca;border-radius:999px;border:2px solid #fff}.admin-nav a{position:relative;display:flex;align-items:center;gap:13px;min-height:44px;padding:9px 18px;font-size:12px;color:#345674;border-left:4px solid transparent;transition:background .16s,color .16s,border-color .16s}.admin-nav a:hover{background:#f5f9fc;color:#164d78}.admin-nav a.active{background:linear-gradient(90deg,#eaf5ff 0,#f5fbff 100%);color:#0c73c6;font-weight:800;border-left-color:#1489e0}.admin-nav-icon{width:25px;min-width:25px;height:25px;display:grid;place-items:center;color:#315b7c}.admin-nav a.active .admin-nav-icon{color:#0b7fd1}.admin-nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-nav-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-sidebar-bottom{flex:0 0 auto;background:#fff;border-top:1px solid #edf2f5}.admin-logout{padding:8px 18px}.admin-logout button{width:100%;min-height:42px;background:none;border:0;border-radius:8px;color:#d83d46;font-weight:800;display:flex;align-items:center;gap:13px;padding:8px 0;text-align:left}.admin-logout button:hover{background:#fff5f5}.admin-logout .admin-nav-icon{color:#dc3d47}.sidebar-art{position:relative;height:clamp(96px,15vh,188px);background-size:cover;background-position:center;border-top:1px solid #dce8f0;display:flex;align-items:flex-end;padding:18px 24px;color:#fff;font-size:16px;line-height:1.35;overflow:hidden}.sidebar-art:after{content:"";position:absolute;inset:0;box-shadow:inset 0 18px 30px rgba(255,255,255,.08);pointer-events:none}.sidebar-art strong{position:relative;z-index:1;text-shadow:0 2px 12px rgba(0,0,0,.28)}.admin-sidebar-backdrop{position:fixed;inset:0;background:rgba(8,31,50,.38);backdrop-filter:blur(2px);z-index:55}.admin-sidebar-backdrop[hidden]{display:none!important}body.admin-nav-open{overflow:hidden}.admin-shell{margin-left:245px;min-height:100vh}.admin-topbar{height:64px;background:#fff;border-bottom:1px solid #dfe8ef;display:flex;align-items:center;padding:0 22px;position:sticky;top:0;z-index:50;gap:20px}.topbar-left{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.home-chip{width:30px;height:30px;border-radius:7px;background:#eff6fb;display:grid;place-items:center}.admin-menu-button{display:none}.topbar-search{margin-left:auto;width:min(360px,35vw);height:36px;border:1px solid #cfe0ec;border-radius:8px;display:flex;align-items:center;padding:0 10px;gap:8px;background:#fbfdff}.topbar-search input{border:0;padding:0;background:transparent;box-shadow:none!important}.topbar-right{display:flex;align-items:center;gap:8px;font-size:10px}.environment-dot{color:#18a766}.notify{position:relative;font-size:20px;padding:0 8px}.avatar{width:36px;height:36px;border-radius:50%;background:#0f79ce;color:#fff;display:grid;place-items:center;font-weight:800}.avatar.small{width:28px;height:28px;font-size:10px}.user-meta strong,.user-meta small{display:block}.user-meta small{font-size:8px;color:#72889a}.admin-main{padding:20px;max-width:1550px;margin:0 auto}.admin-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.admin-page-head h1{font-size:34px;line-height:1.05;margin:0 0 4px;color:#0b315e}.admin-page-head p{font-size:12px;color:#657f96;margin:0;max-width:780px}.admin-head-banner{width:285px;height:82px;border-radius:10px;background-size:cover;background-position:center;display:flex;justify-content:flex-end;padding:10px 14px;text-align:right;font-size:11px;color:#075a95}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.admin-metric-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-metric{background:#fff;border:1px solid #dfe8ef;border-radius:11px;padding:12px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 4px 14px rgba(17,56,87,.035);min-height:88px}.metric-square{width:40px;height:40px;min-width:40px;border-radius:9px;display:grid;place-items:center;font-size:20px}.metric-square.tiny{width:30px;height:30px;min-width:30px;font-size:15px}.metric-square.blue{background:#dff0ff;color:#0c7ccc}.metric-square.purple{background:#eee4ff;color:#7549d8}.metric-square.green{background:#def7e9;color:#17a567}.metric-square.orange{background:#fff0de;color:#f27f18}.metric-square.cyan{background:#e1f7fb;color:#19a4b8}.metric-square.teal{background:#dff6f3;color:#0a9f90}.admin-metric small{font-size:10px;font-weight:800;display:block;line-height:1.15}.admin-metric strong{display:block;font-size:21px;color:#0b315e;line-height:1.1;margin:4px 0}.admin-metric strong.small-strong{font-size:15px}.admin-metric em{font-style:normal;font-size:8px;color:#6f879b}.admin-grid{display:grid;gap:12px;margin-bottom:12px}.admin-grid.two-wide{grid-template-columns:1.3fr 1fr}.dashboard-middle{grid-template-columns:1.45fr 1fr .62fr}.dashboard-bottom{grid-template-columns:1.1fr 1fr .72fr}.admin-card{background:#fff;border:1px solid #dfe8ef;border-radius:11px;padding:13px;box-shadow:0 4px 14px rgba(17,56,87,.035);min-width:0}.admin-card.span-2{grid-column:span 1}.card-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.card-title h2{font-size:14px;margin:0}.card-title p{font-size:9px;color:#778ea1;margin:2px 0 0}.card-title a,.card-title>button,.card-title>span{margin-left:auto;font-size:9px;color:#0878bd;font-weight:800}.health-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #e5edf3;border-radius:8px;overflow:hidden}.health-grid>div{padding:11px;border-right:1px solid #e8eef3;min-width:0}.health-grid>div:last-child{border-right:0}.health-grid strong{display:block;font-size:9px}.health-status{display:block;color:#12a368;font-size:9px;font-weight:800;margin:8px 0}.health-grid small{font-size:8px;color:#71879b}.bar-chart{height:126px;display:flex;align-items:flex-end;gap:10px;padding:8px 8px 0;border-bottom:1px solid #dce7ef;background:repeating-linear-gradient(to top,transparent,transparent 25px,#edf2f6 26px)}.bar-item{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.bars{height:90px;display:flex;gap:3px;align-items:flex-end;justify-content:center}.bars i,.bars b{width:11px;min-height:4px;background:#4a98e9;border-radius:2px 2px 0 0}.bars b{background:#a7caee}.bar-item small{font-size:7px;color:#74899b;padding-top:4px}.admin-table-wrap{width:100%;overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:9px}.admin-table th{text-align:left;padding:8px;border-bottom:1px solid #dae6ee;color:#587188;font-size:8px;white-space:nowrap}.admin-table td{padding:8px;border-bottom:1px solid #edf2f5;color:#516b82;vertical-align:middle}.admin-table td strong{color:#183f62;display:block}.admin-table td small{display:block;color:#7c91a4;font-size:8px}.table-icon{width:20px;height:20px;border-radius:6px;background:#e7f4ff;display:inline-grid;place-items:center;margin-right:6px}.user-list{display:grid}.user-row{display:grid;grid-template-columns:28px 1fr auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #edf2f6}.user-row:last-child{border-bottom:0}.user-row strong{font-size:9px}.user-row small{font-size:8px;color:#70869a}.status-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;white-space:nowrap}.status-pill.ok{background:#e4f8ec;color:#128254}.status-pill.muted{background:#eef2f5;color:#687d8f}.status-pill.info{background:#e8f3ff;color:#0f70b9}.security-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.security-metrics>div{border:1px solid #e2eaf0;border-radius:8px;padding:9px}.security-metrics span{float:left;margin-right:7px;color:#0f7ac9}.security-metrics strong{font-size:16px}.security-metrics small{display:block;font-size:7px;color:#788b9c}.backup-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.backup-stats>div{padding:8px;border:1px solid #e2eaf0;border-radius:8px}.backup-stats small,.backup-stats span{display:block;font-size:8px;color:#748b9f}.backup-stats strong{font-size:11px;display:block}.storage-meter{margin:13px 0}.storage-meter>div{display:flex;justify-content:space-between;font-size:9px}.storage-meter progress{width:100%;height:9px;accent-color:var(--secondary)}.content-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.content-status-grid a{border:1px solid #e1eaf0;border-radius:8px;padding:8px;display:grid;grid-template-columns:30px 1fr;gap:5px}.content-status-grid strong{font-size:8px}.content-status-grid small{font-size:7px;grid-column:2}.ok-text{color:#14a064}.muted-text{color:#8998a6}.version-block small{font-size:8px;color:#72889b}.version-block strong{font-size:23px;display:inline-block;margin:0 6px 0 0}.version-block p{font-size:8px;color:#788ca0}.migration-status{display:flex;gap:9px;align-items:center;margin:10px 0}.migration-status strong{font-size:9px}.migration-status p{font-size:8px;color:#6e8598;margin:0}.admin-card .btn-block+.btn-block{margin-top:7px}

/* Admin content manager */
.content-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.content-manager-grid .span-2{grid-column:1/-1}.brand-preview{display:flex;align-items:center;gap:15px}.brand-preview-logo{width:180px;height:60px;border:1px solid #e4ecf2;border-radius:8px;display:grid;place-items:center;background:#fbfdff}.brand-preview-logo img{max-width:170px;max-height:50px}.brand-preview strong{font-size:18px}.brand-preview p{font-size:10px;color:#71889c}.color-swatches{margin-left:auto;display:flex;gap:6px}.color-swatches span{width:34px;height:34px;border-radius:9px;border:2px solid #fff;box-shadow:0 0 0 1px #dbe5ec}.hero-mini{display:grid;grid-template-columns:120px 1fr;gap:12px}.hero-mini img{width:120px;height:75px;object-fit:cover;border-radius:8px}.hero-mini strong{font-size:12px}.hero-mini p{font-size:9px;color:#758b9d}.summary-list{display:grid}.summary-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f5;padding:8px 0;font-size:9px}.summary-list>div:last-child{border-bottom:0}.summary-list span{color:#6e8598}.summary-list strong{font-size:9px;text-align:right}.manager-section{margin-bottom:12px}.section-list{display:grid}.section-row{display:grid;grid-template-columns:24px 42px 1fr auto auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.section-row:last-child{border-bottom:0}.drag-handle{color:#9aacbb}.section-index{width:34px;height:34px;border-radius:8px;background:#eef6fc;display:grid;place-items:center;font-size:9px;font-weight:800}.section-info strong{display:block;font-size:11px}.section-info small{font-size:8px;color:#788ea1}.public-manager-lower{grid-template-columns:1.5fr .7fr}.media-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.media-item{min-width:0}.media-thumb{aspect-ratio:1.4/1;border-radius:8px;overflow:hidden;background:#eef4f8;border:1px solid #dfe8ee}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-item strong{display:block;font-size:8px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-item small{display:block;font-size:7px;color:#8192a2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-actions{display:flex;gap:7px;margin-top:3px}.media-actions button{font-size:7px}.nav-manager{display:grid}.nav-manager>div{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;border-bottom:1px solid #edf2f5;padding:7px 0}.nav-manager strong{font-size:9px}.nav-manager small{font-size:7px;color:#8191a0;grid-column:2}.nav-manager form{grid-column:3;grid-row:1/3}

/* Dialogs */
.app-dialog{width:min(560px,calc(100% - 28px));max-height:90vh;border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(5,34,58,.28);color:#173f61}.app-dialog.wide{width:min(840px,calc(100% - 28px))}.app-dialog::backdrop{background:rgba(9,32,50,.58);backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e6edf2}.dialog-head h2{font-size:20px;margin:0}.dialog-head button{border:0;background:#f2f6f9;width:30px;height:30px;border-radius:50%;font-size:20px}.dialog-body{padding:18px 20px;display:grid;gap:13px;overflow:auto;max-height:65vh}.dialog-actions{padding:13px 20px;border-top:1px solid #e6edf2;display:flex;justify-content:flex-end;gap:8px;background:#fbfdff}.dialog-body small{font-size:9px;color:#7b8fa0}

/* Admin program/users/etc */
.programs-table{min-width:1000px}.table-progress{display:flex;align-items:center;gap:5px;min-width:90px}.table-progress>div{height:5px;flex:1;background:#e6edf2;border-radius:5px;overflow:hidden}.table-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary))}.table-actions{display:flex;gap:8px;align-items:center}.user-cell{display:flex;align-items:center;gap:7px}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.role-card-head{display:flex;gap:10px;align-items:center}.role-card h2{font-size:14px;margin:0}.role-card p{font-size:9px;color:#748a9c;min-height:40px}.role-card small{font-size:8px;color:#8295a5}.role-stats{display:flex;gap:20px;border-top:1px solid #edf2f5;padding-top:9px;margin-top:8px}.role-stats span{font-size:8px;color:#75899a}.role-stats strong{font-size:14px;display:block;color:#173f61}.permission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.permission-grid>div{padding:9px;border:1px solid #e1e9ef;border-radius:8px}.permission-grid strong,.permission-grid small{display:block}.permission-grid strong{font-size:9px}.permission-grid small{font-size:8px;color:#8091a0}.upgrade-contract{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upgrade-contract>div{border:1px solid #e1eaf0;border-radius:10px;padding:14px}.upgrade-contract strong,.upgrade-contract code,.upgrade-contract p{display:block}.upgrade-contract strong{font-size:10px;color:#1177b8}.upgrade-contract code{margin:7px 0;background:#f3f7fa;padding:8px;border-radius:6px}.upgrade-contract p{font-size:9px;color:#74899a}.backup-list{display:grid}.backup-list>div{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.backup-list strong{font-size:10px}.backup-list small{display:block;font-size:8px;color:#788d9f}.warning-card{border-color:#f1dfbb;background:#fffaf0}.pending-list{display:grid;gap:8px}.pending-list>div{display:flex;gap:10px;align-items:center;padding:9px;border:1px solid #e3ebf1;border-radius:8px}.pending-list strong{font-size:10px}.pending-list .status-pill{margin-left:auto}.success-state{display:flex;gap:12px;align-items:center;padding:15px;background:#f2fbf6;border-radius:10px}.success-state .success-check{margin:0}.success-state strong{font-size:12px}.success-state p{font-size:9px;color:#668276;margin:2px 0}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.diagnostic-card{display:flex;gap:12px;align-items:center}.diag-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:900}.diag-icon.ok{background:#e0f7e9;color:#169e61}.diag-icon.bad{background:#ffeded;color:#d33a46}.diagnostic-card small{display:block;font-size:8px;color:#7b8f9f}.diagnostic-card strong{display:block;font-size:11px;word-break:break-all}.security-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px}.security-checklist>div{padding:10px;background:#f4fbf7;border:1px solid #dceee3;border-radius:8px;font-size:9px}.notification-list>div{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f5}.notification-list strong{font-size:11px}.notification-list p,.notification-list small{font-size:9px;color:#70879a;margin:2px 0}

/* Workspace */
.workspace-body{background:#f6f9fc;min-height:100vh}.workspace-header{background:#fff;border-bottom:1px solid #dfe8ef;position:sticky;top:0;z-index:50}.workspace-head-inner{height:66px;display:flex;align-items:center;gap:24px}.workspace-head-inner .brand{margin-right:auto}.workspace-head-inner nav{display:flex;gap:18px;font-size:12px;font-weight:700}.workspace-user{display:flex;align-items:center;gap:10px;font-size:12px}.workspace-main{padding-top:30px;padding-bottom:50px}.workspace-title{margin-bottom:20px}.workspace-title h1{font-size:34px;margin-bottom:4px}.workspace-title p{color:#6c8397;font-size:13px}.workspace-metrics{margin-bottom:18px}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.task-statuses{display:flex;gap:5px}.field-task-grid,.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-task .task-card-head{display:flex;justify-content:space-between;gap:14px}.field-task h2{font-size:18px;margin:8px 0 5px}.field-task p{font-size:12px;color:#6c8295}.task-meta{display:flex;gap:18px;padding:10px 0;border-top:1px solid #edf2f5;font-size:10px;color:#70879a}.task-actions{display:flex;gap:8px}.journey-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:16px}.journey-steps span{font-size:8px;text-align:center;padding:7px 3px;border-radius:6px;background:#edf2f6}.journey-steps span.done{background:#e0f6e9;color:#147a4e}

/* Auth */
.auth-page{min-height:calc(100vh - 66px);display:grid;grid-template-columns:1.1fr .9fr}.auth-visual{background:linear-gradient(135deg,rgba(4,68,113,.84),rgba(0,160,148,.78)),url('../images/indonesia-map.svg') center/cover;display:flex;align-items:flex-end;padding:60px;color:#fff}.auth-visual.register{background:linear-gradient(135deg,rgba(0,128,158,.86),rgba(29,168,100,.78)),url('../images/indonesia-map.svg') center/cover}.auth-visual-copy{max-width:600px}.auth-visual .eyebrow{color:#c9fff5}.auth-visual h1{font-size:42px}.auth-panel{display:grid;place-items:center;padding:40px;background:#f9fcfe}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #dfe8ef;border-radius:18px;padding:30px;box-shadow:0 16px 50px rgba(13,53,83,.08)}.auth-card h1{font-size:30px;margin-bottom:4px}.auth-card>p{color:#6c8295;font-size:12px}.auth-card form{display:grid;gap:13px;margin-top:22px}.auth-foot{text-align:center;font-size:11px;color:#71879a;margin-top:18px}.auth-foot a{color:#0878bf;font-weight:800}

/* Setup */
.setup-body{background:radial-gradient(circle at 20% 10%,#e4f9ff,transparent 35%),linear-gradient(135deg,#f5fbff,#eefaf6);min-height:100vh;padding:35px 20px}.setup-shell{max-width:960px;margin:0 auto}.setup-card{background:#fff;border:1px solid #dbe8ef;border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(10,54,84,.10)}.setup-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.setup-mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#e2f5ff,#e7fbef);display:grid;place-items:center;color:#0877c9;font-size:26px}.setup-brand strong,.setup-brand small{display:block}.setup-brand small{color:#7a90a3;font-size:10px}.setup-head h1{font-size:34px;max-width:720px}.setup-head p{color:#637e93;font-size:13px}.setup-head code,.path-note code{background:#eef5fa;padding:3px 6px;border-radius:5px}.requirements{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.requirement{border:1px solid #dce7ee;border-radius:10px;padding:10px;display:flex;gap:8px;align-items:center}.requirement>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center}.requirement.ok>span{background:#e1f7e9;color:#15995f}.requirement.bad>span{background:#ffeded;color:#ce3944}.requirement strong,.requirement small{display:block;font-size:9px}.requirement small{color:#768c9e}.setup-form{display:grid;gap:18px}.setup-form section{border-top:1px solid #e7eef3;padding-top:18px}.setup-section-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.setup-section-head>span{width:36px;height:36px;border-radius:9px;background:#e8f5ff;display:grid;place-items:center;color:#0878c9;font-weight:900}.setup-section-head h2{font-size:18px;margin:0}.setup-section-head p{font-size:10px;color:#72889a;margin:2px 0}.path-note{margin-top:10px;padding:10px;background:#f5f9fc;border-radius:8px;font-size:10px}.setup-locked{text-align:center;max-width:620px;margin:10vh auto}.setup-locked .form-actions{justify-content:center;margin-top:18px}

/* Responsive */
@media (max-width:1180px){.admin-metric-grid.six{grid-template-columns:repeat(3,1fr)}.dashboard-middle{grid-template-columns:1fr 1fr}.security-card{grid-column:1/-1}.dashboard-bottom{grid-template-columns:1fr 1fr}.dashboard-bottom>section:last-child{grid-column:1/-1}.media-grid{grid-template-columns:repeat(4,1fr)}.role-grid{grid-template-columns:repeat(3,1fr)}.health-grid{grid-template-columns:repeat(3,1fr)}.health-grid>div:nth-child(3){border-right:0}.health-grid>div:nth-child(-n+3){border-bottom:1px solid #e8eef3}.hero-quote{display:none}.hero-stats{left:42%}}
@media (max-width:980px){.desktop-nav{display:none}.menu-toggle{display:grid;place-items:center}.hero-public{height:auto;min-height:520px}.hero-media{background-position:70% center}.hero-content{padding-top:40px;padding-bottom:120px}.hero-copy{width:58%}.hero-copy h1{font-size:38px}.hero-stats{left:20px;right:20px;bottom:18px}.impact-grid{grid-template-columns:repeat(2,1fr)}.program-grid{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:1fr}.evidence-layout{grid-template-columns:1fr}.process-flow{grid-template-columns:repeat(4,1fr);row-gap:20px}.flow-arrow{display:none}.map-wrap{padding-right:0}.map-summary{position:relative;right:auto;top:auto;width:100%;margin-top:10px;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center}.map-summary h3{grid-column:1/-1}.map-summary .btn{margin:0}.footer-grid{grid-template-columns:1fr 1fr}.explorer-layout{grid-template-columns:1fr}.filter-card{position:relative;top:auto}.story-page-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.detail-summary{position:relative;top:auto;grid-template-columns:repeat(3,1fr)}.admin-sidebar{transform:translateX(-104%);transition:transform .22s ease;box-shadow:none}.admin-sidebar.open{transform:translateX(0);box-shadow:18px 0 42px rgba(9,42,67,.16)}.admin-sidebar.open .admin-sidebar-close{display:grid}.admin-shell{margin-left:0}.admin-menu-button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:#f0f6fa;color:#315b79}.admin-topbar{padding:0 12px}.topbar-search{display:none}.admin-main{padding:14px}.admin-page-head h1{font-size:28px}.admin-metric-grid.six{grid-template-columns:repeat(3,1fr)}.admin-grid.two-wide,.content-manager-grid,.public-manager-lower{grid-template-columns:1fr}.content-manager-grid .span-2{grid-column:auto}.dashboard-middle,.dashboard-bottom{grid-template-columns:1fr}.security-card,.dashboard-bottom>section:last-child{grid-column:auto}.admin-head-banner{display:none}.workspace-grid{grid-template-columns:1fr}.field-task-grid,.community-grid{grid-template-columns:1fr}.auth-page{grid-template-columns:1fr}.auth-visual{min-height:300px}.requirements{grid-template-columns:repeat(2,1fr)}.diagnostic-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.container{width:min(100% - 28px,1180px)}.public-header,.header-inner{height:58px}.brand{min-width:0}.brand img{width:155px;height:38px}.desktop-only{display:none}.header-actions .btn{display:none}.hero-public{min-height:640px}.hero-media{background-image:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.08) 72%),var(--hero-bg);background-position:60% bottom}.hero-content{padding-top:32px;padding-bottom:185px}.hero-copy{width:100%;max-width:none}.hero-copy h1{font-size:36px;max-width:95%}.hero-copy p{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-stats{grid-template-columns:1fr 1fr;left:14px;right:14px;bottom:14px}.hero-stat:last-child{grid-column:1/-1}.hand-note{font-size:14px}.section{padding:22px 0}.section-heading h2{font-size:20px}.section-heading>a{display:none}.impact-grid{grid-template-columns:1fr 1fr}.impact-card{padding:11px;min-height:78px}.impact-card>span{width:36px;height:36px}.impact-card strong{font-size:19px}.program-grid,.explorer-grid{grid-template-columns:1fr}.program-image{aspect-ratio:1.85/1}.program-card h3{font-size:16px}.program-card p{font-size:11px}.program-meta{font-size:9px}.program-map{height:260px}.map-summary{grid-template-columns:1fr 1fr}.map-summary .btn{grid-column:1/-1}.process-flow{grid-template-columns:repeat(2,1fr)}.evidence-grid{grid-template-columns:repeat(2,1fr)}.trust-card{grid-template-columns:40px 1fr}.mini-chart{display:none}.aspiration-layout{grid-template-columns:1fr}.aspiration-figure{display:none}.form-grid,.form-grid.two{grid-template-columns:1fr}.tracking-panel{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{grid-column:1/-1}.page-hero.compact{padding:36px 0 28px}.page-hero h1{font-size:30px}.filter-card{display:none}.filter-card.open{display:grid;position:fixed;z-index:80;inset:58px 0 0;background:#fff;border:0;border-radius:0;padding:20px;overflow:auto}.mobile-filter{display:inline-flex}.detail-hero-grid{grid-template-columns:1fr}.detail-hero-grid h1{font-size:32px}.detail-hero-grid img{height:210px}.detail-summary{grid-template-columns:1fr}.story-feature{grid-template-columns:110px 1fr}.story-feature>div{padding:12px}.impact-content-grid{grid-template-columns:1fr}.map-page{height:390px}.receipt-grid{grid-template-columns:1fr}.track-steps{grid-template-columns:1fr}.toast{left:12px;right:12px;top:68px;max-width:none}.admin-metric-grid,.admin-metric-grid.six{grid-template-columns:1fr 1fr}.admin-page-head{flex-direction:column}.environment-state,.user-meta{display:none}.admin-metric{min-height:82px}.health-grid{grid-template-columns:1fr 1fr}.health-grid>div{border-bottom:1px solid #e8eef3}.media-grid{grid-template-columns:repeat(2,1fr)}.section-row{grid-template-columns:28px 1fr auto}.drag-handle{display:none}.section-index{grid-row:1/3}.section-info{grid-column:2}.section-row>.status-pill{grid-column:3;grid-row:1}.section-row>.btn,.section-row>form{grid-row:2}.section-row>.btn{grid-column:2}.section-row>form{grid-column:3}.brand-preview{align-items:flex-start;flex-wrap:wrap}.color-swatches{margin-left:0}.role-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr 1fr}.upgrade-contract{grid-template-columns:1fr}.diagnostic-grid{grid-template-columns:1fr}.security-checklist{grid-template-columns:1fr}.workspace-head-inner nav{display:none}.workspace-user span{display:none}.workspace-title h1{font-size:28px}.field-task .task-card-head{flex-direction:column}.journey-steps{grid-template-columns:1fr}.auth-visual{min-height:250px;padding:30px}.auth-visual h1{font-size:30px}.auth-panel{padding:24px 14px}.auth-card{padding:22px}.requirements{grid-template-columns:1fr}.setup-card{padding:20px}.setup-head h1{font-size:28px}}
.dialog-delete{padding:0 20px 16px;background:#fbfdff}.editable-summary>div{align-items:center}.editable-summary .text-button{margin-left:auto}

/* =========================================================
   v1.1 Full Role Workspace & Authority Completion
   Role-specific composition: decision/program/task/journey/participation
   ========================================================= */
.role-workspace{background:#f5f8fb;min-height:100vh;color:#123b61}.role-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#fff;border-right:1px solid #dce6ee;z-index:70;display:flex;flex-direction:column;padding:18px 14px 14px;box-shadow:8px 0 30px rgba(15,53,83,.025)}.role-brand{height:46px;display:flex;align-items:center;padding:0 10px;margin-bottom:16px}.role-brand img{max-width:170px;max-height:40px}.role-identity{display:flex;gap:11px;align-items:center;padding:13px;border:1px solid #dfeaf2;border-radius:14px;background:linear-gradient(135deg,#f4faff,#f7fffc);margin-bottom:16px}.role-identity-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#e7f5ff;color:var(--primary);font-size:18px;font-weight:900}.role-identity small,.role-identity strong{display:block}.role-identity small{font-size:10px;letter-spacing:.12em;color:#7790a4;font-weight:800}.role-identity strong{font-size:12px;margin-top:2px}.role-nav{display:grid;gap:5px}.role-nav a{height:44px;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:11px;color:#49657c;font-size:12px;font-weight:750;transition:.18s}.role-nav a span{width:25px;text-align:center;font-size:15px}.role-nav a:hover{background:#f1f7fb;color:#0a5f9b}.role-nav a.active{background:linear-gradient(90deg,#e6f4ff,#effbff);color:#0873c1;box-shadow:inset 3px 0 #0b83db}.role-sidebar-foot{margin-top:auto;border-top:1px solid #e8eef3;padding:13px 10px 0;display:grid;gap:5px}.role-sidebar-foot a{font-size:10px;font-weight:750;color:#176d9e}.role-sidebar-foot small{font-size:10px;color:#8a9aa7}.role-shell{margin-left:250px;min-height:100vh}.role-topbar{height:66px;position:sticky;top:0;z-index:55;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #dfe7ed;display:flex;align-items:center;justify-content:space-between;padding:0 26px}.role-topbar>div{display:flex;align-items:center}.role-breadcrumb{font-size:11px;color:#6d8294}.role-breadcrumb i{font-style:normal;color:#a7b6c1;padding:0 7px}.role-menu-button{display:none;border:0;background:#edf5fa;width:36px;height:36px;border-radius:9px;margin-right:10px}.role-top-actions{gap:14px}.role-notification-link{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f0f7fb;color:#0c83ca;font-size:10px}.role-user{display:flex;align-items:center;gap:8px}.role-user strong,.role-user small{display:block}.role-user strong{font-size:10px}.role-user small{font-size:10px;color:#7e91a0}.role-main{padding:26px 28px 80px;max-width:1540px;margin:0 auto}.role-bottom-nav{display:none}.role-kicker{display:inline-block;font-size:10px;letter-spacing:.13em;font-weight:900;color:#0d88c7;margin-bottom:5px}.role-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.role-page-head h1{font-size:32px;line-height:1.08;margin:0 0 7px;color:#0b3158}.role-page-head p{font-size:12px;color:#6c8295;max-width:780px;margin:0}.head-actions,.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.role-metrics{display:grid;gap:11px;margin-bottom:18px}.role-metrics.six{grid-template-columns:repeat(6,minmax(0,1fr))}.role-metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.role-metrics article{background:#fff;border:1px solid #dfe8ef;border-radius:13px;padding:13px;min-height:103px;position:relative;box-shadow:0 5px 18px rgba(12,55,88,.025)}.role-metrics .metric-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#e8f4ff;color:#0a7dc7;font-size:12px;font-weight:900;margin-bottom:8px}.role-metrics small,.role-metrics strong,.role-metrics em{display:block}.role-metrics small{font-size:10px;color:#6f8799;font-weight:750}.role-metrics strong{font-size:22px;letter-spacing:-.04em;color:#0b3158;line-height:1.1;margin:2px 0}.role-metrics em{font-size:10px;font-style:normal;color:#8a9ca9}.role-card{background:#fff;border:1px solid #dfe8ef;border-radius:15px;padding:17px;box-shadow:0 7px 24px rgba(15,54,84,.035)}.role-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.role-card-head h2{font-size:16px;margin:0;color:#103a61}.role-card-head>div>small,.role-card-head>a{font-size:10px;color:#6f8799}.role-card-head>a,.text-button{color:#0c80bf;font-weight:800}.role-layout-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:16px;align-items:start}.role-stack{display:grid;gap:16px}.count-badge{min-width:28px;height:24px;border-radius:12px;padding:0 8px;background:#edf5fa;display:grid;place-items:center;font-size:10px;font-weight:850;color:#4f718a}.role-empty{padding:24px;border:1px dashed #cddae4;border-radius:11px;background:#fbfdff;color:#7b8fa0;text-align:center;font-size:10px}.role-empty.compact{padding:14px}.mini-empty{font-size:10px;color:#8498a6;padding:8px 0}.decision-list,.review-list{display:grid;gap:9px}.decision-item{border:1px solid #e0e8ee;border-radius:11px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:12px;border-left-width:4px}.decision-item.priority-critical{border-left-color:#df3d49}.decision-item.priority-high{border-left-color:#f39a2f}.decision-item.priority-normal{border-left-color:#2d96d5}.decision-item.priority-low{border-left-color:#81a1b6}.decision-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:#8093a2}.decision-copy h3{font-size:13px;margin:7px 0 4px}.decision-copy p{font-size:10px;color:#627b8e;margin-bottom:6px;line-height:1.55}.decision-copy small{font-size:10px;color:#8697a4}.decision-actions{display:flex;gap:6px;align-self:center}.requested-action,.decision-result,.review-note{margin-top:8px;padding:8px 9px;border-radius:7px;background:#f1f7fb;font-size:10px;color:#567287}.decision-result{background:#edf9f2;color:#3f7658}.review-row{border:1px solid #e1e9ef;border-radius:10px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.review-row h3{font-size:12px;margin:6px 0 3px}.review-row p{font-size:10px;color:#6c8192;margin-bottom:4px}.review-row small{font-size:10px;color:#8597a5}.exception-row,.portfolio-row,.compact-task,.aspiration-ops-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f5}.exception-row:last-child,.portfolio-row:last-child,.compact-task:last-child,.aspiration-ops-row:last-child{border-bottom:0}.exception-row strong,.portfolio-row strong,.compact-task strong,.aspiration-ops-row strong{display:block;font-size:10px}.exception-row small,.portfolio-row small,.compact-task small,.aspiration-ops-row small{display:block;font-size:10px;color:#7c91a0;margin-top:2px}.exception-tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.exception-tags span{font-size:10px;padding:4px 6px;background:#fff4e8;color:#9b651f;border-radius:12px}.portfolio-row>div:first-child{min-width:0;flex:1}.portfolio-budget{text-align:right}.portfolio-budget b,.portfolio-budget small{display:block}.portfolio-budget b{font-size:10px}.mini-progress{height:4px;background:#e8eef3;border-radius:5px;overflow:hidden;margin-top:6px}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary));border-radius:5px}.program-ops-list{display:grid}.program-ops-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.program-ops-row:last-child{border-bottom:0}.program-status-mark{width:7px;height:36px;border-radius:8px;background:#aac2d3}.program-status-mark.status-active{background:#20a76c}.program-status-mark.status-ready{background:#168bc8}.program-status-mark.status-planning{background:#e8a440}.program-status-mark.status-draft{background:#9aaebb}.program-ops-row strong,.program-ops-row small{display:block}.program-ops-row strong{font-size:10px}.program-ops-row small{font-size:10px;color:#7d90a0}.program-ops-state{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.review-source{padding:12px;background:#f5f9fc;border-radius:9px;font-size:10px;color:#526e84}.scope-toolbar{display:flex;gap:7px;margin-bottom:10px}.scope-check-list{max-height:520px;overflow:auto;border:1px solid #e0e9ef;border-radius:10px;padding:7px}.scope-check-list label{display:flex;gap:9px;align-items:flex-start;padding:8px;border-radius:7px;border-bottom:1px solid #edf2f5}.scope-check-list label:last-child{border-bottom:0}.scope-check-list label:hover{background:#f4f9fc}.scope-check-list input{margin-top:2px}.scope-check-list strong,.scope-check-list small{display:block}.scope-check-list strong{font-size:10px}.scope-check-list small{font-size:10px;color:#8093a1}.permission-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-check{display:flex!important;flex-direction:row!important;gap:9px;align-items:flex-start;padding:9px;border:1px solid #e0e8ee;border-radius:8px}.permission-check input{width:auto;margin-top:3px}.permission-check strong,.permission-check small,.permission-check em{display:block}.permission-check strong{font-size:10px}.permission-check small{font-size:10px;color:#0d78b7}.permission-check em{font-size:10px;color:#8294a1;font-style:normal;margin-top:2px}.warning-box{padding:10px;background:#fff7ea;border:1px solid #f0dfbd;border-radius:8px;font-size:10px;color:#8a652b}.sticky-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.96);border:1px solid #dce6ed;border-radius:12px;padding:9px;box-shadow:0 12px 30px rgba(10,45,74,.11);margin-top:12px;z-index:20}

/* Program workspace */
.program-context-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:linear-gradient(135deg,#fff,#f1f9ff);border:1px solid #dce8f0;border-radius:16px;padding:18px 20px;margin-bottom:10px}.back-link{display:block;font-size:10px;color:#1581bb;font-weight:800;margin-bottom:7px}.program-context-head h1{font-size:28px;margin:0 0 7px}.program-context-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#718697}.program-state-block{text-align:right;display:grid;grid-template-columns:auto auto;gap:5px 6px;align-items:center}.program-state-block strong{font-size:27px;line-height:1}.program-state-block small{font-size:10px;color:#8597a4}.program-subnav{display:flex;gap:4px;overflow:auto;padding:4px 0 12px;position:sticky;top:66px;z-index:30;background:#f5f8fb}.program-subnav a{white-space:nowrap;padding:7px 10px;background:#fff;border:1px solid #dfe8ef;border-radius:8px;font-size:10px;font-weight:800;color:#547087}.program-subnav a:hover{color:#087bc2;border-color:#b8d9ec}.program-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:start}.sticky-card{position:sticky;top:116px}.lead-copy{font-size:12px;color:#557289;line-height:1.6}.program-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:13px}.program-facts>div{background:#f5f9fc;border-radius:9px;padding:9px}.program-facts small,.program-facts strong{display:block}.program-facts small{font-size:10px;color:#8193a1}.program-facts strong{font-size:15px}.program-description{border-top:1px solid #edf2f5;margin-top:13px;padding-top:11px}.program-description b{font-size:10px}.program-description p{font-size:10px;color:#627b8e;line-height:1.6;margin:4px 0}.planning-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:18px}.planning-grid h3,.ops-columns h3,.impact-ops-grid h3,.community-content-grid h3,.community-followups h3,.community-history h3{font-size:10px;margin-bottom:8px;color:#47657c}.kv-row{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #eef2f5;font-size:10px}.sdg-chip-wrap{display:flex;gap:5px;flex-wrap:wrap}.sdg-chip{font-size:10px;padding:5px 7px;border-radius:10px;background:#edf7f1;color:#47715a}.ops-columns{display:grid;grid-template-columns:1fr 1.1fr;gap:17px}.assignment-row,.execution-row,.followup-row,.metric-result-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf2f5}.assignment-row strong,.execution-row strong,.followup-row strong,.metric-result-row strong{display:block;font-size:10px}.assignment-row small,.execution-row small,.followup-row small,.metric-result-row small{display:block;font-size:10px;color:#7e91a0}.execution-row p,.followup-row p{font-size:10px;color:#6a8293;margin:4px 0}.revision-note,.revision-banner{color:#a8612d;background:#fff7eb;border-radius:7px;padding:6px;font-size:10px;margin:5px 0}.monev-row{border:1px solid #e4ebf0;border-radius:9px;padding:9px;margin-bottom:7px}.monev-top{display:flex;justify-content:space-between;align-items:center}.monev-row strong{font-size:10px;display:block;margin-top:6px}.monev-row p{font-size:10px;color:#657d8e;margin:4px 0}.monev-row small{font-size:10px;color:#8093a1}.impact-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.result-level{font-size:10px;letter-spacing:.1em;color:#0c82bf;font-weight:900;display:block;margin-bottom:2px}.community-ops-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.community-ops-grid article{border:1px solid #e1e9ef;border-radius:10px;padding:10px}.community-ops-grid h3{font-size:10px;margin:7px 0 3px}.community-ops-grid p{font-size:10px;color:#74899a}.decision-history-row{padding:10px 0;border-bottom:1px solid #edf2f5}.decision-history-row strong{font-size:10px;display:block;margin:5px 0}.decision-history-row small,.decision-history-row p{font-size:10px;color:#738899}.publication-gate{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.gate-state{padding:11px;border:1px solid #e1e9ef;border-radius:10px;min-height:88px}.gate-state span,.gate-state strong,.gate-state small{display:block}.gate-state span{font-size:10px;color:#8495a3}.gate-state strong{font-size:11px;margin:6px 0;color:#17486e}.gate-state small{font-size:10px;color:#8091a0}.gate-arrow{color:#87a0b1}.gate-actions{margin-top:11px;display:flex;justify-content:flex-end}.timeline-list{display:grid}.timeline-list>div{display:grid;grid-template-columns:16px 1fr;gap:7px;padding:7px 0;position:relative}.timeline-list>div:not(:last-child):before{content:"";position:absolute;left:5px;top:19px;bottom:-5px;width:1px;background:#dce6ed}.timeline-dot{width:11px;height:11px;border-radius:50%;background:#cde9f8;border:3px solid #f0f9ff;margin-top:1px;z-index:1}.timeline-list strong{font-size:10px}.timeline-list p{font-size:10px;color:#6e8393;margin:2px 0}.timeline-list small{font-size:10px;color:#8a99a5}.next-action-links{display:grid;margin-top:10px}.next-action-links a{padding:7px 0;border-bottom:1px solid #edf2f5;font-size:10px;color:#087fc0;font-weight:800}.checkline{display:flex!important;flex-direction:row!important;align-items:center;gap:7px}.checkline input{width:auto!important}.program-table-wrap{overflow:auto}.role-table{width:100%;border-collapse:collapse;min-width:900px}.role-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8293a0;text-align:left;padding:9px;border-bottom:1px solid #dde7ed}.role-table td{font-size:10px;padding:10px 9px;border-bottom:1px solid #edf2f5}.role-table td strong,.role-table td small{display:block}.role-table td small{font-size:10px;color:#8394a0;margin-top:2px}

/* Field workspace */
.field-task-list{display:grid;gap:10px}.field-task-card{border:1px solid #dfe8ef;border-radius:12px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:15px;position:relative;overflow:hidden}.field-task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#5aa3cf}.field-task-card.state-revision_required:before{background:#ee9732}.field-task-card.state-validated:before{background:#24a76d}.field-task-top{display:flex;justify-content:space-between;gap:10px}.program-chip{font-size:10px;color:#0a7cb9;background:#eaf6fc;padding:4px 6px;border-radius:10px}.field-task-card h3{font-size:14px;margin:6px 0 4px}.field-task-card p{font-size:10px;color:#647c8d;line-height:1.5}.task-context{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #edf2f5;padding-top:8px;font-size:10px;color:#7890a1}.field-task-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.waiting-note,.validated-note{font-size:10px;padding:7px 9px;border-radius:10px}.waiting-note{background:#edf6fb;color:#4d7893}.validated-note{background:#eaf8f0;color:#337354}.revision-banner{margin-top:8px}.revision-banner b{font-size:10px}.revision-banner p{margin:2px 0;font-size:10px}.evidence-upload-box{border:1px dashed #bfcfda;border-radius:10px;padding:12px;background:#f9fcfe;display:grid;gap:8px}.evidence-upload-box small{font-size:10px;color:#748a9a}.field-monev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.field-monev-grid article{border:1px solid #e0e9ef;border-radius:10px;padding:10px}.field-monev-grid h3{font-size:10px;margin:6px 0 2px}.field-monev-grid small{font-size:10px;color:#8595a1}.field-monev-grid p{font-size:10px;color:#667e8f;margin:5px 0}

/* Community workspace */
.community-journey-list{display:grid;gap:16px}.community-journey-card{padding:20px}.community-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.community-hero h2{font-size:22px;margin:0 0 4px}.community-hero p{font-size:10px;color:#71889a}.community-stage-current{text-align:right;padding:9px 12px;border-radius:10px;background:#eefaF3;border:1px solid #d9eee1}.community-stage-current small,.community-stage-current strong{display:block}.community-stage-current small{font-size:10px;color:#6e8a78}.community-stage-current strong{font-size:11px;color:#2e7951}.journey-track{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:22px 0;position:relative}.journey-track:before{content:"";position:absolute;top:12px;left:9%;right:9%;height:2px;background:#dfe7ed}.journey-node{text-align:center;position:relative;z-index:1}.journey-node span{width:25px;height:25px;border-radius:50%;background:#eef3f6;color:#91a2ad;display:grid;place-items:center;margin:0 auto 6px;font-size:10px;border:3px solid #fff}.journey-node b{font-size:10px;color:#81939f}.journey-node.done span{background:#dff5e8;color:#25815a}.journey-node.done b{color:#3a7158}.journey-node.current span{box-shadow:0 0 0 4px #ecf8f1}.community-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #edf2f5;padding-top:15px}.community-program-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf2f5}.community-program-row strong,.community-program-row small{display:block}.community-program-row strong{font-size:10px}.community-program-row small{font-size:10px;color:#8193a0}.community-monev-row{padding:9px 0;border-bottom:1px solid #edf2f5}.community-monev-row strong,.community-monev-row small{display:block}.community-monev-row strong{font-size:10px;margin-top:5px}.community-monev-row small{font-size:10px;color:#8395a2}.community-monev-row p{font-size:10px;color:#657e90;margin:5px 0}.community-followups,.community-history{border-top:1px solid #edf2f5;margin-top:15px;padding-top:14px}.followup-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.followup-cards article{border:1px solid #e1e9ef;border-radius:9px;padding:9px}.followup-cards strong{display:block;font-size:10px;margin:6px 0}.followup-cards p{font-size:10px;color:#667e90}.followup-cards small{font-size:10px;color:#81939f}

/* Stakeholder workspace */
.participation-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:16px;align-items:start}.participation-empty{text-align:center;padding:35px 20px}.participation-empty>span{font-size:32px;color:#4a9ccb}.participation-empty h3{font-size:14px;margin:7px 0}.participation-empty p{font-size:10px;color:#74899a;max-width:380px;margin:0 auto 13px}.stakeholder-asp-list{display:grid;gap:10px}.stakeholder-asp-card{border:1px solid #e0e8ee;border-radius:12px;padding:13px}.stakeholder-asp-head{display:flex;justify-content:space-between;gap:10px}.tracking-chip{font-size:10px;padding:4px 6px;background:#eef7fc;color:#0a7fbe;border-radius:10px;font-weight:900;letter-spacing:.05em}.stakeholder-asp-head h3{font-size:12px;margin:6px 0 2px}.stakeholder-asp-head small{font-size:10px;color:#8093a0}.public-status-track{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}.public-status-track>div{display:flex;align-items:center;gap:6px;background:#f3f6f8;padding:7px;border-radius:8px;color:#8b9ba5}.public-status-track span{width:17px;height:17px;border-radius:50%;background:#e1e8ed;display:grid;place-items:center;font-size:10px}.public-status-track b{font-size:10px}.public-status-track>div.done{background:#eaf8f0;color:#3a7658}.public-status-track>div.done span{background:#cfeedd}.asp-history{margin-top:9px;border-top:1px solid #edf2f5;padding-top:8px}.asp-history summary{font-size:10px;color:#0d7eba;font-weight:800;cursor:pointer}.stake-notification{display:grid;grid-template-columns:8px 1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid #edf2f5}.stake-notification.unread{background:linear-gradient(90deg,#f1f9ff,transparent);margin:0 -8px;padding-left:8px;padding-right:8px}.notification-dot{width:7px;height:7px;border-radius:50%;background:#c2d2dd;margin-top:4px}.stake-notification.unread .notification-dot{background:#1186cb}.stake-notification strong{font-size:10px}.stake-notification p{font-size:10px;color:#718696;margin:2px 0}.stake-notification small{font-size:10px;color:#8a99a5}.participation-cta{background:linear-gradient(145deg,#f2fbff,#f3fcf7)}.participation-cta h2{font-size:16px}.participation-cta p{font-size:10px;color:#6e8595}.notification-inbox{display:grid}.notification-inbox-row{display:grid;grid-template-columns:30px 1fr auto;gap:11px;padding:12px 0;border-bottom:1px solid #edf2f5;align-items:start}.notification-inbox-row.unread{background:linear-gradient(90deg,#f0f8fd,transparent);margin:0 -10px;padding-left:10px;padding-right:10px}.notification-type{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eaf5fb;color:#1386c5;font-size:10px}.notification-type.success{background:#e8f8ef;color:#22835a}.notification-type.warning{background:#fff5e7;color:#b17327}.notification-type.danger{background:#ffeded;color:#b33f48}.notification-inbox-row strong{font-size:10px}.notification-inbox-row p{font-size:10px;color:#687f90;margin:3px 0}.notification-inbox-row small{font-size:10px;color:#8596a3}.notification-actions{display:flex;align-items:center;gap:7px}.read-label{font-size:10px;color:#7d918f}

/* Role-specific subtle accents without sharing Superadmin composition */
.role-management .role-identity-icon{background:#f0edff;color:#694bc2}.role-management .role-kicker{color:#694bc2}.role-program_manager .role-identity-icon{background:#e8f5ff;color:#087dcc}.role-field_officer .role-identity-icon{background:#eaf9f1;color:#148057}.role-field_officer .role-kicker{color:#148057}.role-community .role-identity-icon{background:#edf8ef;color:#4a7f54}.role-community .role-kicker{color:#4a7f54}.role-stakeholder .role-identity-icon{background:#eaf7fb;color:#087ea6}.role-stakeholder .role-kicker{color:#087ea6}

@media(max-width:1240px){.role-metrics.six{grid-template-columns:repeat(3,1fr)}.program-facts{grid-template-columns:repeat(3,1fr)}.field-monev-grid{grid-template-columns:repeat(2,1fr)}}
/* v1.1.3: legacy role breakpoint cascade removed; canonical role breakpoints live below. */

.evidence-links,.evidence-preview-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.evidence-links a,.evidence-preview-list a{font-size:12px;font-weight:700;text-decoration:none;color:var(--role-accent,#087ca7);background:#eef8fc;border:1px solid #d8edf5;border-radius:9px;padding:7px 9px}.evidence-preview-list{padding-top:12px;border-top:1px solid #e5edf4}.evidence-preview-list strong{width:100%;font-size:12px;color:#50657a}
.kv-button{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:9px 6px}.kv-button:hover{background:#f4f8fb}.kv-button span{display:flex;gap:7px;align-items:center}.kv-button small,.section-hint{font-size:11px;color:#6d8092}
.field-followup-list{display:grid;gap:12px}.field-followup-list article{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px solid #e2ebf2;border-radius:14px;background:#fff}.field-followup-list h3{margin:6px 0 4px}.field-followup-list p{margin:0 0 5px;color:#52697f}@media(max-width:720px){.field-followup-list article{align-items:flex-start;flex-direction:column}}

@media (max-height:980px) and (min-width:981px){.sidebar-art{height:108px;padding:14px 20px;font-size:14px}.admin-role-card{margin-top:9px;margin-bottom:7px;padding:10px 12px}.role-icon{width:38px;height:38px;flex-basis:38px}.admin-nav a{min-height:41px;padding-top:7px;padding-bottom:7px}.admin-logout{padding-top:5px;padding-bottom:5px}}
@media (max-height:760px){.sidebar-art{display:none}}
@media (max-width:980px){.admin-sidebar{width:min(280px,86vw)}.admin-brand{padding-right:12px}.admin-nav{padding-bottom:10px}.sidebar-art{height:112px}.admin-sidebar-backdrop{display:block}}
@media (max-width:680px){.admin-sidebar{width:min(292px,88vw)}.admin-role-card{margin:10px 12px 8px}.admin-nav a{min-height:46px;padding-left:17px;padding-right:17px;font-size:13px}.admin-logout{padding-left:17px;padding-right:17px}.sidebar-art{height:104px}}

/* v1.1.2 — Global Role Navigation & Responsive Shell Reliability */
.role-svg{width:19px;height:19px;display:block;flex:0 0 auto}.role-sidebar{overflow:hidden}.role-sidebar-topline{display:flex;align-items:center;gap:8px;flex:0 0 auto}.role-sidebar-topline .role-brand{flex:1;margin-bottom:16px;min-width:0}.role-sidebar-close{display:none;width:36px;height:36px;border:0;border-radius:10px;background:#eef5f9;color:#426680;place-items:center;flex:0 0 auto}.role-sidebar-close .role-svg{width:18px;height:18px}.role-identity{flex:0 0 auto}.role-identity-icon .role-svg{width:21px;height:21px}.role-nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding-right:3px;scrollbar-width:thin;scrollbar-color:#aab9c4 transparent}.role-nav::-webkit-scrollbar{width:5px}.role-nav::-webkit-scrollbar-track{background:transparent}.role-nav::-webkit-scrollbar-thumb{background:#aab9c4;border-radius:99px}.role-nav a{flex:0 0 auto}.role-nav-icon{width:25px!important;height:25px;display:grid;place-items:center;flex:0 0 25px}.role-nav-icon .role-svg{width:18px;height:18px}.role-sidebar-foot{margin-top:8px;flex:0 0 auto}.role-sidebar-foot a{display:flex;align-items:center;gap:7px}.role-sidebar-foot a .role-svg{width:15px;height:15px}.role-notification-link .role-svg{width:17px;height:17px}.role-menu-button .role-svg{width:20px;height:20px}.role-sidebar-backdrop{display:none;position:fixed;inset:0;z-index:68;border:0;background:rgba(7,28,47,.38);backdrop-filter:blur(1px);padding:0}.role-main [id]{scroll-margin-top:88px}.role-bottom-nav a span{display:grid;place-items:center}.role-bottom-nav a span .role-svg{width:18px;height:18px}.role-bottom-nav a.active{font-weight:800}.role-bottom-nav a.active:before{content:"";position:absolute;top:0;width:30px;height:3px;border-radius:0 0 3px 3px;background:#087dc1}.role-bottom-nav a{position:relative;min-width:0}.role-bottom-nav a small{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}

@media (min-width:1021px) and (max-width:1180px){.role-sidebar{width:220px;padding:16px 10px 12px}.role-brand{padding:0 8px;justify-content:flex-start}.role-brand img{width:150px;max-width:150px}.role-identity{padding:11px;margin-bottom:12px;justify-content:flex-start}.role-identity>div{display:block;min-width:0}.role-identity strong{font-size:11px}.role-nav a{height:42px;padding:0 10px;justify-content:flex-start}.role-nav a b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-nav a span{width:25px}.role-sidebar-foot{padding:11px 8px 0;text-align:left}.role-sidebar-foot a{font-size:10px}.role-sidebar-foot a:before{display:none}.role-sidebar-foot small{display:block}.role-shell{margin-left:220px}.role-main{padding:22px 20px 70px}.role-layout-main,.participation-grid,.program-workspace-grid{grid-template-columns:1fr}.program-side{display:none}.planning-grid{grid-template-columns:1fr 1fr}.community-ops-grid,.followup-cards{grid-template-columns:repeat(2,1fr)}.permission-check-grid,.publication-gate,.community-content-grid{grid-template-columns:1fr}.gate-arrow{transform:rotate(90deg);text-align:center}}

@media (min-width:901px) and (max-width:1020px){.role-sidebar{width:220px;padding:16px 10px 12px}.role-brand{padding:0 8px;justify-content:flex-start}.role-brand img{width:150px;max-width:150px;object-fit:contain;object-position:left}.role-identity{padding:11px;margin-bottom:12px;justify-content:flex-start}.role-identity>div{display:block}.role-nav a{height:42px;padding:0 10px;justify-content:flex-start}.role-nav a b{display:block}.role-nav a span{width:25px}.role-sidebar-foot{padding:11px 8px 0;text-align:left}.role-sidebar-foot a{font-size:10px}.role-sidebar-foot a:before{display:none}.role-sidebar-foot small{display:block}.role-shell{margin-left:220px}.role-main{padding:22px 20px 70px}.role-layout-main,.participation-grid,.program-workspace-grid{grid-template-columns:1fr}.program-side{display:none}.planning-grid{grid-template-columns:1fr 1fr}.community-ops-grid,.followup-cards{grid-template-columns:repeat(2,1fr)}.permission-check-grid,.publication-gate,.community-content-grid{grid-template-columns:1fr}.gate-arrow{transform:rotate(90deg);text-align:center}}

@media (max-width:900px){body.role-nav-open{overflow:hidden}.role-sidebar{transform:translateX(-108%);width:min(300px,86vw);padding:16px 12px 12px;box-shadow:20px 0 48px rgba(7,31,51,.2);transition:transform .22s ease;will-change:transform}.role-sidebar.open{transform:translateX(0)}.role-sidebar-topline .role-brand{justify-content:flex-start;padding:0 8px}.role-sidebar-topline .role-brand img{width:168px;max-width:168px;object-position:left}.role-sidebar-close{display:grid}.role-identity{justify-content:flex-start;padding:12px}.role-identity>div{display:block}.role-nav a{justify-content:flex-start;padding:0 11px}.role-nav a b{display:block}.role-nav a span{width:25px}.role-sidebar-foot{text-align:left;padding:11px 8px 0}.role-sidebar-foot a{font-size:10px}.role-sidebar-foot a:before{display:none}.role-sidebar-foot small{display:block}.role-sidebar-backdrop:not([hidden]){display:block}.role-shell{margin-left:0}.role-topbar{height:60px;padding:0 16px}.role-menu-button{display:grid;place-items:center}.role-main{padding:20px 18px 54px}.role-breadcrumb{font-size:10px}.role-layout-main,.participation-grid,.program-workspace-grid{grid-template-columns:1fr}.program-side{display:none}.planning-grid{grid-template-columns:1fr 1fr}.community-ops-grid,.followup-cards{grid-template-columns:repeat(2,1fr)}.permission-check-grid,.publication-gate,.community-content-grid{grid-template-columns:1fr}.gate-arrow{transform:rotate(90deg);text-align:center}.role-main [id]{scroll-margin-top:76px}}

@media (max-width:720px){body.role-workspace{padding-bottom:68px}.role-sidebar{width:min(300px,88vw)}.role-topbar{height:58px;padding:0 12px}.role-main{padding:16px 14px 18px}.role-breadcrumb{font-size:9px}.role-top-actions .role-user>div,.role-top-actions>form{display:none}.role-bottom-nav{display:grid;position:fixed;z-index:65;left:0;right:0;bottom:0;height:64px;background:rgba(255,255,255,.98);border-top:1px solid #dce6ed;grid-template-columns:repeat(var(--role-nav-count,5),minmax(0,1fr));padding-bottom:max(4px,env(safe-area-inset-bottom))}.role-bottom-nav a{display:grid;place-items:center;align-content:center;gap:2px;color:#8294a1}.role-bottom-nav a small{font-size:9px}.role-bottom-nav a.active{color:#087dc1}.planning-grid,.ops-columns,.impact-ops-grid,.community-ops-grid,.followup-cards{grid-template-columns:1fr}.role-main [id]{scroll-margin-top:72px}}

@media (max-width:420px){.role-bottom-nav a small{font-size:9px}.role-bottom-nav a span .role-svg{width:17px;height:17px}}
.publication-queue{display:grid}.publication-queue-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf2f5}.publication-queue-row:last-child{border-bottom:0}.publication-queue-row>div{min-width:0}.publication-queue-row strong,.publication-queue-row small{display:block}.publication-queue-row strong{font-size:10px;margin-top:5px}.publication-queue-row small{font-size:8px;color:#7d91a0;margin-top:3px;line-height:1.45}.queue-open{font-size:8px;font-weight:800;color:#0c80bf;white-space:nowrap}

/* =========================================================
   v1.1.3 — Full Workspace Visual Integrity & Responsive Recomposition
   Readability floor, mobile-native program cards, stable headers,
   unique journey anchors, font-independent functional icons.
   ========================================================= */
.ui-icon,.inline-ui-icon{display:inline-block;width:18px;height:18px;vertical-align:-.2em;flex:0 0 auto}.inline-ui-icon{width:14px;height:14px;margin-right:3px}.metric-icon .ui-icon{width:17px;height:17px}.role-workspace .role-svg{width:19px;height:19px}

/* Superadmin topbar icon reliability */
.admin-role-card .role-icon{display:grid;place-items:center}.admin-role-card .role-icon .ui-icon{width:22px;height:22px}.admin-menu-button .ui-icon,.home-chip .ui-icon,.notify .ui-icon{width:18px;height:18px}.topbar-search>span{display:grid;place-items:center}.topbar-search>span .ui-icon{width:16px;height:16px}.environment-dot{width:9px;height:9px;border-radius:50%;background:#17a85b;display:inline-block;box-shadow:0 0 0 3px rgba(23,168,91,.12)}.notify{display:grid;place-items:center;position:relative}

/* Role typography floor: no essential workspace copy below readable UI sizes. */
.role-identity small{font-size:10px}.role-identity strong{font-size:13px}.role-nav a{font-size:13px}.role-sidebar-foot a{font-size:11px}.role-sidebar-foot small{font-size:10px}.role-breadcrumb{font-size:12px}.role-user strong{font-size:12px}.role-user small{font-size:10px}.role-kicker{font-size:10px}.role-page-head p{font-size:13px;line-height:1.55}.role-metrics small{font-size:11px}.role-metrics em{font-size:10px}.role-card-head h2{font-size:17px}.role-card-head>div>small,.role-card-head>a{font-size:11px}.count-badge{font-size:11px}.role-empty{font-size:12px;line-height:1.55}.mini-empty{font-size:11px}.status-pill{font-size:10px;line-height:1.25}.decision-meta{font-size:10px}.decision-copy h3{font-size:15px}.decision-copy p{font-size:12px}.decision-copy small{font-size:10px}.requested-action,.decision-result,.review-note{font-size:11px;line-height:1.55}.review-row h3{font-size:14px}.review-row p{font-size:12px}.review-row small{font-size:10px}.exception-row strong,.portfolio-row strong,.compact-task strong,.aspiration-ops-row strong{font-size:12px}.exception-row small,.portfolio-row small,.compact-task small,.aspiration-ops-row small{font-size:10px}.exception-tags span{font-size:10px}.portfolio-budget b{font-size:11px}.program-ops-row strong{font-size:12px}.program-ops-row small{font-size:10px}.scope-check-list strong,.permission-check strong{font-size:11px}.scope-check-list small,.permission-check small{font-size:10px}.permission-check em{font-size:10px}.warning-box{font-size:11px;line-height:1.5}

/* Program detail readability */
.back-link{font-size:11px}.program-context-meta{font-size:11px}.program-state-block small{font-size:10px}.program-subnav a{font-size:11px;padding:8px 12px}.lead-copy{font-size:13px}.program-facts small{font-size:10px}.program-facts strong{font-size:17px}.program-description b{font-size:11px}.program-description p{font-size:12px}.planning-grid h3,.ops-columns h3,.impact-ops-grid h3,.community-content-grid h3,.community-followups h3,.community-history h3{font-size:12px}.kv-row{font-size:11px}.sdg-chip{font-size:10px}.assignment-row strong,.execution-row strong,.followup-row strong,.metric-result-row strong{font-size:11px}.assignment-row small,.execution-row small,.followup-row small,.metric-result-row small{font-size:10px}.execution-row p,.followup-row p{font-size:11px}.revision-note,.revision-banner{font-size:11px}.monev-row strong{font-size:11px}.monev-row p{font-size:11px}.monev-row small{font-size:10px}.result-level{font-size:9px}.community-ops-grid h3{font-size:12px}.community-ops-grid p{font-size:11px}.decision-history-row strong{font-size:12px}.decision-history-row small,.decision-history-row p{font-size:10px}.gate-state span,.gate-state small{font-size:10px}.gate-state strong{font-size:13px}.timeline-list strong{font-size:11px}.timeline-list p{font-size:10px}.timeline-list small{font-size:10px}.next-action-links a{font-size:11px}.role-table th{font-size:10px}.role-table td{font-size:11px}.role-table td small{font-size:10px}

/* Field / Community / Stakeholder readability */
.program-chip{font-size:10px}.field-task-card p{font-size:11px}.task-context{font-size:10px}.waiting-note,.validated-note{font-size:10px;display:inline-flex;align-items:center;gap:4px}.revision-banner b,.revision-banner p{font-size:10px}.evidence-upload-box small{font-size:10px}.field-monev-grid h3{font-size:12px}.field-monev-grid small{font-size:10px}.field-monev-grid p{font-size:11px}.community-hero p{font-size:11px}.community-location{display:flex;align-items:center;gap:3px}.community-stage-current small{font-size:10px}.community-stage-current strong{font-size:13px}.journey-node span{font-size:0}.journey-node span .ui-icon{width:13px;height:13px}.journey-node b{font-size:10px}.community-program-row strong{font-size:11px}.community-program-row small{font-size:10px}.community-monev-row strong{font-size:11px}.community-monev-row small{font-size:10px}.community-monev-row p{font-size:11px}.followup-cards strong{font-size:11px}.followup-cards p{font-size:11px}.followup-cards small{font-size:10px}.participation-empty-icon{display:grid!important;place-items:center;margin:0 auto;width:44px;height:44px;border-radius:50%;background:#edf8fd;color:#1685be}.participation-empty-icon .ui-icon{width:22px;height:22px}.participation-empty p{font-size:11px}.tracking-chip{font-size:10px}.stakeholder-asp-head h3{font-size:14px}.stakeholder-asp-head small{font-size:10px}.public-status-track span{font-size:0}.public-status-track span .ui-icon{width:12px;height:12px}.public-status-track b{font-size:10px}.asp-history summary{font-size:11px}.stake-notification strong{font-size:11px}.stake-notification p{font-size:10px}.stake-notification small{font-size:10px}.participation-cta p{font-size:11px}.notification-inbox-row strong{font-size:12px}.notification-inbox-row p{font-size:11px}.notification-inbox-row small{font-size:10px}.notification-type{font-size:0}.notification-type .ui-icon{width:15px;height:15px}.read-label{font-size:10px;display:inline-flex;align-items:center;gap:3px}.notification-open-link{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#0b7ebc;background:#eef7fc}.notification-open-link .ui-icon{width:14px;height:14px}

/* Header collision prevention */
.role-topbar>div:first-child{min-width:0;flex:1}.role-breadcrumb{display:block;min-width:0;max-width:min(62vw,720px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-top-actions{flex:0 0 auto}.role-user{min-width:0}.role-user>div{min-width:0;max-width:180px}.role-user strong,.role-user small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.program-context-meta>span{display:inline-flex;align-items:center;gap:3px}

/* Mobile-native program portfolio */
.program-mobile-nav{display:none}.program-card-action .btn{white-space:nowrap}

/* Canonical role responsive contract. */
@media (min-width:901px) and (max-width:1180px){.role-sidebar{width:220px}.role-shell{margin-left:220px}.role-main{padding:22px 20px 70px}.role-layout-main,.participation-grid,.program-workspace-grid{grid-template-columns:1fr}.program-side{display:none}.planning-grid{grid-template-columns:1fr 1fr}.community-ops-grid,.followup-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width:900px){.role-breadcrumb{max-width:48vw;font-size:11px}.role-main{padding:20px 18px 56px}.role-layout-main,.participation-grid,.program-workspace-grid{grid-template-columns:1fr}.program-side{display:none}.planning-grid{grid-template-columns:1fr 1fr}.community-ops-grid,.followup-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.role-page-head h1{font-size:28px}.role-page-head p{font-size:12px}.role-main [id]{scroll-margin-top:76px}}

@media (max-width:720px){
  body.role-workspace{padding-bottom:74px}.role-topbar{height:60px;padding:0 12px;gap:8px}.role-breadcrumb{max-width:42vw;font-size:10px}.role-top-actions{gap:7px}.role-notification-link{width:34px;height:34px}.role-main{padding:16px 14px 22px}.role-page-head{display:grid;gap:12px;margin-bottom:15px}.role-page-head h1{font-size:25px;line-height:1.12}.role-page-head p{font-size:12px}.head-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.head-actions .btn{width:100%}.role-metrics.six,.role-metrics.four{grid-template-columns:1fr 1fr;gap:9px}.role-metrics article{min-height:96px;padding:11px}.role-metrics small{font-size:10px}.role-metrics em{font-size:9px}.role-card{padding:14px;border-radius:13px}.role-card-head{gap:9px}.role-card-head h2{font-size:16px}.planning-grid,.ops-columns,.impact-ops-grid,.community-ops-grid,.followup-cards{grid-template-columns:1fr}.role-bottom-nav{height:70px}.role-bottom-nav a{gap:4px;padding:5px 2px}.role-bottom-nav a small{font-size:9px;line-height:1.1;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.role-bottom-nav a span .role-svg{width:19px;height:19px}
  .program-subnav{display:none}.program-mobile-nav{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;position:sticky;top:60px;z-index:31;background:#f5f8fb;margin:0 -14px 12px;padding:8px 14px 10px;border-bottom:1px solid #e1e9ef}.program-mobile-nav label{font-size:10px;font-weight:800;color:#60788d}.program-mobile-nav select{font-size:12px;padding:9px 34px 9px 10px;background:#fff}.program-context-head{display:grid;gap:14px;align-items:start;padding:15px}.program-context-head h1{font-size:23px}.program-context-meta{display:grid;gap:5px;font-size:10px}.program-state-block{text-align:left;justify-content:start}.program-facts{grid-template-columns:1fr 1fr}
  .program-table-wrap{overflow:visible}.role-table{min-width:0;width:100%;display:block}.role-table thead{display:none}.role-table tbody{display:grid;gap:12px}.role-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;border:1px solid #dfe8ef;border-radius:13px;padding:13px;background:#fff;box-shadow:0 5px 18px rgba(12,55,88,.025)}.role-table td{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:8px;border:0!important;padding:7px 0;font-size:12px;min-width:0}.role-table td:before{content:attr(data-label);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8293a0;font-weight:800;padding-top:2px}.role-table td[data-label="Program"]{grid-column:1/-1;display:block;border-bottom:1px solid #edf2f5!important;padding:0 0 11px;margin-bottom:3px}.role-table td[data-label="Program"]:before{display:none}.role-table td[data-label="Program"] strong{font-size:15px}.role-table td[data-label="Program"] small{font-size:10px;margin-top:4px}.role-table td[data-label="Lifecycle"],.role-table td[data-label="Publikasi"]{grid-template-columns:72px 1fr}.role-table td[data-label="Progress"],.role-table td[data-label="Penerima"],.role-table td[data-label="Periode"]{grid-column:1/-1}.role-table td.program-card-action{grid-column:1/-1;display:block;padding-top:10px;border-top:1px solid #edf2f5!important;margin-top:3px}.role-table td.program-card-action:before{display:none}.role-table td.program-card-action .btn{width:100%;min-height:40px}.table-progress{width:100%}
  .field-task-card{grid-template-columns:1fr}.field-task-actions{justify-content:flex-start}.task-context{display:grid;grid-template-columns:1fr;gap:5px}.community-hero{display:grid}.community-stage-current{text-align:left}.journey-track{grid-template-columns:1fr;gap:5px;margin:15px 0}.journey-track:before{display:none}.journey-node{display:flex;align-items:center;gap:9px;text-align:left;padding:5px 0}.journey-node span{margin:0;width:26px;height:26px}.community-content-grid{grid-template-columns:1fr}.public-status-track{grid-template-columns:1fr}.notification-inbox-row{grid-template-columns:32px minmax(0,1fr)}.notification-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.stakeholder-asp-head{display:grid}.role-main [id]{scroll-margin-top:74px}
}

@media (max-width:420px){.role-metrics.six,.role-metrics.four{grid-template-columns:1fr 1fr}.role-breadcrumb{max-width:37vw}.role-bottom-nav a small{font-size:8.5px}.role-user .avatar{width:30px;height:30px}.program-mobile-nav{grid-template-columns:1fr}.program-mobile-nav label{display:none}.role-table tr{grid-template-columns:1fr}.role-table td{grid-column:1/-1!important}.role-table td[data-label="Lifecycle"],.role-table td[data-label="Publikasi"]{grid-template-columns:88px 1fr}}
/* Superadmin readability alignment in v1.1.3 */
.admin-role-card small{font-size:10px}.admin-metric em{font-size:10px}.health-grid strong{font-size:11px}.health-status{font-size:10px}.health-grid small{font-size:10px}.admin-table{font-size:11px}.admin-table th{font-size:10px}.admin-table td small{font-size:10px}.user-row strong{font-size:11px}.user-row small{font-size:10px}.security-metrics small{font-size:10px}.backup-stats small,.backup-stats span{font-size:10px}.content-status-grid strong{font-size:10px}.content-status-grid small{font-size:10px}.version-block small,.version-block p{font-size:10px}.migration-status strong{font-size:11px}.migration-status p{font-size:10px}.backup-list small{font-size:10px}.security-checklist>div{font-size:11px}.metric-square .ui-icon,.security-metrics .ui-icon{width:18px;height:18px}.success-check .ui-icon{width:20px;height:20px}
@media(max-width:680px){.admin-table-wrap{border-radius:10px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.admin-table{min-width:680px}.admin-page-head p{font-size:12px;line-height:1.55}.admin-main{padding:14px 12px 24px}.admin-card{border-radius:12px}}

/* ============================================================
   v1.1.4 — Global Progressive Disclosure & Form Hierarchy
   Initial browse/workspace surfaces are information-first.
   Editing/input surfaces open only after explicit user intent.
   ============================================================ */
.explorer-layout{grid-template-columns:minmax(0,1fr)}
.explorer-content{min-width:0}
.explorer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.filter-dialog-body{display:grid;gap:13px}
.aspiration-entry-card{min-height:185px;border:1px solid #d9e9f2;border-radius:14px;background:linear-gradient(145deg,#ffffff,#f3fbff);padding:22px 24px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 26px rgba(13,66,101,.045)}
.aspiration-entry-kicker{display:block;font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--secondary,#00a99d);margin-bottom:7px}
.aspiration-entry-card h3{font-size:22px;line-height:1.16;color:#0b315d;margin:0 0 7px;max-width:640px}
.aspiration-entry-card>p{font-size:12px;line-height:1.65;color:#607b91;max-width:720px;margin:0 0 15px}
.aspiration-entry-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}
.aspiration-entry-points>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start;padding:10px;border-radius:10px;background:#fff;border:1px solid #e2edf3}
.aspiration-entry-icon{width:34px;height:34px;border-radius:9px;background:#e8f6fc;color:#0c85c3;display:grid;place-items:center}
.aspiration-entry-icon .ui-icon{width:17px;height:17px}
.aspiration-entry-points strong,.aspiration-entry-points small{display:block}
.aspiration-entry-points strong{font-size:11px;color:#244d6d;margin-bottom:2px}
.aspiration-entry-points small{font-size:10px;line-height:1.45;color:#71899c}
.aspiration-entry-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.aspiration-privacy{display:flex;align-items:center;gap:5px;color:#6f8798;font-size:10px;margin-top:11px}
.aspiration-privacy .inline-ui-icon{width:13px;height:13px}
.followup-status-action{display:flex;align-items:center;gap:7px;flex:0 0 auto}

@media (max-width:680px){
  .explorer-actions{width:100%;justify-content:flex-start}
  .explorer-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
  .aspiration-entry-card{padding:18px}
  .aspiration-entry-card h3{font-size:19px}
  .aspiration-entry-points{grid-template-columns:1fr}
  .aspiration-entry-actions{display:grid;grid-template-columns:1fr}
  .aspiration-entry-actions .btn{width:100%;justify-content:center}
  .followup-row{align-items:flex-start}
  .followup-status-action{flex-direction:column;align-items:flex-end}
}
@media (max-width:420px){
  .followup-row{display:grid}
  .followup-status-action{align-items:flex-start;flex-direction:row}
}
/* ============================================================
   v1.1.5 — Live Notifications & Mobile Header Integrity
   Header badges are database-derived; compact mobile headers keep
   role/context hierarchy readable without orphan status controls.
   ============================================================ */
.admin-topbar-context{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}.admin-context-role{font-size:11px;color:#617b90}.admin-context-separator{color:#8aa0b1}.admin-context-title{font-size:12px;color:#0b315e;min-width:0;overflow:hidden;text-overflow:ellipsis}.environment-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#2d6347;background:#f0faf4;border:1px solid #dbeee3;border-radius:999px;padding:5px 8px}.environment-state b{font-size:10px}.notification-badge{position:absolute;right:-2px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e53a46;color:#fff;font-size:9px;font-weight:900;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}.notify,.role-notification-link{position:relative}.role-notification-link .notification-badge{right:-5px;top:-5px}.admin-notification-inbox .notification-inbox-row{grid-template-columns:32px minmax(0,1fr) auto}.admin-notification-inbox .notification-inbox-row.unread{background:linear-gradient(90deg,#f0f8fd,transparent);margin:0 -10px;padding-left:10px;padding-right:10px}
.role-topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.role-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0}.role-breadcrumb-role{white-space:nowrap}.role-breadcrumb strong{font-size:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-top-actions{flex:0 0 auto}
@media (max-width:980px){
  .admin-topbar{height:62px;padding:0 12px;gap:10px}.topbar-left{flex:1;min-width:0;gap:10px}.home-chip{display:none}.admin-topbar-context{display:grid;grid-template-columns:1fr;gap:0;line-height:1.12;min-width:0}.admin-context-role{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#6e8497}.admin-context-separator{display:none}.admin-context-title{font-size:14px;line-height:1.2;max-width:42vw}.topbar-right{margin-left:auto;gap:7px}.environment-state,.user-meta{display:none}.notify{width:38px;height:38px;padding:0;border-radius:10px;background:#f2f7fb}.avatar{width:38px;height:38px}.admin-menu-button{width:40px;height:40px;border-radius:10px}.admin-main{padding-top:18px}
  .role-topbar{height:62px;padding:0 14px;gap:10px}.role-topbar-left{gap:9px}.role-breadcrumb{display:grid;grid-template-columns:1fr;gap:0;line-height:1.12;max-width:none;min-width:0}.role-breadcrumb-role{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#708597}.role-breadcrumb i{display:none}.role-breadcrumb strong{font-size:13px;line-height:1.2}.role-top-actions{gap:7px}.role-notification-link{width:38px;height:38px;border-radius:10px;background:#f2f7fb;display:grid;place-items:center}
}
@media (max-width:720px){
  .admin-topbar{height:60px;padding:0 10px}.admin-context-title{font-size:13px;max-width:46vw}.admin-context-role{font-size:8.5px}.topbar-right{gap:6px}.notify{width:36px;height:36px}.avatar{width:36px;height:36px}.admin-menu-button{width:38px;height:38px}.notification-badge{right:-3px;top:-4px;min-width:17px;height:17px;line-height:17px;font-size:8.5px}.admin-page-head h1{font-size:27px;line-height:1.08}
  .role-topbar{height:60px;padding:0 10px}.role-menu-button{width:38px;height:38px}.role-breadcrumb strong{font-size:12px}.role-breadcrumb-role{font-size:8.5px}.role-notification-link{width:36px;height:36px}.role-user .avatar{width:34px;height:34px}.role-top-actions .role-user>div,.role-top-actions>form{display:none}
  .admin-notification-inbox .notification-inbox-row{grid-template-columns:32px minmax(0,1fr)}.admin-notification-inbox .notification-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:420px){
  .admin-context-title{max-width:40vw}.topbar-right{gap:5px}.notify{width:34px;height:34px}.avatar{width:34px;height:34px}.admin-menu-button{width:36px;height:36px}.role-breadcrumb strong{max-width:43vw}
}


/* ============================================================
   v1.1.7 — Interactive Map Loading Reliability Hotfix
   Real Leaflet map, governed public data, custom clustering,
   popup detail, progressive-disclosure filters, mobile map UX.
   ============================================================ */
.map-section{padding-top:18px;background:linear-gradient(180deg,#fff 0,#f7fcff 72%,#edf8ff 100%)}
.interactive-home-map-wrap{padding-right:238px}
.interactive-map-shell{position:relative;border:1px solid #cfe2ed;border-radius:16px;background:#eaf5fb;overflow:hidden;box-shadow:0 14px 34px rgba(11,64,99,.09)}
.interactive-map{position:relative;width:100%;background-color:#eaf5fb;background-image:linear-gradient(rgba(236,248,253,.72),rgba(236,248,253,.72)),var(--map-fallback);background-size:cover;background-position:center;overflow:hidden;isolation:isolate}
.interactive-map-home{height:350px}.interactive-map-full{height:620px}
.interactive-map.has-map-tiles{background-image:none}
.interactive-map .leaflet-control-zoom{border:0!important;box-shadow:0 8px 22px rgba(14,66,101,.16)!important;margin:14px!important}
.interactive-map .leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:34px!important;border:0!important;color:#174e73!important;background:rgba(255,255,255,.96)!important;font-weight:800!important}
.interactive-map .leaflet-control-zoom a:first-child{border-radius:10px 10px 0 0!important}.interactive-map .leaflet-control-zoom a:last-child{border-radius:0 0 10px 10px!important}
.interactive-map .leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.82)!important;color:#617e91!important;padding:2px 7px!important;backdrop-filter:blur(6px)}
.interactive-map .leaflet-control-attribution a{color:#296889!important}
.interactive-map .leaflet-tile-pane{filter:saturate(.72) contrast(.96) brightness(1.035)}
.map-runtime-state{position:absolute;inset:0;z-index:900;display:grid;place-items:center;align-content:center;gap:7px;padding:25px;text-align:center;background:linear-gradient(145deg,rgba(238,249,254,.88),rgba(247,252,255,.88));backdrop-filter:blur(2px);color:#315872}
.map-runtime-state[hidden]{display:none!important}
.map-runtime-state strong{font-size:14px}.map-runtime-state small{font-size:11px;color:#6f899b;max-width:380px}.map-runtime-state.is-error{background:rgba(255,250,247,.92);color:#9d4d2c}.map-runtime-state.is-empty{background:rgba(248,252,254,.92)}
.map-spinner{width:28px;height:28px;border-radius:50%;border:3px solid #cfe8f3;border-top-color:var(--primary,#0877c9);animation:map-spin .75s linear infinite}@keyframes map-spin{to{transform:rotate(360deg)}}
.dm-map-marker-wrap,.dm-map-cluster-wrap{background:none!important;border:0!important}
.dm-map-marker{width:28px;height:34px;display:grid;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);box-shadow:0 5px 15px rgba(8,50,78,.28);transition:transform .16s ease,filter .16s ease}
.dm-map-marker i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.dm-map-marker.active{background:#18a76a}.dm-map-marker.ready{background:#f28a20}.dm-map-marker.completed{background:#168bd1}.dm-map-marker-wrap:hover .dm-map-marker{transform:rotate(-45deg) scale(1.12);filter:brightness(1.05)}
.dm-map-cluster{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,var(--secondary,#00a99d),var(--primary,#0877c9));border:4px solid rgba(255,255,255,.92);color:#fff;box-shadow:0 7px 22px rgba(10,70,104,.30);line-height:1}
.dm-map-cluster b{font-size:16px}.dm-map-cluster small{font-size:7px;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;opacity:.88}
.dm-program-popup .leaflet-popup-content-wrapper{border-radius:14px!important;padding:0!important;overflow:hidden;box-shadow:0 18px 45px rgba(8,46,73,.20)!important}.dm-program-popup .leaflet-popup-content{margin:0!important;width:auto!important}.dm-program-popup .leaflet-popup-tip{box-shadow:none!important}
.dm-map-popup{background:#fff;overflow:hidden}.dm-map-popup>img{width:100%;height:112px;object-fit:cover}.dm-map-popup-body{padding:13px 14px 14px}.dm-map-popup-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.dm-map-popup-top small{font-size:9px;color:#71899b;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:850}.map-status-pill.active{background:#e1f7eb;color:#138252}.map-status-pill.ready{background:#fff0de;color:#b86512}.map-status-pill.completed{background:#e4f3ff;color:#1670a9}
.dm-map-popup h3{font-size:15px;line-height:1.22;margin:8px 0 4px;color:#0c315c}.dm-map-popup p{font-size:10px;line-height:1.45;color:#60798c;margin:5px 0}.dm-map-popup-location{font-weight:750;color:#335b78!important}.dm-map-popup-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}.dm-map-popup-metrics span{font-size:9px;background:#f2f7fa;padding:5px 7px;border-radius:7px;color:#58738a}.dm-map-popup a{display:inline-flex;color:var(--primary,#0877c9);font-size:10px;font-weight:850;margin-top:3px}
.interactive-map-legend{position:absolute;z-index:750;left:14px;top:14px;display:flex;gap:6px;flex-wrap:wrap;background:rgba(255,255,255,.93);padding:7px 9px;border:1px solid rgba(207,225,235,.9);border-radius:10px;box-shadow:0 8px 20px rgba(14,66,101,.11);backdrop-filter:blur(8px)}
.interactive-map-legend.compact{left:auto;right:14px}.interactive-map-legend span{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750;color:#31566f}.map-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto}.map-legend-dot.active{background:#18a76a}.map-legend-dot.ready{background:#f28a20}.map-legend-dot.completed{background:#168bd1}
.map-caption.modern{z-index:760;display:flex;align-items:center;gap:8px;padding:8px 11px}.map-caption.modern>span{color:#17a36a;display:grid;place-items:center}.map-caption.modern .inline-ui-icon{width:16px;height:16px}.map-caption.modern strong,.map-caption.modern small{display:block}.map-caption.modern strong{font-size:9px}.map-caption.modern small{font-size:8px}
.map-summary{z-index:6;width:230px;right:0;top:14px;border-radius:14px;padding:18px}.map-summary h3{font-size:15px;margin-bottom:10px}.map-summary p{font-size:11px;margin:9px 0}.map-summary .btn{font-size:11px;min-height:40px;border-radius:9px}
.map-page-hero p{max-width:760px}.map-explorer-section{padding-top:20px;background:linear-gradient(180deg,#fff,#f6fbfe)}
.map-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.map-insight{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;background:#fff;border:1px solid #dce8ef;border-radius:13px;padding:13px 14px;box-shadow:0 6px 20px rgba(14,61,92,.04)}.map-insight-icon{width:46px;height:46px;border-radius:11px;display:grid;place-items:center}.map-insight-icon .ui-icon{width:21px;height:21px}.map-insight-icon.blue{background:#e2f2ff;color:#168bd1}.map-insight-icon.green{background:#e1f7eb;color:#18a76a}.map-insight-icon.cyan{background:#e2f7f7;color:#0aa1a0}.map-insight-icon.orange{background:#fff0df;color:#f28a20}.map-insight small,.map-insight strong,.map-insight em{display:block}.map-insight small{font-size:9px;font-weight:800;color:#60798e}.map-insight strong{font-size:22px;line-height:1.06;color:#0b315d}.map-insight em{font-size:8px;font-style:normal;color:#7b91a2;margin-top:2px}
.map-explorer-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px}.map-search-control{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;width:min(520px,100%);background:#fff;border:1px solid #d5e3ec;border-radius:11px;padding:0 12px;box-shadow:0 4px 14px rgba(14,61,92,.03)}.map-search-control>span{display:grid;place-items:center;color:#6d879a}.map-search-control .ui-icon{width:17px;height:17px}.map-search-control input{border:0;box-shadow:none!important;padding:11px 0;background:transparent}.map-toolbar-actions{display:flex;gap:8px;align-items:center}.map-toolbar-actions .inline-ui-icon{width:15px;height:15px}
.map-explorer-shell{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:12px;align-items:stretch}.map-page-interactive-shell{min-width:0}.map-results-panel{height:620px;min-width:0;background:#fff;border:1px solid #dce8ef;border-radius:16px;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);box-shadow:0 10px 28px rgba(13,61,94,.055)}.map-results-head{padding:15px 16px 12px;border-bottom:1px solid #edf2f5;display:flex;align-items:center;justify-content:space-between;gap:12px}.map-results-head h2{font-size:17px;margin:1px 0 0}.map-results-head .role-kicker{font-size:8px}.map-results-head>strong{min-width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#e8f5fb;color:#0c79b5;font-size:13px}.map-active-filter{padding:8px 12px;border-bottom:1px solid #edf2f5;display:flex;gap:5px;flex-wrap:wrap}.map-active-filter[hidden]{display:none}.map-active-filter span{font-size:8px;background:#f1f6f9;color:#56748a;border-radius:999px;padding:4px 7px}.map-results-list{overflow:auto;padding:8px;overscroll-behavior:contain}.map-result-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;align-items:stretch;border:1px solid transparent;border-radius:11px;transition:.16s;background:#fff}.map-result-card+ .map-result-card{margin-top:5px}.map-result-card:hover,.map-result-card.active{border-color:#c9e0ec;background:#f5fbfe}.map-result-focus{border:0;background:transparent;text-align:left;padding:8px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:center;min-width:0}.map-result-focus img,.map-result-placeholder{width:58px;height:52px;border-radius:8px;object-fit:cover}.map-result-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#e2f4fb,#eef8f9);font-size:20px;font-weight:850;color:#2b779e}.map-result-copy{min-width:0}.map-result-copy strong,.map-result-copy small,.map-result-meta,.map-result-numbers{display:block}.map-result-meta{font-size:8px;color:#607c91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-result-copy strong{font-size:11px;color:#153f61;line-height:1.25;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-result-copy small{font-size:9px;color:#748c9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-result-numbers{font-size:8px;color:#607c91;margin-top:4px}.map-result-open{display:grid;place-items:center;border-left:1px solid #edf2f5;color:#0b83bd;font-weight:900}.map-results-empty{padding:28px 18px;text-align:center;color:#678296}.map-results-empty strong{display:block;font-size:12px;color:#315872}.map-results-empty p{font-size:10px;margin:5px 0 0}.map-result-skeleton{height:72px;border-radius:10px;margin:5px;background:linear-gradient(90deg,#f2f6f8,#e8f1f5,#f2f6f8);background-size:200% 100%;animation:map-skeleton 1.3s ease infinite}@keyframes map-skeleton{to{background-position:-200% 0}}
.map-corner-actions{position:absolute;z-index:760;right:14px;bottom:28px}.map-icon-action{width:40px;height:40px;border:1px solid #d6e4ec;background:rgba(255,255,255,.95);border-radius:11px;display:grid;place-items:center;color:#1e648b;box-shadow:0 8px 22px rgba(10,56,85,.15)}.map-icon-action .ui-icon{width:18px;height:18px}.map-focus-open{overflow:hidden}.interactive-map-shell.is-map-focus{position:fixed;inset:10px;z-index:500;border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(0,25,44,.30)}.interactive-map-shell.is-map-focus .interactive-map{height:calc(100vh - 20px)}.interactive-map-shell.is-map-focus .map-corner-actions{bottom:36px}
.map-filter-dialog{max-width:620px}.map-filter-dialog .dialog-body{padding-top:18px}.map-filter-dialog label small{font-size:9px;color:#71899b;font-weight:500}.map-filter-dialog .span-2{grid-column:1/-1}

@media (max-width:1040px){
  .map-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-explorer-shell{grid-template-columns:minmax(0,1fr) 310px}.map-results-panel{height:560px}.interactive-map-full{height:560px}
  .interactive-home-map-wrap{padding-right:0;display:grid;grid-template-columns:1fr;gap:10px}.interactive-home-map-wrap .map-summary{position:relative;top:auto;right:auto;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:center}.interactive-home-map-wrap .map-summary h3{grid-column:1/-1;margin:0}.interactive-home-map-wrap .map-summary p{margin:0}.interactive-home-map-wrap .map-summary .btn{margin:0}
}
@media (max-width:820px){
  .map-explorer-toolbar{align-items:stretch;flex-direction:column}.map-search-control{width:100%;max-width:none}.map-toolbar-actions{justify-content:flex-start}
  .map-explorer-shell{grid-template-columns:1fr}.interactive-map-full{height:500px}.map-results-panel{height:auto;max-height:none}.map-results-list{max-height:420px}.map-results-panel{grid-template-rows:auto auto auto}
}
@media (max-width:680px){
  .map-section{padding-top:14px}.interactive-map-home{height:340px}.interactive-map-shell{border-radius:13px}.interactive-map-legend{top:10px;left:10px;padding:6px 7px}.interactive-map-legend.compact{left:10px;right:auto;top:10px}.interactive-map-legend span{font-size:8px}.map-caption.modern{left:10px;bottom:26px;right:10px;width:max-content;max-width:calc(100% - 20px)}
  .interactive-home-map-wrap .map-summary{grid-template-columns:1fr 1fr;padding:14px}.interactive-home-map-wrap .map-summary h3{grid-column:1/-1}.interactive-home-map-wrap .map-summary .btn{grid-column:1/-1}.interactive-home-map-wrap .map-summary p{font-size:10px}
  .map-insight-grid{grid-template-columns:1fr 1fr;gap:8px}.map-insight{grid-template-columns:38px 1fr;padding:10px;gap:8px}.map-insight-icon{width:38px;height:38px}.map-insight-icon .ui-icon{width:18px;height:18px}.map-insight strong{font-size:18px}.map-insight em{display:none}
  .map-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.map-toolbar-actions .btn{width:100%;padding-left:10px;padding-right:10px}.interactive-map-full{height:430px}.map-results-list{max-height:380px}.map-results-panel{border-radius:13px}.map-results-head{padding:12px 13px}.map-results-head h2{font-size:15px}.map-result-focus{grid-template-columns:52px minmax(0,1fr)}.map-result-focus img,.map-result-placeholder{width:52px;height:48px}
  .interactive-map .leaflet-control-zoom{margin:10px!important}.interactive-map .leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:32px!important}.interactive-map .leaflet-control-attribution{font-size:7px!important;max-width:70%;white-space:normal;line-height:1.15}.map-corner-actions{right:10px;bottom:28px}.map-icon-action{width:36px;height:36px}
  .interactive-map-shell.is-map-focus{inset:0;border-radius:0}.interactive-map-shell.is-map-focus .interactive-map{height:100vh}.interactive-map-shell.is-map-focus .interactive-map-legend{top:12px}.interactive-map-shell.is-map-focus .map-corner-actions{bottom:32px}
  .map-filter-dialog .form-grid{grid-template-columns:1fr}
}
@media (max-width:420px){
  .interactive-map-home{height:320px}.interactive-map-full{height:390px}.map-insight-grid{grid-template-columns:1fr}.map-insight em{display:block}.map-toolbar-actions{grid-template-columns:1fr}.map-result-copy strong{font-size:10.5px}.map-result-numbers{font-size:7.5px}
}
.form-grid .span-2{grid-column:1/-1}

/* ============================================================
   v1.1.8 — Public Auth Password Visibility + Mobile Bottom Nav + PWA
   ============================================================ */
.public-svg{width:20px;height:20px;display:block;flex:0 0 auto}.public-icon-button{display:grid;place-items:center;color:#174d73}.public-icon-button .public-svg{width:18px;height:18px}
.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:48px!important}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:9px;background:transparent;color:#54748d;display:grid;place-items:center;cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{background:#eef6fa;color:#0b79b7;outline:none}.password-toggle .ui-icon{width:19px;height:19px}.password-eye-off{display:none}.password-toggle[aria-pressed="true"] .password-eye{display:none}.password-toggle[aria-pressed="true"] .password-eye-off{display:grid}.password-eye,.password-eye-off{place-items:center}
.public-bottom-nav{display:none}.mobile-install-button{border:1px solid #d7e5ed;background:#f6fbfe;color:#174f72;border-radius:11px;min-height:44px;padding:0 13px;align-items:center;justify-content:center;gap:8px;font-weight:800}.mobile-install-button:not([hidden]){display:flex}.mobile-install-button .public-svg{width:18px;height:18px}
.pwa-install-card{position:fixed;z-index:120;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));display:grid;grid-template-columns:48px minmax(0,1fr) auto 30px;align-items:center;gap:10px;background:rgba(255,255,255,.98);border:1px solid #d8e5ed;border-radius:16px;padding:12px;box-shadow:0 18px 50px rgba(9,48,76,.18);backdrop-filter:blur(14px)}.pwa-install-card[hidden]{display:none!important}.pwa-install-icon{width:48px;height:48px;border-radius:12px;overflow:hidden;background:#edf7fb;display:grid;place-items:center}.pwa-install-icon img{width:100%;height:100%;object-fit:cover}.pwa-install-copy{min-width:0}.pwa-install-copy strong,.pwa-install-copy span{display:block}.pwa-install-copy strong{font-size:12px;color:#0c315c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-install-copy span{font-size:10px;color:#6e8799;margin-top:3px;line-height:1.35}.pwa-install-close{width:30px;height:30px;border:0;border-radius:8px;background:#f2f6f9;color:#6a8193;font-size:18px;line-height:1}
@media (display-mode:standalone){.pwa-install-card,[data-pwa-install-button]{display:none!important}}
@media (max-width:720px){
  body.public-body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.public-footer{margin-bottom:0}.public-bottom-nav{position:fixed;z-index:62;left:0;right:0;bottom:0;height:calc(68px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);background:rgba(255,255,255,.98);border-top:1px solid #d9e6ee;box-shadow:0 -8px 24px rgba(12,50,78,.06);backdrop-filter:blur(14px);grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.public-bottom-nav{display:grid}.public-bottom-nav a{position:relative;min-width:0;display:grid;place-items:center;align-content:center;gap:3px;padding:6px 2px 4px;color:#73899a}.public-bottom-nav a:before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 4px 4px;background:transparent}.public-bottom-nav a.active{color:var(--primary,#0877c9);font-weight:850}.public-bottom-nav a.active:before{background:var(--primary,#0877c9)}.public-bottom-icon{display:grid;place-items:center}.public-bottom-icon .public-svg{width:20px;height:20px}.public-bottom-nav small{max-width:100%;font-size:9px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.public-header{z-index:64}.mobile-menu{position:absolute;left:0;right:0;top:58px;max-height:calc(100vh - 128px);overflow:auto;box-shadow:0 14px 30px rgba(9,48,76,.10)}.mobile-menu-inner{padding-bottom:16px}.auth-page{min-height:calc(100vh - 58px - 70px)}.auth-visual{min-height:210px;padding:26px 20px}.auth-visual h1{font-size:27px;line-height:1.12}.auth-visual p{font-size:11px}.auth-panel{padding:18px 14px 24px}.auth-card{padding:20px;border-radius:16px}.auth-card h1{font-size:27px}.auth-card form{gap:12px;margin-top:18px}.password-toggle{width:40px;height:40px}.pwa-install-card{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;grid-template-columns:44px minmax(0,1fr) auto 28px;padding:10px}.pwa-install-icon{width:44px;height:44px}.pwa-install-copy strong{font-size:11px}.pwa-install-copy span{font-size:9px}.pwa-install-card .btn{padding-left:12px;padding-right:12px;min-height:36px}
}
@media (max-width:420px){.public-bottom-nav small{font-size:8.5px}.public-bottom-icon .public-svg{width:19px;height:19px}.pwa-install-card{grid-template-columns:40px minmax(0,1fr) 28px}.pwa-install-icon{width:40px;height:40px}.pwa-install-card .btn{grid-column:2;justify-self:start}.pwa-install-close{grid-column:3;grid-row:1/3}.auth-visual{min-height:190px}.auth-visual h1{font-size:24px}}
.sidebar-install-button{width:100%;min-height:38px;border:1px solid #dbe7ee;border-radius:10px;background:#f4f9fc;color:#315e7d;padding:8px 10px;display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:10px;font-weight:800;margin-bottom:8px}.sidebar-install-button[hidden]{display:none!important}.sidebar-install-button .ui-icon{width:16px;height:16px}.sidebar-install-button:hover{background:#eaf5fa;color:#0c78b3}

/* ============================================================
   v1.1.9 — Active Program Auto-Publication + Georeferenced Realization
   ============================================================ */
.field-location-block{margin:14px 0;padding:15px;border:1px solid #d9e7ef;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f5fafc);display:grid;gap:13px}.field-location-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.field-location-head>div:first-child{display:grid;gap:3px;min-width:0}.field-location-head strong{font-size:13px;color:#123b5f}.field-location-head small{font-size:11px;color:#6b8294;line-height:1.45}.field-location-actions{display:flex;gap:8px;flex:0 0 auto}.field-location-status{padding:9px 11px;border-radius:10px;background:#edf5fa;color:#526f85;font-size:11px;line-height:1.4}.field-location-status.is-loading{background:#fff5df;color:#8a6212}.field-location-status.is-success{background:#e7f8ef;color:#176d4b}.field-location-status.is-error{background:#fff0ef;color:#9b4138}.field-map-picker{height:330px;border:1px solid #d5e3eb;border-radius:12px;overflow:hidden;background:#eaf3f7}.field-map-picker[hidden]{display:none!important}.field-map-picker .leaflet-control-attribution{font-size:8px}
.dm-map-marker.activity{width:20px;height:24px;border-width:2px;border-radius:50% 50% 50% 7px;background:#08a7b4;box-shadow:0 4px 12px rgba(5,83,95,.30)}.dm-map-marker.activity i{width:6px;height:6px}.activity-wrap:hover .dm-map-marker.activity{transform:rotate(-45deg) scale(1.15)}.map-legend-dot.activity{background:#08a7b4;box-shadow:0 0 0 2px rgba(8,167,180,.16)}.map-status-pill.activity{background:#e4f8fa;color:#087581}.dm-map-popup-program{font-size:10px!important;font-weight:800!important;color:#315f7b!important;margin:0 0 3px!important}.dm-map-popup-date{display:block;margin-top:-2px;color:#6e8798;font-size:9px}.activity-popup .dm-map-popup-body{border-top:3px solid #08a7b4}
.program-detail-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.program-detail-badges .badge.status{background:#edf5fa;color:#315f7b}.program-detail-badges .badge.status.active{background:#e5f8ef;color:#17724c}.program-detail-badges .badge.status.completed{background:#e8f4fc;color:#196c9d}.program-public-section{padding-bottom:26px;border-bottom:1px solid #e7eef3}.program-public-section:last-child{border-bottom:0}.program-public-section>.eyebrow{display:block;margin-bottom:5px}.program-public-section h2{margin:0 0 10px}.program-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.section-lead{color:#667f91;margin:0 0 16px}.program-activity-map-shell{margin:14px 0 20px;border:1px solid #dbe7ee;border-radius:15px;overflow:hidden;background:#f6fafc}.program-activity-map{height:350px;background:#eaf3f7}.program-activity-map-note{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#fff;color:#637c8f;font-size:10px;border-top:1px solid #e2ebf0}.program-activity-map-note .inline-ui-icon{width:14px;height:14px}.program-activity-timeline{display:grid;gap:12px}.program-activity-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:15px;border:1px solid #dde8ef;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(18,59,88,.035)}.program-activity-date{padding-right:14px;border-right:1px solid #e5edf2}.program-activity-date strong,.program-activity-date span{display:block}.program-activity-date strong{font-size:12px;color:#193f60}.program-activity-date span{margin-top:5px;font-size:8px;letter-spacing:.08em;font-weight:900;color:#15885a}.program-activity-copy h3{font-size:15px;margin:0 0 6px;color:#12385b}.program-activity-copy>p{margin:8px 0 0;font-size:13px;line-height:1.65;color:#4f687b}.program-activity-meta{display:flex;gap:12px;flex-wrap:wrap;color:#718797;font-size:10px}.program-activity-meta span{display:inline-flex;align-items:center;gap:4px}.program-activity-meta .inline-ui-icon{width:13px;height:13px}.public-empty-state{padding:18px;border:1px dashed #d5e2ea;border-radius:13px;background:#f8fbfd}.public-empty-state strong{display:block;color:#244e6c}.public-empty-state p{margin:5px 0 0;color:#718798;font-size:12px}.activity-map-popup{display:grid;gap:2px;min-width:150px}.activity-map-popup strong{font-size:12px;color:#123c5c}.activity-map-popup small{font-size:9px;color:#6f8798}.activity-map-popup p{font-size:10px;margin:2px 0 0;color:#48687d}.activity-circle-marker{stroke:#fff;fill:#08a7b4}
.detail-summary{grid-auto-rows:max-content}
@media (max-width:980px){.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.program-activity-map{height:320px}}
@media (max-width:720px){.field-location-head{display:grid}.field-location-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.field-location-actions .btn{width:100%;justify-content:center}.field-map-picker{height:300px}.program-activity-card{grid-template-columns:1fr;gap:9px;padding:13px}.program-activity-date{border-right:0;border-bottom:1px solid #e5edf2;padding:0 0 8px;display:flex;justify-content:space-between;align-items:center;gap:10px}.program-activity-date span{margin-top:0}.program-activity-map{height:300px}.program-activity-copy>p{font-size:12px}.detail-meta{display:grid;gap:6px}.detail-summary{grid-template-columns:1fr 1fr}.program-section-head h2{font-size:21px}}
@media (max-width:440px){.field-location-actions{grid-template-columns:1fr}.field-map-picker{height:270px}.program-activity-map{height:270px}.detail-summary{grid-template-columns:1fr}.program-activity-meta{display:grid;gap:5px}}
.execution-location-chip{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:5px 8px;border-radius:8px;background:#edf8fa;color:#17727c;font-size:9.5px;font-weight:700}.execution-location-chip .inline-ui-icon{width:13px;height:13px}.review-location-context{display:grid;gap:3px;margin-bottom:12px;padding:10px 11px;border:1px solid #d8e8ed;border-radius:10px;background:#f4fbfc}.review-location-context strong{display:flex;align-items:center;gap:5px;font-size:11px;color:#176b75}.review-location-context span{font-size:11px;font-weight:750;color:#294e68}.review-location-context small{font-size:9.5px;color:#6d8797}.review-location-context .inline-ui-icon{width:14px;height:14px}

/* ============================================================
   v1.1.11 — Community Monev Assessment & Journey Engine
   ============================================================ */
.upgrade-warning{display:grid;gap:4px;margin:0 0 16px;padding:13px 15px;border:1px solid #f1d79c;border-radius:13px;background:#fff9e9;color:#735414}.upgrade-warning strong{font-size:13px}.upgrade-warning span{font-size:11.5px;line-height:1.5}
.task-type-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}.task-type-chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:850;letter-spacing:.02em}.task-type-chip.execution{background:#e9f4fc;color:#186c9f}.task-type-chip.monev{background:#e9f8f0;color:#14734b}.task-community-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;padding:10px;border:1px solid #dce9e3;border-radius:11px;background:#f6fbf8}.task-community-context div{min-width:0}.task-community-context small,.task-community-context strong{display:block}.task-community-context small{font-size:10.5px;color:#738899}.task-community-context strong{margin-top:2px;font-size:12px;color:#244c43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.monev-assessment-dialog{width:min(1040px,96vw);max-width:1040px;max-height:92vh}.monev-assessment-dialog .dialog-body{max-height:calc(92vh - 150px);overflow:auto;overscroll-behavior:contain;padding-right:6px}.monev-assessment-dialog .dialog-head p{margin:4px 0 0;font-size:11.5px;color:#708597}.monev-assessment-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.monev-assessment-intro>div{padding:11px;border:1px solid #dce8ee;border-radius:11px;background:#f8fbfd}.monev-assessment-intro small,.monev-assessment-intro strong{display:block}.monev-assessment-intro small{font-size:10.5px;color:#728798}.monev-assessment-intro strong{margin-top:3px;font-size:12.5px;color:#173e5d}
.monev-domain-stack{display:grid;gap:10px;margin:16px 0}.monev-assessment-domain{border:1px solid #dbe7ed;border-radius:13px;background:#fff;overflow:hidden}.monev-assessment-domain summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;background:#f8fbfc}.monev-assessment-domain summary::-webkit-details-marker{display:none}.monev-assessment-domain summary>div{min-width:0}.monev-assessment-domain summary small,.monev-assessment-domain summary strong,.monev-assessment-domain summary span{display:block}.monev-assessment-domain summary small{font-size:10px;font-weight:850;letter-spacing:.06em;color:#208260}.monev-assessment-domain summary strong{font-size:14px;color:#143c5d}.monev-assessment-domain summary span{margin-top:2px;font-size:11.5px;line-height:1.4;color:#61798b}.monev-assessment-domain summary>b{font-size:10.5px;color:#657e90;white-space:nowrap}.monev-assessment-domain[open] summary{border-bottom:1px solid #e1eaef;background:#f2faf6}.monev-domain-body{display:grid;gap:10px;padding:12px}
.monev-question-field{padding:12px;border:1px solid #e2ebef;border-radius:11px;background:#fff}.monev-question-head{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}.question-code{display:inline-grid;place-items:center;min-width:46px;min-height:26px;padding:4px 7px;border-radius:8px;background:#edf6fa;color:#176d93;font-size:10.5px;font-weight:900;letter-spacing:.03em;flex:0 0 auto}.monev-question-head>div{min-width:0}.monev-question-head strong,.monev-question-head small{display:block}.monev-question-head strong{font-size:12.5px;line-height:1.45;color:#173d5c}.monev-question-head small{margin-top:4px;font-size:10.5px;line-height:1.45;color:#708697}.monev-question-inputs{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:start}.monev-question-inputs label{font-size:10.5px;font-weight:750;color:#60798c}.monev-question-inputs select,.monev-question-inputs textarea{margin-top:4px}.monev-summary-panel{display:grid;gap:11px;margin-top:15px;padding:14px;border:1px solid #d7e7df;border-radius:13px;background:#f7fcf9}.monev-summary-panel h3{margin:0;color:#164c3a}.monev-score-badge{display:inline-flex;align-items:baseline;gap:2px;padding:5px 8px;border-radius:9px;background:#e7f8ef;color:#146b48;font-size:11.5px;font-weight:900;white-space:nowrap}.monev-score-badge.large{font-size:20px;padding:8px 10px}.monev-score-badge.large small{font-size:10px}.field-monev-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.monev-stage-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;padding:8px 10px;border-radius:9px;background:#f2f7fa;color:#5c7487;font-size:10.5px}.monev-stage-line b{color:#224f6f}.monev-stage-line small{flex-basis:100%;line-height:1.4}
.monev-score-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.monev-score-legend>div{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid #e0e9ee;border-radius:10px;background:#fafcfd}.monev-score-legend b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e9f6ef;color:#18714e;font-size:11px}.monev-score-legend span{font-size:11.5px;line-height:1.4;color:#5f7789}.monev-template-card>.card-title{align-items:flex-start}.monev-domain-admin-list{display:grid;gap:12px}.monev-domain-admin{border:1px solid #dfe9ee;border-radius:13px;overflow:hidden}.monev-domain-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:13px 14px;background:#f8fbfc}.monev-domain-admin-head h3{margin:2px 0 4px}.monev-domain-admin-head p{margin:0;color:#60798b;font-size:11.5px}.monev-question-admin-list{display:grid}.monev-question-admin-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 14px;border-top:1px solid #e5edf1}.monev-question-admin-row>div:first-child{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:start}.monev-question-admin-row strong{font-size:12px;line-height:1.45}.monev-question-admin-row small{grid-column:2;font-size:10.5px;color:#6b8293;line-height:1.4}
.community-monev-highlight{display:grid;gap:6px;padding:12px;border:1px solid #d8e8df;border-radius:12px;background:#f7fcf9}.community-monev-highlight>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.community-monev-highlight>strong{font-size:13px;color:#204d3d}.community-monev-highlight>small{font-size:10.5px;color:#708697}.community-monev-highlight p{margin:3px 0 0;font-size:11.5px;line-height:1.5;color:#4f6879}.community-monev-history{margin-top:16px;padding-top:14px;border-top:1px solid #e4ecef}.role-card-head.compact{margin-bottom:10px}.community-monev-list{display:grid;gap:12px}.community-monev-card{padding:14px;border:1px solid #dce7ec;border-radius:13px;background:#fff}.community-monev-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.community-monev-card-head h4{margin:5px 0 2px;font-size:14px;color:#153c5d}.community-monev-card-head small{font-size:10.5px;color:#728798}.community-domain-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}.community-domain-score{padding:9px 10px;border-radius:10px;background:#f7fafc}.community-domain-score>div:first-child{display:flex;justify-content:space-between;gap:9px;align-items:center;font-size:10.5px;color:#597185}.community-domain-score b{color:#1d5d48}.domain-score-track{height:6px;margin-top:6px;border-radius:99px;background:#e4ecef;overflow:hidden}.domain-score-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#19a36d,#0e88ad)}.community-monev-copy{display:grid;grid-template-columns:1fr 1fr;gap:10px}.community-monev-copy>div{padding:10px;border:1px solid #e4ebef;border-radius:10px;background:#fbfcfd}.community-monev-copy small{font-size:10px;font-weight:850;color:#6a8294}.community-monev-copy p{margin:4px 0 0;font-size:11.5px;line-height:1.5;color:#496478}
@media(max-width:900px){.monev-assessment-dialog{width:96vw}.monev-question-inputs{grid-template-columns:1fr}.monev-score-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.monev-question-admin-row,.monev-domain-admin-head{align-items:stretch;flex-direction:column}.community-domain-scores{grid-template-columns:1fr}.community-monev-copy{grid-template-columns:1fr}}
@media(max-width:720px){.task-community-context,.monev-assessment-intro{grid-template-columns:1fr}.monev-assessment-dialog{width:calc(100vw - 12px);max-height:96vh;margin:3vh auto}.monev-assessment-dialog .dialog-body{max-height:calc(96vh - 142px);padding-right:2px}.monev-assessment-domain summary{align-items:flex-start}.monev-assessment-domain summary>b{white-space:normal}.monev-question-field{padding:10px}.monev-question-head strong{font-size:12px}.monev-score-legend{grid-template-columns:1fr}.community-monev-card-head{align-items:flex-start}.monev-score-badge.large{font-size:16px}.monev-question-admin-row .inline-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}
.monev-context-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0 3px}.monev-score-chip{padding:4px 7px;border-radius:8px;background:#e7f8ef;color:#156d49;font-size:10.5px;font-weight:900;white-space:nowrap}.monev-domain-score-strip{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.monev-domain-score-strip span{padding:5px 7px;border-radius:8px;background:#f0f6f8;color:#5b7486;font-size:10px}.monev-domain-score-strip b{color:#315a72}.monev-domain-review{margin:12px 0;border:1px solid #dce8ed;border-radius:12px;overflow:hidden}.monev-domain-review-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:11px 12px;background:#f7fafc}.monev-domain-review-head h3{margin:0 0 3px;font-size:13px}.monev-domain-review-head p{margin:0;font-size:10.5px;color:#6a8192}.monev-domain-review-head>strong{padding:4px 7px;border-radius:8px;background:#e8f8ef;color:#176d4b;font-size:11px}.monev-answer-review-list{display:grid}.monev-answer-review-list article{padding:10px 12px;border-top:1px solid #e7eef2}.monev-answer-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start}.monev-answer-title strong{font-size:11.5px;line-height:1.4}.monev-answer-title>b{font-size:10.5px;color:#17704d;white-space:nowrap}.monev-answer-review-list p{margin:6px 0 0;font-size:11px;line-height:1.5;color:#4e687a}.monev-answer-review-list small{display:block;margin-top:5px;font-size:10px;color:#6a8294}.review-source{margin-top:14px}.review-source h3{font-size:13px;margin:12px 0 4px}.review-source p{font-size:11.5px;line-height:1.55;color:#4d6679}.monev-summary-panel>div{padding:9px;border-radius:9px;background:#fff;border:1px solid #e2ece7}.monev-summary-panel>div small,.monev-summary-panel>div strong{display:block}.monev-summary-panel>div small{font-size:10px;color:#6f8495}.monev-summary-panel>div strong{margin-top:2px;font-size:12px;color:#204f40}
@media(max-width:720px){.monev-answer-title{grid-template-columns:auto minmax(0,1fr)}.monev-answer-title>b{grid-column:2}.monev-domain-review-head{flex-direction:column}}
.monev-form-error{margin-bottom:11px;padding:10px 12px;border:1px solid #efb8b3;border-radius:10px;background:#fff1ef;color:#923f38;font-size:11.5px;font-weight:750}.monev-form-error[hidden]{display:none!important}

/* v1.1.12 — Public Impact Evidence Hierarchy & Community Change Synthesis */
.impact-page-hero{background:linear-gradient(135deg,#eef9ff 0%,#f4fffd 58%,#fff 100%)}
.impact-page-hero h1{max-width:760px}.impact-page-hero p{max-width:860px}
.impact-section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.impact-section-head>div:first-child{max-width:820px}.impact-section-head h2{font-size:26px;line-height:1.15;margin:0 0 6px;color:#0a315d}.impact-section-head p{margin:0;color:#647f96;font-size:12px;line-height:1.6}.impact-source-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border:1px solid #dce9f0;border-radius:999px;background:#fff;color:#58758c;font-size:10px;font-weight:800}.impact-scope-section{background:#fff}.impact-scope-grid .impact-card{min-height:112px;border-radius:16px;padding:20px}.impact-scope-grid .impact-card strong{font-size:31px;margin-top:5px}.impact-scope-grid .impact-card p{font-size:10px;line-height:1.45}.impact-measure-section{background:#f7fbfe}.measurement-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.measurement-public-card{background:#fff;border:1px solid #dfeaf1;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(12,57,89,.05);min-width:0}.measurement-public-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.measurement-public-top time{font-size:10px;color:#7890a4}.impact-type-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.02em}.impact-type-pill.measurement{background:#e7f4ff;color:#0876ba}.impact-type-pill.output{background:#e9f7ef;color:#16845a}.impact-type-pill.outcome{background:#fff3df;color:#bd7012}.impact-type-pill.impact{background:#efe9ff;color:#6542ba}.impact-type-pill.evidence{background:#eaf7ef;color:#177951}.measurement-public-card h3{font-size:18px;line-height:1.2;margin:0 0 5px;color:#0a315d}.impact-program-link{display:inline-block;font-size:10px;color:#0879b9;font-weight:800;margin-bottom:15px}.measurement-value-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center;padding:13px;background:#f8fbfd;border-radius:12px}.measurement-value-flow div{min-width:0}.measurement-value-flow small{display:block;font-size:9px;color:#7790a4}.measurement-value-flow strong{display:block;font-size:17px;color:#0a315d;overflow-wrap:anywhere}.measurement-value-flow em{font-size:9px;font-style:normal;color:#6b8398}.measurement-arrow{color:#0b8fc8;font-weight:900}.measurement-delta{margin-top:12px;display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.measurement-delta strong{font-size:15px}.measurement-delta span{font-size:11px;font-weight:900}.measurement-delta small{font-size:9px;color:#7890a4;width:100%}.measurement-delta.up strong,.measurement-delta.up span{color:#16855c}.measurement-delta.down strong,.measurement-delta.down span{color:#c55c42}.measurement-delta.neutral strong,.measurement-delta.neutral span{color:#5f7890}.measurement-method{margin:12px 0 0;padding-top:11px;border-top:1px solid #edf2f5;color:#607a91;font-size:10px;line-height:1.55}.impact-empty-state{padding:32px;border:1px dashed #c9dbe7;border-radius:18px;text-align:center;background:#fff;color:#678197}.impact-empty-state strong{display:block;font-size:15px;color:#244d6d;margin-bottom:4px}.impact-empty-state p{margin:0;font-size:11px}.impact-empty-state.compact{padding:20px}.impact-result-section{background:#fff}.result-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.result-level-column{border:1px solid #e0e9ef;border-radius:18px;background:#fff;overflow:hidden}.result-level-column.impact{border-top:4px solid #7658cf}.result-level-column.outcome{border-top:4px solid #e39a28}.result-level-column.output{border-top:4px solid #2aa56f}.result-level-head{padding:17px 17px 12px;border-bottom:1px solid #edf2f5}.result-level-head h3{font-size:16px;margin:9px 0 2px;color:#0a315d}.result-level-head small{font-size:9px;color:#7a91a4}.result-level-list{padding:0 16px}.result-public-item{padding:15px 0;border-bottom:1px solid #edf2f5}.result-public-item:last-child{border-bottom:0}.result-public-value{display:block;font-size:20px;color:#0a315d;margin-bottom:4px}.result-public-item h4{font-size:13px;line-height:1.35;margin:0 0 5px}.result-public-item p{font-size:10px;line-height:1.55;color:#637e94;margin:0 0 7px}.result-public-item a{font-size:9px;font-weight:800;color:#0a79ba}.result-level-empty{padding:24px 17px;color:#7890a4;font-size:11px}.community-impact-section{background:linear-gradient(180deg,#f7fbfe,#f3fbf8)}.community-impact-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px;background:#fff;border:1px solid #dfeae7;border-radius:14px;box-shadow:0 5px 16px rgba(18,73,69,.04)}.community-impact-summary strong{font-size:16px;color:#0a315d}.community-impact-summary span{font-size:9px;color:#6f8799}.community-impact-summary i{width:1px;height:20px;background:#dce8ea}.community-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-domain-card{background:#fff;border:1px solid #dfeae7;border-radius:15px;padding:14px 15px}.community-domain-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.community-domain-head h3{font-size:13px;margin:0;color:#173f5f}.community-domain-head strong{font-size:18px;color:#13845a;white-space:nowrap}.community-domain-head strong small{font-size:9px;color:#7490a0}.community-domain-meter{height:8px;background:#edf3f1;border-radius:999px;overflow:hidden;margin:10px 0 6px}.community-domain-meter i{display:block;height:100%;background:linear-gradient(90deg,#1ea66f,#0b82b8);border-radius:inherit}.community-domain-card p{margin:0;font-size:9px;color:#7890a4}.impact-proof-section{background:#fff}.impact-proof-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.impact-proof-flow article{border:1px solid #dfe9ef;border-radius:15px;padding:15px;background:#fbfdff}.impact-proof-flow article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e8f5fc;color:#0877b9;font-size:10px;font-weight:900;margin-bottom:9px}.impact-proof-flow strong{display:block;font-size:12px;color:#173f5f}.impact-proof-flow p{font-size:9px;line-height:1.5;color:#6c8498;margin:4px 0 0}.impact-public-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.impact-public-evidence-card{border:1px solid #dfe9ef;border-radius:14px;overflow:hidden;background:#fff}.impact-public-evidence-card img,.impact-evidence-placeholder{width:100%;height:130px;object-fit:cover;background:#edf6fa;display:grid;place-items:center;color:#6e8799;font-size:10px}.impact-public-evidence-card>div{padding:11px}.impact-public-evidence-card h3{font-size:12px;line-height:1.35;margin:7px 0 3px}.impact-public-evidence-card small{font-size:9px;color:#7790a3}.impact-program-source-section{background:#f7fbfe}.impact-program-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.impact-program-source-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 15px;background:#fff;border:1px solid #dfe9ef;border-radius:13px;transition:.2s}.impact-program-source-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,57,89,.07);border-color:#b9d9e8}.impact-program-source-card strong{display:block;font-size:12px}.impact-program-source-card small{display:block;font-size:9px;color:#7890a4;margin-top:2px}.impact-program-source-card>span{color:#0781ba;font-weight:900}
@media(max-width:980px){.measurement-public-grid,.result-level-grid{grid-template-columns:1fr 1fr}.result-level-column:last-child{grid-column:1/-1}.impact-public-evidence-grid{grid-template-columns:repeat(3,1fr)}.impact-proof-flow{grid-template-columns:1fr 1fr}.impact-program-source-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.impact-section-head{align-items:flex-start;flex-direction:column;gap:10px}.impact-section-head h2{font-size:22px}.impact-section-head p{font-size:11px}.impact-source-chip{font-size:9px}.impact-scope-grid{grid-template-columns:1fr 1fr}.impact-scope-grid .impact-card{min-height:100px;padding:14px}.impact-scope-grid .impact-card strong{font-size:25px}.measurement-public-grid,.result-level-grid,.community-domain-grid,.impact-public-evidence-grid,.impact-program-source-grid{grid-template-columns:1fr}.result-level-column:last-child{grid-column:auto}.measurement-public-card{padding:15px}.measurement-value-flow strong{font-size:15px}.impact-proof-flow{grid-template-columns:1fr}.community-impact-summary{width:100%}.impact-public-evidence-card{display:grid;grid-template-columns:110px 1fr}.impact-public-evidence-card img,.impact-evidence-placeholder{height:100%;min-height:110px}.impact-program-source-card{padding:13px}.impact-page-hero h1{font-size:31px}}

/* =========================================================
   v1.1.13 — Monev Template Master–Detail Navigation
   Large dataset workspace UX: one-domain rendering, sticky
   navigation, deep-link state, compact scale, responsive shell.
   ========================================================= */
.monev-page-head{margin-bottom:14px}.monev-template-switcher{display:flex;gap:8px;overflow:auto;padding:2px 1px 10px;scrollbar-width:thin}.monev-template-switch{flex:0 0 auto;min-width:210px;max-width:320px;padding:10px 12px;border:1px solid #dce8ee;border-radius:12px;background:#fff;color:#31566f;text-decoration:none;transition:.18s}.monev-template-switch span,.monev-template-switch small{display:block}.monev-template-switch span{font-size:12px;font-weight:850;color:#123f67;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monev-template-switch small{margin-top:3px;font-size:9.5px;color:#7890a2}.monev-template-switch:hover{border-color:#a9d3e4;box-shadow:0 6px 18px rgba(11,78,115,.06)}.monev-template-switch.active{border-color:#1495be;background:#edf9fc;box-shadow:inset 0 0 0 1px rgba(20,149,190,.12)}
.monev-template-summary{position:relative;margin-bottom:14px}.monev-template-summary-main{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.monev-template-summary-main>div:first-child{min-width:0;max-width:820px}.monev-template-summary-main h2{margin:4px 0 4px;font-size:20px}.monev-template-summary-main p{margin:0;color:#617b90;font-size:11px;line-height:1.55}.monev-template-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:10px;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid #edf2f5}.monev-score-compact{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border:1px solid #dfe9ee;border-radius:10px;background:#f9fcfd;color:#5e7689;text-align:left;cursor:pointer}.monev-score-compact strong{font-size:10.5px;color:#164665;white-space:nowrap}.monev-score-compact span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px}.monev-score-compact em{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:850;color:#087fba;white-space:nowrap}.monev-question-search{display:flex;align-items:center;gap:7px;min-width:0;border:1px solid #d8e6ee;border-radius:10px;background:#fff;padding:0 9px}.monev-question-search>span{display:grid;place-items:center;color:#5c7990}.monev-question-search .ui-icon{width:15px;height:15px}.monev-question-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;padding:10px 0;font-size:11px;color:#183f5e}.monev-search-clear{font-size:9.5px;font-weight:850;color:#087eb8;text-decoration:none;white-space:nowrap}
.monev-master-detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}.monev-domain-rail{min-width:0}.monev-domain-rail-inner{position:sticky;top:86px;max-height:calc(100vh - 104px);overflow:auto;border:1px solid #dfe9ef;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(12,57,89,.035);padding:8px}.monev-domain-rail-head{display:flex;justify-content:space-between;align-items:center;padding:7px 8px 8px;color:#6f8799}.monev-domain-rail-head span{font-size:9px;font-weight:900;letter-spacing:.09em}.monev-domain-rail-head strong{display:grid;place-items:center;min-width:24px;height:24px;border-radius:8px;background:#eef6fa;color:#0d6f9e;font-size:10px}.monev-domain-link{display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:center;padding:9px 8px;border-radius:10px;color:#395b72;text-decoration:none;transition:.15s}.monev-domain-link:hover{background:#f5fafc}.monev-domain-link.active{background:linear-gradient(135deg,#eaf8fc,#f1fbf7);box-shadow:inset 3px 0 0 #0b91bb}.monev-domain-index{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#f0f6f9;color:#607d90;font-size:9px;font-weight:900}.monev-domain-link.active .monev-domain-index{background:#dff4fa;color:#087eaa}.monev-domain-link strong,.monev-domain-link small{display:block;min-width:0}.monev-domain-link strong{font-size:10.5px;line-height:1.2;color:#173f5f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monev-domain-link small{margin-top:2px;font-size:8.8px;color:#8195a4}.monev-mobile-domain-picker{display:none}.monev-detail-pane{min-width:0}.monev-detail-pane>.admin-card{margin:0}.monev-domain-workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:14px;border-bottom:1px solid #eaf0f3}.monev-domain-workspace-head>div:first-child{min-width:0}.monev-domain-workspace-head h2{margin:4px 0 5px;font-size:23px}.monev-domain-workspace-head p{margin:0;font-size:11.5px;color:#5c778b;line-height:1.55}.monev-domain-workspace-head small{display:block;margin-top:5px;font-size:10px;color:#7890a2;line-height:1.5}.monev-back-overview{display:inline-block;margin-bottom:8px;font-size:9.5px;font-weight:850;color:#087eb8;text-decoration:none}.monev-question-domain-list{margin-top:4px}.monev-question-domain-list .monev-question-admin-row:first-child{border-top:0}.monev-question-admin-row{transition:.18s}.monev-question-admin-row.is-focused{background:#fff9df;box-shadow:inset 3px 0 0 #e4a81e}.monev-question-number{color:#7890a3;font-weight:800}.monev-domain-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.monev-domain-overview-card{display:block;min-width:0;padding:14px 15px;border:1px solid #dfe9ef;border-radius:14px;background:#fbfdff;color:#183f5e;text-decoration:none;transition:.18s}.monev-domain-overview-card:hover{transform:translateY(-2px);border-color:#b8d8e6;box-shadow:0 8px 20px rgba(12,57,89,.06)}.monev-domain-overview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.monev-domain-overview-top span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e9f6fb;color:#087dad;font-size:10px;font-weight:900}.monev-domain-overview-top em{font-size:9px;font-style:normal;color:#7890a3}.monev-domain-overview-card h3{margin:0 0 5px;font-size:14px;color:#123f67}.monev-domain-overview-card p{margin:0;min-height:34px;font-size:10px;line-height:1.5;color:#6d8395}.monev-domain-overview-card>strong{display:block;margin-top:10px;font-size:9.5px;color:#087eb7}.monev-search-result-list{display:grid}.monev-search-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start;padding:12px 2px;border-bottom:1px solid #e8eff3;color:#173f5f;text-decoration:none}.monev-search-result:last-child{border-bottom:0}.monev-search-result>span:nth-child(2){min-width:0}.monev-search-result strong,.monev-search-result small{display:block}.monev-search-result strong{font-size:11.5px;line-height:1.45}.monev-search-result small{margin-top:3px;font-size:9.5px;line-height:1.45;color:#71899a}.monev-search-result>b{color:#0b83bb}.monev-search-results-card .card-title p,.monev-overview-card .card-title p{margin:3px 0 0;font-size:10px;color:#7890a3}

@media(max-width:1180px){.monev-master-detail{grid-template-columns:205px minmax(0,1fr)}.monev-domain-link{grid-template-columns:27px minmax(0,1fr);padding:8px 6px}.monev-domain-index{width:26px;height:26px}.monev-template-tools{grid-template-columns:1fr}.monev-score-compact span{white-space:normal;line-height:1.35}}
@media(max-width:980px){.monev-master-detail{display:block}.monev-domain-rail{margin-bottom:10px}.monev-domain-rail-inner{position:sticky;top:72px;z-index:8;display:flex;gap:6px;max-height:none;overflow:auto;padding:7px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.monev-domain-rail-head{display:none}.monev-domain-link{flex:0 0 auto;display:flex;width:auto;min-width:130px;max-width:190px;padding:8px 9px}.monev-domain-link strong{font-size:10px}.monev-domain-link small{font-size:8.5px}.monev-domain-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.monev-template-switcher{margin-inline:-2px}.monev-template-switch{min-width:185px}.monev-template-summary{padding:14px}.monev-template-summary-main{display:grid;gap:10px}.monev-template-summary-main .inline-actions{justify-content:flex-start;flex-wrap:wrap}.monev-template-summary-main h2{font-size:18px}.monev-template-tools{margin-top:10px}.monev-score-compact{align-items:flex-start}.monev-score-compact span{display:none}.monev-domain-rail{display:none}.monev-mobile-domain-picker{display:grid;gap:5px;position:sticky;top:60px;z-index:8;margin:0 0 10px;padding:8px 10px;border:1px solid #dce8ee;border-radius:12px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.monev-mobile-domain-picker label{font-size:8.5px;font-weight:900;letter-spacing:.08em;color:#708797}.monev-mobile-domain-picker select{width:100%;min-width:0;border:0;background:#f4f9fb;border-radius:9px;padding:10px 11px;font-size:11px;font-weight:800;color:#173f5f;outline:0}.monev-domain-overview-grid{grid-template-columns:1fr}.monev-domain-overview-card p{min-height:0}.monev-domain-workspace{padding:14px}.monev-domain-workspace-head{display:grid;gap:11px}.monev-domain-workspace-head .inline-actions{justify-content:flex-start;flex-wrap:wrap}.monev-domain-workspace-head h2{font-size:20px}.monev-question-domain-list .monev-question-admin-row{padding:12px 2px}.monev-question-domain-list .monev-question-admin-row>div:first-child{grid-template-columns:auto minmax(0,1fr)}.monev-question-domain-list .monev-question-admin-row .inline-actions{padding-left:42px}.monev-question-search input{font-size:10.5px}.monev-search-result{grid-template-columns:auto minmax(0,1fr)}.monev-search-result>b{display:none}.monev-search-result small{font-size:9px}}
@keyframes monevFocusPulse{0%,100%{box-shadow:inset 3px 0 0 #e4a81e,0 0 0 0 rgba(228,168,30,0)}50%{box-shadow:inset 3px 0 0 #e4a81e,0 0 0 4px rgba(228,168,30,.12)}}.monev-question-admin-row.is-focus-pulse{animation:monevFocusPulse .8s ease 2}

/* ============================================================
   v1.1.14 — Management Portfolio Intelligence & Strategic Decision
   Decision-first management workspace without operational editing.
   ============================================================ */
.management-schema-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 16px;border:1px solid #f0d8a8;border-radius:12px;background:#fff9ed;color:#765623}.management-schema-note strong{font-size:12px;white-space:nowrap}.management-schema-note span{font-size:11px;line-height:1.5}.management-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.78fr)}
.management-program-list{display:grid}.management-program-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #edf2f5;color:inherit}.management-program-row:last-child{border-bottom:0}.management-program-row:hover strong{color:var(--primary)}.management-program-main{min-width:0}.management-program-title{display:flex;align-items:center;gap:8px;min-width:0}.management-program-title strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.management-program-main>small,.management-risk-row small{display:block;font-size:10px;color:#7d91a0;margin-top:3px}.management-program-kpi{text-align:right}.management-program-kpi b,.management-program-kpi small{display:block}.management-program-kpi b{font-size:18px;color:#0b3158}.management-program-kpi small{font-size:9px;color:#899aa7}.management-progress-line{height:5px;background:#e8eef3;border-radius:6px;overflow:hidden;margin-top:8px}.management-progress-line i{display:block;height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary));border-radius:6px}
.risk-pill{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.risk-pill.risk-critical{background:#fdeced;color:#b52d3c}.risk-pill.risk-high{background:#fff2df;color:#9a621f}.risk-pill.risk-watch{background:#edf6ff;color:#2a6f9e}.risk-pill.risk-normal{background:#edf8f1;color:#3f7658}.management-risk-row{display:block;padding:11px 0;border-bottom:1px solid #edf2f5;color:inherit}.management-risk-row:last-child{border-bottom:0}.management-risk-row ul{margin:7px 0 0;padding-left:16px}.management-risk-row li{font-size:10px;color:#6d8292;line-height:1.5;margin:2px 0}.management-budget-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.management-budget-summary>div{padding:10px;border-radius:10px;background:#f7fafc}.management-budget-summary small,.management-budget-summary strong{display:block}.management-budget-summary small{font-size:9px;color:#8395a3}.management-budget-summary strong{font-size:11px;margin-top:3px}
.management-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.management-portfolio-card{display:block;border:1px solid #e0e8ee;border-radius:13px;padding:14px;color:inherit;background:#fff;transition:.18s}.management-portfolio-card:hover{border-color:#bad9eb;box-shadow:0 9px 24px rgba(16,60,92,.07);transform:translateY(-1px)}.management-portfolio-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.management-portfolio-card-head>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.management-portfolio-card-head>b{font-size:18px;color:#0b3158}.management-portfolio-card h3{font-size:14px;margin:10px 0 4px;color:#123b61}.management-portfolio-card p{font-size:10px;color:#7c91a0;margin:0}.management-portfolio-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}.management-portfolio-stats span{padding:8px;border-radius:8px;background:#f7fafc}.management-portfolio-stats small,.management-portfolio-stats strong{display:block}.management-portfolio-stats small{font-size:8.5px;color:#8698a5}.management-portfolio-stats strong{font-size:11px;margin-top:2px}.management-flag-preview{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.management-flag-preview span{font-size:9px;padding:4px 6px;background:#fff5e8;color:#8f6429;border-radius:7px}
.management-risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.management-risk-card{border:1px solid #e0e8ee;border-left-width:4px;border-radius:13px;padding:14px}.management-risk-card.risk-card-critical{border-left-color:#d84a57}.management-risk-card.risk-card-high{border-left-color:#e69a38}.management-risk-card.risk-card-watch{border-left-color:#478fc0}.management-risk-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.management-risk-card-head>div{display:flex;gap:6px}.management-risk-card-head>b{font-size:18px}.management-risk-card h3{font-size:14px;margin:10px 0 3px}.management-risk-card p{font-size:10px;color:#7c91a0;margin:0}.management-risk-card ul{padding-left:17px;margin:10px 0}.management-risk-card li{font-size:10px;line-height:1.5;margin:3px 0}.management-risk-actions{display:flex;justify-content:flex-end}.risk-flag-critical{color:#a92e3c}.risk-flag-high{color:#91601f}.risk-flag-watch{color:#2c6f99}
.management-decision-list .decision-item{align-items:start}.management-followup-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:10px;color:#657d90}.management-followup-line .status-pill{margin-right:1px}
.management-context-head{align-items:flex-end}.management-context-state{text-align:right;display:grid;justify-items:end;gap:5px}.management-context-state strong{font-size:34px;line-height:1;color:#0b3158}.management-context-state small{font-size:10px;color:#71889a}.management-context-nav{position:sticky;top:66px;z-index:32;display:flex;gap:6px;overflow:auto;padding:9px 0;margin-bottom:14px;background:#f5f8fb;scrollbar-width:none}.management-context-nav::-webkit-scrollbar{display:none}.management-context-nav a{flex:0 0 auto;font-size:10px;font-weight:800;padding:7px 10px;border:1px solid #dce6ed;border-radius:999px;background:#fff;color:#547188}.management-context-nav a:hover{border-color:#b9d9eb;color:#0b74b6}.management-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.management-overview-grid>div{padding:12px;border-radius:10px;background:#f7fafc}.management-overview-grid small,.management-overview-grid strong,.management-overview-grid span{display:block}.management-overview-grid small{font-size:9px;color:#8497a5}.management-overview-grid strong{font-size:17px;margin:3px 0;color:#0b3158}.management-overview-grid span{font-size:9px;color:#8092a0}.management-summary-copy{margin-top:12px;padding:12px;border-radius:10px;background:#fbfdff;font-size:11px;line-height:1.6;color:#587287}.management-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.management-assignment-summary{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.management-assignment-summary span{font-size:9px;padding:5px 7px;border-radius:999px;background:#eef5fa;color:#557489}.management-activity-list,.management-monev-list,.management-measure-list,.management-result-list,.management-decision-history{display:grid;gap:9px}.management-activity-list>div,.management-monev-list>div,.management-measure-list>div,.management-result-list>div,.management-decision-history>div{padding:10px 0;border-bottom:1px solid #edf2f5}.management-activity-list>div:last-child,.management-monev-list>div:last-child,.management-measure-list>div:last-child,.management-result-list>div:last-child,.management-decision-history>div:last-child{border-bottom:0}.management-activity-list strong,.management-monev-list strong,.management-measure-list strong,.management-result-list strong,.management-decision-history strong{display:block;font-size:11px;margin:4px 0}.management-activity-list small,.management-monev-list small,.management-measure-list small,.management-decision-history small{font-size:9px;color:#8496a4}.management-activity-list p,.management-monev-list p,.management-measure-list p,.management-result-list p,.management-decision-history p{font-size:10px;line-height:1.5;color:#657d90;margin:5px 0 0}.management-monev-list em{display:block;font-size:9px;color:#6d7f8d;font-style:normal;margin-top:5px}.management-monev-list>div>div,.management-decision-history>div>div{display:flex;gap:6px;align-items:center;justify-content:space-between}.management-risk-flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.management-risk-flags>div{padding:10px 12px;border-radius:10px;background:#f8fafc;border-left:3px solid #aac1d1}.management-risk-flags>.risk-flag-critical{border-left-color:#d84a57;background:#fff6f7}.management-risk-flags>.risk-flag-high{border-left-color:#e69a38;background:#fffaf2}.management-risk-flags>.risk-flag-watch{border-left-color:#478fc0;background:#f5faff}.management-risk-flags strong,.management-risk-flags small{display:block}.management-risk-flags strong{font-size:10px}.management-risk-flags small{font-size:8px;margin-top:3px;color:#8797a4}.management-result-list b{display:block;font-size:11px;color:#0b7fb9;margin-top:3px}

@media(max-width:1180px){.management-dashboard-grid{grid-template-columns:1fr}.management-portfolio-grid,.management-risk-grid{grid-template-columns:1fr}.management-detail-grid{grid-template-columns:1fr}.management-overview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.management-schema-note{display:grid}.management-schema-note strong{white-space:normal}.management-program-title{align-items:flex-start;flex-wrap:wrap}.management-program-title strong{white-space:normal}.management-budget-summary{grid-template-columns:1fr}.management-portfolio-grid,.management-risk-grid{grid-template-columns:1fr}.management-portfolio-stats{grid-template-columns:1fr 1fr}.management-context-head{display:grid}.management-context-state{text-align:left;justify-items:start}.management-context-nav{top:60px;margin-left:-14px;margin-right:-14px;padding:8px 14px}.management-overview-grid{grid-template-columns:1fr 1fr}.management-detail-grid{grid-template-columns:1fr;margin:12px 0}.management-risk-flags{grid-template-columns:1fr}.management-program-row{grid-template-columns:1fr auto}.management-decision-list .decision-item{grid-template-columns:1fr}.management-decision-list .decision-actions{justify-content:flex-start;flex-wrap:wrap}.management-metrics article:nth-child(5),.management-metrics article:nth-child(6){display:block}}
@media(max-width:420px){.management-overview-grid{grid-template-columns:1fr}.management-portfolio-stats{grid-template-columns:1fr 1fr}.management-program-row{grid-template-columns:1fr}.management-program-kpi{text-align:left;display:flex;align-items:end;gap:7px}.management-program-kpi small{padding-bottom:2px}}

/* ============================================================
   v1.1.15 — Program Manager Operational Control & Lifecycle Completion
   Program-first control, readiness, assignment/follow-up management,
   and governed revalidation of Measurement / Result.
   ============================================================ */
.readiness-panel{margin:14px 0 18px;padding:14px;border:1px solid #dce8ef;border-radius:14px;background:linear-gradient(145deg,#fbfdff,#f4f9fc)}
.readiness-summary{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:center}.readiness-summary>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.readiness-summary strong{font-size:12px;color:#173f60}.readiness-summary small{font-size:9.5px;color:#758b9b}.readiness-progress{height:7px;border-radius:999px;background:#e4edf3;overflow:hidden}.readiness-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--secondary),var(--primary))}
.readiness-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.readiness-columns h3{font-size:11px;margin:0 0 8px;color:#45647a}.readiness-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid #e8eef2}.readiness-item:last-child{border-bottom:0}.readiness-item>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900}.readiness-item strong,.readiness-item small{display:block}.readiness-item strong{font-size:10.5px;color:#254d68}.readiness-item small{font-size:9px;color:#8194a2;line-height:1.45;margin-top:2px}.readiness-item.is-ready>span{background:#e8f7ef;color:#27825a}.readiness-item.is-missing>span{background:#fff0e3;color:#b56b25}.readiness-item.is-recommended>span{background:#eef4f8;color:#6f8798}
.sdg-chip-manage{display:inline-flex!important;align-items:center;gap:6px;padding-right:4px!important}.sdg-chip-manage form{display:inline-flex}.sdg-chip-manage button{width:20px;height:20px;border:0;border-radius:50%;background:rgba(255,255,255,.75);color:#6d8292;font-weight:900;cursor:pointer}.sdg-chip-manage button:hover{background:#fff;color:#b13d4b}
.assignment-manage-row{align-items:flex-start}.assignment-row-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.assignment-cancel-form{border-top:1px solid #e6edf2;padding:14px 18px 18px;background:#fffaf8}.assignment-cancel-form label{display:block;margin-bottom:9px}.assignment-cancel-form .btn{margin-left:auto}.cancel-note{font-size:9.5px!important;color:#a84d57!important;margin:5px 0 0!important}
.metric-result-button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.metric-result-button:hover{background:#f7fbfd}.metric-result-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}
.program-dashboard .text-button[href]{text-decoration:none}
@media(max-width:820px){.readiness-summary{grid-template-columns:1fr}.readiness-columns{grid-template-columns:1fr}.assignment-row-actions{align-items:flex-end;flex-direction:column}}
@media(max-width:520px){.readiness-panel{padding:12px}.readiness-summary>div:first-child{display:grid;grid-template-columns:1fr}.assignment-manage-row{display:grid}.assignment-row-actions{align-items:flex-start;flex-direction:row}.sdg-chip-manage{max-width:100%}}


/* v1.1.16 — Program Lifecycle Gate Integrity & Dual-Scope Monev */
.monev-scope-explainer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px}.monev-scope-explainer article{display:grid;gap:5px;padding:12px 13px;border:1px solid #dce8ef;border-radius:13px;background:#f9fcfd}.monev-scope-explainer article strong{font-size:13px;color:#183f59}.monev-scope-explainer article p{margin:0;font-size:11.5px;line-height:1.5;color:#61798b}.monev-scope-explainer article small{font-size:10.5px;color:#718696}.monev-scope-explainer .status-pill{justify-self:start}.management-monev-list>div>div:first-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.field-monev-card-head>div.inline-actions{gap:5px}
@media(max-width:720px){.monev-scope-explainer{grid-template-columns:1fr}}

/* v1.1.17 — Field Officer Execution Quality, Revision Continuity & Evidence-Backed Follow-up */
.field-mobile-quicknav{display:none}.revision-continuity-note,.revision-prefill-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #f1d39a;border-radius:11px;background:#fff9ed}.revision-continuity-note{margin-top:8px}.revision-continuity-note b,.revision-prefill-banner b{display:block;font-size:11px;color:#7b5710}.revision-continuity-note span,.revision-prefill-banner span{display:block;margin-top:2px;font-size:10.5px;line-height:1.45;color:#7e6a43}.location-unavailable-check{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px dashed #d7b67d;border-radius:10px;background:#fffaf1;font-size:11px!important;font-weight:800!important;color:#6f561f!important}.location-unavailable-check input{width:auto!important;margin:0!important}.location-unavailable-panel{padding:10px;border-radius:10px;background:#fff6f3;border:1px solid #f0d1c7}.location-unavailable-panel[hidden]{display:none!important}.previous-evidence-panel{display:grid;gap:9px;padding:12px;border:1px solid #d9e7ef;border-radius:12px;background:#f8fbfd}.previous-evidence-panel>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.previous-evidence-panel b{font-size:11px;color:#1d4c6c}.previous-evidence-panel span{font-size:10px;color:#718696}.evidence-link-list{display:flex;gap:6px;flex-wrap:wrap}.evidence-link-list a{display:inline-flex;align-items:center;max-width:220px;padding:6px 8px;border:1px solid #d6e5ed;border-radius:9px;background:#fff;color:#126b98;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evidence-link-list a:hover{text-decoration:underline}.field-version-history{border:1px solid #dce7ee;border-radius:11px;background:#fbfdfe;overflow:hidden}.field-version-history summary{cursor:pointer;padding:10px 12px;font-size:11px;font-weight:850;color:#355b73}.field-version-history>div{display:grid;gap:7px;padding:0 10px 10px}.field-version-history article{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:8px;border-radius:9px;background:#fff;border:1px solid #e5edf2}.field-version-history article p{grid-column:1/-1;margin:0;font-size:10.5px;color:#647c8d}.field-version-history article small{font-size:10px;color:#7d91a0}.field-followup-card{align-items:flex-start!important}.field-followup-main{min-width:0;flex:1}.followup-field-history{display:grid;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #e7eef2}.followup-field-history>article{display:grid!important;gap:5px!important;padding:9px!important;border-radius:10px!important;background:#f8fbfd!important;border:1px solid #e2ebf1!important}.followup-field-history>article>div:first-child{display:flex;align-items:center;gap:7px;justify-content:flex-start}.followup-field-history p{margin:0!important;font-size:10.5px!important;line-height:1.5}.followup-field-history small{display:block;font-size:9.8px;color:#718696;line-height:1.45}.program-followup-field-history{margin:7px 0 12px;border:1px solid #dbe7ee;border-radius:11px;background:#f9fcfd;overflow:hidden}.program-followup-field-history summary{cursor:pointer;padding:9px 11px;font-size:10.5px;font-weight:850;color:#315b76}.program-followup-field-history>div{display:grid;gap:7px;padding:0 10px 10px}.program-followup-field-history article{display:grid;gap:5px;padding:9px;border-radius:9px;background:#fff;border:1px solid #e4edf2}.program-followup-field-history article p{margin:0;font-size:10.5px;color:#526d80}.program-followup-field-history article small{font-size:9.8px;color:#718696}.field-work-dialog .dialog-body{display:grid;gap:13px}
@media(max-width:720px){.field-mobile-quicknav{position:sticky;top:58px;z-index:25;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 -2px 12px;padding:6px;border:1px solid #dce8ef;border-radius:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.field-mobile-quicknav a{display:flex;justify-content:center;align-items:center;min-height:36px;padding:7px 5px;border-radius:9px;background:#f1f7fa;color:#315d76;font-size:10px;font-weight:850;text-align:center;text-decoration:none}.field-followup-card{display:grid!important;grid-template-columns:1fr!important}.field-followup-card>.field-task-actions{width:100%;justify-content:flex-start}.field-followup-card>.field-task-actions .btn{min-height:38px}.field-work-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important}.field-work-dialog form{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.field-work-dialog .dialog-body{overflow:auto;padding-bottom:28px}.field-work-dialog .dialog-head,.field-work-dialog .dialog-actions{position:relative;z-index:2;background:#fff}.field-work-dialog .dialog-actions{box-shadow:0 -8px 24px rgba(32,72,96,.08)}.field-work-dialog .dialog-actions .btn-primary{flex:1}.field-version-history article{grid-template-columns:1fr auto}.field-version-history article .status-pill{justify-self:start}.revision-prefill-banner{display:grid}.previous-evidence-panel>div:first-child{display:grid}.evidence-link-list{display:grid;grid-template-columns:1fr}.evidence-link-list a{max-width:none}.followup-field-history{margin-top:9px}}

/* v1.1.18 — Community Journey Integrity, Advancement Evidence Lock & Visible Follow-up Outcome */
.community-master-detail{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.community-master-rail{position:sticky;top:82px}.community-master-rail-inner{display:grid;gap:7px;max-height:calc(100vh - 110px);overflow:auto;padding:12px;border:1px solid #dce8ef;border-radius:14px;background:#fff}.community-master-rail-inner>strong{font-size:12px;color:#244f6a;margin-bottom:3px}.community-master-link{display:grid;gap:3px;padding:10px 11px;border:1px solid transparent;border-radius:11px;color:#456579;text-decoration:none;background:#f7fafc}.community-master-link span{font-size:11px;font-weight:850;color:#254d68}.community-master-link small{font-size:9.5px;line-height:1.35;color:#718696}.community-master-link:hover{border-color:#cfe0ea;background:#fff}.community-master-link.is-active{border-color:#b7d5e4;background:#eef7fb;box-shadow:inset 3px 0 0 var(--primary)}.community-detail-pane{min-width:0}.community-mobile-picker{display:none}.community-selected-card{margin:0}.community-journey-summary{margin:15px 0}.community-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.community-summary-grid article{display:grid;gap:4px;padding:11px;border:1px solid #dfe9ef;border-radius:12px;background:#f9fcfd}.community-summary-grid small{font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#708798}.community-summary-grid strong{font-size:14px;line-height:1.2;color:#1f4965}.community-summary-grid span{font-size:9.5px;line-height:1.4;color:#758b9a}.community-visible-outcome{display:grid;gap:4px;margin-top:10px;padding:10px;border-radius:10px;border:1px solid #cfe5da;background:#f4fbf7}.community-visible-outcome small{font-weight:850;color:#44765e}.community-visible-outcome p{margin:0!important;color:#345e49!important}.community-visible-outcome span{font-size:9px;color:#728c7c}.community-outcome-pending{display:grid;gap:3px;margin-top:10px;padding:9px 10px;border-radius:10px;border:1px dashed #d9c69f;background:#fffaf1}.community-outcome-pending b{font-size:10px;color:#795c20}.community-outcome-pending span{font-size:9.5px;line-height:1.4;color:#826f49}.community-trace-timeline .advancement-source-trace{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.advancement-source-trace span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf5f8;color:#3f6175;font-size:9px;font-weight:800}.community-decision-note{margin:6px 0;padding:8px 9px;border-left:3px solid #d5b265;background:#fffaf0}.community-decision-note b{font-size:9.5px;color:#735a25}.community-decision-note p{margin:2px 0 0!important;font-size:9.5px!important;color:#705f39!important}.governed-community-card{display:grid;gap:8px}.advancement-evidence-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px;border-radius:10px;background:#f7fafc;border:1px solid #e0e9ee}.advancement-evidence-summary>div{display:grid;gap:2px}.advancement-evidence-summary small{font-size:8.8px;text-transform:uppercase;letter-spacing:.04em;color:#7b8e9b}.advancement-evidence-summary b{font-size:10.5px;color:#315a73}.integrity-warning,.integrity-note{display:block;padding:7px 8px;border-radius:8px;font-size:9.5px;line-height:1.4}.integrity-warning{background:#fff3ee;color:#9b5547}.integrity-note{background:#f1f5f7;color:#667d8c}.advancement-decision-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px;border:1px solid #dce7ee;border-radius:12px;background:#f9fcfd}.advancement-decision-context>div{display:grid;gap:3px}.advancement-decision-context small{font-size:9px;color:#718695}.advancement-decision-context strong{font-size:11px;color:#294f68}.decision-match{color:#2c7d59!important}.decision-override{color:#a66a2a!important}.community-summary-state{display:grid;gap:2px;margin-top:7px;padding:7px 8px;border-radius:8px}.community-summary-state b{font-size:9.5px}.community-summary-state span{font-size:9px;line-height:1.4}.community-summary-state.is-visible{background:#f1faf5;color:#47745f}.community-summary-state.is-private{background:#f5f7f9;color:#71828d}
@media(max-width:1180px){.community-master-detail{grid-template-columns:220px minmax(0,1fr)}.community-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.community-master-detail{grid-template-columns:1fr}.community-master-rail{display:none}.community-mobile-picker{position:sticky;top:65px;z-index:22;display:grid;gap:5px;margin-bottom:10px;padding:8px 10px;border:1px solid #dce8ef;border-radius:11px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.community-mobile-picker label{font-size:9px;font-weight:850;color:#5f7687}.community-mobile-picker select{min-height:38px}.community-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.community-summary-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.community-summary-grid article{flex:0 0 72%;scroll-snap-align:start}.advancement-decision-context{grid-template-columns:1fr}.advancement-evidence-summary{grid-template-columns:1fr 1fr}.governed-community-grid{grid-template-columns:1fr!important}}

/* v1.1.19 — Stakeholder Participation Journey Integrity & Aspiration Outcome Closure */
.identity-lock{display:grid;gap:3px;margin-bottom:14px;padding:11px 12px;border:1px solid #cfe4ef;border-radius:12px;background:#f4fafd}.identity-lock strong{font-size:12px;color:#224f6a}.identity-lock small{font-size:10px;color:#6e8798}.aspiration-meta-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.aspiration-meta-line small{font-size:9.5px;color:#708696}.linked-program-line{display:block;margin-top:6px!important;color:#3d708c!important}.aspiration-source-card{display:grid;gap:9px;padding:12px;border:1px solid #dce8ef;border-radius:12px;background:#f9fcfd}.aspiration-source-card>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.aspiration-source-card p{margin:0;font-size:11px;line-height:1.55;color:#4e6b7d}.aspiration-source-card small{font-size:9.8px;color:#718696}.private-note-hint{color:#9a6170!important;font-weight:800}.journey-callout{display:grid;gap:5px;margin:10px 0;padding:11px 12px;border:1px solid #d6e5ed;border-radius:11px;background:#f7fbfd}.journey-callout strong{font-size:11px;color:#244f69}.journey-callout p{margin:0;font-size:10.5px;line-height:1.5;color:#557184}.journey-callout small{font-size:9.5px;line-height:1.45;color:#748a98}.journey-callout.warning{border-color:#ecd6a7;background:#fffaf0}.journey-callout.warning strong{color:#7d5d18}.journey-callout.success{border-color:#cfe6da;background:#f3faf6}.journey-callout.success strong{color:#2d7352}.linked-program-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:11px 12px;border:1px solid #d8e7ef;border-radius:12px;background:#f7fbfd}.linked-program-card>div{display:grid;gap:3px}.linked-program-card strong{font-size:11px;color:#244e68}.linked-program-card small{font-size:9.5px;color:#718696}.public-history{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e1e9ee}.public-history h3{font-size:11px;color:#315a73}.public-history-row{display:grid;grid-template-columns:12px minmax(0,1fr);gap:8px}.public-history-row strong{font-size:10.5px;color:#355a71}.public-history-row p{margin:2px 0;font-size:10px;line-height:1.45;color:#60798a}.public-history-row small{font-size:9px;color:#8495a1}.legacy-claim-card form{display:grid;gap:9px;margin-top:10px}.legacy-claim-card p{font-size:10.5px;line-height:1.5;color:#657d8d}.stake-notification form{margin:0}.notification-open-link{border:0;cursor:pointer}.notification-actions form{margin:0}.track-result .journey-callout{margin-top:12px}
@media(max-width:720px){.linked-program-card{display:grid;align-items:start}.linked-program-card .btn,.linked-program-card .status-pill{justify-self:start}.aspiration-source-card>div{display:grid}.journey-callout form .btn{width:100%}}

/* v1.1.20 — Superadmin Governance Integrity, Safe Override & Cross-Role Oversight */
.readonly-field{min-height:44px;padding:9px 11px;border:1px solid #dfe8ef;border-radius:8px;background:#f5f9fc;display:flex;flex-direction:column;justify-content:center;gap:2px}.readonly-field strong{font-size:12px;color:#123b61}.readonly-field small{font-size:10px;color:#748b9d}.table-actions form{display:inline-flex}.admin-notification-inbox .notification-actions form{display:inline-flex}

/* ============================================================
   v1.1.21 — Global Typography Hierarchy, Readability Floor &
   Device-Aware Density Recomposition
   Readability contract:
   - Primary body: 15–16px
   - Operational compact body: 14–15px
   - Labels: 13–14px
   - Metadata: 12–13px
   - No essential readable UI copy below 12px
   ============================================================ */
:root{
  --type-display:clamp(36px,4.1vw,52px);
  --type-page:clamp(30px,3vw,40px);
  --type-section:clamp(23px,2vw,28px);
  --type-card:18px;
  --type-body:16px;
  --type-body-compact:15px;
  --type-label:14px;
  --type-meta:13px;
  --type-tertiary:12px;
  --type-button:14px;
  --leading-body:1.65;
  --leading-compact:1.5;
}
body{font-size:var(--type-body);line-height:var(--leading-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.btn{font-size:var(--type-button);min-height:44px;padding:10px 17px;line-height:1.25}
.btn-sm{font-size:13px;min-height:38px;padding:8px 12px}
.btn-lg{font-size:16px;min-height:48px}
.text-button,.danger-link{font-size:13px;line-height:1.4}
label{font-size:var(--type-label);line-height:1.4}
input,select,textarea{font-size:15px;line-height:1.45;min-height:44px}
textarea{min-height:110px}
.eyebrow{font-size:12px;line-height:1.35}
.status-pill,.badge{font-size:12px;line-height:1.2;padding:5px 8px}

/* Public reading hierarchy */
.public-body{font-size:var(--type-body);line-height:var(--leading-body)}
.public-body p{font-size:15px!important;line-height:1.65}
.public-body small{font-size:13px!important;line-height:1.45}
.public-body h1{line-height:1.08}
.public-body h2{font-size:var(--type-section);line-height:1.16}
.public-body h3{font-size:var(--type-card);line-height:1.28}
.public-body h4{font-size:16px;line-height:1.35}
.desktop-nav{font-size:14px;gap:24px}
.mobile-menu a{font-size:15px;line-height:1.4}
.hero-copy h1{font-size:clamp(40px,4.1vw,52px)}
.hero-copy p{font-size:17px!important;line-height:1.65;max-width:560px}
.hero-stat small{font-size:12px!important}.hero-stat em{font-size:12px}.hero-stat strong{font-size:22px}
.section-heading{margin-bottom:20px}.section-heading h2{font-size:28px}.section-heading p{font-size:15px!important}.section-heading>a{font-size:14px}
.impact-card{min-height:104px;padding:16px}.impact-card small{font-size:13px!important}.impact-card p{font-size:13px!important}.impact-card strong{font-size:24px}
.program-card-body{padding:14px 15px 16px}.program-card h3{font-size:18px;margin:9px 0 6px}.program-card p{font-size:15px!important;min-height:0}.program-meta{font-size:13px;line-height:1.45;gap:12px}
.public-footer h4{font-size:15px}.public-footer p,.footer-brand p{font-size:14px!important}.footer-links a{font-size:14px;line-height:1.5}.footer-bottom{font-size:12px;padding:15px 0}
.page-hero h1,.detail-hero-grid h1{font-size:var(--type-page)}
.page-hero p,.detail-hero-grid p{font-size:16px!important}
.prose{font-size:17px;line-height:1.85}.prose p{font-size:17px!important}.prose h2{font-size:28px}.prose h3{font-size:21px}
.tracking-chip{font-size:12px!important}.journey-callout strong{font-size:15px}.journey-callout p{font-size:14px!important}.journey-callout small{font-size:12px!important}
.public-history h3{font-size:16px}.public-history-row strong{font-size:14px}.public-history-row p{font-size:14px!important}.public-history-row small{font-size:12px!important}

/* Auth and form readability */
.auth-card{width:min(460px,100%)}.auth-card h1{font-size:32px}.auth-card>p{font-size:15px!important}.auth-foot{font-size:13px}.auth-visual h1{font-size:44px}.auth-visual p{font-size:16px!important}
.identity-lock strong{font-size:15px}.identity-lock small{font-size:13px!important}

/* Superadmin — readable operational density */
.admin-body{font-size:14px;line-height:1.55}
.admin-body p{font-size:14px!important;line-height:1.6}
.admin-body small{font-size:12px!important;line-height:1.4}
.admin-body label{font-size:13px}
.admin-body input,.admin-body select,.admin-body textarea{font-size:14px}
.admin-nav a{font-size:14px;min-height:48px;padding-top:10px;padding-bottom:10px}.admin-role-card strong{font-size:14px}.admin-role-card small{font-size:12px!important}
.topbar-left,.topbar-right{font-size:12px}.user-meta strong{font-size:13px}.user-meta small{font-size:12px!important}
.admin-page-head{margin-bottom:20px}.admin-page-head h1{font-size:36px}.admin-page-head p{font-size:15px!important;line-height:1.6}
.admin-metric{min-height:106px;padding:15px}.admin-metric small{font-size:12px!important;line-height:1.35}.admin-metric strong{font-size:24px;margin:6px 0}.admin-metric strong.small-strong{font-size:17px}.admin-metric em{font-size:12px;line-height:1.4}
.admin-card{padding:16px}.card-title{margin-bottom:13px}.card-title h2{font-size:17px}.card-title p{font-size:13px!important}.card-title a,.card-title>button,.card-title>span{font-size:12px}
.health-grid strong,.health-status{font-size:12px}.health-grid small{font-size:12px!important}.health-grid>div{padding:14px}
.bar-item small{font-size:12px!important}
.admin-table{font-size:14px}.admin-table th{font-size:12px;padding:11px 10px;line-height:1.35}.admin-table td{font-size:14px;padding:11px 10px;line-height:1.45}.admin-table td small{font-size:12px!important;margin-top:3px}
.user-row{padding:10px 0}.user-row strong{font-size:14px}.user-row small{font-size:12px!important}
.security-metrics strong{font-size:19px}.security-metrics small{font-size:12px!important}.backup-stats small,.backup-stats span{font-size:12px}
.content-status-grid strong{font-size:12px}.content-status-grid small{font-size:12px!important}.version-block small{font-size:12px!important}.version-block p{font-size:13px!important}.migration-status strong{font-size:13px}.migration-status p{font-size:12px!important}
.brand-preview strong{font-size:19px}.brand-preview p{font-size:13px!important}.hero-mini strong{font-size:14px}.hero-mini p{font-size:12px!important}
.summary-list>div{font-size:13px}.summary-list strong{font-size:13px}.section-info strong{font-size:14px}.section-info small{font-size:12px!important}.media-item strong{font-size:12px}.media-item small{font-size:12px!important}.media-actions button{font-size:12px}.nav-manager strong{font-size:13px}.nav-manager small{font-size:12px!important}
.dialog-head h2{font-size:22px}.dialog-body small{font-size:12px!important}.dialog-body p{font-size:14px!important}
.role-card h2{font-size:16px}.role-card p{font-size:13px!important;min-height:0}.role-card small{font-size:12px!important}.role-stats span{font-size:12px}.permission-grid strong{font-size:13px}.permission-grid small{font-size:12px!important}.upgrade-contract strong{font-size:13px}.upgrade-contract p{font-size:13px!important}.backup-list strong{font-size:13px}.backup-list small{font-size:12px!important}.pending-list strong{font-size:13px}.success-state strong{font-size:14px}.success-state p{font-size:13px!important}.diagnostic-card small{font-size:12px!important}.diagnostic-card strong{font-size:14px}.security-checklist>div{font-size:13px}.notification-list strong{font-size:14px}.notification-list p{font-size:13px!important}.notification-list small{font-size:12px!important}

/* All role workspaces — common readability floor */
.role-workspace{font-size:15px;line-height:1.6}
.role-workspace p{font-size:15px!important;line-height:1.6}
.role-workspace small{font-size:13px!important;line-height:1.42}
.role-workspace label{font-size:14px}
.role-workspace input,.role-workspace select,.role-workspace textarea{font-size:15px}
.role-breadcrumb{font-size:13px}.role-user strong{font-size:13px}.role-user small{font-size:12px!important}.role-kicker{font-size:12px}.role-page-head h1{font-size:36px}.role-page-head p{font-size:15px!important;line-height:1.6}
.role-main{padding-top:30px}.role-card{padding:18px}.role-card-head h2,.role-card h2{font-size:18px;line-height:1.3}.role-card h3{font-size:16px;line-height:1.35}
.role-metrics article{min-height:116px;padding:15px}.role-metrics small{font-size:13px!important}.role-metrics strong{font-size:24px}.role-metrics em{font-size:12px!important;line-height:1.35}
.role-table{font-size:14px}.role-table th{font-size:12px;padding:11px 10px}.role-table td{font-size:14px;padding:12px 10px;line-height:1.45}.role-table td small{font-size:12px!important}
.program-facts>div{padding:11px}.program-facts small{font-size:12px!important}.program-facts strong{font-size:17px}.program-description b{font-size:14px}.program-description p{font-size:15px!important}.planning-grid h3,.ops-columns h3,.impact-ops-grid h3,.community-content-grid h3,.community-followups h3,.community-history h3{font-size:14px;line-height:1.4}.kv-row{font-size:14px}.sdg-chip{font-size:12px}.program-chip{font-size:12px!important}

/* Management — decision information must scan quickly */
.role-management .management-schema-note strong{font-size:14px}.role-management .management-schema-note span{font-size:14px;line-height:1.55}.role-management .management-program-title strong{font-size:15px}.role-management .management-program-main>small,.role-management .management-risk-row small{font-size:12px!important}.role-management .management-program-kpi small{font-size:12px!important}.role-management .risk-pill{font-size:12px;min-height:26px;padding:5px 9px}
.role-management [class*="decision"] p,.role-management [class*="risk"] p,.role-management [class*="portfolio"] p{font-size:14px!important}

/* Program Manager — lifecycle/readiness is primary operational content */
.role-program_manager .readiness-item strong,.role-program_manager .readiness-item b{font-size:14px}.role-program_manager .readiness-item small{font-size:12px!important}.role-program_manager .lifecycle-step b{font-size:13px}.role-program_manager .lifecycle-step small{font-size:12px!important}

/* Field Officer — outdoor/mobile readable execution surfaces */
.role-field_officer .field-task-card{padding:16px;gap:16px}.role-field_officer .field-task-card h3{font-size:18px}.role-field_officer .field-task-card p{font-size:15px!important}.role-field_officer .task-context{font-size:13px;line-height:1.5}.role-field_officer .waiting-note,.role-field_officer .validated-note{font-size:13px;padding:9px 11px}.role-field_officer .revision-banner b{font-size:14px}.role-field_officer .revision-banner p{font-size:14px!important}.role-field_officer .evidence-upload-box small{font-size:13px!important}.role-field_officer .field-monev-grid h3{font-size:16px}.role-field_officer .field-monev-grid p{font-size:15px!important}.role-field_officer .field-monev-grid small{font-size:13px!important}

/* Community — beneficiary-facing content uses human reading sizes */
.role-community .community-hero h2{font-size:24px}.role-community .community-hero p{font-size:15px!important}.role-community .community-stage-current small{font-size:12px!important}.role-community .community-stage-current strong{font-size:16px}.role-community .journey-node b{font-size:13px}.role-community .community-program-row strong,.role-community .community-monev-row strong,.role-community .followup-cards strong{font-size:14px}.role-community .community-program-row small,.role-community .community-monev-row small,.role-community .followup-cards small{font-size:12px!important}.role-community .community-monev-row p,.role-community .followup-cards p{font-size:14px!important}
.role-community .community-master-rail-inner>strong{font-size:14px}.role-community .community-master-link span{font-size:14px}.role-community .community-master-link small{font-size:12px!important}.role-community .community-summary-grid small{font-size:12px!important}.role-community .community-summary-grid strong{font-size:17px}.role-community .community-summary-grid span{font-size:13px}.role-community .community-visible-outcome span,.role-community .community-outcome-pending span{font-size:12px}.role-community .community-outcome-pending b{font-size:13px}.role-community .advancement-source-trace span{font-size:12px}.role-community .community-decision-note b{font-size:13px}.role-community .community-decision-note p{font-size:13px!important}.role-community .advancement-evidence-summary small{font-size:12px!important}.role-community .advancement-evidence-summary b{font-size:14px}.role-community .integrity-warning,.role-community .integrity-note{font-size:13px}.role-community .advancement-decision-context small{font-size:12px!important}.role-community .advancement-decision-context strong{font-size:14px}.role-community .community-summary-state b{font-size:13px}.role-community .community-summary-state span{font-size:12px}

/* Stakeholder — participation and outcome copy stays legible */
.role-stakeholder .participation-empty h3{font-size:18px}.role-stakeholder .participation-empty p{font-size:15px!important}.role-stakeholder .stakeholder-asp-card{padding:16px}.role-stakeholder .stakeholder-asp-head h3{font-size:17px}.role-stakeholder .stakeholder-asp-head small{font-size:12px!important}.role-stakeholder .public-status-track b{font-size:13px}.role-stakeholder .asp-history summary{font-size:14px}.role-stakeholder .stake-notification strong{font-size:14px}.role-stakeholder .stake-notification p{font-size:13px!important}.role-stakeholder .stake-notification small{font-size:12px!important}.role-stakeholder .participation-cta p{font-size:15px!important}.role-stakeholder .notification-inbox-row strong{font-size:14px}.role-stakeholder .notification-inbox-row p{font-size:13px!important}.role-stakeholder .notification-inbox-row small{font-size:12px!important}.role-stakeholder .read-label{font-size:12px}
.role-stakeholder .aspiration-meta-line small,.role-stakeholder .aspiration-source-card small,.role-stakeholder .linked-program-card small{font-size:12px!important}.role-stakeholder .aspiration-source-card p{font-size:14px!important}.role-stakeholder .journey-callout strong{font-size:15px}.role-stakeholder .journey-callout p{font-size:14px!important}.role-stakeholder .journey-callout small{font-size:12px!important}.role-stakeholder .linked-program-card strong{font-size:14px}.role-stakeholder .public-history h3{font-size:16px}.role-stakeholder .public-history-row strong{font-size:14px}.role-stakeholder .public-history-row p{font-size:13px!important}.role-stakeholder .public-history-row small{font-size:12px!important}

/* Tablet: reduce composition density, never text size */
@media (min-width:721px) and (max-width:1180px){
  .container{width:min(1180px,calc(100% - 32px))}
  .section{padding:30px 0}
  .section-heading h2{font-size:26px}
  .program-grid{gap:18px}
  .admin-main{padding:18px}
  .admin-page-head h1{font-size:33px}
  .admin-metric-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-main{padding:26px 22px 74px}
  .role-page-head h1{font-size:33px}
  .role-metrics.six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-metrics.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planning-grid{grid-template-columns:1fr 1fr}
}

/* Mobile: fewer simultaneous objects, larger touch/read targets */
@media (max-width:720px){
  :root{--type-body:16px;--type-body-compact:15px;--type-label:14px;--type-meta:13px;--type-tertiary:12px;--type-button:15px}
  body{font-size:16px;line-height:1.65}
  .btn{font-size:15px;min-height:46px}.btn-sm{font-size:14px;min-height:42px}
  input,select,textarea{font-size:16px;min-height:46px}
  .container{width:min(100% - 28px,1180px)}
  .hero-copy h1{font-size:36px}.hero-copy p{font-size:16px!important}.hero-stats{gap:9px}.hero-stat{padding:12px}.section-heading h2{font-size:24px}.section-heading p{font-size:15px!important}
  .impact-grid{grid-template-columns:1fr}.impact-card{min-height:96px}.program-card h3{font-size:19px}.program-card p{font-size:15px!important}.program-meta{font-size:13px;flex-wrap:wrap;justify-content:flex-start}.badge{font-size:12px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.public-footer h4{font-size:16px}.footer-links a{font-size:15px}
  .auth-card{padding:24px}.auth-card h1{font-size:30px}.auth-card>p{font-size:15px!important}

  .admin-main{padding:16px}.admin-page-head h1{font-size:30px}.admin-page-head p{font-size:15px!important}.admin-metric-grid,.admin-metric-grid.six{grid-template-columns:1fr}.admin-metric{min-height:100px}.admin-card{padding:15px}.card-title h2{font-size:17px}.admin-table{font-size:14px}.admin-table th{font-size:12px}.admin-table td{font-size:14px}.health-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}

  .role-breadcrumb{max-width:46vw;font-size:12px}.role-main{padding:20px 14px 28px}.role-page-head{gap:14px;margin-bottom:18px}.role-page-head h1{font-size:30px;line-height:1.14}.role-page-head p{font-size:15px!important}.role-card{padding:16px}.role-card-head h2,.role-card h2{font-size:18px}.role-metrics.six,.role-metrics.four{grid-template-columns:1fr 1fr}.role-metrics article{min-height:112px;padding:14px}.role-metrics small{font-size:12px!important}.role-metrics em{font-size:12px!important}
  .role-bottom-nav{height:76px}.role-bottom-nav a{padding:7px 3px}.role-bottom-nav a small{font-size:12px!important;line-height:1.15}.role-bottom-nav a span .role-svg{width:21px;height:21px}
  .program-mobile-nav{gap:8px;padding-top:10px;padding-bottom:11px}.program-mobile-nav label{font-size:13px}.program-mobile-nav select{font-size:16px}.program-context-head h1{font-size:27px}.program-context-meta{font-size:13px}.program-facts{grid-template-columns:1fr 1fr}.program-facts small{font-size:12px!important}.program-facts strong{font-size:17px}
  .role-table tr{padding:15px}.role-table td{font-size:14px;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:9px 0}.role-table td:before{font-size:12px}.role-table td[data-label="Program"] strong{font-size:17px}.role-table td[data-label="Program"] small{font-size:12px!important}.role-table td.program-card-action .btn{min-height:46px}
  .field-task-card{padding:16px}.task-context{font-size:13px}.community-summary-grid article{flex-basis:84%;padding:14px}.community-mobile-picker label{font-size:13px}.community-mobile-picker select{font-size:16px;min-height:46px}
  .public-status-track>div{padding:10px}.public-status-track b{font-size:13px}
}

@media (max-width:420px){
  .role-metrics.six,.role-metrics.four{grid-template-columns:1fr}
  .role-breadcrumb{max-width:42vw;font-size:12px}
  .role-bottom-nav a small{font-size:12px!important}
  .admin-metric-grid,.admin-metric-grid.six{grid-template-columns:1fr}
  .impact-grid{grid-template-columns:1fr}
}

/* v1.1.21 residue closure — legacy span/strong/meta selectors */
.public-body .map-caption,.public-body .process-quote{font-size:13px}
.public-body .story-card blockquote{font-size:15px;line-height:1.65}
.public-body .process-step strong{font-size:14px}.public-body .trust-card h3{font-size:18px}.public-body .trust-card ul{font-size:14px;line-height:1.6}
.public-body .tracking-panel strong{font-size:14px}.public-body .filter-head a{font-size:13px}.public-body .track-steps span{font-size:13px}
.public-body .aspiration-entry-kicker,.public-body .aspiration-privacy{font-size:12px}.public-body .aspiration-entry-points strong{font-size:14px}
.interactive-map .leaflet-control-attribution{font-size:12px}.map-status-pill,.interactive-map-legend span,.map-active-filter span,.map-result-meta,.map-result-numbers{font-size:12px}.dm-map-popup-metrics span,.dm-map-popup-date{font-size:12px}.dm-map-popup a,.dm-map-popup-program{font-size:13px}.map-caption.modern strong,.map-result-copy strong{font-size:14px}.map-insight em{font-size:12px}.map-results-head .role-kicker{font-size:12px}.map-summary .btn{font-size:14px}
.impact-source-chip,.impact-type-pill,.impact-program-link,.measurement-public-top time,.measurement-value-flow em,.measurement-delta span,.measurement-method,.result-public-item a,.community-impact-summary span,.impact-proof-flow article>span{font-size:12px}.result-level-empty{font-size:13px}
.pwa-install-copy strong{font-size:14px}.pwa-install-copy span{font-size:12px}.sidebar-install-button{font-size:13px}

.admin-body .admin-context-role,.admin-body .environment-state b,.admin-body .role-breadcrumb-role{font-size:12px}.admin-body .notification-badge{font-size:12px;min-width:20px;min-height:20px}.admin-body .storage-meter>div{font-size:12px}.admin-body .backup-stats strong{font-size:14px}.admin-body .section-index{font-size:12px}.admin-body .avatar.small{font-size:12px}.admin-body .admin-head-banner{font-size:13px}

.role-workspace .role-sidebar-foot a{font-size:13px}.role-workspace .role-notification-link{font-size:12px}.role-workspace .role-card-head>div>small,.role-workspace .role-card-head>a,.role-workspace .count-badge,.role-workspace .mini-empty,.role-workspace .role-empty{font-size:13px}
.role-workspace .decision-meta,.role-workspace .requested-action,.role-workspace .decision-result,.role-workspace .review-note,.role-workspace .warning-box,.role-workspace .back-link,.role-workspace .review-source,.role-workspace .revision-note,.role-workspace .revision-banner,.role-workspace .result-level,.role-workspace .field-location-status,.role-workspace .program-activity-map-note,.role-workspace .program-activity-meta,.role-workspace .execution-location-chip,.role-workspace .task-type-chip{font-size:13px;line-height:1.5}
.role-workspace .exception-row strong,.role-workspace .portfolio-row strong,.role-workspace .compact-task strong,.role-workspace .aspiration-ops-row strong,.role-workspace .program-ops-row strong,.role-workspace .scope-check-list strong,.role-workspace .permission-check strong,.role-workspace .assignment-row strong,.role-workspace .execution-row strong,.role-workspace .followup-row strong,.role-workspace .metric-result-row strong,.role-workspace .monev-row strong,.role-workspace .decision-history-row strong,.role-workspace .timeline-list strong,.role-workspace .review-location-context strong{font-size:14px}
.role-workspace .exception-tags span,.role-workspace .portfolio-budget b,.role-workspace .permission-check em,.role-workspace .gate-state span,.role-workspace .gate-state strong,.role-workspace .next-action-links a,.role-workspace .program-context-meta,.role-workspace .program-subnav a,.role-workspace .review-location-context span{font-size:13px}
.role-workspace .publication-queue-row strong{font-size:14px}.role-workspace .queue-open{font-size:12px}
.role-workspace .program-activity-date span{font-size:12px}

/* Monev and evidence are core reading content, not microcopy */
.role-workspace .monev-assessment-domain summary>b,.role-workspace .question-code,.role-workspace .monev-question-inputs label,.role-workspace .monev-stage-line,.role-workspace .monev-score-legend b,.role-workspace .community-monev-highlight>small,.role-workspace .community-domain-score>div:first-child,.role-workspace .monev-score-chip,.role-workspace .monev-domain-score-strip span,.role-workspace .monev-domain-review-head>strong,.role-workspace .monev-answer-title>b{font-size:13px}
.role-workspace .impact-source-chip{font-size:12px}

@media(max-width:720px){
  .interactive-map .leaflet-control-attribution{font-size:12px}
  .map-status-pill,.interactive-map-legend span,.map-active-filter span,.map-result-meta,.map-result-numbers{font-size:12px}
  .role-workspace .decision-meta,.role-workspace .requested-action,.role-workspace .decision-result,.role-workspace .review-note,.role-workspace .warning-box,.role-workspace .back-link,.role-workspace .review-source,.role-workspace .revision-note,.role-workspace .revision-banner,.role-workspace .result-level,.role-workspace .field-location-status,.role-workspace .program-activity-map-note,.role-workspace .program-activity-meta,.role-workspace .execution-location-chip,.role-workspace .task-type-chip{font-size:13px}
}

/* v1.1.22 — Program Manager Excel Bulk Import */
.role-metrics.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.import-contract-card{margin-bottom:16px}.import-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.import-flow-grid article{border:1px solid #e0eaf1;background:#f8fbfd;border-radius:12px;padding:14px}.import-flow-grid b{display:block;font-size:14px;color:#123b61;margin-bottom:5px}.import-flow-grid p{font-size:13px;line-height:1.55;color:#667f91;margin:0}.import-flow-grid code{font-size:12px;background:#eaf4fb;padding:2px 5px;border-radius:5px;color:#0a679f}.program-import-upload{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.import-file-field{flex:1 1 520px;display:grid;gap:7px}.import-file-field>span{font-size:14px;font-weight:800;color:#234a69}.import-file-field input[type=file]{width:100%;min-height:48px;border:1px dashed #bcd0de;border-radius:10px;padding:10px;background:#fbfdff}.import-file-field small{font-size:12px;color:#71899a}.import-preview-card{margin-top:16px}.import-metrics{margin:2px 0 16px}.import-message-block{border-radius:12px;padding:14px 16px;margin:12px 0}.import-message-block h3{font-size:16px;margin:0 0 5px}.import-message-block p{font-size:13px;margin:0 0 8px}.import-message-block ol,.import-message-block ul{margin:0;padding-left:22px;display:grid;gap:5px}.import-message-block li{font-size:13px;line-height:1.5}.error-block{background:#fff2f2;border:1px solid #f0c4c7;color:#87333a}.warning-block{background:#fff8e9;border:1px solid #ecd8a6;color:#7a5a1e}.import-program-table td small{display:block;margin-top:4px}.import-child-badges{display:flex;gap:5px;flex-wrap:wrap}.import-child-badges span{font-size:12px;background:#edf6fb;color:#316a8c;border-radius:999px;padding:4px 7px;white-space:nowrap}.import-commit-box{margin-top:16px;border:1px solid #b8ddc8;background:#f1fbf5;border-radius:13px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:16px}.import-commit-box h3{font-size:17px;margin:0 0 4px;color:#205c3d}.import-commit-box p{font-size:13px;color:#527362;margin:0}.import-commit-box form{flex:0 0 auto}
@media(max-width:1240px){.role-metrics.five{grid-template-columns:repeat(3,minmax(0,1fr))}.import-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.role-metrics.five{grid-template-columns:1fr 1fr}.import-flow-grid{grid-template-columns:1fr}.program-import-upload{display:grid}.import-file-field{min-width:0}.import-commit-box{display:grid}.import-commit-box form,.import-commit-box .btn{width:100%}}
@media(max-width:420px){.role-metrics.five{grid-template-columns:1fr}}

/* v1.1.23 — Program Trash, Recovery & Bulk Import Undo */
.admin-empty{padding:22px;border:1px dashed #cddae4;border-radius:10px;background:#fbfdff;color:#748b9d;text-align:center;font-size:13px}
.import-history-card{margin-top:16px}.import-history-card .role-table td>small{display:block;margin-top:4px}.program-card-action .table-actions{justify-content:flex-end}
.program-state-block .danger-link{margin-top:5px;font-size:12px}.trash-note{font-size:12px;color:#6f8596;line-height:1.5}
@media(max-width:720px){.program-card-action .table-actions{display:grid;width:100%}.program-card-action .table-actions .btn,.program-card-action .table-actions .danger-link{width:100%;min-height:42px}.admin-empty{font-size:13px}}

/* v1.1.25 — Cross-role sidebar section-label readability hotfix
   Section labels must stay legible on the shared light sidebar used by Superadmin and every role. */
.role-nav,.admin-nav{display:grid;align-content:start}
.role-nav-group,.admin-nav-group{display:grid;gap:5px;padding:0 0 12px}
.role-nav-group+.role-nav-group,.admin-nav-group+.admin-nav-group{margin-top:1px;padding-top:11px;border-top:1px solid #e2ebf2}
.role-nav-group-title,.admin-nav-group-title{display:flex;align-items:center;gap:7px;min-height:24px;padding:4px 12px 3px;font-size:11.5px!important;line-height:1.25;font-weight:900;letter-spacing:.065em;text-transform:uppercase;color:#4f6c82;text-shadow:none;opacity:1}
.role-nav-group-title::before,.admin-nav-group-title::before{content:"";display:block;width:3px;height:13px;flex:0 0 3px;border-radius:999px;background:var(--primary,#0877c9);opacity:.88}
.role-nav-group-items,.admin-nav-group-items{display:grid;gap:2px}
.admin-nav-group-title{padding-inline:17px;color:#496a83}
.admin-nav-group+.admin-nav-group{border-top-color:#e2ebf2}

.media-picker-field{display:grid;gap:9px;min-width:0;padding:12px;border:1px solid #d9e6ef;border-radius:13px;background:#fbfdff}
.media-picker-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.media-picker-label{font-size:13px;font-weight:850;color:#234a69}.media-crop-profile{font-size:10px;font-weight:850;color:#4f7893;background:#edf6fb;border-radius:999px;padding:4px 8px;white-space:nowrap}
.media-picker-current{display:grid;grid-template-columns:84px minmax(0,1fr);gap:11px;align-items:center}.media-picker-current-thumb{width:84px;height:62px;border:1px solid #d7e4ed;border-radius:10px;background:#edf4f8;display:grid;place-items:center;overflow:hidden;color:#7d99ac;font-size:24px}.media-picker-current-thumb img{width:100%;height:100%;object-fit:cover}.media-picker-current-copy{min-width:0;display:grid;gap:4px}.media-picker-current-copy strong{font-size:13px;color:#173f5f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-picker-current-copy small,.media-picker-help{font-size:11px;color:#708696;line-height:1.45}
.media-picker-field-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.media-picker-field-actions .text-button{font-size:11px}
.media-library-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px}.media-library-head p{margin:4px 0 0;color:#718697;font-size:12px}.media-library-body{padding-top:10px}.media-library-panel{display:grid;gap:12px}.media-library-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 150px 180px auto;gap:10px;align-items:end}.media-library-toolbar label:not(.btn){display:grid;gap:5px}.media-library-toolbar label>span{font-size:11px;font-weight:850;color:#496b82}.media-library-search input,.media-library-toolbar select{min-height:42px}.media-upload-trigger{position:relative;overflow:hidden;min-height:42px;display:flex!important;align-items:center;justify-content:center}.media-upload-trigger.is-loading{opacity:.6;pointer-events:none}
.media-library-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#eef7fb}.media-library-context span{font-size:11px;font-weight:900;color:#1e638f}.media-library-context small{font-size:10.5px;color:#6d8392;text-align:right}
.media-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:52vh;overflow:auto;padding:2px 4px 6px 2px}.media-gallery-card{appearance:none;border:2px solid transparent;border-radius:12px;background:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer;box-shadow:0 3px 14px rgba(19,58,85,.08);transition:.18s ease}.media-gallery-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(19,58,85,.13)}.media-gallery-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.media-gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf3f7}.media-gallery-card-copy{display:grid;gap:3px;padding:9px}.media-gallery-card-copy strong{font-size:11.5px;color:#183f5e;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.media-gallery-card-copy small{font-size:9.5px;color:#758c9d;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.media-library-empty{padding:24px;border:1px dashed #cbdce7;border-radius:12px;text-align:center;color:#718a9c;font-size:12px}.media-selection-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #cfdee8;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -5px 18px rgba(17,60,91,.08);backdrop-filter:blur(10px)}.media-selection-bar>div:first-child{min-width:0;display:grid;gap:3px}.media-selection-bar strong{font-size:12.5px;color:#173f5f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-selection-bar small{font-size:10px;color:#718697}
.media-crop-panel{display:grid;gap:12px}.media-crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.media-crop-head h3{margin:2px 0 4px;font-size:19px;color:#153f62}.media-crop-head p{margin:0;font-size:11px;color:#718697}.media-crop-stage{position:relative;display:grid;place-items:center;min-height:320px;padding:14px;border-radius:14px;background:repeating-conic-gradient(#dce7ed 0 25%,#eef4f7 0 50%) 50%/20px 20px;overflow:hidden}.media-crop-stage canvas{display:block;max-width:100%;max-height:48vh;width:auto;height:auto;box-shadow:0 8px 30px rgba(13,49,75,.22);background:transparent}.media-crop-safe{position:absolute;inset:10%;border:1px dashed rgba(255,255,255,.88);pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.04)}.media-crop-safe span{position:absolute;top:6px;left:8px;padding:2px 5px;border-radius:5px;background:rgba(8,42,69,.68);color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em}.media-crop-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.media-crop-controls label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#466a82}.media-crop-controls input[type=range]{width:100%}.media-crop-guidance{padding:10px 12px;border-left:3px solid var(--primary);background:#f1f8fc;border-radius:8px;font-size:11px;line-height:1.5;color:#567284}

@media(max-width:900px){.media-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-library-toolbar{grid-template-columns:1fr 150px}.media-upload-trigger{grid-column:1/-1}.media-library-context{align-items:flex-start;display:grid}.media-library-context small{text-align:left}.media-crop-controls{grid-template-columns:1fr}.role-nav-group-title,.admin-nav-group-title{font-size:11.5px!important;letter-spacing:.055em}}
@media(max-width:620px){.media-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:48vh}.media-library-toolbar{grid-template-columns:1fr}.media-selection-bar{display:grid}.media-selection-bar .inline-actions{display:grid;grid-template-columns:1fr 1fr}.media-crop-stage{min-height:230px;padding:8px}.media-picker-current{grid-template-columns:72px minmax(0,1fr)}.media-picker-current-thumb{width:72px;height:58px}.media-picker-field-actions{display:grid;grid-template-columns:1fr}.media-picker-field-actions .btn{width:100%}}
