.portal,.signin{--teal:#05849b;--teal-bright:#0aa2bd;--teal-deep:#05485a;--ink:#0f2942;--text:#1e293b;--muted:#64748b;--line:#0f294217;font-family:var(--font-geist), system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased}.portal{min-height:100vh;color:var(--text);background:radial-gradient(1100px 560px at 100% -12%,#0aa2bd1f,#0000 60%),radial-gradient(820px 480px at -8% 112%,#05849b17,#0000 55%),#eef1f4}.portal-wrap{max-width:1000px;margin:0 auto;padding:0 20px 64px}.glass{-webkit-backdrop-filter:blur(18px)saturate(140%);background:#ffffffb8;border:1px solid #ffffffbf;border-radius:22px;box-shadow:inset 0 1px #fff9,0 18px 40px -22px #0f294247}.portal-topbar{justify-content:space-between;align-items:center;gap:12px;padding:14px 0 4px;display:flex}.portal-topbar__actions{align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.brand-tile{background:linear-gradient(135deg, var(--teal-bright), var(--teal-deep));border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 8px 18px -8px #05849bb3}.brand-tile svg{width:21px;height:21px}.brand-word{color:var(--ink);letter-spacing:-.015em;font-size:18px;font-weight:800}.brand-word .t{color:var(--teal)}.brand-word--light{color:#fff}.brand-word--light .t{color:#7fdcea}.portal-hero{text-align:center;flex-direction:column;align-items:center;gap:9px;padding:6px 0 4px;display:flex}.client-logo{border:1px solid var(--line);background:#fff;border-radius:17px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden;box-shadow:0 12px 30px -16px #0f294259}.client-logo img{object-fit:contain;max-width:78%;max-height:78%}.client-logo__initial{color:var(--teal);font-size:26px;font-weight:800}.portal-hero h1{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.1}.portal-hero__sub{color:var(--muted);font-size:13.5px}.pill{color:var(--teal);background:#0aa2bd1f;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.p-statgrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0;display:grid}@media (max-width:720px){.p-statgrid{grid-template-columns:repeat(2,1fr)}}.p-stat{padding:13px 16px}.p-stat__label{color:var(--muted);font-size:12.5px;font-weight:500}.p-stat__value{color:var(--ink);letter-spacing:-.03em;margin-top:3px;font-size:26px;font-weight:800;line-height:1.1}.p-stat--accent{background:linear-gradient(155deg, #06788c, var(--teal-deep));border-color:#0000;box-shadow:0 18px 40px -20px #05849bb3}.p-stat--accent .p-stat__label{color:#fffc}.p-stat--accent .p-stat__value{color:#fff}.p-card{padding:22px}.p-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.p-card__title{color:var(--ink);margin:0;font-size:15.5px;font-weight:700}.p-grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:760px){.p-grid2{grid-template-columns:1fr}}.p-btn{background:linear-gradient(180deg, var(--teal-bright), var(--teal));color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:transform .15s,filter .15s;display:inline-flex;box-shadow:0 10px 22px -10px #05849bb3}.p-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.p-btn:disabled{opacity:.6;cursor:default}.p-btn--ghost{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#ffffffb3}.p-btn--sm{border-radius:10px;padding:8px 14px;font-size:13px}.p-input,.p-textarea,.p-select{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffd9;border-radius:11px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.p-input:focus,.p-textarea:focus{border-color:var(--teal-bright);box-shadow:0 0 0 3px #0aa2bd29}.p-textarea{resize:vertical;min-height:82px}.p-label{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.p-muted{color:var(--muted);font-size:13px}.p-status{text-transform:capitalize;font-size:12px;font-weight:600}.p-status--ok{color:#06788c}.p-status--warn{color:#b45309}.portal-hero{position:relative}.portal-hero__glow{filter:blur(60px);z-index:0;pointer-events:none;border-radius:50%;position:absolute}.portal-hero>:not(.portal-hero__glow){z-index:1;position:relative}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:16px;display:grid}.hub-card{text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(18px)saturate(140%);color:inherit;background:#ffffffb8;border:1px solid #ffffffbf;border-radius:22px;width:100%;padding:18px;font-family:inherit;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9,0 18px 40px -24px #0f294242}.hub-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px #ffffffb3,0 30px 60px -26px #05849b6b}.hub-card__icon{color:#056678;background:linear-gradient(135deg,#d2eef4,#a5dde8);border-radius:13px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:12px;display:flex}.hub-card__icon svg{width:23px;height:23px}.hub-card__title{color:var(--ink);font-size:16px;font-weight:700}.hub-card__desc{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.hub-card__badge{color:var(--teal);background:#0aa2bd24;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:20px;right:20px}.hub-card--feature{background:linear-gradient(155deg, #06788c, var(--teal-deep));border-color:#0000;box-shadow:0 22px 46px -22px #05849bbf}.hub-card--feature:hover{box-shadow:0 30px 64px -24px #05849be6}.hub-card--feature .hub-card__title,.hub-card--feature .hub-card__desc{color:#fff}.hub-card--feature .hub-card__desc{color:#ffffffd1}.hub-card--feature .hub-card__icon{color:#fff;background:#ffffff2e}.hub-card--feature .hub-card__badge{color:#fff;background:#fff3}.portal-subhead{align-items:center;gap:14px;margin:8px 0 18px;display:flex}.backlink{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffffb3;border-radius:11px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:transform .15s;display:inline-flex}.backlink:hover{transform:translate(-2px)}.portal-subhead h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800}.view-enter{animation:.32s cubic-bezier(.2,.7,.2,1) viewIn}@keyframes viewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.signin{background:radial-gradient(1000px 600px at 80% -10%,#0aa2bd24,#0000 60%),radial-gradient(700px 500px at -5% 110%,#05849b1a,#0000 55%),#eef1f4;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.signin-card{border-radius:28px;grid-template-columns:1.05fr 1fr;width:100%;max-width:900px;display:grid;overflow:hidden;box-shadow:0 40px 90px -40px #0f29428c}.signin-brand{color:#fff;background:linear-gradient(155deg,#0a3a47 0%,#05485a 60%,#06788c 120%);flex-direction:column;justify-content:space-between;min-height:460px;padding:46px 44px;display:flex;position:relative;overflow:hidden}.signin-brand__glow{filter:blur(50px);border-radius:50%;position:absolute}.signin-brand h2{letter-spacing:-.02em;margin:0 0 10px;font-size:27px;font-weight:800;line-height:1.2;position:relative}.signin-brand p{color:#ffffffb8;margin:0;font-size:14.5px;line-height:1.6;position:relative}.signin-form{background:#fff;flex-direction:column;justify-content:center;padding:46px 44px;display:flex}.signin-form h1{color:var(--ink);letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:800}.signin-form__sub{color:var(--muted);margin:0 0 24px;font-size:14px}.signin-field{margin-bottom:14px}.signin-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:13px}@media (max-width:760px){.signin-card{grid-template-columns:1fr;max-width:420px}.signin-brand{min-height:0;padding:34px}.signin-form{padding:32px}}
