:root {
    --auth-ink: #11172c;
    --auth-muted: #667087;
    --auth-paper: #f4f6fb;
    --auth-line: rgba(25, 35, 67, .13);
    --auth-indigo: #5752df;
    --auth-indigo-dark: #403bbd;
    --auth-mint: #2fc5b1;
    --auth-lime: #d9ff68;
    --auth-night: #121a30;
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--auth-paper); }
body.briz-auth-page {
    min-height: 100vh; margin: 0;
    background: radial-gradient(circle at 8% 8%, rgba(47,197,177,.13), transparent 26rem), radial-gradient(circle at 92% 88%, rgba(87,82,223,.12), transparent 30rem), var(--auth-paper);
    color: var(--auth-ink); font-family: Inter, system-ui, sans-serif;
}
.briz-auth-page a { color: inherit; }
.auth-v3-shell { width: min(100%, 1440px); min-height: 100vh; margin: 0 auto; padding: 18px clamp(16px,3vw,42px) 34px; }
.auth-v3-header { display:flex; min-height:54px; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.auth-v3-header p { margin:0; color:var(--auth-muted); font-size:.88rem; }
.auth-v3-header p a { color:var(--auth-indigo-dark); font-weight:800; text-decoration:none; }
.auth-v3-header p a:hover { text-decoration:underline; text-underline-offset:4px; }
.auth-v3-logo { display:inline-flex; align-items:center; gap:9px; color:var(--auth-ink); font-size:1.08rem; font-weight:900; letter-spacing:-.04em; text-decoration:none; }
.auth-v3-logo-mark { position:relative; width:32px; height:32px; border:1px solid rgba(87,82,223,.13); border-radius:10px; background:#e9ebff; transform:rotate(-3deg); }
.auth-v3-logo-mark i { position:absolute; width:13px; height:21px; border-radius:5px 9px 9px 5px; transform:skewY(-10deg); }
.auth-v3-logo-mark i:first-child { top:5px; left:6px; background:var(--auth-indigo); }
.auth-v3-logo-mark i:last-child { right:5px; bottom:5px; background:var(--auth-mint); mix-blend-mode:multiply; }
.auth-v3-layout { display:grid; min-height:calc(100vh - 124px); overflow:hidden; border:1px solid rgba(25,35,67,.1); border-radius:30px; background:#fff; box-shadow:0 28px 90px rgba(31,42,82,.14); }
.auth-v3-story { position:relative; overflow:hidden; padding:clamp(34px,5vw,76px); background:radial-gradient(circle at 90% 5%,rgba(87,82,223,.62),transparent 42%),radial-gradient(circle at 8% 94%,rgba(47,197,177,.25),transparent 36%),var(--auth-night); color:#fff; isolation:isolate; }
.auth-v3-story::after { position:absolute; z-index:-1; right:-80px; bottom:-120px; width:340px; height:340px; border:1px solid rgba(255,255,255,.12); border-radius:44% 56% 58% 42%; content:""; transform:rotate(20deg); }
.auth-v3-kicker { display:flex; align-items:center; gap:9px; margin:0 0 22px; color:#bfc6ff!important; font-size:.7rem!important; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.auth-v3-kicker span { width:24px; height:2px; background:var(--auth-mint); }
.auth-v3-story h1 { max-width:650px; margin:0; font-size:clamp(2.6rem,5vw,5.2rem); font-weight:850; letter-spacing:-.07em; line-height:.91; }
.auth-v3-story h1 em { color:var(--auth-lime); font-family:Georgia,serif; font-weight:400; }
.auth-v3-story>p:not(.auth-v3-kicker) { max-width:620px; margin:28px 0; color:#c7cede; font-size:clamp(.98rem,1.4vw,1.12rem); line-height:1.75; }
.auth-v3-visual { position:relative; height:clamp(220px,28vw,340px); max-width:660px; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:22px; background:#273149; box-shadow:0 22px 55px rgba(0,0,0,.28); }
.auth-v3-visual>img,.auth-v3-before img { width:100%; height:100%; object-fit:cover; }
.auth-v3-before { position:absolute; inset:0 62% 0 0; overflow:hidden; }
.auth-v3-before img { width:263%; max-width:none; }
.auth-v3-visual>b { position:absolute; top:14px; padding:7px 10px; border-radius:999px; background:rgba(17,23,44,.75); color:#fff; font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.auth-v3-visual>b:first-of-type { left:14px; }
.auth-v3-visual>b:last-of-type { right:14px; }
.auth-v3-visual>i { position:absolute; top:0; bottom:0; left:38%; width:2px; background:#fff; box-shadow:0 0 0 1px rgba(17,23,44,.2); }
.auth-v3-visual>i::after { position:absolute; top:50%; left:50%; display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#fff; color:var(--auth-ink); content:"↔"; font:800 14px/1 Inter; transform:translate(-50%,-50%); }
.auth-v3-story ul { display:flex; flex-wrap:wrap; gap:9px 20px; margin:22px 0 0; padding:0; color:#dce1ed; font-size:.78rem; list-style:none; }
.auth-v3-story li::before { margin-right:7px; color:var(--auth-mint); content:"✓"; font-weight:900; }
.auth-v3-panel { display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,5vw,74px); background:linear-gradient(180deg,#fff,#fbfcff); }
.auth-v3-panel-head { margin-bottom:26px; }
.auth-v3-step { color:var(--auth-indigo); font-size:.69rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.auth-v3-panel h2 { margin:9px 0 10px; font-size:clamp(2rem,3vw,3.15rem); letter-spacing:-.055em; line-height:.98; }
.auth-v3-panel-head p { max-width:520px; margin:0; color:var(--auth-muted); font-size:.92rem; line-height:1.6; }
.auth-v3-alert { margin:0 0 18px; padding:12px 14px; border:1px solid; border-radius:12px; font-size:.82rem; line-height:1.5; }
.auth-v3-alert.is-error { border-color:#fecaca; background:#fff1f2; color:#9f1239; }
.auth-v3-alert.is-success { border-color:#a7f3d0; background:#ecfdf5; color:#065f46; }
.auth-v3-alert.is-info { border-color:#c7d2fe; background:#eef2ff; color:#3730a3; }
.auth-v3-form { display:grid; gap:16px; }
.auth-v3-fields-two { display:grid; gap:14px; }
.auth-v3-field { display:grid; gap:7px; min-width:0; }
.auth-v3-field>span:first-child { color:#333b52; font-size:.75rem; font-weight:800; }
.auth-v3-field input:not([type="checkbox"]) { width:100%; height:52px; border:1px solid var(--auth-line); border-radius:13px; outline:none; background:#f8f9fd; color:var(--auth-ink); font:650 16px/1 Inter,sans-serif; padding:0 15px; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.auth-v3-field input:hover { border-color:rgba(87,82,223,.3); }
.auth-v3-field input:focus { border-color:var(--auth-indigo); background:#fff; box-shadow:0 0 0 4px rgba(87,82,223,.12); }
.auth-v3-field.is-invalid input { border-color:#e11d48; background:#fff7f8; box-shadow:0 0 0 4px rgba(225,29,72,.08); }
.auth-v3-field small { min-height:16px; color:#8990a3; font-size:.69rem; line-height:1.35; }
.auth-v3-field.is-invalid small { color:#be123c; }
.auth-v3-password-wrap { position:relative; display:block; }
.auth-v3-password-wrap input { padding-right:72px!important; }
.auth-v3-password-wrap button { position:absolute; top:50%; right:8px; min-width:58px; padding:8px; border:0; border-radius:8px; background:transparent; color:var(--auth-indigo-dark); font:800 .68rem/1 Inter; cursor:pointer; transform:translateY(-50%); }
.auth-v3-password-wrap button:hover { background:rgba(87,82,223,.08); }
.auth-v3-form-row { display:flex; justify-content:flex-end; margin-top:-4px; }
.auth-v3-form-row a { color:var(--auth-indigo-dark); font-size:.76rem; font-weight:750; text-decoration:none; }
.auth-v3-consent { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:var(--auth-muted); font-size:.73rem; line-height:1.5; cursor:pointer; }
.auth-v3-consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--auth-indigo); }
.auth-v3-consent a { color:var(--auth-indigo-dark); font-weight:750; }
.auth-v3-submit { display:flex; width:100%; min-height:54px; align-items:center; justify-content:space-between; gap:18px; padding:0 19px; border:0; border-radius:14px; background:linear-gradient(135deg,var(--auth-indigo),#6b64eb); box-shadow:0 14px 30px rgba(87,82,223,.23); color:#fff; font:850 .9rem/1 Inter,sans-serif; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.auth-v3-submit:hover { box-shadow:0 17px 36px rgba(87,82,223,.3); transform:translateY(-2px); }
.auth-v3-submit:active { transform:translateY(0); }
.auth-v3-submit span { font-size:1.15rem; }
.auth-v3-secure { margin:2px 0 0; color:#838a9c; font-size:.68rem; line-height:1.5; text-align:center; }
.auth-v3-secure span { color:#159786; font-weight:900; }
.auth-v3-resend { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:17px; color:var(--auth-muted); font-size:.74rem; }
.auth-v3-resend button { padding:5px; border:0; background:transparent; color:var(--auth-indigo-dark); font:800 .74rem/1 Inter; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.auth-v3-code-field input { height:66px!important; font-size:1.7rem!important; font-weight:850!important; letter-spacing:.28em; text-align:center; }
.auth-v3-code-art { position:relative; display:grid; max-width:530px; height:190px; grid-template-columns:repeat(4,1fr); align-items:center; gap:12px; margin-top:46px; padding:26px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:24px; background:rgba(255,255,255,.07); box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.auth-v3-code-art span { display:grid; height:92px; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:17px; background:rgba(255,255,255,.08); color:var(--auth-lime); font-size:2.6rem; line-height:1; }
.auth-v3-code-art i { position:absolute; right:-28px; bottom:-42px; width:145px; height:145px; border-radius:50%; background:rgba(47,197,177,.18); filter:blur(2px); }
.auth-v3-submit:focus-visible,.auth-v3-password-wrap button:focus-visible,.auth-v3-header a:focus-visible,.auth-v3-resend button:focus-visible { outline:3px solid var(--auth-mint); outline-offset:3px; }
@media (min-width:760px) { .auth-v3-fields-two { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:980px) {
    .auth-v3-layout { grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr); }
    .auth-v3-layout-verify { grid-template-columns:minmax(0,1fr) minmax(400px,.82fr); }
}
@media (max-width:979px) {
    .auth-v3-layout { min-height:auto; }
    .auth-v3-panel { order:1; }
    .auth-v3-story { order:2; }
    .auth-v3-story h1 { font-size:clamp(2.4rem,10vw,4.5rem); }
}
@media (max-width:620px) {
    .auth-v3-shell { padding:10px 10px 20px; }
    .auth-v3-header { padding:0 5px; }
    .auth-v3-header p { max-width:170px; font-size:.72rem; text-align:right; }
    .auth-v3-layout { border-radius:22px; }
    .auth-v3-panel,.auth-v3-story { padding:29px 20px; }
    .auth-v3-panel h2 { font-size:2.25rem; }
    .auth-v3-panel-head { margin-bottom:21px; }
    .auth-v3-visual { height:210px; }
    .auth-v3-story ul { display:grid; }
    .auth-v3-code-art { height:140px; margin-top:30px; padding:16px; }
    .auth-v3-code-art span { height:72px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
