.portal-body {
  margin:0;background:#eff5f4;color:#152b3c;font:16px/1.55 system-ui,sans-serif;
}
.portal-body *, .account-bar * {box-sizing:border-box}
.portal-mast {display:flex;justify-content:space-between;gap:12px;padding:19px max(20px,calc((100% - 1100px)/2));background:#0f2538;color:#fff;font-weight:700;font-size:.95rem}
.portal-mast div:last-child {font-weight:500;color:#d1e3e9;text-align:right}
.portal-page {width:min(calc(100% - 28px),520px);margin:34px auto;padding:clamp(20px,5vw,36px);border:1px solid #c7d7da;border-radius:13px;background:#fff}
.portal-page.wide {width:min(calc(100% - 28px),1100px)}
.portal-page h1 {font-size:clamp(1.5rem,4vw,2.15rem);margin:0 0 .5em;line-height:1.12}
.portal-page h2 {margin:0 0 .45em;font-size:1.2rem;line-height:1.18}
.portal-page h3 {margin:0;font-size:1.04rem}
.portal-page p {margin:0 0 .8em}
.portal-page a,.account-bar a {color:#0c625d;text-underline-offset:3px;font-weight:650}
.portal-page label {display:grid;gap:5px;font-weight:650}
.portal-page input {width:100%;border:1px solid #8aa4ac;border-radius:7px;background:#fff;color:#152b3c;font:inherit;padding:9px 11px;min-height:42px}
.portal-page button {border:1px solid #175f59;border-radius:7px;background:#176963;color:#fff;font:inherit;font-weight:700;padding:9px 13px;min-height:42px;cursor:pointer}
.portal-page button:hover {background:#104e49}
.portal-page button.secondary {color:#143a43;border-color:#8aa4ac;background:#f4f9f8}
.portal-page button.secondary:hover {background:#e8f3ef}
.portal-page button.danger {background:#9a3434;border-color:#9a3434}
.portal-page button.danger:hover {background:#782424}
.portal-page :focus-visible,.account-bar :focus-visible {outline:3px solid #158575;outline-offset:3px}
.stack {display:grid;gap:12px}
.stack[hidden] {display:none}
.portal-page .muted {color:#4d6470;font-size:.86rem}
.portal-page .notice,.portal-page .error {background:#e6f5ee;border-left:4px solid #268c70;border-radius:4px;padding:10px 12px;margin:12px 0 18px;overflow-wrap:anywhere}
.portal-page .notice p {margin-top:7px}
.portal-page .error {border-left-color:#b13434;background:#fff1ef}
.account-bar {display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding:8px 18px;font: .9rem/1.5 system-ui,sans-serif;color:#31515e}
.account-bar form {margin:0}
.account-bar .portal-link {border:1px solid #85a2a8;background:#fff;border-radius:6px;padding:5px 9px;color:#183c46;font:inherit;font-weight:650;cursor:pointer}
.portal-page .account-bar {justify-content:flex-start;padding:0 0 10px}
.admin-grid {display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.35fr);gap:15px;margin:14px 0}
.portal-panel {border:1px solid #d4e1e3;border-radius:9px;padding:17px;min-width:0;overflow-wrap:anywhere}
.portal-panel summary,.candidate summary {cursor:pointer;font-weight:700;color:#165f58}
.portal-panel summary + form,.candidate summary + form {margin-top:12px}
.portal-panel .candidate {border-top:1px solid #e3ebec;padding:12px 0}
.portal-panel .candidate p {margin-bottom:.35em}
.status {font-size:.78rem;background:#ebf3f3;border-radius:20px;padding:3px 7px;font-weight:700;white-space:nowrap}
.portal-page .actions {display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.admin-grid{grid-template-columns:1fr}.portal-mast{padding:15px;font-size:.83rem}.account-bar{justify-content:flex-start}}
@media print{.account-bar{display:none!important}}
