.prv-auth{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:28px;background:linear-gradient(180deg,rgba(15,23,42,.03),transparent)}
.prv-auth__card{width:100%;max-width:440px;background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:18px;padding:22px 22px 18px;box-shadow:0 16px 45px rgba(15,23,42,.10)}
.prv-auth__brand{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.prv-auth__logo{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;background:rgba(15,23,42,.06)}
.prv-auth__title{font-size:20px;font-weight:800;line-height:1.1}
.prv-auth__subtitle{font-size:13px;opacity:.75;margin-top:2px}
.prv-auth__alert{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.22);padding:10px 12px;border-radius:12px;margin:10px 0 12px;font-size:13px}
.prv-auth__form label{display:block;margin:10px 0 6px;font-size:13px;opacity:.85}
.prv-auth__form input,.prv-auth__form select{width:100%;padding:12px 12px;border-radius:14px;border:1px solid rgba(15,23,42,.14);outline:none;background:#fff}
.prv-auth__form input:focus,.prv-auth__form select:focus{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.prv-auth__remember{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:13px;opacity:.85}
.prv-auth__btn{width:100%;margin-top:14px;padding:12px 14px;border:0;border-radius:14px;cursor:pointer;font-weight:800;background:rgba(15,23,42,.92);color:#fff}
.prv-auth__btn:hover{opacity:.95}
.prv-auth__foot{margin-top:14px;font-size:13px;opacity:.85}
.prv-auth__foot a{text-decoration:none;font-weight:700}
.prv-auth__demo{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(15,23,42,.14)}
.prv-auth__demoTitle{font-size:12px;opacity:.7;margin-bottom:8px}
.prv-auth__demoGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12.5px;opacity:.9}
.prv-auth__demoPass{grid-column:1/-1;opacity:.85}
@media (max-width:520px){.prv-auth__demoGrid{grid-template-columns:1fr}}


/* Force correct colors inside card on dark themes */
.prv-auth__card{background:rgba(17,24,39,.88)!important;color:#e5e7eb!important;border-color:rgba(148,163,184,.18)!important}
.prv-auth__card h1,.prv-auth__card h2,.prv-auth__card h3{color:#f8fafc!important}
.prv-auth__sub{color:rgba(226,232,240,.75)!important}
.prv-auth label{color:rgba(226,232,240,.85)!important}
.prv-auth input,.prv-auth select{background:rgba(2,6,23,.55)!important;color:#f8fafc!important;border-color:rgba(148,163,184,.18)!important}
.prv-auth input::placeholder{color:rgba(226,232,240,.55)!important}
.prv-auth__btn{background:#d4a646!important;color:#0b1220!important}
.prv-auth__footer, .prv-auth__footer a{color:rgba(226,232,240,.85)!important}
.prv-auth__footer a{text-decoration:underline}
.prv-auth__error{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.35)!important;color:#fecaca!important}
.prv-auth{background:transparent!important}
