.top{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;background:rgba(3,3,3,.84)}.topin{width:min(calc(100% - 32px),1100px);margin:auto;display:flex;align-items:center;justify-content:space-between}.avm{width:104px;height:42px;object-fit:contain}.secure{color:var(--muted);font-size:.75rem}
main{width:min(calc(100% - 28px),1000px);margin:auto;padding:54px 0 80px}.brand{text-align:center;margin-bottom:30px}.bird{width:82px;margin:0 auto 14px;filter:drop-shadow(0 0 18px rgba(255,196,0,.25))}.eyebrow{color:#ffd744;font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.brand h1{margin:8px 0 8px;font-size:clamp(2.25rem,5vw,4.2rem);letter-spacing:-.055em}.brand p{margin:0;color:var(--soft)}
.checkout{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}.panel{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,195,0,.035),rgba(255,255,255,.018)),var(--card);padding:28px}
h2{margin:0 0 22px;font-size:1.18rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}label{display:block;margin-bottom:7px;color:#e9e9ec;font-size:.78rem;font-weight:750}
input,select{width:100%;height:49px;padding:0 13px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:var(--field);color:#fff;font:inherit;outline:none}input:focus,select:focus{border-color:rgba(255,196,0,.65);box-shadow:0 0 0 3px rgba(255,196,0,.08)}
.hint{display:block;margin-top:6px;color:var(--muted);font-size:.68rem;line-height:1.45}.summary{position:sticky;top:92px;border-color:rgba(255,197,0,.28)}.plan{padding-bottom:19px;border-bottom:1px solid var(--line)}.plan small{color:var(--muted)}.price{display:flex;align-items:end;gap:7px;margin:11px 0 5px}.price strong{font-size:2.8rem;line-height:.9;letter-spacing:-.06em}.price span{padding-bottom:4px;color:var(--soft);font-size:.73rem}.row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;color:var(--soft);font-size:.8rem}.row.total{margin-top:7px;padding-top:17px;border-top:1px solid var(--line);color:#fff;font-weight:850}.row.total strong{color:#ffd63e;font-size:1.15rem}.buy{width:100%;height:50px;margin-top:17px;border:0;border-radius:11px;background:linear-gradient(135deg,#ffb700,#ffe36e);color:#110c00;font-weight:900;font-size:.9rem;cursor:pointer;box-shadow:0 12px 34px rgba(255,188,0,.13)}.buy:hover{filter:brightness(1.04)}.terms{margin:12px 0 0;color:var(--muted);font-size:.64rem;line-height:1.55}.notice{display:none;margin-top:14px;padding:12px;border:1px solid rgba(255,196,0,.25);border-radius:10px;color:#ffe27a;background:rgba(255,196,0,.06);font-size:.75rem;line-height:1.5}.notice.show{display:block}

.payment-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.payment-head h2{margin:0}.secure-badge{display:inline-flex;align-items:center;gap:7px;color:#d8d8dc;font-size:.68rem;font-weight:750}.secure-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#65dda6;box-shadow:0 0 12px rgba(101,221,166,.45)}
.card-grid{display:grid;grid-template-columns:1.4fr .6fr .5fr;gap:17px;margin-top:20px}.cardholder{grid-column:1/-1}.card-number{grid-column:1/2}.billing{margin-top:28px}.billing h3{margin:0 0 16px;font-size:.92rem}.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.billing-grid .wide{grid-column:1/-1}
.lockline{display:flex;align-items:center;gap:8px;margin-top:15px;color:var(--muted);font-size:.66rem;line-height:1.45}.lock{font-size:.9rem}
.annual-box{margin-top:16px;padding:15px;border:1px solid rgba(255,196,0,.18);border-radius:12px;background:rgba(255,196,0,.045)}.annual-box strong{display:block;margin-bottom:5px;color:#fff;font-size:.78rem}.annual-box span{color:var(--muted);font-size:.68rem;line-height:1.5}
@media(max-width:760px){.card-grid,.billing-grid{grid-template-columns:1fr 1fr}.cardholder,.card-number,.billing-grid .wide{grid-column:1/-1}}
@media(max-width:440px){.card-grid,.billing-grid{grid-template-columns:1fr}.cardholder,.card-number,.billing-grid .wide{grid-column:auto}.payment-head{align-items:flex-start;flex-direction:column}}

@media(max-width:760px){main{padding-top:38px}.checkout{grid-template-columns:1fr}.summary{position:static;order:-1}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.panel{padding:21px}.top{height:64px}.avm{width:92px}.secure{font-size:.68rem}}
@media(max-width:420px){main{width:min(calc(100% - 20px),1000px)}.brand h1{font-size:2.25rem}.panel{border-radius:16px}.price strong{font-size:2.5rem}}

.login-main{width:min(calc(100% - 28px),460px);margin:0 auto;padding:62px 0 90px}
.login-brand{text-align:center;margin-bottom:26px}
.login-brand .bird{width:78px}
.login-brand h1{margin:9px 0 7px;font-size:clamp(2.2rem,8vw,3.4rem);letter-spacing:-.055em}
.login-brand p{margin:0;color:var(--soft);font-size:.9rem}
.login-card{padding:28px}
.login-card .field+ .field{margin-top:17px}
.password-label{display:flex;justify-content:space-between;align-items:center;gap:14px}
.password-label a,.signup-link a{color:#ffd744;text-decoration:none}
.password-label a:hover,.signup-link a:hover{text-decoration:underline}
.password-label a{font-size:.69rem;font-weight:650}
.login-btn{width:100%;height:50px;margin-top:22px;border:0;border-radius:11px;background:linear-gradient(135deg,#ffb700,#ffe36e);color:#110c00;font-size:.9rem;font-weight:900;cursor:pointer;box-shadow:0 12px 34px rgba(255,188,0,.13)}
.login-btn:hover{filter:brightness(1.04)}
.signup-link{margin:20px 0 0;text-align:center;color:var(--muted);font-size:.76rem;line-height:1.5}
.security-note{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:18px;color:var(--muted);font-size:.65rem}
.login-notice{display:none;margin-top:16px;padding:12px;border:1px solid rgba(255,196,0,.25);border-radius:10px;background:rgba(255,196,0,.06);color:#ffe27a;font-size:.73rem;line-height:1.5}
.login-notice.show{display:block}
@media(max-width:520px){
 .topin{width:min(calc(100% - 24px),1100px)}
 .login-main{width:min(calc(100% - 20px),460px);padding:40px 0 65px}
 .login-card{padding:21px}
 .login-brand{margin-bottom:21px}
 .login-brand .bird{width:70px}
 .login-brand h1{font-size:2.35rem}
}

/* Organisation name shown on /login/<login_key>. Sits between the h1 and the
   caption: more prominent than the caption because it is the one thing that tells
   a person which organisation they are about to sign in to. overflow-wrap
   because a long trading name must not push the card wider on a narrow phone. */
.login-brand .organisation{margin:2px 0 11px;color:#ffd744;font-size:1.05rem;font-weight:700;letter-spacing:.005em;overflow-wrap:anywhere}

/* Tenant sign-in and a general enrollment invitation; no pre-login account status. */
[hidden]{display:none!important}
.login-main{width:min(calc(100% - 32px),480px);padding-top:38px}
.login-brand .bird{width:66px;display:block}
.login-brand h1{font-size:clamp(2rem,7vw,2.9rem);overflow-wrap:anywhere}
.login-brand .organisation{margin:0 0 10px;color:var(--soft);font-size:.85rem;font-weight:500}
.login-brand p{line-height:1.55}
.login-btn:disabled{opacity:.6;cursor:wait}
.signin-security{margin-top:18px;padding:23px 25px;border:1px solid rgba(255,215,68,.2);border-radius:18px;background:linear-gradient(135deg,rgba(255,215,68,.045),rgba(255,255,255,.015))}
.signin-security-heading{display:flex;align-items:center;gap:13px}
.signin-security-heading>span{display:grid;place-items:center;width:38px;height:42px;flex-shrink:0;border:1px solid rgba(255,215,68,.2);border-radius:11px;color:#ffd744;font-size:24px}
.security-kicker{display:block;color:#ffd744;font-size:.68rem;font-weight:800;letter-spacing:.13em;margin-bottom:5px}
.signin-security h2{margin:0;font-size:1.22rem;line-height:1.4}
.signin-security p{font-size:.94rem;color:var(--soft);line-height:1.65;margin:14px 0 0}
.signin-security .security-app-hint{color:var(--muted);font-size:.88rem;margin-top:8px}
.security-setup-link{margin-top:16px;background:transparent;border:0;padding:3px 0;color:#ffd744;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer;text-align:left}
.security-setup-link:hover{text-decoration:underline}
.security-setup-link:focus-visible{outline:2px solid #ffd744;outline-offset:5px;border-radius:3px}
.signin-security .security-private-note{color:var(--muted);font-size:.78rem;margin-top:12px}
@media(max-width:520px){.login-main{padding-top:28px}.signin-security{padding:20px}.login-brand .bird{width:60px}}

.security-reminder-actions{display:flex;gap:18px;flex-wrap:wrap}.security-reminder-actions .secondary-reminder{color:var(--soft);font-weight:500;font-size:.85rem}

/* Main enrollment action; secondary choices remain understated. */
#securitySetup{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin-top:20px;padding:13px 18px;border:1px solid #ffc400;border-radius:10px;background:#ffc400;color:#303238;font-size:1rem;font-weight:800;text-align:center;text-shadow:none;box-shadow:0 8px 22px rgba(255,196,0,.12)}
#securitySetup:hover{background:#eeb600;border-color:#eeb600;text-decoration:none}
#securitySetup:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Equal-width secondary actions align to the main setup button. */
.security-reminder-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}
.security-reminder-actions .secondary-reminder{display:flex;align-items:center;justify-content:center;min-width:0;min-height:36px;margin:0;padding:7px 10px;border:1px solid #555963;border-radius:10px;background:#373b44;color:#f4f5f7;font-size:.85rem;font-weight:650;line-height:1.4;text-align:center;text-decoration:none}
.security-reminder-actions .secondary-reminder:hover{background:#464b56;border-color:#6b717d;text-decoration:none}
.security-reminder-actions .secondary-reminder:focus-visible{outline:2px solid #ffc400;outline-offset:3px}
@media(max-width:380px){.security-reminder-actions{gap:8px}.security-reminder-actions .secondary-reminder{padding:7px 8px;font-size:.8rem}}

.signin-security .security-account-email{color:#ffd744;font-weight:750;overflow-wrap:anywhere}

/* Separate the account status from the app instructions and actions. */
.signin-security #securityReminderCopy{margin:16px 0 12px;padding:13px 15px;border:1px solid rgba(255,215,68,.25);border-radius:10px;background:rgba(255,215,68,.035);color:var(--soft);font-size:.88rem;line-height:1.65}
.signin-security .security-app-hint{font-size:.83rem;line-height:1.6}
