.auth-page{--auth-color:#3d1c6d;--auth-soft:#f3eef9;--auth-ink:#29223b;margin:0;min-height:100svh;background:#f8f7fb;color:var(--auth-ink);font-family:Vazirmatn,Tahoma,Arial,sans-serif;line-height:1.8}
.auth-page[data-role=teacher]{--auth-color:#007d85;--auth-soft:#eaf7f6}
.auth-page *{box-sizing:border-box}.auth-page [x-cloak],.auth-page [hidden]{display:none!important}
.auth-page a{text-decoration:none}.auth-page button,.auth-page input,.auth-page select{font:inherit}.auth-page button{cursor:pointer}.auth-page button:disabled{cursor:default;opacity:.6}
.auth-topbar{max-width:1260px;margin:auto;padding:26px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.auth-logo{display:flex;align-items:center;gap:10px;color:#3d1c6d;font-weight:900;font-size:19px}.auth-logo img{height:45px;width:auto;max-width:155px;object-fit:contain}.auth-back{font-size:13px;color:#726980;display:flex;align-items:center;gap:8px}.auth-back svg{width:18px;height:18px}
.auth-layout{max-width:1130px;margin:20px auto 48px;display:grid;grid-template-columns:.94fr 1.06fr;align-items:start;gap:62px;padding:0 34px}.auth-story{position:sticky;top:42px;padding:40px 0}.auth-eyebrow{display:inline-flex;align-items:center;gap:7px;background:#eee8f6;border-radius:30px;color:#5c3c85;padding:7px 13px;font-size:12px;font-weight:700}.auth-eyebrow i{width:7px;height:7px;border-radius:50%;background:#00a190}.auth-story h2{font-size:44px;line-height:1.6;letter-spacing:-1.7px;font-weight:900;margin:20px 0 14px}.auth-story h2 span{color:var(--auth-color)}.auth-story>p{font-size:15px;line-height:2.2;color:#746a82;max-width:380px}
.auth-art{position:relative;height:228px;margin:28px 0 18px;display:flex;align-items:center;justify-content:center;isolation:isolate}.auth-art:before{content:'';position:absolute;width:210px;height:210px;background:radial-gradient(circle,#e6dcf8 0%,#eef5f3 68%,transparent 70%);border-radius:50%;z-index:-1}.auth-art-center{display:grid;place-items:center;height:110px;width:110px;background:white;box-shadow:0 16px 45px #3d1c6d18;border:1px solid #e8e3ed;border-radius:30px;transform:rotate(-8deg)}.auth-art-center svg{height:58px;width:58px;stroke:var(--auth-color);transform:rotate(8deg)}.auth-art-tag{position:absolute;display:flex;align-items:center;gap:9px;background:#fff;padding:12px 15px;border:1px solid #ebe6f2;border-radius:16px;box-shadow:0 8px 24px #3d1c6d09;font-size:12px;font-weight:700}.auth-art-tag svg{height:21px;width:21px;color:var(--auth-color)}.auth-art-tag:first-of-type{top:27px;right:8px;transform:rotate(4deg)}.auth-art-tag:last-of-type{bottom:24px;left:8px;transform:rotate(-4deg)}
.auth-benefits{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#71697b}.auth-benefits span{display:flex;align-items:center;gap:6px}.auth-benefits svg{width:17px;height:17px;color:#008a75}.auth-story-note{margin-top:23px;border-top:1px solid #e6e0ed;padding-top:20px;font-size:12px;color:#7d7288;line-height:2}
.auth-card{background:#fff;border:1px solid #e8e3ed;border-radius:28px;padding:32px;box-shadow:0 18px 65px #38225208;min-width:0}.auth-card-header{margin-bottom:22px}.auth-card-header h1{font-size:25px;font-weight:900;margin:0 0 5px;letter-spacing:-.6px}.auth-card-header p{font-size:13px;color:#81768c;margin:0;line-height:2}.auth-mode-links{display:flex;align-items:center;gap:15px;margin-bottom:20px;border-bottom:1px solid #eee9f2;padding-bottom:12px}.auth-mode-links a{font-size:13px;color:#91869a}.auth-mode-links a.is-current{font-weight:800;color:var(--auth-color)}
.auth-role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.auth-role-picker button{border:1.5px solid #e9e3ef;border-radius:16px;padding:12px 10px;background:#fff;display:flex;align-items:center;gap:9px;text-align:right;transition:border-color .15s,background .15s}.auth-role-picker button.is-active{border-color:var(--auth-color);background:var(--auth-soft)}.auth-role-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:#f4f1f8;color:#776688}.is-active .auth-role-icon{background:#fff;color:var(--auth-color)}.auth-role-icon svg{width:21px;height:21px}.auth-role-text strong{display:block;font-size:13px;color:#4e405f}.auth-role-text small{display:block;font-size:10px;color:#8b7e98;line-height:1.8}.auth-role-mark{margin-right:auto;flex-shrink:0;height:16px;width:16px;border:1.5px solid #cec4d8;border-radius:50%}.is-active .auth-role-mark{border:4px solid var(--auth-color);background:#fff}
.auth-steps{display:flex;gap:5px;justify-content:space-between;margin:0 0 22px;padding:0;list-style:none}.auth-steps li{flex:1;display:flex;align-items:center;gap:6px;font-size:11px;color:#a499ad}.auth-steps i{height:23px;width:23px;border-radius:50%;background:#f3f0f6;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;flex-shrink:0}.auth-steps li.is-current{color:var(--auth-color);font-weight:800}.auth-steps li.is-current i{color:white;background:var(--auth-color)}.auth-steps li.is-done i{color:#007d65;background:#e5f5ee}.auth-steps li:not(:last-child):after{content:'';height:1px;background:#e9e1ef;flex:1;margin:0 3px}
.auth-form{display:flex;flex-direction:column;gap:17px}.auth-field{min-width:0}.auth-field label,.auth-label{display:block;font-size:13px;font-weight:750;margin-bottom:7px;color:#4f445e}.auth-field input,.auth-field select{width:100%;height:51px;border:1.5px solid #e8e2ee;border-radius:12px;background:#fff;color:#33283f;padding:10px 14px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.auth-field input:focus,.auth-field select:focus{border-color:var(--auth-color);box-shadow:0 0 0 3px var(--auth-soft)}.auth-field input::placeholder{color:#b0a5ba;font-size:12px}.auth-field input:disabled{background:#f6f4f8;color:#9a8da5}.auth-field small,.auth-help{display:block;font-size:11px;color:#8b8096;line-height:1.9;margin:6px 0 0}.auth-field-error{font-size:11px;color:#bd3a4c;margin:6px 0 0}.auth-phone-row{display:flex;gap:8px}.auth-phone-row input{min-width:0}.auth-phone-verified{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#ecf8f2;border:1px solid #cbeadb;border-radius:13px;gap:12px;color:#087957;font-size:13px}.auth-phone-verified strong{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.auth-phone-verified svg{width:19px;height:19px}.auth-text-button{background:none;border:0;color:var(--auth-color);font-size:12px;font-weight:750;padding:3px;white-space:nowrap}
.auth-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:51px;padding:11px 16px;border:0;border-radius:13px;background:var(--auth-color);color:#fff;font-size:14px;font-weight:800;box-shadow:0 7px 18px #39225413}.auth-button svg{width:18px;height:18px}.auth-button:hover:not(:disabled){filter:brightness(1.08)}.auth-button-secondary{background:var(--auth-soft);color:var(--auth-color);box-shadow:none}.auth-button[aria-busy=true]:before{content:'';width:15px;height:15px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}
.auth-code-panel{padding:17px;background:#faf8fd;border:1px solid #eae3f2;border-radius:15px;display:flex;flex-direction:column;gap:13px}.auth-code-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.auth-code-top strong{font-weight:750}.auth-code-top time{font-size:12px;color:#83758f;font-variant-numeric:tabular-nums}.auth-field .auth-code{height:58px;font-size:23px;text-align:center;letter-spacing:9px;direction:ltr;padding-left:23px}.auth-resend{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#93859f}.auth-resend button{font-size:11px}.auth-details{display:flex;flex-direction:column;gap:17px}.auth-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-left:67px}.auth-password-wrap button{position:absolute;left:10px;top:50%;transform:translateY(-50%);padding:5px;border:0;background:none;color:#8a779d;font-size:11px;font-weight:700}.auth-password-meter{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:10px;color:#93859f}.auth-password-meter>div{display:flex;gap:4px;flex:1}.auth-password-meter i{height:4px;flex:1;background:#ede8f1;border-radius:4px}.auth-password-meter i.is-filled{background:var(--auth-color)}
.auth-later{background:#f8f6fb;border-radius:12px;padding:12px 14px;border-right:3px solid #d7c6ed;font-size:11px;color:#82758f;line-height:2}.auth-later strong{color:#695479;display:block;margin-bottom:2px;font-weight:750}.auth-feedback{padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.auth-feedback-error{background:#fff1f2;color:#b53b51;border:1px solid #f5dce1}.auth-feedback-info{background:#f0f5fe;color:#456798;border:1px solid #dde7f7}.auth-feedback-success{background:#edf8f1;color:#267551;border:1px solid #d5ecde}
.auth-method-picker{display:flex;padding:4px;gap:5px;border:1px solid #eee7f4;border-radius:12px;background:#f8f6fb;margin-bottom:3px}.auth-method-picker button{flex:1;background:transparent;border:0;padding:10px;border-radius:9px;font-size:12px;color:#8d7d9f;font-weight:700}.auth-method-picker button.is-active{background:#fff;color:var(--auth-color);box-shadow:0 2px 8px #3d1c6d0b}.auth-forgot{text-align:left;margin:0}.auth-footnote{text-align:center;font-size:12px;color:#92839e;margin:20px 0 0;border-top:1px solid #eee8f3;padding-top:20px}.auth-footnote a{color:var(--auth-color);font-weight:800;margin-right:4px}.auth-support{max-width:1130px;margin:0 auto 25px;padding:0 34px;display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#a196ad;flex-wrap:wrap}.auth-support a{color:#82718e}.auth-no-script{padding:15px;background:#fff3da;color:#866315;border-radius:12px;margin-bottom:15px;font-size:13px}
@media(min-width:1100px){.auth-layout{gap:100px}.auth-card{padding:34px}.auth-story{padding-top:56px}}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr;max-width:560px;gap:0;margin-top:5px;padding:0 22px}.auth-story{display:none}.auth-topbar{max-width:560px;padding:21px 22px}.auth-card{padding:27px;border-radius:24px}.auth-support{max-width:560px;padding:0 22px;justify-content:center}.auth-logo{font-size:16px}.auth-logo img{height:39px;max-width:130px}.auth-back{font-size:11px}.auth-card-header h1{font-size:24px}}
@media(max-width:390px){.auth-layout{padding:0 12px}.auth-topbar{padding:17px 15px}.auth-card{padding:22px 18px}.auth-role-picker button{gap:6px;padding:10px 8px}.auth-role-icon{height:29px;width:29px}.auth-role-text strong{font-size:12px}.auth-role-mark{height:14px;width:14px}.auth-steps{gap:2px}.auth-steps li{gap:4px;font-size:10px}.auth-names{gap:8px}.auth-support{padding:0 15px}}
@media(prefers-reduced-motion:reduce){.auth-page *{animation:none!important;transition:none!important}}
.auth-art-ai{top:27px;right:8px;transform:rotate(4deg)}.auth-art-teacher{bottom:24px;left:8px;transform:rotate(-4deg)}
