:root{--navy:#071624;--navy2:#0b2037;--blue:#113b67;--yellow:#f7b500;--yellow-soft:#ffd35a;--text:#111827;--muted:#6b7280}*{box-sizing:border-box}html,body{margin:0;min-width:320px;width:100%;min-height:100%}body.ppc-auth-page{color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f3f6fa}.auth-container{display:flex;width:100%;min-height:100vh;min-height:100dvh}
.auth-left{position:fixed;inset:0 auto 0 0;width:50%;min-height:100vh;min-height:100dvh;overflow:hidden;background-color:var(--navy);background-image:linear-gradient(90deg,rgba(4,14,26,.32),rgba(4,14,26,.08)),url("../img/ppc-login-digital-bg.png");background-position:center;background-repeat:no-repeat;background-size:cover}.auth-left:before,.auth-left:after{content:"";position:absolute;inset:0;pointer-events:none}.auth-left:before{background:linear-gradient(rgba(56,102,146,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(56,102,146,.08) 1px,transparent 1px);background-size:48px 48px;opacity:.42}.auth-left:after{background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.06),transparent 26%),linear-gradient(180deg,rgba(2,10,20,.05),rgba(2,10,20,.22))}.left-content{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:clamp(42px,6vh,70px) clamp(48px,6vw,92px)}.logo-pumpco{width:clamp(260px,25vw,420px);max-width:88%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.25))}.left-main{margin-top:clamp(62px,10vh,110px)}.ppc-title{display:block;color:var(--yellow);font-size:clamp(5rem,7vw,8rem);font-weight:900;letter-spacing:-.01em;line-height:.9;text-shadow:0 14px 30px rgba(0,0,0,.32);text-transform:uppercase}.ppc-title:after{content:"";display:block;width:clamp(145px,12.5vw,200px);height:5px;margin:18px 0 26px;border-radius:999px;background:linear-gradient(90deg,var(--yellow),var(--yellow-soft));box-shadow:0 10px 24px rgba(247,181,0,.18)}.product-name{margin:0;color:#fff;font-size:clamp(1.75rem,2.15vw,2.5rem);font-weight:400;letter-spacing:-.03em;line-height:1.18;text-shadow:0 8px 20px rgba(0,0,0,.35)}.product-subtitle{margin:16px 0 0;color:rgba(255,255,255,.86);font-size:clamp(1.05rem,1.25vw,1.35rem);font-weight:300;line-height:1.45;text-shadow:0 8px 18px rgba(0,0,0,.28)}
.auth-right{display:flex;align-items:center;justify-content:center;width:50%;min-height:100vh;min-height:100dvh;margin-left:50%;padding:clamp(28px,5vw,64px);background:radial-gradient(circle at 88% 12%,rgba(247,181,0,.14),transparent 24%),radial-gradient(circle at 30% 85%,rgba(17,59,103,.13),transparent 28%),linear-gradient(135deg,#edf3f8 0%,#f8fafc 48%,#e5edf5 100%)}.auth-card{width:100%;max-width:600px;padding:clamp(38px,6vh,58px) clamp(38px,5vw,66px);overflow-wrap:anywhere;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.92);border-top:5px solid var(--yellow);border-radius:20px;box-shadow:0 30px 74px rgba(7,28,52,.18),inset 0 1px 0 rgba(255,255,255,.66);backdrop-filter:blur(16px)}.auth-card__heading{margin-bottom:clamp(26px,4vh,38px);text-align:center}.auth-card__heading h1{margin:0;color:var(--text);font-size:clamp(2rem,3.2vw,2.65rem);font-weight:850;letter-spacing:-.055em;line-height:1.05}.auth-card__heading p{margin:10px 0 0;color:var(--muted);font-size:clamp(1rem,1.15vw,1.12rem)}.auth-flow h1,.auth-flow h2{color:#243447;font-size:1.35rem;font-weight:750}.auth-flow p,.auth-flow li,.auth-flow .helptext{color:var(--muted);font-size:.94rem;line-height:1.5}.auth-flow form p,.auth-flow .form-group,.auth-flow .mb-3{position:relative;margin-bottom:18px}.auth-flow label{display:block;margin-bottom:9px;color:#243447;font-size:.95rem;font-weight:750}
.auth-flow input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.auth-flow select,.auth-flow textarea{width:100%;min-height:54px;padding:.7rem 1rem;border:1px solid #d4dce7;border-radius:13px;outline:0;background:rgba(255,255,255,.96);color:var(--text);font:inherit;transition:.18s}.auth-flow .has-leading-icon input:not([type=hidden]){padding-left:3.05rem}.auth-flow .has-password-toggle input{padding-right:3rem}.auth-flow input:focus,.auth-flow select:focus,.auth-flow textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 .22rem rgba(247,181,0,.18)}.field-icon{position:absolute;z-index:2;left:18px;bottom:18px;color:#7b8794;font-size:1.05rem;pointer-events:none}.password-toggle{position:absolute;z-index:3;right:11px;bottom:10px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#7b8794;cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{color:var(--blue)}
.auth-flow button[type=submit],.auth-flow input[type=submit],.auth-flow .btn-primary{width:100%;min-height:54px;margin-top:10px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-weight:800;letter-spacing:.01em;box-shadow:0 15px 30px rgba(7,28,52,.25);transition:.18s}.auth-flow button[type=submit]:hover,.auth-flow input[type=submit]:hover,.auth-flow .btn-primary:hover{transform:translateY(-1px);background:linear-gradient(135deg,#041426,#0f3358);box-shadow:0 19px 36px rgba(7,28,52,.3)}.auth-flow .btn-secondary,.auth-flow .btn-link,.auth-flow a.btn{border-color:#d4dce7;color:var(--blue);font-weight:700}.auth-flow .btn-group,.auth-flow .form-actions{gap:10px}.auth-flow .alert-danger,.auth-flow .errorlist,.auth-flow .error{margin:0 0 24px;padding:14px 18px;border:1px solid rgba(220,38,38,.18);border-radius:12px;background:rgba(254,226,226,.78);color:#7f1d1d;font-size:.92rem}.auth-flow ul.errorlist{padding-left:18px}.auth-flow .progress{height:6px;margin-bottom:24px;background:#e5eaf0}.auth-flow .progress-bar{background:var(--yellow)}
.auth-flow button.btn-secondary,.auth-flow button[name=wizard_goto_step]{width:auto;min-height:42px;margin-top:10px;padding:.55rem 1rem;border:1px solid #d4dce7;background:#fff;color:var(--blue);box-shadow:none}.auth-flow button.btn-secondary:hover,.auth-flow button[name=wizard_goto_step]:hover{transform:none;border-color:#aebaca;background:#f4f7fa;box-shadow:none}.auth-flow a{color:var(--blue)}
@media (max-height:820px) and (min-width:993px){.left-content{padding-top:44px;padding-bottom:36px}.left-main{margin-top:58px}.logo-pumpco{width:clamp(240px,23vw,360px)}.ppc-title{font-size:clamp(4.4rem,6vw,6.6rem)}.ppc-title:after{width:clamp(130px,11vw,175px);margin:14px 0 22px}.auth-right{align-items:flex-start;overflow-y:auto}.auth-card{margin-block:auto;padding:36px 52px}.auth-flow input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.auth-flow select,.auth-flow button[type=submit],.auth-flow input[type=submit]{min-height:48px}}
@media (max-width:992px){.auth-left{display:none}.auth-right{width:100%;min-height:100vh;min-height:100dvh;margin-left:0;padding:28px;overflow-y:auto}.auth-card{max-width:480px;margin-block:auto;padding:42px 34px}}@media (max-width:576px){.auth-right{padding:18px}.auth-card{padding:34px 24px;border-radius:16px}.auth-card__heading h1{font-size:1.85rem}}

/* Adapt the native two-factor table form to PCE's vertical form geometry. */
.auth-left{position:relative;flex:0 0 50%}.auth-left:before{display:none}.auth-right{flex:0 0 50%;margin-left:0;overflow-y:auto}.auth-flow table{display:block;width:100%;margin:0!important}.auth-flow tbody,.auth-flow tr,.auth-flow th,.auth-flow td{display:block;width:100%}.auth-flow tr{position:relative;margin-bottom:18px}.auth-flow th,.auth-flow td{padding:0}.auth-flow td{position:relative}.auth-flow th label{margin-bottom:9px}.auth-flow td input:not([type=hidden]){height:54px}.auth-flow td .errorlist{margin-top:9px;margin-bottom:0}.auth-flow .field-icon{top:18px;bottom:auto}.auth-flow .password-toggle{top:9px;bottom:auto}.auth-instruction{margin:-8px 0 26px;text-align:center}.auth-alternative{margin:24px 0 12px;text-align:center}.auth-secondary-stack{display:grid;gap:10px}.auth-secondary-stack .btn{width:100%;margin:0}.wizard-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.wizard-actions>.btn{float:none!important;margin:0}.wizard-actions>.btn-primary{order:-1;grid-column:1/-1}.wizard-actions>.btn-link,.wizard-actions>.btn-secondary,.wizard-actions>button:disabled{width:100%;min-height:42px;padding:.55rem 1rem;border:1px solid #d4dce7;border-radius:11px;background:#fff;color:var(--blue);box-shadow:none;text-decoration:none}.wizard-actions>button:disabled{visibility:hidden}.btn-login-arrow{display:inline-block;margin-left:18px;font-size:1.1rem}.auth-flow hr{margin:28px 0;border-color:#dbe2ea}.backup_tokens_form{text-align:center}.backup_tokens_form .btn{width:100%}
@media (max-width:992px){.auth-left{display:none}.auth-right{flex-basis:100%}}

/* High-fidelity PCE field geometry and left-panel atmosphere. */
.auth-left{background-color:#071624;background-image:linear-gradient(90deg,rgba(4,14,26,.30),rgba(4,14,26,.04)),url("../img/ppc-login-digital-bg.png");background-position:right center;background-size:cover}.auth-left:after{background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.04),transparent 26%),linear-gradient(180deg,rgba(2,10,20,.05),rgba(2,10,20,.16))}.auth-flow .input-wrap{position:relative;width:100%}.auth-flow .input-wrap input:not([type=hidden]){width:100%;height:54px;padding:.7rem 3rem .7rem 3.05rem!important;border:1px solid #d4dce7;border-radius:13px;background:rgba(255,255,255,.96);color:#111827;font-size:.98rem;outline:none;transition:all .18s ease}.auth-flow .input-wrap input::placeholder{color:#929baa}.auth-flow .input-wrap input:focus{border-color:#f7b500;box-shadow:0 0 0 .22rem rgba(247,181,0,.18)}.auth-flow .input-icon{position:absolute;z-index:2;left:18px;top:50%;bottom:auto;transform:translateY(-50%);color:#7b8794;font-size:1.05rem;pointer-events:none}.auth-flow .toggle-password{position:absolute;z-index:3;right:15px;top:50%;bottom:auto;transform:translateY(-50%);width:auto;height:auto;padding:4px;border:none;background:transparent;color:#7b8794;font-size:1.05rem;cursor:pointer}.auth-flow .toggle-password:hover{color:#113b67}.wizard-actions--auth{display:block}.wizard-actions--auth>.btn-primary{width:100%}.wizard-actions>.btn-link{border-color:transparent;background:transparent;color:#6b7280;font-size:.88rem;font-weight:500;box-shadow:none}.wizard-actions>.btn-link:hover{color:#113b67;text-decoration:underline}.wizard-actions>.btn-secondary{background:#fff;color:#113b67}
.auth-left{background-position:calc(100% + 48px) center}.ppc-title{width:fit-content}.ppc-title:after{width:100%}

/* Compact, height-aware treatment for the native initial 2FA setup wizard. */
.auth-card--setup{max-width:600px;padding:24px 52px 26px}.auth-card--setup .auth-card__heading{margin-bottom:12px}.auth-card--setup .auth-card__heading h1{font-size:2rem}.auth-card--setup .auth-card__heading p{margin-top:6px;font-size:1rem}.setup-flow>h1{margin:0 0 7px;text-align:center;font-size:1.22rem;line-height:1.2}.setup-flow>p{margin:6px 0;font-size:.88rem;line-height:1.3}.setup-qr{text-align:center}.setup-qr img{display:block;width:190px;height:190px;margin:6px auto;object-fit:contain}.setup-secret{padding:7px 10px;border-radius:9px;background:#f4f7fa;text-align:center;overflow-wrap:anywhere}.setup-secret a{font-size:.8rem}.setup-form{margin-top:7px}.auth-card--setup .auth-flow tr{margin-bottom:9px}.auth-card--setup .auth-flow label{margin-bottom:6px;font-size:.9rem}.auth-card--setup .auth-flow td input:not([type=hidden]){height:46px;min-height:46px}.auth-card--setup .auth-flow .input-icon{left:16px}.auth-card--setup .wizard-actions{gap:8px;margin-top:7px}.auth-card--setup .wizard-actions>.btn-primary{min-height:48px;margin:0}.auth-card--setup .wizard-actions>.btn-link,.auth-card--setup .wizard-actions>.btn-secondary{display:flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:.42rem .8rem;border:1px solid #d4dce7;border-radius:10px;background:#fff;color:#526477;font-size:.86rem;font-weight:650;text-decoration:none;box-shadow:none}.auth-card--setup .wizard-actions>.btn-link:hover,.auth-card--setup .wizard-actions>.btn-secondary:hover{transform:none;border-color:#aebaca;background:#f4f7fa;color:#113b67;text-decoration:none;box-shadow:none}.auth-card--setup .wizard-actions>.btn-link:focus-visible,.auth-card--setup .wizard-actions>.btn-secondary:focus-visible{outline:0;border-color:#f7b500;box-shadow:0 0 0 .18rem rgba(247,181,0,.16)}.setup-step--welcome .wizard-actions{grid-template-columns:1fr}.setup-step--welcome .wizard-actions>button:disabled{display:none}
@media (max-height:820px) and (min-width:993px){.auth-card--setup{margin-block:0;padding:18px 46px 20px}.auth-card--setup .auth-card__heading{margin-bottom:8px}.setup-flow>p{margin:4px 0;line-height:1.22}.setup-qr img{width:170px;height:170px;margin:4px auto}.setup-form{margin-top:5px}.auth-card--setup .auth-flow tr{margin-bottom:6px}.auth-card--setup .wizard-actions{gap:6px;margin-top:5px}.auth-card--setup .wizard-actions>.btn-primary{min-height:44px}.auth-card--setup .wizard-actions>.btn-link,.auth-card--setup .wizard-actions>.btn-secondary{min-height:34px}}
@media (max-width:992px){.auth-card--setup{margin-block:18px;padding:30px 34px}.setup-qr img{width:144px;height:144px}}
@media (max-width:576px){.auth-card--setup{padding:26px 22px}.auth-card--setup .auth-card__heading h1{font-size:1.8rem}.setup-flow>h1{font-size:1.12rem}.setup-qr img{width:132px;height:132px}.auth-card--setup .wizard-actions{grid-template-columns:1fr}}

/* Give only the setup introduction the relaxed rhythm of the primary login card. */
.auth-card--setup-welcome{padding-top:42px;padding-bottom:44px}.auth-card--setup-welcome .auth-card__heading{margin-bottom:24px}.setup-step--welcome>h1{margin-bottom:16px}.setup-step--welcome>p{margin:0;line-height:1.45}.setup-step--welcome .setup-form{margin-top:28px}.setup-step--welcome .wizard-actions{gap:12px;margin-top:0}
@media (max-height:820px) and (min-width:993px){.auth-card--setup-welcome{padding-top:28px;padding-bottom:30px}.auth-card--setup-welcome .auth-card__heading{margin-bottom:16px}.setup-step--welcome>h1{margin-bottom:11px}.setup-step--welcome .setup-form{margin-top:18px}.setup-step--welcome .wizard-actions{gap:10px}}
@media (max-width:992px){.auth-card--setup-welcome{padding:38px 34px 40px}}
@media (max-width:576px){.auth-card--setup-welcome{padding:34px 22px 36px}.auth-card--setup-welcome .auth-card__heading{margin-bottom:20px}.setup-step--welcome>h1{margin-bottom:13px}.setup-step--welcome .setup-form{margin-top:22px}}
