/* PETRA CI 3.2 – unified, responsive account, TOTP and recovery UI. Scoped to PETRA only. */
.petra-auth{--petra-navy:#102033;--petra-cyan:#23C7D9;--petra-violet:#6C4CF6;--petra-muted:#43576b;--petra-line:#d6e2ed;--petra-bg:#f4f8fc;color:var(--petra-navy);max-width:1000px;margin:24px auto 42px;padding:clamp(18px,3.3vw,42px);font:16px/1.62 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(155deg,#f4f9fc,#fff 52%,#f7f5ff);border:1px solid var(--petra-line);border-radius:24px;overflow-wrap:anywhere}
.petra-auth *{box-sizing:border-box}.petra-auth-head{padding:0 0 22px;margin-bottom:26px;border-bottom:1px solid var(--petra-line)}
.petra-auth-head img{display:block;width:min(220px,70%);height:auto;margin:0 0 24px;object-fit:contain}.petra-auth-head h2{font-size:clamp(28px,3.7vw,43px);font-weight:760;letter-spacing:-.034em;line-height:1.14;color:var(--petra-navy);margin:8px 0 12px}.petra-auth-head p{color:var(--petra-muted);margin:0;max-width:690px}.petra-auth .petra-auth-kicker{font-size:12px;letter-spacing:.13em;color:#4930a5;font-weight:790;text-transform:uppercase;margin:0 0 10px}
.petra-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.petra-auth-card{background:#fff;border:1px solid var(--petra-line);border-radius:18px;padding:clamp(20px,2.7vw,30px);box-shadow:0 12px 34px rgba(16,32,51,.055);margin:0 0 17px;min-width:0}.petra-auth-card h3{font-size:clamp(19px,2.2vw,23px);font-weight:750;line-height:1.3;color:var(--petra-navy);margin:0 0 12px}.petra-auth-card p{margin:9px 0 16px}
.petra-auth-btn,.petra-auth button[type=submit],.petra-auth .totp-submit{display:inline-flex;align-items:center;justify-content:center;background:var(--petra-navy)!important;color:#fff!important;text-decoration:none!important;padding:12px 20px;border-radius:11px;border:1px solid var(--petra-navy);min-height:46px;cursor:pointer;font-weight:700;font-size:15px;line-height:1.4;box-shadow:0 4px 10px #10203312}.petra-auth-btn:hover,.petra-auth button[type=submit]:hover{background:#253c54!important}.petra-auth a:not(.petra-auth-btn){color:#4234a6;text-underline-offset:3px}.petra-auth :where(a,button,input,select,summary):focus-visible{outline:3px solid var(--petra-violet);outline-offset:3px}
.petra-auth :where(input[type=text],input[type=number],input[type=password],input[type=email]){min-height:46px;max-width:100%;border-radius:10px;border:1px solid #8d9fb0;padding:10px 12px;font-size:16px;background:#fff;color:var(--petra-navy)}
.petra-auth-warning{background:#fff8ea;border-left:4px solid #a66b16;padding:13px 17px;border-radius:0 10px 10px 0;margin:14px 0}.petra-auth-success{background:#eff9f8;border-left:4px solid #197362;padding:13px 17px;border-radius:0 10px 10px 0;margin:14px 0}.petra-auth-note,.petra-auth-meta{font-size:14px;color:var(--petra-muted)}
.petra-auth-provider{padding:12px 4px;max-width:100%}.petra-auth-provider .totp-steps{padding:0;list-style:none;counter-reset:petra-steps}.petra-auth-provider .totp-steps>li{counter-increment:petra-steps;position:relative;padding:16px 14px 16px 54px;margin:10px 0;background:var(--petra-bg);border:1px solid var(--petra-line);border-radius:14px}.petra-auth-provider .totp-steps>li:before{content:counter(petra-steps);display:grid;place-items:center;position:absolute;left:14px;top:18px;width:28px;height:28px;border-radius:50%;background:var(--petra-navy);color:#fff;font-weight:750;font-size:14px}.petra-auth-provider #two-factor-qr-code{margin:16px 0}.petra-auth-provider #two-factor-qr-code svg{max-width:250px;height:auto;background:#fff;padding:10px;border-radius:12px;border:1px solid var(--petra-line)}.petra-auth-provider #two-factor-totp-options{overflow-wrap:anywhere}.petra-auth-provider code{display:inline-block;max-width:100%;word-break:break-all;user-select:all;padding:8px 10px;background:#eaf1f7;color:var(--petra-navy);border-radius:7px;font:600 12px/1.6 ui-monospace,monospace}
.petra-auth-provider #two-factor-totp-authcode{max-width:200px;letter-spacing:.1em;font-variant-numeric:tabular-nums}.petra-auth-provider :where(.description,.notice){font-size:13px;color:var(--petra-muted)}
.petra-auth-detail{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--petra-line)}.petra-auth-detail dt{font-weight:650}.petra-auth-detail dd{margin:0}.petra-account-shortcut{max-width:980px;margin:14px auto;padding:14px 18px;background:#f2f7fb;border-left:4px solid var(--petra-violet);border-radius:0 10px 10px 0}
.petra-recovery-form label{display:block;font-weight:650;margin:16px 0 6px}.petra-recovery-form input[type=password]{display:block;width:100%;max-width:390px}.petra-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;padding:18px 30px;background:#f5f9fc;border:1px dashed #a5b9ca;border-radius:13px;list-style:decimal}.petra-recovery-codes li{padding:4px 5px;font-variant-numeric:tabular-nums}.petra-recovery-codes code{font-family:ui-monospace,Consolas,monospace;font-size:17px;font-weight:700;letter-spacing:.07em}
@media(max-width:700px){.petra-auth-grid,.petra-recovery-codes{grid-template-columns:1fr}.petra-auth{margin:12px auto;padding:16px;border-radius:15px}.petra-auth-card{padding:18px}.petra-auth-provider .totp-steps>li{padding:55px 12px 14px}.petra-auth-provider .totp-steps>li:before{top:13px}.petra-auth .totp-submit{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.petra-auth *{animation:none!important;transition:none!important}}

/* PETRA 1.5.8: secure paper copy of one-time codes. Print is user-triggered only. */
.petra-recovery-safety{background:#fff8ea;border-left:4px solid #af7822;padding:13px 16px;border-radius:0 10px 10px 0;margin:16px 0;color:#102033}
.petra-print-action{margin:16px 0}
@media print{html,body{background:#fff!important;color:#000!important}body *{visibility:hidden!important}.petra-auth-recovery,.petra-auth-recovery *{visibility:visible!important}.petra-auth-recovery{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;padding:12mm!important;margin:0!important;border:0!important;background:#fff!important;box-shadow:none!important}.petra-auth-recovery :where(.petra-print-action,.petra-recovery-form,.petra-auth-warning,a){display:none!important}.petra-auth-recovery .petra-auth-card{box-shadow:none!important;border:0!important}.petra-recovery-codes{grid-template-columns:repeat(2,minmax(0,1fr))!important;break-inside:avoid!important;background:#fff!important}.petra-recovery-codes li{font-size:15pt!important}.petra-auth-recovery .petra-auth-head img{max-height:45px}}

/* v1.5.9 account identification, included in printout. */
.petra-recovery-account{display:flex;flex-direction:column;gap:2px;padding:12px 15px;background:#f0f5fb;border:1px solid #d6e2ed;border-radius:10px;margin:12px 0 15px;overflow-wrap:anywhere}
.petra-recovery-account strong{color:#102033}.petra-recovery-issued{font-size:14px;color:#43576b;margin:10px 0}
@media print{.petra-recovery-account,.petra-recovery-issued{display:flex!important;visibility:visible!important;color:#000!important}.petra-recovery-account{background:#fff!important;border:1px solid #666!important}.petra-recovery-issued{display:block!important}}

/* PETRA 1.5.11 – editable account and billing profile */
.petra-profile-form{display:grid;gap:12px;max-width:800px}.petra-profile-field{display:flex;flex-direction:column;gap:6px;font-weight:600}.petra-profile-field input,.petra-profile-field select{font:inherit;width:100%;box-sizing:border-box;border:1px solid #b9c7d5;border-radius:9px;padding:11px 12px;background:#fff;color:#102033}.petra-profile-field input:disabled{background:#edf1f5;color:#566678}.petra-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.petra-profile-hint{font-size:14px;color:#4b5f74;line-height:1.55}.petra-profile-card h4{margin-top:12px}@media(max-width:680px){.petra-profile-grid{grid-template-columns:1fr}}
