
:root{--pine:#0b3d30;--pine2:#165840;--green:#21644a;--ochre:#b48a3c;--ochre2:#cfaa67;--paper:#f5f6f3;--ink:#1b2824;--muted:#687973;--line:#e2e8e3;--blue:#2d679d;--tan:#fff3e1}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font:14px/1.5 Inter,Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--paper)}button,input{font:inherit}img{max-width:100%}.app{display:flex;min-height:100vh}.sidebar{background:#063b2d;color:#dfece5;width:245px;flex:none;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:26px 14px 15px}.brand{padding:0 15px 30px}.brand img{width:170px;height:45px;object-fit:contain;object-position:left center}.side-section{font-size:10px;letter-spacing:.19em;color:#79aa94;padding:9px 17px 14px;font-weight:700}.navitem{display:flex;align-items:center;gap:13px;border-radius:7px;padding:12px 13px;font-size:13px;white-space:nowrap;color:#d6e4db;margin:3px 0}.navitem svg{opacity:.82}.navitem.selected{background:#b18c48;color:#fff;font-weight:700}.navitem.selected svg{opacity:1}.sidebar-bottom{margin-top:auto}.orgbadge{margin-top:15px;border-top:1px solid #2c6653;padding:19px 6px 0;display:flex;align-items:center;gap:10px;font-size:11px}.orgmark{background:#e7f1e8;color:#144c38;font-weight:800;border-radius:7px;padding:11px}.orgbadge b{display:block;font-size:11px}.orgbadge small{display:block;color:#8fb4a2}.orgchev{margin-left:auto}.workspace{flex:1;min-width:0}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 41px}.crumb{display:flex;gap:12px;align-items:center;font-size:13px;color:#687b74}.crumb b{color:#22352b;font-weight:700}.slash{color:#b6c2bb}.headeractions{display:flex;align-items:center;gap:18px}.searchinput{display:flex;gap:9px;align-items:center;padding:10px 14px;border:1px solid #e4ebe5;color:#99a59f;border-radius:8px;width:275px;font-size:12px}.bell{font-size:25px;color:#51645b}.vsep{height:22px;width:1px;background:#e1e9e3}.roundavatar{background:#e6eddf;color:#306247;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.headname{font-size:12px;font-weight:750}.headname small{display:block;font-size:10px;color:#9ba7a1;font-weight:500}.hamb{display:none}.content{max-width:1660px;padding:32px 40px 36px;margin:0 auto}.pageheading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px;gap:20px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#987638;font-size:10px;font-weight:800;margin-bottom:6px}h1{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.17;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}h2,h3,h4,p{margin-top:0}.lead{font-size:13px;color:#708079;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #176044;padding:10px 16px;border-radius:7px;font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap}.primary{background:#14583f;color:white}.outline{background:white;color:#16563f;border-color:#b7cdc1}.gold{background:#b48b3e;color:#fff;border-color:#b48b3e}.panel{border:1px solid var(--line);background:white;border-radius:11px;padding:22px;box-shadow:0 3px 18px rgba(35,59,46,.025);min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.panel-title h3{font-size:15px;font-weight:750;margin:0}.panelhint{font-size:12px;color:var(--muted)}.panel + .panel{margin-top:0}.grid{display:grid;gap:17px}.two{grid-template-columns:1.4fr 1fr}.twocol{grid-template-columns:1fr 1fr}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.rowgap{margin-top:18px}.kpi{border:1px solid var(--line);border-radius:11px;background:white;padding:19px 19px 16px;min-height:133px}.kpi-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#55695e}.kpi-icon{display:flex;align-items:center;justify-content:center;border-radius:7px;width:34px;height:34px;background:#eaf4ee;color:#20704a}.kpi-icon.blue{background:#e8f1f9;color:#3677a8}.kpi-icon.gold{background:#fff5e1;color:#b8882c}.kpi-icon.red{background:#fff0eb;color:#b95e3b}.kpi strong{display:block;font-size:31px;font-weight:720;margin:5px 0 2px;letter-spacing:-.035em}.kpi small{display:block;color:#7a8a83;font-size:11px}.task{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eef0ed}.task:last-child{border-bottom:0}.taskicon{width:41px;height:41px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff2dd;color:#bc8b32;flex:none}.taskicon.blue{background:#eaf4fa;color:#3a76ae}.taskicon.green{background:#e5f5eb;color:#238154}.taskbody{flex:1;min-width:0}.taskbody b{display:block;font-size:12px}.taskbody small{display:block;color:#809087;font-size:11px}.tag{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;font-weight:700;font-size:10px;white-space:nowrap}.tag.ochre{background:#fff3df;color:#98651a}.tag.green{background:#e3f6ea;color:#257043}.tag.blue{background:#eaf1fb;color:#386e9e}.tag.red{background:#fff0e9;color:#a9543a}.tag.neutral{background:#eff2ef;color:#67776e}.tablewrap{overflow:hidden;border-radius:7px;border:1px solid #e8ece8}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}thead{background:#edf4ef}th{font-size:11px;letter-spacing:.01em;text-align:left;padding:14px 13px;color:#3e5a4b;font-weight:800}td{border-top:1px solid #eef1ee;padding:15px 13px;color:#3f5149}td b{font-weight:700;color:#243b2e}td small{color:#8c9a93;font-size:10px;display:block}.link{color:#206247;font-weight:750}.filters{display:flex;align-items:center;gap:10px;margin:0 0 18px}.filterpill{border:1px solid #e3e8e3;background:#fff;color:#4e665b;border-radius:7px;padding:9px 12px;font-size:11px;min-width:125px}.filterpill.search{margin-left:auto;min-width:220px;color:#a1afa6}.subnav{display:flex;align-items:center;gap:25px;border-bottom:1px solid #e6ebe6;margin-bottom:19px}.subnav span{font-size:12px;color:#7b8d82;padding:0 1px 11px}.subnav span.active{color:#14543c;font-weight:800;border-bottom:3px solid #b28b40}.stepper{display:flex;justify-content:space-between;padding:16px 2px 23px;gap:5px;position:relative}.stepper:before{content:'';position:absolute;left:23px;right:23px;top:29px;border-top:1px solid #dde8e0}.step{position:relative;text-align:center;flex:1}.step>span{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white;border:1px solid #c4d0c8;margin:0 auto 7px;color:#84968b;font-size:12px;font-weight:800}.step.done>span{background:#287352;border-color:#287352;color:white}.step.current>span{background:#b58b41;border-color:#b58b41;color:white}.step small{font-size:10px;white-space:nowrap;color:#8b9d93}.step.current small,.step.done small{color:#385a46;font-weight:750}.field{display:block;font-size:11px;color:#4c6558;font-weight:750;margin-bottom:17px}.fakeinput{margin-top:6px;border:1px solid #e0e8e1;border-radius:7px;color:#30493b;padding:11px 12px;background:white;font-weight:500;display:flex;justify-content:space-between;min-height:39px}.fakeinput.placeholder{color:#9dad9f}.caret{color:#9dae9f;font-weight:400}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.aside-tinted{background:#f3f7f2;border:1px solid #e2ebe2;border-radius:9px;padding:18px}.aside-tinted h4{margin:0 0 11px}.aside-tinted p{color:#61766a;font-size:12px}.timeline{position:relative;padding-left:23px}.timeline .event{position:relative;padding:1px 0 23px;border-left:1px solid #dce7de;padding-left:21px}.event:last-child{border-left:0;padding-bottom:4px}.event:before{content:'';position:absolute;left:-7px;top:1px;width:12px;height:12px;border:2px solid #fff;box-shadow:0 0 0 1px #d0e0d5;border-radius:50%;background:#317957}.event.pending:before{background:#d5dfd6}.event strong{font-size:12px;display:block}.event small{font-size:11px;color:#82958b;display:block}.event p{font-size:12px;margin:6px 0 0;color:#516858}.figure{font-family:Georgia,serif;font-size:33px;color:#164c39;line-height:1.15}.caption{font-size:11px;color:#7b8c82}.bars{display:flex;align-items:end;gap:6px;height:155px;padding:9px 1px 0}.bar{border-radius:3px 3px 0 0;background:#2d7956;min-width:8px;flex:1}.chartlabels{display:flex;justify-content:space-between;color:#9aaa9f;font-size:10px;margin-top:6px}.bar:nth-child(5n){background:#b58b41}.ring{width:146px;height:146px;border-radius:50%;background:conic-gradient(#247355 0% 39%,#b88b3d 39% 66%,#377ca7 66% 84%,#d9e4d9 84% 100%);position:relative;display:flex;align-items:center;justify-content:center}.ring:before{content:'';width:98px;height:98px;border-radius:50%;background:white;position:absolute}.ring span{position:relative;color:#1d563c;font-size:22px;font-weight:700;text-align:center}.ring small{display:block;font-weight:500;color:#879a8d;font-size:10px}.legend{display:flex;flex-direction:column;gap:10px;margin-left:20px;font-size:11px;color:#546b5d}.legend b{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:7px}.split{display:flex;gap:26px}.split>div{flex:1}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.muted{color:#87978c}.reportline{padding:13px 0;border-bottom:1px solid #e7eee8;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.reportline:last-child{border-bottom:0}.reportline b{font-size:12px}.arrowtext{color:#a98338;font-weight:700}.featurephoto{object-fit:cover;width:100%;border-radius:9px;display:block}.featurephoto.small{height:148px}.dot{height:8px;width:8px;border-radius:50%;display:inline-block;margin-right:7px;background:#398b60}.infostrip{border:1px solid #e3eade;background:#f2f6ef;border-radius:8px;padding:12px 15px;font-size:11px;color:#667a6d}.ribbons{display:flex;gap:8px;align-items:center;margin-bottom:14px}.ribbons span{display:flex;align-items:center;gap:5px;color:#64786a;font-size:11px}.ribbons span:after{content:'›';font-size:16px;color:#b4c1b7;margin-left:3px}.ribbons span:last-child{color:#275c43;font-weight:750}.ribbons span:last-child:after{content:''}.submetric{border-left:3px solid #b58b41;padding:4px 0 4px 12px;font-size:12px;color:#587062}.submetric b{display:block;color:#24392e}.mock-login{height:100vh;display:grid;grid-template-columns:1.02fr 1fr}.login-photo{position:relative;background:linear-gradient(115deg,rgba(0,41,29,.75),rgba(0,35,26,.3)),url("/portal-assets/login-hero.jpg") center/cover;display:flex;flex-direction:column;padding:48px 62px;color:white}.login-photo>img{width:230px;height:70px;object-fit:contain;object-position:left}.login-copy{margin:auto 0 20px;max-width:570px}.login-copy .kicker{letter-spacing:.16em;color:#dfbd76;font-size:11px;font-weight:800}.login-copy h1{font-size:55px;line-height:1.04;color:white;margin:16px 0 22px}.login-copy p{font-size:16px;color:#d9e9df;line-height:1.7}.login-benefits{display:flex;gap:30px;margin-top:28px;flex-wrap:wrap;font-size:12px;color:#e6f2e9}.login-benefits span{display:flex;gap:9px;align-items:center}.login-foot{font-size:11px;color:#b5cbbf}.login-formwrap{display:flex;align-items:center;justify-content:center;background:#f9faf7}.login-form{width:420px}.login-form h2{font:normal 39px Georgia,serif;margin-bottom:9px}.login-form p{color:#7c8a81;font-size:13px;margin-bottom:31px}.login-form .field{margin:20px 0}.login-form .fakeinput{height:49px;align-items:center}.login-form .btn{height:49px;width:100%;font-size:13px}.login-divider{display:flex;align-items:center;gap:12px;color:#96a69a;font-size:11px;margin:25px 0}.login-divider:before,.login-divider:after{content:'';height:1px;background:#e0e8df;flex:1}.sso{border:1px solid #d8e4db;background:white;border-radius:7px;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700}.login-form .link{display:inline}.login-form .formhelp{margin-top:24px;text-align:center;font-size:12px;color:#758a7b}.smallcards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.smallcard{padding:14px;border:1px solid #e1e9e1;border-radius:8px;background:white}.smallcard b{font-size:11px;display:block}.smallcard p{font-size:11px;color:#6d8173;margin:5px 0 0}.footer-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e9efe9;padding-top:17px;margin-top:18px}.project-head{display:flex;justify-content:space-between;align-items:center}.project-id{color:#8d9d91;font-weight:700;font-size:11px}.section-note{display:flex;gap:11px;align-items:flex-start;background:#f5f7f3;padding:12px;border-radius:8px;color:#5a7464;font-size:11px}.report-card{background:#eef4ed;border:1px solid #e1ebe1;border-radius:8px;padding:15px}.report-card label{font-size:10px;color:#6c8371;font-weight:700;display:block}.report-card strong{font-size:25px;display:block;margin:3px 0}.report-card small{font-size:10px;color:#89a092}
@media (max-width:800px){.sidebar{display:none}.topbar{height:62px;padding:0 17px}.topcrumb,.slash,.headeractions .searchinput,.headname,.vsep,.bell{display:none}.hamb{display:inline-block;font-size:19px}.content{padding:23px 17px 42px}.pageheading{flex-wrap:wrap;margin-bottom:19px}h1{font-size:27px}.grid,.two,.twocol,.cols3,.cols4,.fieldgrid{grid-template-columns:1fr}.panel{padding:17px}.filters{flex-wrap:wrap}.filterpill.search{margin-left:0;flex:1}.stepper small{font-size:8px;white-space:normal}.kpi{min-height:118px}.mock-login{grid-template-columns:1fr}.login-photo{height:300px;padding:22px}.login-photo>img{width:160px}.login-copy h1{font-size:33px}.login-copy p{font-size:12px}.login-benefits,.login-foot{display:none}.login-formwrap{padding:33px 18px}.login-form{width:100%}.login-form h2{font-size:31px}.tablewrap{overflow:auto}.split{flex-direction:column}}
@media(max-width:800px){.subnav{max-width:100%;overflow-x:auto;gap:14px;white-space:nowrap}.subnav span{flex:none}.bars{gap:3px;max-width:100%}.bar{min-width:0}.grid>*{min-width:0}.panel{max-width:100%}.panel-title{flex-wrap:wrap}.kpi strong{overflow-wrap:anywhere}}/* v1.1.1: baseline sidebar layout must not depend on marketplace styles. */
.sidebar{height:100vh;height:100dvh;overflow:hidden;flex-shrink:0}.sidebar>.brand{flex-shrink:0;padding-bottom:16px}.side-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5b8b72 #063b2d;padding-right:3px}.side-scroll .side-section{padding-top:18px;padding-bottom:8px}.sidebar-bottom{flex-shrink:0;margin-top:8px}.sidebar-bottom .orgbadge{padding-top:12px;margin-top:5px}.sidebar .navitem{white-space:normal;line-height:1.35}.sidebar .navitem svg{flex-shrink:0}.sidebar .logout-nav{appearance:none;background:transparent;border:0;cursor:pointer;width:100%;text-align:left;font:inherit;color:#d6e4db;padding:12px 13px}.sidebar-close[hidden]{display:none!important}.sidebar-close{position:absolute;right:8px;top:8px;background:transparent;color:#fff;border:0;font-size:25px;width:32px;height:32px;cursor:pointer}.sidebar .navitem:focus-visible,.sidebar-close:focus-visible{outline:2px solid #cfaa67;outline-offset:-2px}.nav-backdrop{display:none;position:fixed;inset:0;background:rgba(4,28,20,.45);border:0;z-index:90}.nav-backdrop.open{display:block}.nav-backdrop[hidden]{display:none!important}@media(min-width:801px){.sidebar-close{display:none!important}}@media(max-width:800px){.sidebar.is-open{overflow:hidden}.sidebar.is-open .sidebar-close:not([hidden]){display:block}}@media print{.nav-backdrop{display:none!important}}
