.portal-root{--portal-ink:#132d42;--portal-muted:#526574;--portal-accent:#12617a;min-height:100vh;color:var(--portal-ink);background:#f6f8f8;flex-direction:column;display:flex}.portal-root a{text-underline-offset:5px}.portal-root button,.portal-root input{font:inherit}.portal-root :focus-visible{outline-offset:5px;outline:3px solid #b58543}.portal-header{background:#fff;border-bottom:1px solid #dce4e6;justify-content:space-between;align-items:center;gap:24px;padding:24px max(5vw,20px);display:flex}.portal-brand{align-items:center;gap:20px;text-decoration:none;display:flex}.portal-brand>span{font-family:IBM Plex Sans,sans-serif;font-size:32px;font-weight:600;line-height:1}.portal-brand>span>span{color:#318198}.portal-brand small{border-inline-start:1px solid #dce4e6;padding-inline-start:20px;font-size:14px;font-weight:500}.portal-header nav{align-items:center;gap:24px;font-size:14px;display:flex}.portal-header nav a{text-decoration:none}.portal-text-button{color:var(--portal-muted);cursor:pointer;background:0 0;border:0;padding:0}.portal-main{flex:1;width:min(1140px,90%);margin:0 auto;padding:64px 0 80px}.portal-main h1{white-space:pre-line;letter-spacing:-.025em;margin:12px 0 20px;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.5}.portal-main h2{margin:0 0 16px;font-size:23px;font-weight:500}.portal-main p{color:var(--portal-muted);line-height:1.95}.portal-eyebrow{letter-spacing:.06em;font-size:12px;font-weight:600;color:var(--portal-accent)!important}.portal-login-grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(36px,7vw,100px);min-height:530px;display:grid}.portal-login-intro>p{max-width:470px}.portal-login-intro h1{font-size:clamp(40px,4.8vw,62px);line-height:1.45}.portal-sabaj-preview{border-top:1px solid #dce4e6;align-items:center;gap:24px;margin-top:44px;padding-top:28px;display:flex}.portal-sabaj-preview img{object-fit:contain;width:110px;height:auto}.portal-sabaj-preview strong{margin-bottom:8px;font-weight:500;display:block}.portal-sabaj-preview a{color:var(--portal-muted);font-size:13px}.portal-login-card{background:#fff;border:1px solid #dce4e6;border-radius:18px;padding:clamp(24px,3.5vw,44px);box-shadow:0 16px 55px #17364408}.portal-lock{width:46px;height:46px;color:var(--portal-accent);background:#edf4f5;border-radius:12px;place-items:center;margin-bottom:25px;display:grid}.portal-lock svg{width:25px;height:25px}.portal-google{color:#243a48;cursor:pointer;background:#fff;border:1px solid #bac7cf;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;margin-top:28px;padding:15px 16px;font-weight:500;display:flex}.portal-google:hover:enabled{background:#f3f7f8;border-color:#12617a}.portal-google:disabled{cursor:not-allowed;color:#64717c;background:#f5f7f8}.portal-small{margin-top:22px;font-size:12px}.portal-notice{background:#faf6ed;border-inline-start:3px solid #a87936;border-radius:4px;padding:14px 18px;font-size:14px;color:#705326!important}.portal-success{background:#ebf4ee;padding:14px 18px;color:#285b3c!important}.portal-footer{color:var(--portal-muted);border-top:1px solid #dce4e6;justify-content:space-between;gap:20px;padding:25px 5vw;font-size:12px;display:flex}.portal-account{text-align:start;overflow-wrap:anywhere;font-family:IBM Plex Sans,sans-serif;font-size:14px}.portal-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.portal-project-card{background:#fff;border:1px solid #dce4e6;border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;min-height:240px;padding:30px;text-decoration:none;display:flex}.portal-project-card img{width:120px;height:auto}.portal-project-card h2{font-size:22px}.portal-project-card>span:last-child{color:var(--portal-accent);margin-top:auto;font-size:14px}.portal-empty{background:#fff;border:1px solid #dce4e6;border-radius:12px;margin:32px 0;padding:32px}.portal-empty p{max-width:680px}.portal-button{border:1px solid var(--portal-accent);background:var(--portal-accent);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;font-size:14px;text-decoration:none;display:inline-flex}.portal-revoke{color:#854833;background:#fff;border-color:#d4bcb5}.portal-back{margin-bottom:28px;font-size:14px;display:inline-block}.portal-documents{margin-top:52px}.portal-documents ul{padding:0;list-style:none}.portal-documents li{border-bottom:1px solid #dce4e6;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.portal-documents li a{font-size:14px}.portal-user-list{gap:24px;margin-top:40px;display:grid}.portal-user{background:#fff;border:1px solid #dce4e6;border-radius:12px;grid-template-columns:1fr 1.5fr;gap:30px;padding:28px;display:grid}.portal-user h2{margin-bottom:8px;font-size:20px}.portal-permission{border-bottom:1px solid #e8edef;justify-content:space-between;align-items:center;gap:24px;padding:14px 0;display:flex}.portal-permission:last-child{border:0}.portal-permission small{color:var(--portal-muted);margin-top:5px;font-size:12px;display:block}.portal-pagination{justify-content:space-between;gap:24px;margin-top:24px;display:flex}.portal-public-access-link{text-underline-offset:5px;margin-top:20px;font-weight:500;display:inline-block}@media (max-width:800px){.portal-login-grid{grid-template-columns:1fr;gap:36px;min-height:auto}.portal-main{padding-top:38px}.portal-login-intro h1{white-space:normal;font-size:40px}.portal-login-intro>p{max-width:none}.portal-sabaj-preview{margin-top:26px}.portal-project-grid{grid-template-columns:1fr 1fr}.portal-user{grid-template-columns:1fr}.portal-header{flex-wrap:wrap}.portal-header nav{gap:20px}.portal-login-card{width:100%;max-width:560px}.portal-permission{gap:14px}}@media (max-width:480px){.portal-brand small{padding-inline-start:12px;font-size:12px}.portal-brand{gap:12px}.portal-header nav{flex-wrap:wrap;font-size:13px}.portal-project-grid{grid-template-columns:1fr}.portal-footer{flex-direction:column}.portal-sabaj-preview{align-items:flex-start;gap:18px}.portal-sabaj-preview img{width:80px}.portal-empty,.portal-user{padding:22px}.portal-permission,.portal-documents li{flex-direction:column;align-items:flex-start}}
