:root{--hub-portal-bg:#f4f7fb;--hub-text:#1a1a2e;--hub-muted:#5d6472;--hub-primary:#fff;--hub-primary-dark:#fff;--hub-primary-strong:#004d981f;--hub-radius:20px;--hub-shadow:0 8px 24px #004d981a;--hub-cyan:#004d98;--portal-accent:#004d98;--portal-accent-soft:#004d981a;--portal-title-tracking:-.03em;--portal-font-weight-normal:400;--portal-font-weight-semibold:600;--portal-space-1:.5rem;--portal-space-sm:.65rem;--portal-space-md:1rem;--portal-space-lg:1.5rem;--portal-radius-input:12px;--portal-radius-cta:14px;--portal-radius-md:16px;--portal-border:#dde3ee;--portal-tab-min-height:2.75rem}.hub-portal.hub-portal-shell--guest{min-height:100dvh;color:var(--hub-text);background:radial-gradient(ellipse 100% 80% at 50% -10%, #004d980f, transparent 50%), radial-gradient(ellipse 60% 40% at 0% 0%, #004d980a, transparent 46%), radial-gradient(ellipse 50% 40% at 100% 10%, #004d9808, transparent 40%), var(--hub-portal-bg);padding:clamp(1rem,2.5vw,2.25rem);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.hub-portal-shell{gap:var(--portal-space-md);flex-direction:column;max-width:1180px;margin:0 auto;display:flex}.hub-portal-shell--guest{justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex}.hub-portal-shell__guest{border:1px solid var(--portal-border);border-radius:var(--hub-radius);background:var(--hub-primary);width:100%;max-width:420px;box-shadow:var(--hub-shadow);margin:0 auto;padding:clamp(1.25rem,2.5vw,2rem)}.hub-portal-shell__guest h1{letter-spacing:var(--portal-title-tracking);color:var(--hub-text);margin:0 0 .5rem;font-size:clamp(1.35rem,3vw,1.65rem);font-weight:600;line-height:1.2}.hub-portal-shell--guest .hub-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--hub-cyan);margin:0 0 .45rem;font-size:.78rem;font-weight:700}.hub-portal-shell__guest-toolbar .hub-kicker{color:var(--portal-accent);margin:0}.hub-portal-shell--guest .hub-lead{max-width:52ch;color:var(--hub-muted);margin:.35rem 0 0;font-size:1.0625rem;line-height:1.5}.hub-portal-shell__guest-toolbar{justify-content:space-between;align-items:center;gap:var(--portal-space-md);margin-bottom:var(--portal-space-sm);display:flex}.hub-portal-shell__toolbar-end{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.hub-portal-shell__pwa .pwa-install-banner__actions{flex-direction:row;gap:.5rem;margin-top:0}.hub-portal-shell__pwa .pwa-install-banner__button{border-color:var(--portal-border);color:var(--hub-text);background:var(--hub-portal-bg)}.hub-portal-shell__pwa .pwa-install-banner__button:hover,.hub-portal-shell__pwa .pwa-install-banner__button:focus-visible{background:var(--portal-accent-soft);border-color:#004d983d}.hub-portal-shell__pwa .pwa-install-banner__details{color:var(--hub-muted);font-size:.85rem}.hub-portal-shell__pwa .pwa-install-banner__details summary{color:var(--hub-text)}.hub-portal-shell__guest-actions{justify-content:center;gap:var(--portal-space-sm);margin-top:var(--portal-space-lg);flex-wrap:wrap;display:flex}.hub-portal-shell__back-link{color:var(--portal-accent);font-size:.92rem;font-weight:var(--portal-font-weight-semibold);text-decoration:none;transition:color .16s}.hub-portal-shell__back-link:hover,.hub-portal-shell__back-link:focus-visible{color:#003b76;text-underline-offset:.15em;text-decoration:underline}.portal-auth{margin-top:var(--portal-space-lg)}.portal-auth__title{margin:0 0 var(--portal-space-md);font-size:1.05rem;font-weight:var(--portal-font-weight-semibold);letter-spacing:var(--portal-title-tracking);color:var(--hub-text)}.portal-auth__prompt,.portal-auth__error,.portal-auth__field{margin-bottom:var(--portal-space-md)}.portal-auth__field:last-of-type{margin-bottom:var(--portal-space-sm)}.portal-auth__field-hint{color:var(--hub-muted);margin:.5rem 0 0;font-size:.8rem;line-height:1.35}.portal-auth__forgot{margin-top:var(--portal-space-sm)}.portal-auth__actions{align-items:stretch;gap:var(--portal-space-sm);margin-top:var(--portal-space-md);flex-direction:column;display:flex}.portal-auth__back{align-self:flex-start;min-height:auto!important}.portal-auth__submit{width:100%}.hub-portal.hub-portal-shell--guest .btn{min-height:var(--portal-tab-min-height);border-radius:var(--portal-radius-cta);font-weight:var(--portal-font-weight-semibold);letter-spacing:-.01em;padding:.55rem 1.15rem;font-size:.92rem;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}.hub-portal.hub-portal-shell--guest .btn-primary{background:linear-gradient(180deg, var(--portal-accent), #003b76);border-color:#0000;box-shadow:0 4px 14px #004d9838}.hub-portal.hub-portal-shell--guest .btn-primary:hover,.hub-portal.hub-portal-shell--guest .btn-primary:focus-visible{background:linear-gradient(180deg, #005bb8, var(--portal-accent));border-color:#0000;box-shadow:0 6px 18px #004d9847}.hub-portal.hub-portal-shell--guest .btn-link{min-height:auto;color:var(--portal-accent);font-weight:var(--portal-font-weight-semibold);text-underline-offset:.15em;border-radius:0;padding:0;text-decoration:underline}.hub-portal.hub-portal-shell--guest .btn-link:hover,.hub-portal.hub-portal-shell--guest .btn-link:focus-visible{color:#003b76}.hub-portal.hub-portal-shell--guest .form-label{margin-bottom:var(--portal-space-1);color:var(--hub-muted);font-size:.82rem;font-weight:var(--portal-font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.hub-portal.hub-portal-shell--guest .form-control,.hub-portal.hub-portal-shell--guest .form-select{min-height:var(--portal-tab-min-height);border:1px solid var(--portal-border);border-radius:var(--portal-radius-input);color:var(--hub-text);font-size:.95rem;font-weight:var(--portal-font-weight-normal);background:#fff;padding:.65rem .85rem}.hub-portal.hub-portal-shell--guest .form-select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:.94rem}.hub-portal.hub-portal-shell--guest .form-select option{color:var(--hub-text);background-color:#fff}.hub-portal.hub-portal-shell--guest .form-select option:checked{background-color:var(--portal-accent-soft);color:var(--hub-text)}.hub-portal.hub-portal-shell--guest .form-control::placeholder{color:#5d6472b8}.hub-portal.hub-portal-shell--guest .form-control:focus,.hub-portal.hub-portal-shell--guest .form-select:focus{box-shadow:0 0 0 .2rem var(--portal-accent-soft);color:var(--hub-text);background:#fff;border-color:#004d988c}.hub-portal.hub-portal-shell--guest .form-control:disabled,.hub-portal.hub-portal-shell--guest .form-control[readonly],.hub-portal.hub-portal-shell--guest .form-select:disabled{border-color:var(--portal-border);background:var(--hub-portal-bg);color:#5d6472b8;opacity:1}.hub-portal.hub-portal-shell--guest .btn-outline-secondary{border-color:var(--portal-border);color:var(--hub-muted);background:var(--hub-portal-bg)}.hub-portal.hub-portal-shell--guest .btn-outline-secondary:hover,.hub-portal.hub-portal-shell--guest .btn-outline-secondary:focus-visible{background:var(--portal-accent-soft);color:var(--portal-accent);border-color:#004d983d}.hub-portal.hub-portal-shell--guest .input-group,.hub-portal.hub-portal-shell--guest .input-group .form-control,.hub-portal.hub-portal-shell--guest .input-group .btn{border-radius:var(--portal-radius-input)}.hub-portal.hub-portal-shell--guest .alert{border-radius:var(--portal-radius-md);border-style:solid;border-width:1px}.hub-portal.hub-portal-shell--guest .alert-info{background:var(--portal-accent-soft);color:var(--hub-muted);border-color:#004d983d}.hub-portal.hub-portal-shell--guest .alert-danger{color:#991b1b;background:#dc262614;border-color:#dc262647}.hub-portal.hub-portal-shell--guest .hub-portal-shell__guest{border:1px solid var(--portal-border);background:var(--hub-primary);box-shadow:var(--hub-shadow)}.hub-portal.hub-portal-shell--guest .hub-portal-shell__guest h1{color:var(--hub-text)}.hub-portal.hub-portal-shell--guest .hub-portal-shell__back-link{color:var(--portal-accent)}.hub-portal.hub-portal-shell--guest .hub-portal-shell__back-link:hover,.hub-portal.hub-portal-shell--guest .hub-portal-shell__back-link:focus-visible{color:#003b76}.hub-portal.hub-portal-shell--guest .hub-portal-shell__pwa .pwa-install-banner__button{border-color:var(--portal-border);color:var(--hub-text);background:var(--hub-portal-bg)}.hub-portal.hub-portal-shell--guest .hub-portal-shell__pwa .pwa-install-banner__details,.hub-portal.hub-portal-shell--guest .hub-portal-shell__pwa .pwa-install-banner__details summary{color:var(--hub-muted)}
