/* Premium QR Codes — modern authentication surface */
body.pqr-auth-page {
    --auth-ink:#101828;
    --auth-muted:#667085;
    --auth-line:#dce3ee;
    --auth-panel:rgba(255,255,255,.94);
    position:relative;
    isolation:isolate;
    min-height:100svh;
    margin:0;
    padding:clamp(24px,5vw,64px) 20px;
    display:grid;
    place-items:center;
    overflow-x:hidden;
    color:var(--auth-ink);
    background:
        radial-gradient(circle at 12% 12%,rgba(49,87,255,.22),transparent 28rem),
        radial-gradient(circle at 88% 84%,rgba(117,72,255,.19),transparent 30rem),
        linear-gradient(145deg,#f3f7ff,#f7f5ff 54%,#effbf7) !important;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

body.pqr-auth-page::before,
body.pqr-auth-page::after {
    content:"";
    position:fixed;
    z-index:-1;
    pointer-events:none;
}
body.pqr-auth-page::before {
    width:460px;
    height:460px;
    left:-170px;
    top:-150px;
    border:1px solid rgba(49,87,255,.10);
    border-radius:110px;
    background:
        linear-gradient(rgba(49,87,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(49,87,255,.07) 1px,transparent 1px);
    background-size:46px 46px;
    transform:rotate(13deg);
}
body.pqr-auth-page::after {
    width:330px;
    height:330px;
    right:-100px;
    bottom:-115px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%,rgba(53,230,163,.35),rgba(49,87,255,.13) 44%,transparent 70%);
    filter:blur(4px);
}

body.pqr-auth-page .auth-card {
    position:relative;
    z-index:2;
    width:min(100%,560px) !important;
    max-width:560px !important;
    min-height:0 !important;
    padding:clamp(44px,5vw,64px) clamp(36px,5vw,62px) !important;
    overflow:hidden;
    color:var(--auth-ink);
    border:1px solid rgba(255,255,255,.9) !important;
    border-radius:28px !important;
    background:var(--auth-panel) !important;
    box-shadow:0 34px 90px rgba(30,45,85,.16),0 4px 18px rgba(30,45,85,.06) !important;
}

/* Prevent the nested form from becoming a second card. */
body.pqr-auth-page .auth-card > form,
body.pqr-auth-page .auth-card form {
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    color:inherit !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

body.pqr-auth-page .auth-card::before {
    content:"▦  Premium QR Codes";
    display:block;
    width:max-content;
    margin:0 auto 36px;
    padding:10px 15px 10px 12px;
    color:#fff;
    border-radius:12px;
    background:linear-gradient(135deg,#3157ff,#7548ff);
    box-shadow:0 12px 28px rgba(49,87,255,.23);
    font-size:12px;
    font-weight:800;
    letter-spacing:-.015em;
}

body.pqr-auth-page .auth-card > h1,
body.pqr-auth-page .auth-card > h2,
body.pqr-auth-page .auth-card > h3,
body.pqr-auth-page .auth-card .fw-bold.text-center.text-dark {
    margin-bottom:34px !important;
    color:var(--auth-ink) !important;
    font-size:clamp(30px,5vw,38px) !important;
    line-height:1.08;
    font-weight:800 !important;
    letter-spacing:-.045em;
}

body.pqr-auth-page .form-label {
    margin-bottom:8px;
    color:#475467 !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.055em;
    text-transform:uppercase;
}

body.pqr-auth-page .auth-card .mb-3,
body.pqr-auth-page .auth-card .mb-4 {
    margin-bottom:24px !important;
}

body.pqr-auth-page .form-control {
    min-height:56px;
    padding:15px 16px !important;
    color:var(--auth-ink) !important;
    border:1px solid var(--auth-line) !important;
    border-radius:12px !important;
    background:#f8faff !important;
    box-shadow:inset 0 1px 2px rgba(16,24,40,.025) !important;
    font-size:15px;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body.pqr-auth-page .form-control:hover { border-color:#bdc7d8 !important; }
body.pqr-auth-page .form-control:focus {
    border-color:#5571eb !important;
    background:#fff !important;
    box-shadow:0 0 0 4px rgba(49,87,255,.12) !important;
}
body.pqr-auth-page .form-control::placeholder { color:#98a2b3; }

body.pqr-auth-page .btn-primary {
    min-height:56px;
    margin-top:4px;
    padding:15px 18px !important;
    color:#fff !important;
    border:0 !important;
    border-radius:12px !important;
    background:linear-gradient(135deg,#3157ff,#6545df) !important;
    box-shadow:0 14px 30px rgba(49,87,255,.23) !important;
    font-size:14px;
    font-weight:800 !important;
    transition:transform .18s ease,box-shadow .18s ease !important;
}
body.pqr-auth-page .btn-primary:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(49,87,255,.30) !important; }
body.pqr-auth-page .btn-primary:active { transform:none; }

body.pqr-auth-page .alert-danger {
    color:#9f2d3b;
    border:1px solid #ffd0d6;
    border-radius:11px;
    background:#fff1f3;
}
body.pqr-auth-page .text-center.small { color:var(--auth-muted); }
body.pqr-auth-page .auth-card > .text-center.small,
body.pqr-auth-page .auth-card form + .text-center.small,
body.pqr-auth-page .auth-card .text-center.small:last-child {
    display:block;
    margin:24px 0 0 !important;
    padding:0 !important;
    line-height:1.55;
    white-space:normal;
}
body.pqr-auth-page a { color:#3157e5; text-underline-offset:3px; }
body.pqr-auth-page a:hover { color:#5d3fd2; }
body.pqr-auth-page .pqr-theme-switcher.pqr-theme-floating { top:22px; right:22px; }

/* Liquid Glass authentication */
html[data-pqr-theme="glass"] body.pqr-auth-page {
    --auth-ink:#14213b;
    --auth-muted:#53627e;
    --auth-line:rgba(255,255,255,.72);
    --auth-panel:rgba(255,255,255,.28);
    background:
        radial-gradient(circle at 10% 12%,rgba(42,154,255,.58),transparent 28rem),
        radial-gradient(circle at 88% 82%,rgba(155,84,255,.50),transparent 30rem),
        radial-gradient(circle at 56% 10%,rgba(53,230,163,.25),transparent 22rem),
        linear-gradient(135deg,#dff2ff,#eee5ff 55%,#e4fbf5) !important;
}
html[data-pqr-theme="glass"] body.pqr-auth-page .auth-card {
    border-color:rgba(255,255,255,.78) !important;
    background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.20)) !important;
    box-shadow:0 35px 90px rgba(45,59,118,.22),inset 0 1px rgba(255,255,255,.95) !important;
    backdrop-filter:blur(34px) saturate(180%) !important;
    -webkit-backdrop-filter:blur(34px) saturate(180%) !important;
}
html[data-pqr-theme="glass"] body.pqr-auth-page .auth-card form {
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}
html[data-pqr-theme="glass"] body.pqr-auth-page .form-control {
    border-color:rgba(255,255,255,.74) !important;
    background:rgba(255,255,255,.28) !important;
    box-shadow:inset 0 1px rgba(255,255,255,.78) !important;
    backdrop-filter:blur(16px);
}
html[data-pqr-theme="glass"] body.pqr-auth-page .form-control:focus { background:rgba(255,255,255,.48) !important; }

/* Midnight authentication */
html[data-pqr-theme="midnight"] body.pqr-auth-page {
    --auth-ink:#eef2fa;
    --auth-muted:#9aa6ba;
    --auth-line:#303c55;
    --auth-panel:#111a2a;
    background:
        radial-gradient(circle at 12% 10%,rgba(70,78,224,.30),transparent 28rem),
        radial-gradient(circle at 88% 84%,rgba(127,65,201,.24),transparent 29rem),
        #070b14 !important;
}
html[data-pqr-theme="midnight"] body.pqr-auth-page::before { border-color:rgba(139,145,255,.12); background-image:linear-gradient(rgba(139,145,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(139,145,255,.07) 1px,transparent 1px); }
html[data-pqr-theme="midnight"] body.pqr-auth-page .auth-card { color:var(--auth-ink); border-color:#28344b !important; background:#111a2a !important; box-shadow:0 34px 90px rgba(0,0,0,.42) !important; }
html[data-pqr-theme="midnight"] body.pqr-auth-page .auth-card :is(h1,h2,h3,.fw-bold.text-center.text-dark) { color:#f3f6fb !important; }
html[data-pqr-theme="midnight"] body.pqr-auth-page .form-label { color:#aeb8ca !important; }
html[data-pqr-theme="midnight"] body.pqr-auth-page .form-control { color:#edf1f8 !important; border-color:#303c55 !important; background:#0c1422 !important; }
html[data-pqr-theme="midnight"] body.pqr-auth-page .form-control:focus { border-color:#7d84f4 !important; background:#0f192a !important; box-shadow:0 0 0 4px rgba(125,132,244,.13) !important; }
html[data-pqr-theme="midnight"] body.pqr-auth-page .alert-danger { color:#ffb2bb; border-color:#63313a; background:#351b22; }
html[data-pqr-theme="midnight"] body.pqr-auth-page a { color:#aeb3ff; }

@media(max-width:520px){
    body.pqr-auth-page { padding:76px 14px 24px; align-items:start; }
    body.pqr-auth-page .auth-card { width:100% !important; padding:34px 24px !important; border-radius:22px !important; }
    body.pqr-auth-page .auth-card::before { margin-bottom:27px; }
    body.pqr-auth-page .pqr-theme-switcher.pqr-theme-floating { top:14px; right:14px; }
}

@media(min-width:1200px){
    body.pqr-auth-page .auth-card { width:560px !important; }
}

@media(prefers-reduced-motion:reduce){body.pqr-auth-page *{transition:none !important;}}
