:root{--portal-ink:#17324d;--portal-muted:#66788a;--portal-line:#d8e1e9;--portal-soft:#f4f7f9;--portal-accent:#b57931;--portal-shadow:0 18px 45px rgba(23,50,77,.09)}
.portal-body-page{background:#f7f9fb;color:var(--portal-ink)}
.portal-header{background:#fff;border-bottom:1px solid var(--portal-line);box-shadow:0 3px 16px rgba(23,50,77,.04)}
.portal-header nav{display:flex;align-items:center;gap:22px;min-height:76px}.portal-header .logo{width:142px;height:auto}.portal-context{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.portal-context span,.eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-accent);font-weight:700}.portal-context strong{font-size:1rem}.portal-version{font-size:.72rem;color:var(--portal-muted);white-space:nowrap}.portal-header-tools{margin-left:auto;display:flex;align-items:center;gap:16px}.portal-languages{display:flex;gap:4px}.portal-languages a{padding:5px 7px;color:var(--portal-muted);font-size:.78rem;text-decoration:none;border-radius:4px}.portal-languages a[aria-current=true]{background:var(--portal-ink);color:#fff}.portal-logout{border:0;background:transparent;color:var(--portal-muted);font:inherit;font-size:.86rem;padding:7px 0;cursor:pointer}.portal-logout:hover{color:var(--portal-ink);text-decoration:underline}
.portal-shell,.admin-shell{max-width:1160px;margin:0 auto;padding:48px 22px 70px}.portal-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:24px}.portal-heading h1{margin:.35rem 0 .45rem}.portal-heading p{max-width:720px;color:var(--portal-muted);margin:0}.portal-nav{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}.portal-nav a{border:1px solid var(--portal-line);background:#fff;color:var(--portal-ink);padding:10px 14px;border-radius:7px;text-decoration:none;font-size:.9rem}.portal-nav a:hover{border-color:var(--portal-ink)}.portal-nav .portal-nav-primary{background:var(--portal-ink);border-color:var(--portal-ink);color:#fff}.portal-nav .portal-nav-primary:hover{background:#234b6d}.portal-panel,.admin-panel,.portal-login-card{background:#fff;border:1px solid var(--portal-line);border-radius:11px;box-shadow:var(--portal-shadow);padding:25px}.portal-panel h2,.admin-panel h2{margin-top:0}.portal-panel+.portal-panel{margin-top:18px}.portal-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:20px}.portal-login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:28px;max-width:940px;margin:24px auto}.portal-login-aside{padding:30px 10px}.portal-login-aside h1{font-size:clamp(2rem,5vw,3.4rem);margin:.45rem 0 .8rem}.portal-login-card{align-self:start}.portal-muted{color:var(--portal-muted);font-size:.92rem;line-height:1.6}.portal-text-button{border:0;background:none;color:var(--portal-ink);padding:13px 0 0;text-decoration:underline;cursor:pointer;font:inherit}.portal-footer{max-width:1160px;margin:0 auto;padding:18px 22px 34px;color:var(--portal-muted);display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem}.portal-footer a{color:inherit}.portal-body-page label{display:block;font-weight:600;margin:15px 0 6px}.portal-body-page input,.portal-body-page select,.portal-body-page textarea{box-sizing:border-box;width:100%;border:1px solid #c7d3dd;border-radius:6px;background:#fff;padding:11px 12px;color:var(--portal-ink);font:inherit}.portal-body-page textarea{min-height:125px;resize:vertical}.portal-body-page input:focus,.portal-body-page select:focus,.portal-body-page textarea:focus{outline:3px solid rgba(181,121,49,.22);border-color:var(--portal-accent)}.portal-body-page .button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:var(--portal-ink);color:#fff;padding:11px 16px;font:inherit;cursor:pointer;text-decoration:none;margin-top:14px}.portal-body-page .button:hover{background:#234b6d}.portal-body-page .badge{display:inline-block;border-radius:20px;background:#e8f1f6;color:var(--portal-ink);font-size:.78rem;padding:4px 9px}.portal-body-page .badge.pending{background:#fff1da;color:#8a5a18}.portal-meta{color:var(--portal-muted);font-size:.9rem}.portal-body-page table{width:100%;border-collapse:collapse}.portal-body-page th,.portal-body-page td{text-align:left;border-bottom:1px solid var(--portal-line);padding:12px 8px;vertical-align:top}.portal-body-page th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--portal-muted)}.portal-body-page code{background:var(--portal-soft);padding:2px 5px;border-radius:4px}.portal-body-page .legal-main{max-width:860px}
 .portal-status-section{margin:8px 0 30px}.portal-status-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.portal-status-heading h2{margin:.25rem 0 0;font-size:1.35rem}.portal-status-caption{font-size:.84rem;color:var(--portal-muted)}.portal-status-grid{display:flex;gap:12px;overflow-x:auto;padding:3px 3px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}.portal-status-card{position:relative;display:flex;flex:0 0 176px;flex-direction:column;gap:7px;min-height:96px;padding:18px 18px 16px;background:#fff;border:1px solid var(--portal-line);border-radius:10px;box-shadow:0 8px 22px rgba(23,50,77,.055);text-decoration:none;color:var(--portal-ink);scroll-snap-align:start;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.portal-status-card:hover{transform:translateY(-2px);border-color:#9eb2c3;box-shadow:0 13px 28px rgba(23,50,77,.11)}.portal-status-card:focus-visible{outline:3px solid rgba(181,121,49,.3);outline-offset:2px}.portal-status-count{font-size:1.85rem;line-height:1;font-weight:750;letter-spacing:-.03em}.portal-status-label{font-size:.85rem;color:var(--portal-muted)}.portal-status-card:before{content:"";position:absolute;top:0;left:18px;right:18px;height:3px;border-radius:0 0 4px 4px;background:#9eb2c3}.portal-status-card.all:before{background:var(--portal-ink)}.portal-status-card.new:before{background:#b57931}.portal-status-card.review:before{background:#547ca0}.portal-status-card.waiting:before{background:#b06b43}.portal-status-card.proposal:before{background:#72599a}.portal-status-card.progress:before{background:#3a8b79}.portal-status-card.completed:before{background:#4a8b5c}.portal-status-card.closed:before{background:#8493a0}.portal-status-card.overdue:before{background:#bf4f4f}.portal-status-card.overdue .portal-status-count{color:#a73f3f}
@media(max-width:780px){.portal-header nav{min-height:68px;gap:12px}.portal-header .logo{width:116px}.portal-context{gap:5px;display:block}.portal-context strong{display:block}.portal-version{display:block;margin-top:2px}.portal-columns,.admin-grid,.portal-login-layout{grid-template-columns:1fr}.portal-shell,.admin-shell{padding-top:30px}.portal-login-aside{padding:0}.portal-heading{display:block}.portal-header-tools{gap:7px}.portal-logout{font-size:.8rem}}
@media(max-width:560px){.portal-status-heading{display:block}.portal-status-caption{display:block;margin-top:5px}.portal-status-card{flex-basis:164px}}
