:root {
    --auth-orange: #ff7a00;
    --auth-purple: #482875;
    --auth-ink: #25232a;
    --auth-muted: #6c6874;
    --auth-border: #e8e5ed;
}

body:has(.admin-auth-page) {
    margin: 0;
    background: #f5f3f7;
}

.rz-p-4:has(> .admin-auth-page) {
    padding: 0 !important;
}

.admin-auth-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
    background:
        radial-gradient(circle at 12% 18%, rgba(72, 40, 117, .08), transparent 28%),
        radial-gradient(circle at 92% 82%, rgba(255, 122, 0, .09), transparent 30%),
        #f7f6f9;
}

.admin-auth-initializing {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 16px 20px;
    border: 1px solid rgba(72, 40, 117, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .88);
    color: var(--auth-muted);
    font-size: 14px;
    box-shadow: 0 14px 40px rgba(45, 35, 62, .08);
}

.admin-auth-initializing-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(72, 40, 117, .18);
    border-top-color: var(--auth-purple);
    border-radius: 50%;
    animation: admin-auth-spin .7s linear infinite;
}

@keyframes admin-auth-spin {
    to {
        transform: rotate(360deg);
    }
}

.admin-auth-shell {
    width: min(1160px, 100%);
    min-height: 680px;
    display: grid;
    grid-template-columns: minmax(420px, .88fr) minmax(470px, 1.12fr);
    overflow: hidden;
    border: 1px solid rgba(39, 31, 52, .08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(35, 27, 48, .14);
}

.admin-auth-form-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 42px 54px 30px;
    background: #fff;
}

.admin-auth-brand { display: inline-flex; width: fit-content; }
.admin-auth-brand img { width: 190px; height: auto; display: block; }

.admin-auth-form-content {
    width: min(100%, 430px);
    margin: auto;
    padding: 42px 0 30px;
}

.admin-auth-eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--auth-orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
}

.admin-auth-form-content h1 {
    margin: 0;
    color: var(--auth-ink);
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.admin-auth-form-content h1:focus {
    outline: none;
}

.admin-auth-description {
    margin: 15px 0 30px;
    color: var(--auth-muted);
    font-size: 15px;
    line-height: 1.6;
}

.admin-auth-form-slot .rz-form-field { width: 100%; margin-bottom: 14px; }
.admin-auth-form-slot .rz-textbox,
.admin-auth-form-slot .rz-password,
.admin-auth-form-slot input {
    min-height: 48px;
    border-radius: 12px !important;
    border-color: var(--auth-border) !important;
    background: #fbfafc !important;
}

.admin-auth-form-slot .rz-state-focus,
.admin-auth-form-slot input:focus {
    border-color: var(--auth-purple) !important;
    box-shadow: 0 0 0 3px rgba(72, 40, 117, .10) !important;
}

.admin-auth-primary {
    min-height: 48px;
    padding: 0 26px;
    border: 0;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    background: var(--auth-purple);
    font-weight: 700;
    transition: transform .18s ease, box-shadow .18s ease;
}

.admin-auth-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(72, 40, 117, .22); }
.admin-auth-primary:disabled { opacity: .48; transform: none; box-shadow: none; }
.admin-auth-text-link { color: var(--auth-purple); font-weight: 650; cursor: pointer; text-decoration: none; }
.admin-auth-text-link:hover { color: var(--auth-orange); }
.admin-auth-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 7px; }
.admin-auth-error {
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid #f3c6c8;
    border-radius: 10px;
    color: #9f1d24;
    background: #fff5f5;
    font-size: 13px;
    line-height: 1.45;
}

.admin-auth-support { margin: auto 0 0; color: #89848f; font-size: 13px; }
.admin-auth-support a { color: var(--auth-purple); font-weight: 650; }

.admin-auth-promo {
    --auth-promo-bg: #34225f;
    --auth-promo-accent: #ff7a00;
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 58px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(255,255,255,.08), transparent 42%),
        var(--auth-promo-bg);
}

.admin-auth-promo::before,
.admin-auth-promo::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
}
.admin-auth-promo::before { width: 440px; height: 440px; right: -180px; top: -160px; }
.admin-auth-promo::after { width: 300px; height: 300px; left: -160px; bottom: -140px; }
.admin-auth-promo-glow { position: absolute; width: 260px; height: 260px; right: -30px; bottom: 5%; border-radius: 50%; background: var(--auth-promo-accent); filter: blur(110px); opacity: .28; }
.admin-auth-promo-content { position: relative; z-index: 1; width: 100%; }
.admin-auth-promo-brand { display:block; width:180px; max-height:46px; margin-bottom:24px; object-fit:contain; object-position:left center; }
.admin-auth-promo-label { display: inline-flex; padding: 7px 11px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; font-size: 11px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.admin-auth-promo h2 { max-width: 570px; margin: 21px 0 14px; color: #fff; font-size: clamp(34px, 4vw, 54px); line-height: 1.02; letter-spacing: -.045em; }
.admin-auth-promo p { max-width: 540px; margin: 0; color: rgba(255,255,255,.74); font-size: 16px; line-height: 1.55; }
.admin-auth-promo-highlight { display: block; margin-top: 22px; color: var(--auth-promo-accent); font-size: 18px; }
.admin-auth-promo-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; color: #fff; font-weight: 700; text-decoration: none; }
.admin-auth-promo-link span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--auth-promo-accent); }

