@font-face{font-family:Portal Sans;src:url('./sans.ttf') format('truetype');font-display:swap}
@font-face{font-family:Portal Serif;src:url('./brand-serif.ttf') format('truetype');font-display:swap}
:root{--ink:#102e38;--teal:#1b706a;--paper:#f5f4ef;--line:#dce3dc;--muted:#546b69;--white:#fff;--head:76px;--nav:54px;color:var(--ink);background:var(--paper);font:16px 'Portal Sans',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a{touch-action:manipulation}button:disabled{opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #58a699;outline-offset:3px}
.wrap{width:min(1216px,calc(100% - 80px));margin-inline:auto}.brand{object-fit:contain;width:140px;height:43px;display:block}.portal-header{background:white;border-bottom:1px solid var(--line)}.header-inner{height:var(--head);display:flex;align-items:center;gap:25px}.portal-label{padding-left:24px;border-left:1px solid var(--line);font-size:14px;color:var(--muted)}.account{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:14px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#e7f0eb;color:#1b625b;border-radius:50%}.quiet{background:white;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:6px 13px;cursor:pointer}
.portal-nav{background:var(--ink);color:#d8e5e2}.nav-inner{height:var(--nav);display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:thin}.nav-inner a{padding:0 17px;display:flex;align-items:center;gap:9px;font-size:14px;text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}.nav-inner svg{width:17px;height:17px}.nav-inner a:hover,.nav-inner a[aria-current]{color:white;background:#20434b;border-color:#8bc1ae}
.home{padding:48px 0 22px}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin:0}.intro h1,.login-story h1{font:400 clamp(40px,5vw,63px)/1.06 'Portal Serif',Georgia,serif;letter-spacing:-.035em;margin:12px 0 13px}.intro>p:last-child,.login-story>p:last-of-type{color:var(--muted);margin:0;max-width:480px;line-height:1.55}.areas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0}
.area-card{background:white;padding:23px 25px 19px;border:1px solid var(--line);border-radius:8px;text-decoration:none;display:flex;flex-direction:column;min-height:218px}.area-card:hover{border-color:#86b3a5;background:#fcfefb}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.area-icon{width:38px;height:38px;border-radius:6px;background:#e9f2ed;display:grid;place-items:center;color:var(--teal)}.area-icon svg{width:22px;height:22px}.card-number{color:#728581;font-size:12px;letter-spacing:.1em}.area-card h2,.login-card h2{font:400 30px/1.15 'Portal Serif',Georgia,serif;margin:5px 0 7px}.area-card>p:not(.eyebrow),.login-card>p:not(.eyebrow){color:var(--muted);margin:0 0 14px;line-height:1.45}.card-action{margin-top:auto;padding-top:11px;border-top:1px solid #e8ede7;color:var(--teal);font-size:14px;display:flex;justify-content:space-between}.home-footer{color:var(--muted);font-size:13px;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0}
.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#edf1e9;display:flex;justify-content:center;align-items:flex-start;flex-direction:column;padding:clamp(32px,7vw,100px);border-right:1px solid var(--line)}.login-story .brand{margin-bottom:48px}.login-areas{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.login-areas span{background:#f8faf6;border:1px solid var(--line);border-radius:5px;padding:6px 9px;font-size:13px;display:flex;align-items:center;gap:5px}.login-areas svg{width:15px;height:15px;color:var(--teal)}.login-main{padding:30px;display:grid;place-items:center}.login-card{width:min(100%,400px);background:white;padding:29px;border:1px solid var(--line);border-radius:8px}.login-card h2{margin:10px 0}.login-card form{display:grid;gap:13px;margin-top:20px}.login-card label{display:grid;gap:5px;font-size:14px}.login-card input{height:43px;border:1px solid #bacbc3;border-radius:5px;background:#fff;color:var(--ink);padding:8px 10px;width:100%}.login-card small{color:var(--muted)}.primary{background:var(--ink);color:white;cursor:pointer;border:0;border-radius:5px;padding:10px}.form-status{font-size:13px;color:#8e4230;min-height:1em;margin:0}.text-link{font-size:14px;color:var(--teal)}
.workspace-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.workspace{flex:1;min-height:0;display:flex;flex-direction:column}.workspace iframe{width:100%;flex:1;border:0;min-height:0;background:var(--paper)}.subnav{display:flex;align-items:center;gap:9px;padding:9px 0;color:var(--muted);font-size:13px}.subnav a{color:var(--teal)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:10;left:14px;top:12px;padding:9px 14px;background:white;color:var(--ink)}
@media(max-width:730px){:root{--head:61px;--nav:48px}.wrap{width:calc(100% - 34px)}.portal-label,.user-name,.avatar{display:none}.brand{width:118px;height:36px}.nav-inner{width:100%;padding-inline:7px}.nav-inner a{padding:0 10px;font-size:13px;gap:6px}.nav-inner svg{width:15px;height:15px}.home{padding-top:33px}.areas-grid{grid-template-columns:1fr;margin-top:22px}.area-card{min-height:190px;padding:18px}.login-layout{grid-template-columns:1fr}.login-story{padding:25px 22px 23px;border-right:0;border-bottom:1px solid var(--line)}.login-story .brand{margin-bottom:20px}.login-story h1{font-size:39px}.login-story>p:last-of-type{font-size:14px}.login-areas{margin-top:15px}.login-main{padding:20px 17px 28px}.login-card{padding:22px}}
@media(max-width:460px){
  .nav-inner{height:auto;flex-wrap:wrap;padding-inline:8px}
  .nav-inner a{min-height:40px}
}

.portal-header .header-inner,
.portal-nav .nav-inner,
.workspace .subnav{
  width:100%;
  max-width:1740px;
  padding-inline:32px;
}
.workspace .subnav{
  min-height:34px;
}
@media(max-width:760px){
  .portal-header .header-inner,
  .portal-nav .nav-inner,
  .workspace .subnav{padding-inline:16px}
}
@media(max-width:460px){
  .portal-nav .nav-inner{padding-inline:8px}
}
.recovery-note{font-size:13px;color:var(--muted);padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.recovery-note summary{cursor:pointer}.recovery-note p{max-width:85ch;margin:8px 0 0}
