/* HTCW-P0014B2 — secure identity, portal and SuperAdmin operational settings */
.site-header{position:sticky!important;top:0!important;z-index:1000!important;transform:none!important;transition:box-shadow .25s ease,background-color .25s ease!important}.header-action-cluster{display:flex;align-items:center;gap:.52rem;flex:0 0 auto}.header-action-button{white-space:nowrap}.header-action-secondary{background:linear-gradient(135deg,#102c58,#1c4f85);box-shadow:0 10px 24px rgba(5,24,54,.18)}.header-signout-form{margin:0;display:inline-flex}.header-signout-form button{border:0;cursor:pointer}.account-shell{min-height:70vh;padding:7rem 1.25rem;background:radial-gradient(circle at 20% 10%,rgba(16,167,220,.12),transparent 30%),linear-gradient(180deg,#f8fbff,#eef4fb);display:grid;place-items:start center}.account-card,.portal-card,.admin-card{width:min(760px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(10,104,166,.18);border-radius:1.6rem;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 24px 70px rgba(6,30,65,.12)}.account-card h1,.portal-card h1,.admin-card h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.03;letter-spacing:-.045em;margin:.75rem 0 1rem;color:#071a37}.account-card>p,.portal-card>p,.admin-card>p{color:#52657f}.account-form{display:grid;gap:1rem;margin-top:2rem}.account-form label{display:grid;gap:.42rem;font-size:.82rem;font-weight:800;color:#15375d}.account-form input,.account-form select{width:100%;border:1px solid rgba(13,95,151,.2);border-radius:.85rem;padding:.92rem 1rem;background:#fbfdff;color:#0b1c36;font:inherit;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.account-form input:focus,.account-form select:focus{border-color:#14a9da;box-shadow:0 0 0 4px rgba(20,169,218,.12)}.account-form small{font-weight:500;color:#728199}.account-submit{border:0;cursor:pointer;margin-top:.35rem}.account-alert{margin:1rem 0;padding:.9rem 1rem;border-radius:.9rem;background:#fff4e9;border:1px solid #f2c08f;color:#713a08}.account-alert.success{background:#ecfbf5;border-color:#91ddc1;color:#0b593c}.account-footnote,.account-links{font-size:.9rem;margin-top:1.25rem}.account-links{display:flex;justify-content:space-between;gap:1rem}.account-links a,.account-footnote a{color:#0878b5;font-weight:800}.portal-grid,.admin-roadmap,.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.portal-grid article,.admin-roadmap article,.admin-summary article,.mail-security-note,.mail-status{display:grid;gap:.4rem;padding:1.15rem;border:1px solid rgba(13,95,151,.13);border-radius:1rem;background:#f8fbff}.portal-grid strong,.admin-roadmap strong,.admin-summary strong,.mail-security-note strong,.mail-status strong{color:#071a37}.portal-grid span,.admin-roadmap span,.admin-summary span,.mail-security-note span,.mail-status span,.mail-status small{color:#64758c}.admin-card{width:min(1040px,100%)}.admin-summary{grid-template-columns:repeat(3,1fr)}.admin-summary strong{font-size:1.2rem}.admin-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.admin-roadmap{grid-template-columns:repeat(2,1fr)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.check-label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.65rem!important}.check-label input{width:auto!important}.mail-test-form{margin-top:1rem}.mail-test-form button{border:1px solid rgba(10,104,166,.2);cursor:pointer}.mail-status{margin:1.25rem 0}.mail-security-note{margin-top:1.5rem}.admin-setup-shell .account-card{border-color:rgba(138,90,214,.25)}
@media(max-width:1180px){.primary-nav{gap:16px}.nav-links{gap:15px}.header-action-cluster{gap:.35rem}.header-action-button{padding:9px 12px!important;font-size:.75rem!important}}
@media(max-width:1100px){.header-action-cluster{display:none}.site-header{top:0}.mobile-menu{margin-left:auto}.account-shell{padding-top:5rem}.portal-grid,.admin-summary{grid-template-columns:1fr}.admin-roadmap,.settings-grid{grid-template-columns:1fr}}
@media(max-width:640px){.account-shell{padding:3.5rem .8rem}.account-card,.portal-card,.admin-card{border-radius:1.1rem;padding:1.25rem}.account-links{flex-direction:column}.admin-actions{flex-direction:column}.admin-actions .button{width:100%}}

/* P0014B2C — balanced header + luminous account actions + private signup flow */
@keyframes htcwHeaderActionGlow {
  0%,100% { box-shadow:0 0 0 1px rgba(38,204,255,.35),0 8px 22px rgba(0,89,176,.18),0 0 14px rgba(37,211,255,.22); }
  50% { box-shadow:0 0 0 1px rgba(168,99,255,.55),0 10px 28px rgba(0,89,176,.26),0 0 24px rgba(79,219,255,.48); }
}
@keyframes htcwHeaderActionSweep {
  to { transform:translateX(220%) rotate(16deg); }
}
@media(min-width:1101px){
  .primary-nav.container{
    width:min(1480px,calc(100% - 44px));
    display:grid;
    grid-template-columns:minmax(295px,1fr) auto minmax(250px,1fr);
    align-items:center;
    column-gap:clamp(.75rem,1.4vw,1.5rem);
    min-height:88px;
  }
  .brand-lockup{justify-self:start;margin:0;min-width:0}
  .brand-lockup img{flex:0 0 auto}
  .brand-lockup span{display:flex;min-width:0}
  .nav-links{justify-self:center;gap:clamp(.25rem,.55vw,.7rem);white-space:nowrap}
  .nav-links>a,.nav-dropdown>summary{font-size:clamp(.76rem,.68vw,.88rem);padding-inline:clamp(.3rem,.5vw,.6rem)}
  .header-action-cluster{
    justify-self:end;
    width:clamp(224px,15vw,258px);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.38rem;
    margin:0;
    align-items:stretch;
  }
  .header-action-cluster>.header-action-button:first-child{grid-column:1 / -1}
  .header-signout-form{grid-column:1 / -1;width:100%}
  .header-signout-form .header-action-button{width:100%}
  .header-action-button{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-width:0!important;
    min-height:34px;
    padding:.52rem .68rem!important;
    border:1px solid rgba(67,219,255,.9)!important;
    border-radius:999px!important;
    font-size:.71rem!important;
    line-height:1.05;
    text-align:center;
    animation:htcwHeaderActionGlow 2.35s ease-in-out infinite;
  }
  .header-action-button::after{
    content:'';position:absolute;z-index:-1;top:-45%;left:-55%;width:34%;height:190%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
    transform:translateX(-160%) rotate(16deg);animation:htcwHeaderActionSweep 3.6s ease-in-out infinite;pointer-events:none
  }
  .header-action-button:hover,.header-action-button:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 2px rgba(62,219,255,.35),0 12px 30px rgba(0,104,190,.3),0 0 28px rgba(88,219,255,.65)}
  .header-action-secondary{border-color:rgba(131,183,255,.85)!important}
}
@media(min-width:1101px) and (max-width:1280px){
  .primary-nav.container{width:calc(100% - 24px);grid-template-columns:minmax(250px,1fr) auto minmax(205px,1fr);column-gap:.55rem}
  .brand-lockup img{width:86px;height:auto}
  .brand-lockup strong{font-size:1.15rem}
  .brand-lockup small{font-size:.62rem;max-width:180px}
  .nav-links{gap:.08rem}
  .nav-links>a,.nav-dropdown>summary{font-size:.69rem;padding-inline:.24rem}
  .header-action-cluster{width:205px;gap:.28rem}
  .header-action-button{font-size:.64rem!important;padding:.44rem .48rem!important}
}
.password-policy-card{display:grid;gap:.42rem;padding:1rem 1.05rem;border-radius:1rem;border:1px solid rgba(11,125,184,.16);background:linear-gradient(145deg,#f7fbff,#eef7ff);color:#52657f;margin-top:-.25rem;font-size:.82rem}
.password-policy-card strong{color:#0a2447}
.password-policy-card span{position:relative;padding-left:1.25rem}
.password-policy-card span::before{content:'✓';position:absolute;left:0;color:#0a9a73;font-weight:900}
@media(prefers-reduced-motion:reduce){.header-action-button{animation:none!important}.header-action-button::after{animation:none!important}}

/* P0014B3A — Google external identity provider */
.external-login-form { margin-top: 1.35rem; }
.external-login-button { width: 100%; min-height: 3.15rem; border: 1px solid rgba(29,78,216,.2); border-radius: 999px; background: #fff; color: #0b1d3a; display: flex; align-items: center; justify-content: center; gap: .72rem; font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 10px 28px rgba(8,21,47,.1); position: relative; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.external-login-button::before { content: ""; position: absolute; inset: -2px; border-radius: inherit; padding: 2px; background: conic-gradient(from 0deg, #4285f4, #34a853, #fbbc05, #ea4335, #4285f4); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: p0014b3-google-ring 4s linear infinite; pointer-events: none; }
.external-login-button:hover { transform: translateY(-1px); box-shadow: 0 14px 34px rgba(8,21,47,.16); }
.external-login-button svg { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; }
.external-login-button svg path:nth-child(1) { fill: #4285f4; }
.external-login-button svg path:nth-child(2) { fill: #34a853; }
.external-login-button svg path:nth-child(3) { fill: #fbbc05; }
.external-login-button svg path:nth-child(4) { fill: #ea4335; }
.external-login-divider { display: flex; align-items: center; gap: .8rem; margin: 1.2rem 0; color: #718096; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.external-login-divider::before,.external-login-divider::after { content: ""; height: 1px; flex: 1; background: #d9e4f2; }
.provider-settings-card { max-width: 900px; }
.provider-status { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; margin: 1.25rem 0; }
.provider-status > div { border: 1px solid #d8e5f3; border-radius: 18px; padding: 1rem; background: rgba(247,250,255,.9); }
.provider-status span { display: block; color: #6d7d93; font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.provider-status strong { display: block; margin-top: .35rem; color: #0b1d3a; font-size: 1.05rem; }
.provider-callbacks { margin: 1.1rem 0 1.35rem; padding: 1rem; border-radius: 18px; background: #0a2145; color: #fff; box-shadow: 0 16px 36px rgba(8,21,47,.14); }
.provider-callbacks strong,.provider-callbacks code,.provider-callbacks small { display: block; }
.provider-callbacks code { margin-top: .55rem; padding: .65rem .75rem; border-radius: 10px; background: rgba(255,255,255,.09); color: #bfe8ff; overflow-wrap: anywhere; }
.provider-callbacks small { margin-top: .65rem; color: #b7c6da; line-height: 1.55; }
@keyframes p0014b3-google-ring { to { transform: rotate(360deg); } }
@media (max-width: 720px) { .provider-status { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .external-login-button::before { animation: none; } }