.admin-auth-promo-image { margin-top: 26px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.08); box-shadow: 0 20px 40px rgba(0,0,0,.18); }
.admin-auth-promo-image img { width: 100%; max-height: 250px; object-fit: cover; display: block; }

.admin-auth-browser { margin-top: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: #fff; box-shadow: 0 22px 55px rgba(0,0,0,.22); transform: rotate(-1deg); }
.admin-auth-browser-bar { height: 30px; display: flex; align-items: center; gap: 5px; padding: 0 12px; background: #f1eef5; }
.admin-auth-browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #c9c2d2; }
.admin-auth-browser-hero { min-height: 112px; display: flex; flex-direction: column; justify-content: center; padding: 18px 22px; color: #2e2440; background: linear-gradient(120deg, #fff2e7, #f0e9ff); }
.admin-auth-browser-hero span { color: var(--auth-promo-accent); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.admin-auth-browser-hero strong { max-width: 330px; margin-top: 7px; font-size: 25px; line-height: 1.05; }
.admin-auth-browser-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 12px; }
.admin-auth-browser-products i { height: 58px; border-radius: 8px; background: linear-gradient(135deg, #e9e4ee, #faf8fc); }

.admin-auth-development h2 { margin-top: 24px; }
.admin-auth-development-card {
    margin-top: 32px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    color: #342846;
    background: rgba(255,255,255,.95);
    box-shadow: 0 24px 60px rgba(0,0,0,.20);
    transform: rotate(-1deg);
}
.admin-auth-development-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 3px 14px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.admin-auth-development-head span { display:flex; align-items:center; gap:8px; }
.admin-auth-development-head span i { width:8px; height:8px; border-radius:50%; background:var(--auth-promo-accent); box-shadow:0 0 0 5px color-mix(in srgb, var(--auth-promo-accent) 16%, transparent); }
.admin-auth-development-head b { padding:6px 9px; border-radius:99px; color:#fff; background:#4b2b78; font-size:9px; letter-spacing:.06em; }
.admin-auth-development-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:1fr 1fr; gap:10px; }
.admin-auth-development-feature { min-height:82px; padding:16px; border-radius:12px; background:linear-gradient(135deg,#f4f0f8,#fff7f0); }
.admin-auth-development-feature.feature-main { grid-row:1 / 3; min-height:174px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(140deg,#f3ecfa 0%,#fff 58%,#fff1e4 100%); }
.admin-auth-development-feature > span { color:var(--auth-promo-accent); font-size:9px; font-weight:900; letter-spacing:.12em; }
.admin-auth-development-feature > strong { display:block; margin:7px 0 12px; font-size:16px; line-height:1.1; }
.admin-auth-development-feature.feature-main > strong { max-width:190px; font-size:23px; }
.admin-auth-development-feature.feature-main > i { display:block; width:82%; height:7px; margin-top:8px; border-radius:99px; background:#ded6e7; }
.admin-auth-development-feature.feature-main > i:nth-of-type(2) { width:64%; }
.admin-auth-development-feature.feature-main > i:nth-of-type(3) { width:74%; }
.admin-auth-development-meter { height:7px; overflow:hidden; border-radius:99px; background:#ded6e7; }
.admin-auth-development-meter i { display:block; width:72%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4b2b78,var(--auth-promo-accent)); }
.admin-auth-development-dots { display:flex; gap:6px; }
.admin-auth-development-dots i { width:10px; height:10px; border-radius:50%; background:#4b2b78; opacity:.25; }
.admin-auth-development-dots i:nth-child(2) { opacity:.55; }
.admin-auth-development-dots i:nth-child(3) { background:var(--auth-promo-accent); opacity:1; }
.admin-auth-development-note { display:block; margin-top:25px; color:var(--auth-promo-accent); font-size:18px; }

@media (max-width: 900px) {
    .admin-auth-page { padding: 0; }
    .admin-auth-shell { min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; }
    .admin-auth-form-panel { min-height: 100vh; padding: 28px clamp(24px, 7vw, 54px); }
    .admin-auth-promo { display: none; }
    .admin-auth-form-content { padding-top: 50px; }
}

@media (max-width: 520px) {
    .admin-auth-brand img { width: 165px; }
    .admin-auth-actions { align-items: stretch; flex-direction: column; }
    .admin-auth-primary { width: 100%; }
    .admin-auth-text-link { text-align: center; }
}
