.access-hidden,[hidden]{display:none!important}body.access-locked{display:block;background:#f3f6fa}body.access-locked>.sidebar,body.access-locked>main,body.access-locked>#editor{display:none}.access-shell{max-width:1160px;margin:6vh auto;display:grid;grid-template-columns:1fr 1fr;gap:38px;padding:24px}.access-intro{border-radius:24px;background:linear-gradient(135deg,#153c49,#1a7564);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:center}.access-intro>img{background:#fff;border-radius:12px;padding:12px;width:220px;margin-bottom:36px}.access-kicker{display:block;font-size:.72rem;font-weight:650;letter-spacing:.085em;text-transform:uppercase;color:#638077}.access-intro .access-kicker{color:#b5ded1}.access-intro h1{font-size:2rem;line-height:1.2;margin:16px 0}.access-intro>p{color:#d7e8e2;font-size:.92rem;line-height:1.7}.access-portals{display:grid;gap:12px;margin:24px 0}.access-portals article{padding:16px;border:1px solid #ffffff28;border-radius:12px;background:#ffffff0c}.access-portals strong,.access-portals span{display:block}.access-portals span{font-size:.8rem;color:#cde6dc;margin-top:5px}.access-provider{display:flex;align-items:center;gap:9px;font-size:10px;margin-top:auto;padding-top:25px}.access-provider img{width:90px;background:#fff;padding:4px;border-radius:4px}.access-card{align-self:center;padding:32px 35px;background:#fff;border:1px solid #dae5e3;border-radius:20px;box-shadow:0 12px 40px #21453c08}.access-card h2{font-size:1.55rem;line-height:1.3;color:#234e48;margin:10px 0}.access-card>p{font-size:.87rem;line-height:1.7;color:#647b74}.access-card label,.access-dialog label{display:grid;gap:7px;font-size:.85rem;color:#435f58;margin-top:19px}.access-card input,.access-dialog input,.access-dialog select{width:100%;min-height:44px}.access-card form>.primary{width:100%;margin-top:25px;min-height:46px}.access-card form>small{display:block;font-size:.76rem;margin-top:12px;color:#657c73}.access-footnote{display:block;font-size:.72rem;color:#6d8179;margin-top:24px}.access-first{padding:15px;background:#f1f7f4;border-radius:10px;margin-top:22px;font-size:.82rem}.access-first p{margin:5px 0 0}.access-person{padding:14px;background:#eff6f3;border-radius:9px;font-size:.85rem;margin-top:15px}.access-identity{display:grid;gap:3px;color:#d9e9e5;font-size:.76rem;margin-top:18px}.access-identity>strong{font-size:.86rem;color:#fff}.access-identity button{color:#dcece7;border-color:#ffffff30;background:transparent;font-size:.76rem;margin-top:8px}.access-nav{padding-top:15px;border-top:1px solid #ffffff23;margin-top:15px;display:grid;gap:4px}.access-portal-label{color:#a9d1c5;font-size:.68rem;letter-spacing:.075em;text-transform:uppercase;margin:10px 0 16px}.client-area .sidebar{background:#184b48}.client-company{margin:8px 0 20px;color:#e2f1e9;font-weight:650}.client-area .topbar{padding:18px 22px;background:#fff;border:1px solid #e0ebe7;border-radius:15px}.client-area .chub-dash-hero h2{font-size:clamp(1.5rem,2.3vw,2rem);max-width:600px}.access-readonly-control{display:none!important}.is-readonly #editor-body input,.is-readonly #editor-body select,.is-readonly #editor-body textarea{opacity:1;color:#34534c;background:#f6faf7;border-color:#e0eae5}.access-user-hero{padding:26px 30px;border:1px solid #dce9e4;border-radius:16px;background:linear-gradient(110deg,#edf7f2,#f5f9fb);margin-bottom:22px}.access-user-hero h2{margin:10px 0;font-size:1.55rem;color:#245447}.access-user-hero p{max-width:900px;color:#607b70;font-size:.9rem;line-height:1.7}.access-user-form{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:16px;align-items:end}.access-user-form label{font-size:.8rem;min-width:0}.access-user-form button,.access-user-form .error{grid-column:1/-1;justify-self:start}.access-password-form{max-width:600px;display:grid;gap:18px}.access-password-form label{display:grid;gap:8px;font-size:.85rem}.access-password-form .primary{justify-self:start}.access-dialog{width:min(600px,calc(100vw - 28px));border:1px solid #d9e6df;border-radius:16px;padding:0;max-height:calc(100dvh - 28px);overflow:auto}.access-dialog-body{padding:27px}.access-dialog h2{margin:0 0 15px;color:#285848}.access-dialog p{font-size:.87rem;line-height:1.65;color:#5b7569}.access-dialog .actions{margin-top:24px}.access-dialog .access-check{display:flex;align-items:center;gap:10px}.access-check input{width:auto;min-height:0}.access-dialog-body>button{margin-top:20px}.sidebar .access-area-link{color:#ddf2e9;font-size:.8rem;text-decoration:none;display:block;padding:9px 0}
@media(max-width:900px){.access-shell{gap:20px;margin:3vh auto}.access-intro{padding:28px}.access-intro h1{font-size:1.65rem}.access-card{padding:28px}.access-user-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.access-shell{grid-template-columns:1fr;padding:14px;margin:0}.access-intro{padding:24px}.access-intro>img{width:170px;margin-bottom:18px}.access-intro h1{font-size:1.45rem}.access-intro>p,.access-portals{display:none}.access-provider{padding-top:10px}.access-card{padding:24px}.access-user-form{grid-template-columns:1fr}.client-area .topbar{padding:16px}.access-identity{margin:8px 0}.access-identity button{justify-self:start}.access-user-hero{padding:22px}.access-dialog-body{padding:22px}}

.access-user-actions{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.access-user-actions .link-button{font-size:.82rem;white-space:nowrap}

/* Common sign-in: company workspace, with no administration choices. */
.access-shell{max-width:1080px;gap:32px;align-items:stretch;margin:5vh auto;min-height:550px}
.access-intro{padding:38px;justify-content:space-between;background:radial-gradient(ellipse at 100% 0%,#ffffff0c,transparent 65%),linear-gradient(145deg,#173d4b,#1c7163)}
.access-brand{width:fit-content;max-width:100%;padding:16px 18px 12px;background:#fff;border-radius:14px}
.access-brand>img{display:block;width:200px;max-width:100%;height:auto}
.access-brand .access-provider{justify-content:center;margin:8px 0 0;padding:0;color:#6e7f85;font-size:9px;gap:6px}
.access-brand .access-provider img{width:76px;height:auto;max-height:19px;padding:0;background:none;border-radius:0}
.access-intro-copy{margin-top:38px}
.access-intro-copy h1{font-size:clamp(1.6rem,2.7vw,2.15rem);line-height:1.22;letter-spacing:-.035em;margin:14px 0 18px}
.access-intro-copy p{font-size:.91rem;color:#d4e9e1;line-height:1.75;max-width:35ch}
.access-highlights{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 0}
.access-highlights span{border:1px solid #ffffff30;border-radius:20px;padding:6px 11px;background:#ffffff08;font-size:.72rem;color:#e2f2eb}
.access-card{padding:35px 34px;align-self:center}
.access-field{margin-top:19px}
.access-card .access-field>label{display:block;margin:0 0 7px}
.access-password-field{position:relative}
.access-password-field input{padding-right:88px}
.access-password-field button{position:absolute;right:7px;top:7px;min-height:30px;padding:4px 9px;background:#eef5f2;border:0;border-radius:6px;color:#286457;font-size:.72rem;line-height:1.4}
.access-password-field button:hover{background:#dcece4}
.access-password-field button:focus-visible{outline:2px solid #327d69;outline-offset:2px}
.access-help{margin-top:22px;font-size:.8rem;color:#5c786d}
.access-help summary{cursor:pointer;width:fit-content;color:#306858;font-weight:600;text-underline-offset:3px}
.access-help summary:hover{text-decoration:underline}
.access-help summary:focus-visible{outline:2px solid #327d69;outline-offset:5px;border-radius:3px}
.access-help p{font-size:.78rem;line-height:1.65;margin:12px 0 0;max-width:43ch}
@media(max-width:900px){.access-shell{gap:22px;min-height:520px}.access-intro{padding:28px}.access-card{padding:28px}.access-highlights{gap:7px}.access-highlights span{font-size:.68rem}}
@media(max-width:650px){.access-shell{min-height:0;gap:16px;margin:0;padding:14px;max-width:480px}.access-intro{padding:22px}.access-brand{padding:10px 13px 8px}.access-brand>img{width:150px}.access-brand .access-provider{margin-top:6px;font-size:8px}.access-brand .access-provider img{width:65px}.access-intro-copy{margin-top:21px}.access-intro-copy>.access-kicker,.access-intro-copy p,.access-highlights{display:none}.access-intro-copy h1{font-size:1.3rem;margin:0;line-height:1.3}.access-card{padding:25px 23px;width:100%;min-width:0}.access-card h2{font-size:1.35rem}.access-help{margin-top:18px}}

/* Shared loading state: only the S-HUB node, without visible text. */
.shub-loader{display:grid;place-items:center;min-height:220px;padding:28px 18px}
.shub-loader-motion{display:block;line-height:0;animation:shub-logo-appear .85s ease-out both}
.shub-loader-logo{display:block;width:116px;max-width:100%;height:auto;animation:shub-logo-spin 12s linear infinite;transform-origin:50% 50%;filter:drop-shadow(0 8px 16px #173f4a0c)}
.shub-loader--screen{min-height:100vh;min-height:100dvh;padding:24px;background:#f5f8fa}
.shub-loader--screen .shub-loader-logo{width:176px}
@keyframes shub-logo-appear{from{opacity:0;transform:translateY(5px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes shub-logo-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:400px){.shub-loader--screen .shub-loader-logo{width:156px}}
@media(prefers-reduced-motion:reduce){.shub-loader-motion,.shub-loader-logo{animation:none;transform:none}}
