@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#075b3c;--deep:#06482f;--mint:#eaf4ed;--yellow:#e7bc09;--ink:#1d2923;--muted:#79847d;--line:#e8ece9;--paper:#f7f9f7;--white:#fff;--shadow:0 15px 45px #133c2510}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,select,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.public-page{background:white;min-height:100vh}.public-nav{height:88px;padding:0 max(calc((100vw - 1180px)/2),7vw);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef1ee}.public-nav img{width:146px;height:auto}.btn{border:0;border-radius:9px;padding:12px 17px;font-weight:700;display:inline-flex;align-items:center;gap:18px;justify-content:center;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn.primary{background:var(--green);color:white}.btn.large{padding:15px 20px}.hero{max-width:1180px;margin:auto;min-height:500px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:52px 20px 65px}.eyebrow,.tiny-tag{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--green)}.hero h1{font:800 clamp(42px,5vw,63px)/1.12 Manrope,sans-serif;letter-spacing:-2.8px;margin:18px 0}.hero h1 em{font-style:normal;color:var(--green)}.hero-copy>p{color:#6f7972;font-size:16px;line-height:1.8;max-width:450px;margin:0 0 25px}.hero-note{margin-top:24px;color:#7a867f;font-size:12px}.hero-note b{color:#38453d}.live-dot{display:inline-block;background:#4eae77;width:7px;height:7px;border-radius:9px;margin-right:7px}.hero-art{height:370px;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,#edf6ec,#d9e9d8 62%,#aeca9d)}.sun{position:absolute;width:115px;height:115px;background:#f5d265;border-radius:50%;right:80px;top:44px}.field{position:absolute;bottom:-90px;left:-20%;width:140%;height:230px;background:#41794b;border-radius:50% 50% 0 0/40% 40% 0 0;transform:rotate(-7deg)}.field:before,.field:after{content:'';position:absolute;border:2px solid #a4c579;width:120%;height:110px;border-radius:50%;left:-8%;top:25px}.field:after{top:66px;left:-3%;border-color:#d0dc83}.leaf{position:absolute;background:var(--green);width:28px;height:110px;border-radius:100% 0 100% 0;z-index:2;transform:rotate(37deg);left:50%;bottom:103px}.leaf-a{height:150px;bottom:138px;left:49%;transform:rotate(4deg)}.leaf-b{left:37%;bottom:100px;transform:rotate(-36deg);height:90px;background:#498259}.leaf-c{left:62%;bottom:96px;transform:rotate(63deg);height:104px;background:#307848}.art-label{position:absolute;z-index:3;left:34px;bottom:34px;color:white;display:flex;flex-direction:column;gap:8px}.art-label span{font-size:9px;letter-spacing:1.8px}.art-label b{font:700 24px/1.2 Manrope}.public-grid{max-width:1180px;margin:0 auto 48px;padding:28px 20px;display:grid;grid-template-columns:1fr 1fr;gap:75px;border-top:1px solid var(--line)}.public-grid h2{font:700 24px Manrope;margin:10px 0}.public-grid p{font-size:13px;line-height:1.8;color:var(--muted)}.pillars{display:flex;gap:10px;margin:17px 0}.pillars span{background:#f4f7f4;border-radius:8px;padding:12px 14px;font-size:12px}.public-page>footer{text-align:center;padding:24px;border-top:1px solid var(--line);font-size:11px;color:#929a94}.public-page>footer span{margin:0 12px;color:#bec5bf}
.app{min-height:100vh}.sidebar{background:white;width:252px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:21px 15px;z-index:4}.brand{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--green);border-bottom:1px solid var(--line);padding:0 8px 18px}.brand img{width:84px}.brand span{font-size:8px;font-weight:700;letter-spacing:.8px;text-align:right;max-width:95px}.org{font-size:9px;letter-spacing:.7px;color:#929b95;padding:18px 9px 9px}.sidebar nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:8px;display:flex;align-items:center;gap:12px;color:#68736c;font-size:12px}.nav-item .nav-icon{width:18px;text-align:center;font-size:15px}.nav-item:hover,.nav-item.active{color:var(--green);background:var(--mint);font-weight:700}.sidebar-bottom{margin-top:auto}.secure{background:#f3f8f3;padding:12px;border-radius:9px;display:flex;gap:10px;align-items:center;color:var(--green)}.secure>span{font-size:20px}.secure b,.secure small{display:block;font-size:10px}.secure small{color:#819086;margin-top:4px}.logout{border:0;background:white;color:#818a84;font-size:11px;padding:13px 10px}.main{margin-left:252px;min-height:100vh;padding:0 34px;max-width:calc(100vw - 252px)}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:29px}.topbar>div:first-child{display:flex;flex-direction:column;gap:4px}.topbar #crumb{font:700 15px Manrope}.topbar small{font-size:11px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:19px}.year-select{font-size:10px;color:#78837b}.year-select select{border:1px solid var(--line);background:white;padding:8px;border-radius:7px;margin-left:5px;font-weight:600;color:var(--ink)}.icon-btn{border:0;background:white;font-size:23px;position:relative;color:#657269}.icon-btn i{position:absolute;width:7px;height:7px;border-radius:50%;background:#d79e18;right:1px;top:1px}.user-badge{display:flex;align-items:center;gap:9px}.user-badge>span{background:var(--mint);color:var(--green);font-weight:bold;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.user-badge b,.user-badge small{display:block}.user-badge b{font-size:11px}.user-badge small{font-size:9px;color:var(--muted);margin-top:3px}.user-badge button{border:0;background:none;color:#768078}.notice{background:#fff8de;border:1px solid #f1e2a8;border-radius:8px;padding:12px 15px;color:#705b11;font-size:11px;margin:-12px 0 20px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 22px}.page-heading .tiny-tag{font-size:9px}.page-heading h1{font:700 25px Manrope;margin:7px 0 4px;letter-spacing:-.7px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.heading-actions{display:flex;gap:8px}.btn.small{font-size:11px;padding:10px 13px}.btn.quiet{background:white;border:1px solid var(--line);color:#526057}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.stat{background:white;border:1px solid #edf0ed;border-radius:11px;padding:17px;box-shadow:0 2px 9px #17392004}.stat-top{display:flex;justify-content:space-between;color:#849087;font-size:10px}.stat-icon{width:27px;height:27px;border-radius:8px;background:var(--mint);display:grid;place-items:center;color:var(--green);font-size:14px}.stat strong{display:block;font:700 23px Manrope;margin:13px 0 4px}.stat small{color:#89948c;font-size:10px}.stat .up{color:#338253}.panel-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:15px;margin:15px 0}.panel{background:white;border:1px solid #edf0ed;border-radius:11px;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-head h3{font:700 13px Manrope;margin:0}.panel-head button{border:0;background:none;color:var(--green);font-size:10px}.rows{display:grid}.row{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #f0f2f0}.row:first-child{border-top:0}.row-mark{width:33px;height:33px;flex:none;border-radius:9px;display:grid;place-items:center;background:#eff6f0;color:var(--green)}.row-copy{min-width:0;flex:1}.row-copy b{display:block;font-size:11px}.row-copy small{display:block;color:#89928c;font-size:9px;margin-top:4px}.badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 8px;border-radius:99px;background:#eef5ee;color:#3f7552;font-size:9px}.badge.warn{background:#fff5df;color:#997318}.badge.blue{background:#eef4fa;color:#53728e}.badge.red{background:#fff0ed;color:#b15b48}.list-card{margin:14px 0;background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.list-toolbar{padding:13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.search{border:1px solid var(--line);border-radius:7px;padding:9px 11px;font-size:11px;width:240px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:630px}th{text-align:left;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#89928c;font-weight:600;background:#fafbfa;padding:12px 15px}td{border-top:1px solid #f0f2f0;padding:13px 15px;font-size:10px;color:#4c5850}td b{color:var(--ink)}.row-action{border:1px solid var(--line);background:white;border-radius:6px;padding:6px 8px;color:#647168;font-size:10px}.workflow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:13px 0 18px}.step{border:1px solid var(--line);background:white;border-radius:7px;padding:9px 11px;font-size:10px;color:#758078}.step.active{background:var(--mint);border-color:#bed7c5;color:var(--green);font-weight:700}.arrow{color:#aab3ac;font-size:11px}.empty{padding:26px;text-align:center;color:#879188;font-size:11px}.app-footer{border-top:1px solid var(--line);padding:16px 0;margin-top:35px;color:#929b95;font-size:9px;display:flex;justify-content:space-between}.app-footer span{color:#b0b8b2}dialog{border:0;border-radius:15px;padding:0;width:min(440px,calc(100vw - 30px));box-shadow:0 25px 100px #061e1260}dialog::backdrop{background:#10271b80;backdrop-filter:blur(3px)}#login-form{padding:30px;position:relative;display:flex;flex-direction:column;gap:13px}#login-form h2{font:700 22px Manrope;margin:0}#login-form p{margin:-7px 0 4px;color:var(--muted);font-size:12px;line-height:1.6}.dialog-logo{width:100px;object-fit:contain;margin-bottom:4px}#login-form label,#modal-content label{font-size:10px;font-weight:700;color:#59655d;display:grid;gap:7px}#login-form select,#login-form input,#modal-content input,#modal-content select,#modal-content textarea{width:100%;padding:11px;border-radius:7px;border:1px solid var(--line);background:white;color:var(--ink);font-size:11px}#modal-content textarea{min-height:75px;resize:vertical}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:24px;color:#8b958e}.full{width:100%;margin-top:4px}.prototype-hint{background:#f7f8f6;padding:10px;border-radius:6px;color:#8a938d;font-size:9px;line-height:1.5}.modal-actions{display:flex;justify-content:end;gap:8px;padding:10px 22px 20px}#modal-content{padding:25px 24px 10px}#modal-content h2{font:700 18px Manrope;margin:0 0 6px}#modal-content>p{font-size:11px;color:var(--muted);margin:0 0 17px}#modal-content .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}#modal-content .fields .wide{grid-column:1/-1}
.public-section{max-width:1180px;margin:12px auto 42px;padding:36px 20px 44px;background:#f8faf7;border-radius:18px}.public-section h2,.public-values h2{font:700 25px Manrope;margin:10px 0 20px}.public-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.public-cards article{padding:21px;background:#fff;border:1px solid #edf0ed;border-radius:11px}.public-cards article>span{font:700 12px Manrope;color:#d3a914}.public-cards h3{font:700 15px Manrope;margin:16px 0 8px}.public-cards p,.public-org p,.public-values p{font-size:12px;line-height:1.8;color:#77827a}.public-org{margin-bottom:25px}.public-values{max-width:1180px;margin:0 auto 50px;padding:23px 25px;border-radius:13px;background:#f0f6ef;display:flex;align-items:center;justify-content:space-between;gap:18px}.public-values h2{font-size:20px;margin-bottom:0}.public-values p{margin:0}.chat-log{max-height:180px;overflow:auto;margin:10px 0;padding:8px 12px;background:#f7f9f7;border-radius:8px;font-size:11px}.chat-log p{padding:6px 0;border-bottom:1px solid #e7ece8}.chat-log b{font-size:9px;color:#718076}
@media(max-width:1000px){.sidebar{width:210px}.main{margin-left:210px;max-width:calc(100vw - 210px);padding:0 22px}.stats{grid-template-columns:repeat(2,1fr)}.brand img{width:72px}.brand span{font-size:7px}}@media(max-width:720px){.public-nav{padding:0 20px;height:72px}.public-nav img{width:115px}.hero{grid-template-columns:1fr;padding:38px 23px;gap:25px}.hero-art{height:270px}.public-grid{grid-template-columns:1fr;gap:20px;margin-bottom:15px}.public-section{margin:12px 15px 28px;padding:25px 18px}.public-cards{grid-template-columns:1fr}.public-values{margin:0 15px 30px;align-items:flex-start;flex-direction:column}.sidebar{width:58px;padding:14px 6px}.brand{padding:0 3px 13px;justify-content:center}.brand img{width:44px}.brand span,.org,.nav-item:not(.active),.nav-item span:not(.nav-icon),.secure,.logout{font-size:0}.sidebar nav{margin-top:12px}.nav-item{justify-content:center;padding:12px 3px}.nav-item .nav-icon{font-size:17px}.sidebar-bottom{display:none}.main{margin-left:58px;max-width:calc(100vw - 58px);padding:0 13px}.topbar{height:68px;margin-bottom:20px}.top-actions{gap:8px}.year-select{font-size:0}.year-select select{font-size:10px}.user-badge div,.user-badge button{display:none}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:19px}.panel-grid{grid-template-columns:1fr}.page-heading{align-items:start;gap:10px}.page-heading h1{font-size:20px}.page-heading p{font-size:10px}.heading-actions{flex-direction:column}.heading-actions .btn{font-size:9px}.search{width:130px}.app-footer{font-size:8px}.app-footer span{max-width:130px;text-align:right}}
.product-gallery{max-width:1180px;margin:4px auto 48px;padding:34px 20px 0}.product-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.product-heading h2{font:700 25px Manrope,sans-serif;margin:9px 0 0;letter-spacing:-.5px}.product-heading>p{color:var(--muted);font-size:12px;line-height:1.7;margin:0;max-width:300px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 3px 14px #133c2508}.product-media{height:245px;background:#f5f7f4;display:grid;place-items:center;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:contain}.product-copy{padding:15px 16px 17px}.product-copy h3{font:700 14px Manrope,sans-serif;margin:0 0 6px;color:var(--ink)}.product-copy p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.product-gallery{margin:0 15px 34px;padding:20px 8px 0}.product-heading{align-items:flex-start;flex-direction:column;gap:8px}.product-heading h2{font-size:21px}.product-grid{grid-template-columns:1fr 1fr;gap:10px}.product-media{height:190px}.product-copy{padding:12px}.product-copy h3{font-size:12px}.product-copy p{font-size:10px}}
.hero-art{background:#376343}.hero-art::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#052b1dd9 0%,#052b1d18 58%,#052b1d08 100%)}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:0}.hero-art .art-label{z-index:2}
/* Keep the department list scrollable between the fixed sidebar header and footer. */
.sidebar{height:100vh;height:100dvh;overflow:hidden}
.sidebar>.brand,.sidebar>.org,.sidebar>.sidebar-bottom{flex:0 0 auto}
.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding:0 3px 12px 0;scrollbar-width:thin;scrollbar-color:#b7c9bb transparent;-webkit-overflow-scrolling:touch}
.sidebar>nav::-webkit-scrollbar{width:6px}
.sidebar>nav::-webkit-scrollbar-thumb{background:#b7c9bb;border-radius:6px}
.sidebar>nav::-webkit-scrollbar-track{background:transparent}
.sidebar-bottom{display:grid;gap:4px;padding-top:10px}.sidebar-action{width:100%;min-height:40px;border:0;border-radius:8px;background:transparent;color:#627067;font-size:11px;text-align:left;padding:10px;display:flex;align-items:center;gap:10px}.sidebar-action:hover{background:var(--mint);color:var(--green)}.sidebar-action>span:first-child{width:18px;text-align:center;font-size:15px}.sidebar-action.logout{color:#8b5148}.sidebar-action.logout:hover{background:#fff1ed;color:#a13f30}
@media(max-width:720px){.sidebar-bottom{display:grid;justify-items:center;gap:5px;padding-top:8px}.sidebar-bottom .secure{display:none}.sidebar-action{width:42px;height:40px;min-height:40px;justify-content:center;padding:0;font-size:16px}.sidebar-action>span:first-child{font-size:18px}.sidebar-action-label{display:none}}
.text-action{display:block;width:100%;margin:12px 0 2px;border:0;background:transparent;color:var(--green);font:600 12px Manrope,sans-serif;text-align:center;padding:10px;border-radius:8px;cursor:pointer}.text-action:hover{background:var(--mint)}
.reset-form{width:min(440px,calc(100vw - 32px));padding:30px;display:grid;gap:14px}.reset-form h2{margin:0;color:var(--ink);font:700 23px Manrope,sans-serif}.reset-form p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.reset-form label,.admin-contact-form label{display:grid;gap:7px;color:var(--ink);font-size:11px;font-weight:650}.reset-form input,.admin-contact-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);font:500 13px Manrope,sans-serif;outline:none}.reset-form input:focus,.admin-contact-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f68401a}.reset-receipt{display:grid;gap:11px;padding:16px;border:1px solid #dce8dd;border-radius:12px;background:#f5faf5}.reset-receipt h3{margin:0;font:700 15px Manrope,sans-serif;color:var(--green)}.reset-receipt input{font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em}.reset-form .close{justify-self:end}.reset-form .prototype-hint{line-height:1.55;color:var(--muted)}#reset-feedback,.contact-feedback{min-height:16px;color:#a13f30;font-size:11px;line-height:1.5}.list-card.password-requests-card{margin-bottom:18px}.request-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-user-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1.2fr);gap:16px;align-items:center;padding:16px 18px;border-top:1px solid var(--line)}.admin-user-heading{display:flex;align-items:center;gap:12px;min-width:0}.admin-user-heading>div:last-child{display:grid;gap:4px;min-width:0}.admin-user-heading b{color:var(--ink);font:700 13px Manrope,sans-serif}.admin-user-heading small{color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}.admin-contact-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;align-items:end}.admin-contact-form label{grid-column:1/-1}.admin-contact-form .contact-feedback{grid-column:1/-1}.password-request-row{grid-template-columns:minmax(0,1fr) auto}.btn:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}.btn,.row-action,.text-action{transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.btn:focus-visible,.row-action:focus-visible,.text-action:focus-visible{outline:3px solid #68a87980;outline-offset:2px}
@media(max-width:720px){.reset-form{padding:25px 20px}.admin-user-row,.password-request-row{grid-template-columns:1fr;gap:13px}.admin-contact-form{grid-template-columns:1fr}.admin-contact-form label,.admin-contact-form .contact-feedback{grid-column:auto}.admin-contact-form button{width:100%}.request-actions{width:100%}.request-actions .btn{flex:1}}
dialog:not([open]){display:none}dialog[open].dialog-fallback-open{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;max-width:min(94vw,560px);max-height:90vh;overflow:auto;z-index:10000;box-shadow:0 0 0 100vmax #10271b80,0 25px 100px #061e1260}
