/* Rüya Ailem V8.0.2 — safe OTP Motion + mobile stability */
.login{--auth-navy:#243967;--auth-blue:#789fbd;--auth-lilac:#9882b2;--auth-peach:#edc7bb;min-height:100svh!important;display:grid!important;grid-template-columns:minmax(360px,.92fr) minmax(440px,1.08fr)!important;background:linear-gradient(145deg,#f7fafc,#f7f5fa 58%,#fbf6f3)!important;overflow:hidden!important;position:relative}
.loginArt{position:relative!important;isolation:isolate;display:flex!important;align-items:center!important;justify-content:center!important;padding:54px!important;overflow:hidden!important;background:linear-gradient(160deg,#f7fafc 0%,#eef5f7 45%,#f5eff7 100%)!important}
.loginArt:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(121,151,180,.12);box-shadow:0 0 0 72px rgba(151,130,177,.035),0 0 0 145px rgba(121,151,180,.025);animation:v802Orbit 28s linear infinite;z-index:-2}
.loginArt:after{content:"";position:absolute;width:560px;height:430px;border-radius:50%;background:radial-gradient(circle at 30% 35%,rgba(117,161,193,.26),transparent 38%),radial-gradient(circle at 72% 62%,rgba(160,126,181,.23),transparent 40%),radial-gradient(circle at 50% 50%,rgba(239,199,185,.18),transparent 57%);filter:blur(3px);animation:v802Aura 7s ease-in-out infinite alternate;z-index:-3}
.loginBrand{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;max-width:520px!important}
.loginBrand:before,.loginBrand:after{position:absolute;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(225,231,237,.86);border-radius:15px;background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(42,61,82,.07);backdrop-filter:blur(12px);font-size:9px;font-weight:800;color:#637286;animation:v802Float 4.8s ease-in-out infinite}
.loginBrand:before{content:"●  Okul";left:-90px;top:10px}.loginBrand:after{content:"✓  Güvenli giriş";right:-122px;bottom:30px;animation-delay:-2.2s}
.loginBrand img{width:190px!important;height:118px!important;object-fit:contain!important;border-radius:25px!important;background:#fff!important;box-shadow:0 18px 48px rgba(49,65,89,.09)!important;mix-blend-mode:normal!important;animation:v802Logo .78s cubic-bezier(.16,.85,.3,1) both}
.loginBrand h1{margin:20px 0 3px!important;font-size:41px!important;line-height:1.05!important;color:#263a55!important;font-weight:680!important;letter-spacing:-.045em!important}.loginBrand h2{margin:0!important;font-size:20px!important;color:#7d6f97!important;font-weight:650!important}.loginBrand p{margin:13px 0 0!important;color:#7c8997!important;font-size:13px!important;line-height:1.6!important}
.loginPanel{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:42px 42px 112px!important;background:rgba(255,255,255,.7)!important;backdrop-filter:blur(18px)}
.loginBox{width:min(490px,100%)!important;padding:28px 29px 26px!important;border:1px solid rgba(220,226,233,.95)!important;border-radius:30px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 30px 74px rgba(43,58,78,.10)!important;animation:v802Panel .72s .08s cubic-bezier(.18,.82,.33,1) both}
.loginTabs{display:grid!important;grid-template-columns:1fr 1fr!important;margin-bottom:25px!important;padding:4px!important;border-radius:15px!important;background:#f0f2f1!important}.loginTabs button{min-height:44px!important;border:0!important;border-radius:12px!important;background:transparent!important;font-size:12px!important}.loginTabs button.active{color:#314b78!important;background:#fff!important;box-shadow:0 7px 18px rgba(45,59,76,.08)!important}
.loginBox h2{font-size:29px!important;line-height:1.1!important;letter-spacing:-.04em!important;color:#283850!important;margin:2px 0 8px!important}.loginBox>p,.loginBox form>p{color:#7c8796!important;font-size:12px!important;line-height:1.55!important;margin:0 0 17px!important}
.loginBox .field{position:relative!important;margin:0 0 11px!important;padding:9px 12px!important;border:1px solid #e1e7ed!important;border-radius:17px!important;background:#fbfcfd!important;transition:.18s ease}.loginBox .field:focus-within{border-color:#b1a4c7!important;box-shadow:0 0 0 4px rgba(148,128,179,.09)!important;transform:translateY(-1px)}.loginBox .field label{font-size:9px!important;color:#7f8a99!important;margin-bottom:3px!important}.loginBox .field input{width:100%!important;min-height:34px!important;border:0!important;outline:0!important;background:transparent!important;padding:0!important;font-size:14px!important;color:#26394f!important;box-shadow:none!important}
.loginButton{position:relative!important;overflow:hidden!important;width:100%!important;min-height:53px!important;margin-top:14px!important;border:0!important;border-radius:16px!important;background:linear-gradient(105deg,#7598b7 0%,#8b84b2 54%,#a487b0 100%)!important;color:#fff!important;box-shadow:0 14px 28px rgba(77,91,128,.16)!important}.loginButton:after{content:"";position:absolute;inset:0 auto 0 -45%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);animation:v802Sheen 3.6s 1.2s infinite}.loginButton>*{position:relative;z-index:1}.authLinks{display:flex!important;justify-content:space-between!important;gap:12px!important;margin-top:10px!important}.authLinks button{border:0!important;background:transparent!important;color:#49678f!important;font-size:11px!important;font-weight:750!important}.loginHint{display:none!important}.statusBox{font-size:11px!important}
.v802InstallCard{position:fixed;z-index:950;right:42px;bottom:22px;width:min(490px,calc(100vw - 84px));display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid #dfe6eb;border-radius:17px;background:linear-gradient(135deg,rgba(242,247,248,.97),rgba(246,240,248,.97));box-shadow:0 18px 48px rgba(42,57,75,.12);backdrop-filter:blur(16px);text-align:left;color:#334960}.v802InstallCard img{width:44px;height:44px;border-radius:12px}.v802InstallCard span b,.v802InstallCard span small{display:block}.v802InstallCard span b{font-size:10px}.v802InstallCard span small{margin-top:3px;color:#7b8898;font-size:8.5px;line-height:1.4}.v802InstallCard i{font-style:normal;font-size:8px;font-weight:850;color:#fff;background:#5b6f9e;border-radius:11px;padding:9px 10px;white-space:nowrap}
/* existing V8 controls, now styled without modifying React-owned nodes */
.role-parent #v800PushPrompt{position:relative!important;z-index:4!important;width:auto!important;max-width:1480px!important;margin:14px auto!important;box-sizing:border-box!important}
.parentMobileDrawer{grid-template-rows:auto auto minmax(0,1fr) auto!important}.parentDrawerFooter{z-index:4!important;display:block!important;background:#f8f9fc!important}.parentDrawerLogout{display:grid!important;visibility:visible!important;opacity:1!important;min-height:52px!important}.parentDrawerNav{min-height:0!important}
.parentAccessLayout{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important;align-items:start!important;gap:16px!important}.parentAccessLayout>#v800ActivationAdmin{grid-column:1/-1!important;grid-row:1!important;margin:0!important}.parentAccessLayout>.card:first-of-type{grid-column:1!important;grid-row:2!important;min-width:0}.parentAccessLayout>form.card{grid-column:2!important;grid-row:2!important;min-width:0;position:sticky!important;top:18px!important}.parentAccessLayout .parentAccountCard{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr)!important;gap:14px!important}.parentAccessLayout .parentAccountActions{min-width:0!important}.parentAccessLayout #v800ActivationAdmin{border-radius:20px!important}
.v802RecoveryCard{max-width:420px;padding:18px;border:1px solid #dfe5eb;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(39,53,72,.09);text-align:center}.v802RecoveryCard b,.v802RecoveryCard span{display:block}.v802RecoveryCard b{color:#344960;font-size:14px}.v802RecoveryCard span{margin:6px 0 12px;color:#7b8795;font-size:11px}.v802RecoveryCard button{border:0;border-radius:12px;background:#29467e;color:#fff;padding:10px 14px;font-weight:800}
@keyframes v802Orbit{to{transform:rotate(360deg)}}@keyframes v802Aura{from{transform:translate3d(-12px,-6px,0) scale(.96)}to{transform:translate3d(15px,10px,0) scale(1.05)}}@keyframes v802Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes v802Logo{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}@keyframes v802Panel{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@keyframes v802Sheen{0%,55%{left:-45%}80%,100%{left:120%}}
@media(max-width:980px){.parentAccessLayout{grid-template-columns:1fr!important}.parentAccessLayout>#v800ActivationAdmin,.parentAccessLayout>.card:first-of-type,.parentAccessLayout>form.card{grid-column:1!important;grid-row:auto!important}.parentAccessLayout>form.card{position:static!important}.parentAccessLayout .parentAccountCard{grid-template-columns:1fr!important}}
@media(max-width:780px){
 html,body,#root{max-width:100%;overflow-x:hidden}.login{display:block!important;min-height:100svh!important;overflow-y:auto!important;background:linear-gradient(180deg,#eef5fa 0%,#f5f1f8 50%,#fbf5f2 100%)!important;padding:env(safe-area-inset-top) 0 calc(118px + env(safe-area-inset-bottom))!important}.loginArt{display:flex!important;min-height:235px!important;padding:30px 20px 16px!important;background:transparent!important}.loginArt:before{width:280px;height:280px;box-shadow:0 0 0 45px rgba(151,130,177,.025)}.loginArt:after{width:330px;height:260px}.loginBrand:before,.loginBrand:after{display:none}.loginBrand img{width:145px!important;height:88px!important;border-radius:21px!important}.loginBrand h1{font-size:28px!important;margin-top:13px!important}.loginBrand h2{font-size:16px!important}.loginBrand p{font-size:11px!important;margin-top:7px!important}.loginPanel{display:block!important;padding:0 12px 24px!important;background:transparent!important;backdrop-filter:none!important}.loginBox{width:100%!important;max-width:520px!important;margin:0 auto!important;padding:22px 18px 20px!important;border-radius:26px!important}.loginBox h2{font-size:25px!important}.loginTabs{margin-bottom:20px!important}.v802InstallCard{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;grid-template-columns:40px minmax(0,1fr) auto;padding:10px}.v802InstallCard img{width:40px;height:40px}.v802InstallCard i{padding:8px 9px}.role-parent .parentMain,.role-parent .main{width:100%!important;max-width:100vw!important;min-width:0!important;overflow-x:hidden!important;padding-left:10px!important;padding-right:10px!important}.role-parent .parentV53Home,.role-parent .v5ParentPage{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}.role-parent #v800PushPrompt{width:100%!important;margin:10px 0 12px!important}.role-parent .bottomNav{left:7px!important;right:7px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:hidden!important;gap:2px!important}.role-parent .bottomNav>button{min-width:0!important;width:100%!important;flex:initial!important;padding:8px 2px!important}.role-parent .bottomNav>button small{font-size:7.5px!important;white-space:nowrap!important}.parentMobileDrawer{width:min(350px,92vw)!important}.parentDrawerFooter{position:sticky!important;bottom:0!important}.parentAccessLayout{display:block!important}.parentAccessLayout>*{margin-bottom:14px!important}.parentAccessLayout .parentAccountCard{grid-template-columns:1fr!important}}
@media(max-width:390px){.loginArt{min-height:210px!important}.loginBrand img{width:128px!important;height:78px!important}.loginBrand h1{font-size:25px!important}.loginBox{padding:19px 15px!important}.authLinks{gap:6px!important}.authLinks button{font-size:10px!important}.v802InstallCard{grid-template-columns:38px 1fr}.v802InstallCard i{grid-column:1/-1;text-align:center}.v802InstallCard span small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.login *,.v802InstallCard{animation:none!important;transition:none!important}}

/* V8.0.3 — OTP > Sözleşmeler > PIN */
.activationStepBadge{display:inline-flex;align-items:center;justify-content:center;margin:0 0 10px;padding:6px 10px;border:1px solid #dfe6ec;border-radius:999px;background:#f4f7fa;color:#60758b;font-size:9px;font-weight:850;letter-spacing:.08em}
.contractApprovalStep .consentList{max-height:330px;overflow:auto;padding-right:3px;margin-top:10px}
.contractApprovalStep .consentItem{padding:11px 12px}
.contractApprovalStep .consentItem b{font-size:10.5px;line-height:1.4}
.contractApprovalStep .consentItem small{font-size:8.5px}
@media(max-width:600px){.contractApprovalStep .consentList{max-height:none;overflow:visible}.contractApprovalStep .legalButtons{grid-template-columns:1fr}.contractApprovalStep .consentItem{padding:10px}.contractApprovalStep .loginButton{position:sticky;bottom:8px;z-index:4}}
