/* Shared visual language with the Renvar public website. */
:root{--brand-lime:#82d400;--brand-lime-dark:#477d00;--brand-charcoal:#04100c;--brand-surface:#092019;--brand-muted:#c1cec7;--ink:#101815;--muted:#526058;--surface:#f5f7f6;--border:#dce5df;--radius:12px;--night:#04100c;--max:1280px}
body{font-family:"Segoe UI",Arial,sans-serif;background:#f8faf9;line-height:1.6}
h1,h2,h3{letter-spacing:-.035em;overflow-wrap:break-word}h1{font-size:clamp(2rem,3.5vw,3.3rem);font-weight:720;line-height:1.12}h2{font-weight:700}p{overflow-wrap:break-word}
.portal-header{height:88px;background:var(--night);border-bottom:1px solid #244030}.header-inner{gap:28px}.brand{width:210px;height:72px;overflow:visible;flex:none}.brand picture{width:100%}.brand img{width:100%;height:auto;transform:none}.portal-label{border-color:#355044;color:#c1cec7;font-size:.9rem;font-weight:600;letter-spacing:.02em}
.portal-frame{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 152px)}.portal-sidebar{padding:36px 22px 36px 0;gap:5px}.portal-sidebar strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);padding:0 14px}.portal-sidebar a{border:1px solid transparent;border-radius:7px;font-size:.92rem;transition:background .15s,color .15s}.portal-sidebar a:hover{background:#edf7e5;color:#356600}.portal-sidebar a.active{background:#eaf5df;border-color:#c4dda9;color:#315700;font-weight:650;box-shadow:inset 3px 0 var(--brand-lime)}.portal-main{padding:44px 0 64px 38px}
.eyebrow{display:flex;align-items:center;gap:16px;color:var(--brand-lime-dark);font-size:.72rem;font-weight:750;letter-spacing:.2em}.eyebrow::after{content:"";height:1px;width:48px;background:currentColor;opacity:.65}.lead{font-size:1.05rem}.portal-card{border-radius:12px;padding:28px;box-shadow:0 5px 22px #0d281009}.foundation-card{border-top:3px solid var(--brand-lime)}
.button{border-radius:7px;min-height:46px;padding:12px 22px;border-width:1px;font:650 .9rem/1.25 "Segoe UI",Arial,sans-serif;cursor:pointer;transition:background .15s,border-color .15s}.button.primary{background:var(--brand-lime);border-color:var(--brand-lime);color:#071006}.button.primary:hover:not(:disabled){background:#93e313;border-color:#93e313}.button.secondary{border-color:#5e963e;color:#356600;background:transparent}.button.secondary:hover:not(:disabled){background:#edf7e5}.button:disabled,.button.disabled{cursor:not-allowed;opacity:.6}.button-row{gap:14px}
.auth-form input,.editor input,.editor textarea,.editor select{font:inherit;border-color:#bbcbbf;border-radius:7px;accent-color:var(--brand-lime-dark)}.auth-form input:focus,.editor input:focus,.editor textarea:focus,.editor select:focus{border-color:var(--brand-lime-dark)}.auth-shell{gap:32px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.auth-shell h1,.state-page h1{font-size:clamp(2rem,3.5vw,3.3rem)}
.section-nav{border:1px solid var(--border);border-radius:8px;background:#f0f5ef}.section-nav a{color:#356600;border-radius:5px}.section-nav a:hover{background:#e1eed7}.status-badge{font-weight:650}.portal-footer{background:var(--night);border-top:1px solid #244030;color:#b2c2b8;padding:20px 0;font-size:.8rem}:focus-visible{outline:3px solid #659e25;outline-offset:4px}.portal-header :focus-visible{outline-color:#b9ee68}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}}
@media(max-width:850px){.portal-frame{display:block}.portal-sidebar{flex-direction:row;padding:16px 0;gap:6px}.portal-sidebar a{flex:none}.portal-main{padding:30px 0 48px}.portal-welcome{gap:28px}}
@media(max-width:520px){.portal-header{height:76px}.brand{width:180px;height:64px}.portal-card{padding:22px}.portal-main{padding-top:24px}.portal-welcome{grid-template-columns:minmax(0,1fr)}.portal-header nav{font-size:.8rem}.header-inner{gap:12px}.portal-label{display:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
