:root{--portal-navy:#071c3d;--portal-blue:#164f82;--portal-sky:#a8d8f4;--portal-red:#b11f2c;--portal-cream:#f6f2e9;--portal-ink:#12243a;--portal-muted:#647184;--portal-line:#d8dee6;--portal-white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 Montserrat,Arial,sans-serif}button,input{font:inherit}
body.portal-page{background:var(--portal-cream);color:var(--portal-ink)}
.portal-entry{min-height:calc(100vh - 180px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:stretch;background:linear-gradient(135deg,#071c3d 0%,#0d3762 58%,#17618f 100%);color:#fff}
.portal-entry-copy{padding:clamp(64px,8vw,120px) 7%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.portal-entry-copy:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(168,216,244,.25);border-radius:50%;right:-210px;bottom:-180px;box-shadow:0 0 0 70px rgba(168,216,244,.05),0 0 0 140px rgba(168,216,244,.03)}
.portal-kicker{font:700 .78rem/1.2 Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--portal-sky);margin:0 0 22px}
.portal-entry h1{font:700 clamp(2.8rem,6vw,6rem)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0 0 26px;max-width:780px}
.portal-entry-copy>p:not(.portal-kicker){font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65;max-width:650px;color:#d9e4ef}
.portal-trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;color:#dfe9f1;font:600 .8rem/1.3 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.portal-trust-row span{display:flex;align-items:center;gap:9px}.portal-trust-row span:before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(168,216,244,.16);color:var(--portal-sky)}
.portal-access-panel{background:#fff;color:var(--portal-ink);padding:clamp(54px,7vw,96px) clamp(30px,6vw,84px);display:flex;align-items:center}
.portal-access-card{width:min(100%,520px);margin:auto}
.portal-access-card h2{font:700 clamp(2rem,3vw,3.1rem)/1.05 Georgia,"Times New Roman",serif;margin:0 0 18px}.portal-access-card>p{color:var(--portal-muted);line-height:1.65;margin-bottom:28px}
.portal-form label{display:block;font:700 .78rem/1.2 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.portal-form input{width:100%;min-height:56px;border:1px solid #aeb9c5;border-radius:4px;padding:0 16px;font:600 1rem Montserrat,sans-serif;color:var(--portal-ink);background:#fff}.portal-form input:focus{outline:3px solid rgba(22,79,130,.25);border-color:var(--portal-blue)}
.portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border:0;border-radius:3px;background:var(--portal-navy);color:#fff;padding:0 24px;font:700 .78rem/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none}.portal-button:hover{background:var(--portal-blue)}.portal-form .portal-button{width:100%;margin-top:14px}
.portal-demo-note{margin-top:26px;padding:18px;border-left:4px solid var(--portal-red);background:#f4f6f8;font-size:.92rem;line-height:1.55}.portal-demo-note strong{display:block;margin-bottom:5px}.portal-demo-code{font:700 1rem/1.2 Montserrat,sans-serif;color:var(--portal-red)}
.portal-alert{margin:0 0 18px;padding:14px 16px;border:1px solid #b11f2c;background:#fff3f3;color:#7d1320;border-radius:3px}.portal-alert[hidden]{display:none}
.portal-security{font-size:.8rem!important;margin-top:18px!important;margin-bottom:0!important;color:#6b7480!important}

.portal-dashboard{min-height:100vh;background:var(--portal-cream)}
.portal-demo-banner{background:#f3c94d;color:#2b250f;text-align:center;padding:10px 5%;font:800 .72rem/1.35 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.portal-dash-header{background:var(--portal-navy);color:#fff;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-dash-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font:700 .9rem/1.2 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}.portal-dash-brand img{width:160px;height:auto;background:#fff;padding:6px;border-radius:2px}.portal-logout{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:11px 16px;border-radius:3px;font:700 .72rem/1 Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.portal-hero{background:linear-gradient(135deg,#071c3d 0%,#164f82 100%);color:#fff;padding:clamp(56px,7vw,100px) 6% 64px;text-align:center}.portal-hero .portal-kicker{margin-bottom:16px}.portal-hero h1{font:700 clamp(2.5rem,6vw,5.5rem)/1 Georgia,"Times New Roman",serif;margin:0 0 14px}.portal-hero>p{color:#d8e6f2;font-size:1.1rem;margin:0 auto 32px}.portal-hero-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.portal-hero-stats div{min-width:170px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);padding:18px}.portal-hero-stats strong{display:block;font:700 1.45rem/1.2 Montserrat,sans-serif}.portal-hero-stats span{display:block;margin-top:5px;font:700 .68rem/1.2 Montserrat,sans-serif;letter-spacing:.12em;color:var(--portal-sky);text-transform:uppercase}
.portal-main{width:min(1180px,88%);margin:-28px auto 0;padding-bottom:80px;position:relative}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-card{background:#fff;border:1px solid #e1e5e9;border-radius:14px;padding:clamp(24px,3vw,38px);box-shadow:0 14px 38px rgba(7,28,61,.08)}.portal-card-wide{grid-column:1/-1}.portal-card h2{font:700 clamp(1.45rem,2.4vw,2.05rem)/1.15 Georgia,"Times New Roman",serif;margin:0 0 18px}.portal-card-intro{color:var(--portal-muted);line-height:1.6;margin-top:-6px}.portal-update{border-left:5px solid var(--portal-red)}
.portal-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.88rem;color:var(--portal-muted);margin-bottom:10px}.portal-progress{height:9px;background:#e7ebef;border-radius:99px;overflow:hidden;margin-bottom:24px}.portal-progress span{display:block;height:100%;width:50%;background:linear-gradient(90deg,var(--portal-red),#e24c55);border-radius:inherit}.portal-next{background:#fff0f1;border-left:4px solid var(--portal-red);padding:16px 18px;margin-bottom:20px}.portal-next small{display:block;font:800 .67rem/1.2 Montserrat,sans-serif;letter-spacing:.13em;color:var(--portal-red);text-transform:uppercase;margin-bottom:6px}.portal-timeline{list-style:none;margin:0;padding:0}.portal-timeline li{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--portal-line)}.portal-timeline li:last-child{border-bottom:0}.portal-timeline i{width:12px;height:12px;border-radius:50%;border:2px solid #aeb8c3;margin-top:4px}.portal-timeline .done i{background:var(--portal-red);border-color:var(--portal-red)}.portal-timeline .done strong{text-decoration:line-through;color:#737d87}.portal-timeline strong{font-weight:700}.portal-timeline small{color:var(--portal-muted)}
.portal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-summary div{background:#f5f3ee;padding:18px;border-radius:8px}.portal-summary strong{display:block;font:700 1.25rem/1.25 Montserrat,sans-serif}.portal-summary span{display:block;margin-top:4px;font:700 .65rem/1.3 Montserrat,sans-serif;letter-spacing:.1em;color:var(--portal-muted);text-transform:uppercase}
.portal-tasks{list-style:none;margin:0;padding:0}.portal-tasks li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--portal-line)}.portal-tasks li:last-child{border-bottom:0}.portal-tasks input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--portal-red)}.portal-tasks label{cursor:pointer}.portal-tasks strong{display:block}.portal-tasks small{display:block;color:var(--portal-red);font:700 .68rem/1.3 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:4px 0}.portal-tasks p{color:var(--portal-muted);margin:0;line-height:1.5;font-size:.9rem}
.portal-handling{list-style:none;margin:0;padding:0}.portal-handling li{padding:13px 0 13px 30px;border-bottom:1px solid var(--portal-line);position:relative}.portal-handling li:before{content:"";position:absolute;left:0;top:17px;width:14px;height:14px;border:2px solid #c0c8d0;border-radius:50%}.portal-handling li.done:before{content:"✓";display:grid;place-items:center;background:var(--portal-red);border-color:var(--portal-red);color:#fff;font-size:.6rem}.portal-handling strong{display:block}.portal-handling span{display:block;color:var(--portal-muted);font-size:.9rem;margin-top:3px}
.portal-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-team article{background:#f5f3ee;padding:18px;border-radius:8px}.portal-team small{display:block;color:var(--portal-muted);font:700 .65rem/1.3 Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase}.portal-team strong{display:block;margin:7px 0 4px}.portal-team a{color:var(--portal-blue)}.portal-warning{margin-top:18px;padding:17px;background:#fff0f1;border-left:4px solid var(--portal-red);line-height:1.5}
.portal-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-doc{border:1px dashed #abb5c0;background:#fafafa;padding:20px;border-radius:8px}.portal-doc span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:5px;background:#e8edf2;color:var(--portal-red);font:800 .65rem/1 Montserrat,sans-serif}.portal-doc strong{display:block;margin:12px 0 4px}.portal-doc small{color:var(--portal-muted)}
.portal-contact{display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-contact-actions{display:flex;gap:10px;flex-wrap:wrap}.portal-contact-actions a{min-height:46px;display:inline-flex;align-items:center;padding:0 18px;border-radius:3px;text-decoration:none;font:700 .75rem/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;background:var(--portal-navy);color:#fff}.portal-contact-actions a.secondary{background:#fff;color:var(--portal-navy);border:1px solid var(--portal-navy)}
.portal-private-footer{text-align:center;color:var(--portal-muted);padding:28px 5%;font-size:.82rem}.portal-private-footer a{color:var(--portal-blue)}
@media(max-width:850px){.portal-entry{grid-template-columns:1fr}.portal-entry-copy,.portal-access-panel{padding:60px 7%}.portal-grid{grid-template-columns:1fr}.portal-card-wide{grid-column:auto}.portal-team,.portal-docs{grid-template-columns:1fr}.portal-contact{align-items:flex-start;flex-direction:column}.portal-dash-header{align-items:flex-start}.portal-dash-brand span{display:none}.portal-dash-brand img{width:132px}}
@media(max-width:520px){.portal-main{width:92%}.portal-summary{grid-template-columns:1fr}.portal-hero-stats div{min-width:140px;flex:1}.portal-timeline li{grid-template-columns:18px 1fr}.portal-timeline small{grid-column:2}.portal-dash-header{padding:16px 4%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.portal-demo-banner,.portal-dash-header,.portal-logout,.portal-contact-actions,.privacy-footer-links,.accessibility-footer{display:none!important}.portal-main{width:100%;margin:0}.portal-card{box-shadow:none;break-inside:avoid}.portal-dashboard{background:#fff}}
