@font-face{font-family:'RaviUI';src:url('/assets/fonts/Ravi-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'RaviUI';src:url('/assets/fonts/Ravi-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'RaviFaNum';src:url('/assets/fonts/RaviFaNum-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'RaviFaNum';src:url('/assets/fonts/RaviFaNum-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--bg:#f1f4f7;--surface:#fff;--text:#18212b;--muted:#6c7885;--primary:#1d6fa5;--line:#e2e7ec;--outer:10px 10px 24px rgba(120,133,146,.13),-8px -8px 18px rgba(255,255,255,.96);--inner:inset 2px 2px 5px rgba(118,132,147,.12),inset -2px -2px 5px rgba(255,255,255,.95)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100vh;margin:0;color:var(--text);font-family:'RaviFaNum','RaviUI',sans-serif;background:linear-gradient(145deg,#eef2f6 0%,#f7f9fb 48%,#edf1f5 100%)}button,input{font-family:'RaviFaNum','RaviUI',sans-serif}button{cursor:pointer}
.auth-shell{width:min(1120px,calc(100% - 40px));min-height:min(700px,calc(100vh - 40px));margin:20px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:18px}
.auth-form-panel,.auth-visual{border:1px solid rgba(255,255,255,.95);border-radius:28px;box-shadow:var(--outer);overflow:hidden}
.auth-form-panel{padding:34px 42px 28px;background:rgba(255,255,255,.94);display:flex;flex-direction:column}.auth-brand{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;padding:10px 14px;border-radius:18px;background:linear-gradient(145deg,#fbfcfd,#eef2f5);box-shadow:var(--inner)}.auth-brand-mark{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;color:#fff;font-family:'RaviFaNum','RaviUI',sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.03em;background:linear-gradient(145deg,#2b80b5,#1a6698);box-shadow:0 9px 18px rgba(31,103,151,.24)}.auth-brand strong{display:block;font-size:1rem;line-height:1.35;direction:ltr;text-align:right}.auth-brand span{display:block;margin-top:3px;color:var(--muted);font-size:.73rem}
.auth-form-content{width:min(100%,400px);margin:auto}.auth-eyebrow{display:inline-block;padding:6px 10px;border-radius:999px;background:#e9f1f6;color:#3e6d8b;font-size:.76rem}.auth-form-content h1{margin:17px 0 6px;font-size:2rem;line-height:1.35;font-weight:600}.auth-intro{margin:0 0 26px;color:var(--muted);font-size:.92rem;line-height:1.8}.auth-form{display:grid;gap:9px}.auth-form>label:not(.remember-row){font-size:.87rem;font-weight:600;margin-top:5px}.auth-form>input{width:100%;min-height:49px;padding:11px 14px;border:1px solid transparent;border-radius:13px;background:#f3f6f8;box-shadow:var(--inner);outline:none;transition:.18s}.auth-form>input:focus{background:#fff;border-color:#a8c9df;box-shadow:0 0 0 3px rgba(57,132,181,.09),var(--inner)}.auth-form>input::placeholder{color:#9aa5ae}.field-validation{min-height:2px;color:#bb3434;font-size:.76rem}.field-validation:empty{display:none}.auth-validation{color:#a63131;font-size:.82rem;line-height:1.7}.auth-validation:empty,.auth-validation.validation-summary-valid{display:none}.auth-validation ul{margin:0 0 5px;padding:10px 28px 10px 12px;border-radius:11px;background:#fff2f2;border:1px solid #f2d5d5}.remember-row{display:flex;align-items:center;gap:8px;margin:10px 0 7px;color:#52606c;font-size:.84rem;cursor:pointer}.remember-row input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.auth-submit{min-height:49px;border:0;border-radius:13px;background:linear-gradient(145deg,#3687ba,#1f6f9f);box-shadow:0 8px 18px rgba(32,109,158,.24);color:#fff;font-weight:600;transition:.18s}.auth-submit:hover{transform:translateY(-1px);filter:brightness(1.04)}.auth-submit:focus-visible{outline:3px solid #a8c9df;outline-offset:3px}.auth-footnote{margin:0;color:#81909b;font-size:.75rem;line-height:1.8}
.auth-visual{position:relative;isolation:isolate;padding:32px 34px;color:#fff;background:linear-gradient(160deg,#174d71 0%,#1d6fa5 56%,#4d9acb 100%);display:flex;flex-direction:column;justify-content:space-between}.auth-visual::before,.auth-visual::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;z-index:-1}.auth-visual::before{width:530px;height:530px;left:-210px;top:80px}.auth-visual::after{width:330px;height:330px;left:-90px;top:180px}.auth-visual-top{display:flex;justify-content:space-between;gap:14px;font-family:'RaviFaNum','RaviUI',sans-serif;font-size:.61rem;letter-spacing:.13em;opacity:.8;direction:ltr}.auth-visual-main{margin:50px 0}.auth-visual-kicker{font-size:.87rem;opacity:.82}.auth-visual h2{margin:17px 0 22px;font-size:clamp(2rem,4vw,3rem);line-height:1.5;font-weight:600}.auth-visual p{max-width:340px;margin:0;line-height:2.05;font-size:.93rem;opacity:.86}.auth-visual-steps{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:42px}.auth-visual-steps span{padding:8px 11px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(255,255,255,.11);font-size:.73rem}.auth-visual-steps i{width:16px;height:1px;background:rgba(255,255,255,.5)}.auth-visual-bottom{font-family:'RaviFaNum','RaviUI',sans-serif;letter-spacing:.16em;font-size:.7rem;opacity:.74;direction:ltr;text-align:left}
@media(max-width:780px){.auth-shell{grid-template-columns:1fr;width:min(560px,calc(100% - 24px));margin:12px auto;min-height:calc(100vh - 24px)}.auth-form-panel{min-height:calc(100vh - 24px);padding:24px}.auth-visual{display:none}.auth-form-content{margin:54px auto}.auth-footnote{text-align:center}}
@media(max-width:420px){.auth-form-panel{padding:18px}.auth-form-content h1{font-size:1.7rem}.auth-brand{padding:8px 10px}.auth-brand-mark{width:38px;height:38px}}
