*{box-sizing:border-box}
:root{--ink:#102b38;--navy:#061721;--mint:#78d3c6;--teal:#328e88;--paper:#e0e3df;--panel:#f0f2ef;--line:#c4cdca;--muted:#60747a;--danger:#8b3434}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,Segoe UI,Arial,sans-serif}
a{color:#236d70}
.portal-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.portal-brand img{display:block;width:205px;max-width:100%;height:auto}
.portal-header-link{font-size:13px;text-decoration:none}
.portal-header-link:hover{text-decoration:underline}
.portal-container{width:min(960px,calc(100% - 40px));margin:0 auto}
.portal-main{padding:45px 0 70px;min-height:calc(100vh - 170px)}
.portal-card{max-width:620px;margin:0 auto;padding:32px;background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--mint)}
.portal-card.wide{max-width:none}
.portal-kicker{display:block;color:var(--teal);font-size:10px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
h1{margin:8px 0 12px;font-size:clamp(32px,5vw,48px);line-height:1.03;letter-spacing:-.05em}
h2{margin:0 0 12px;font-size:23px;line-height:1.15;letter-spacing:-.03em}
h3{margin:0 0 8px;font-size:17px}
p{color:#455d64}
.portal-lead{max-width:650px;margin:0 0 26px;color:var(--muted)}
.portal-field{margin:0 0 18px}
.portal-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:750}
.portal-field input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #aab9b5;background:#fff;color:var(--ink);font:inherit}
.portal-field input:focus{outline:3px solid rgba(50,142,136,.24);border-color:var(--teal)}
.portal-help{margin:6px 0 0;color:var(--muted);font-size:12px}
.portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:0;background:var(--navy);color:#fff;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
.portal-button:hover{background:#174451}
.portal-button.secondary{background:#d8e0dc;color:var(--ink);border:1px solid var(--line)}
.portal-button.danger{background:#fff;color:var(--danger);border:1px solid #d7b9b9}
.portal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.portal-alert{margin:16px 0;padding:12px 14px;background:#e6efea;border-left:3px solid var(--teal);color:var(--ink);font-size:14px}
.portal-alert.error{background:#f6e9e7;border-left-color:var(--danger)}
.portal-empty{margin-top:24px;padding:24px;background:#e6eae6;border:1px dashed #aab9b5}
.portal-empty p{margin:5px 0 0}
.portal-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.portal-table-wrap{overflow-x:auto;margin-top:18px}
.portal-table{width:100%;border-collapse:collapse;font-size:13px}
.portal-table th,.portal-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.portal-table th{color:#425c63;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.portal-table form{display:inline}
.portal-copy-link{width:100%;min-height:70px;margin-top:8px;padding:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:12px/1.45 Consolas,monospace;overflow-wrap:anywhere}
.portal-footer{padding:20px 0;background:var(--navy);color:#aab9bd;font-size:12px}
.portal-footer-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.portal-footer a{color:#c7d6d6;text-decoration:none}
.portal-footer a:hover{text-decoration:underline}
.portal-note{font-size:13px;color:var(--muted)}
[hidden]{display:none!important}
@media(max-width:600px){.portal-header{height:auto;min-height:72px;align-items:flex-start;padding:15px 0}.portal-brand img{width:145px}.portal-header-link{font-size:11px}.portal-main{padding:28px 0 50px}.portal-card{padding:23px 20px}.portal-container{width:calc(100% - 32px)}.portal-actions{align-items:stretch}.portal-actions .portal-button{flex:1}.portal-footer-inner{align-items:flex-start;flex-direction:column}}
