/* senoraclass.lk — login / register design (overrides the pages' own styles) */
html,html[data-theme]{
  --bg-main:#f6f9ff!important;--bg-panel:#ffffff!important;--text-primary:#0b1533!important;--text-secondary:#5b6785!important;
  --input-bg:#f3f7fe!important;--accent-logic:#1683ff!important;--accent-hover:#0a6cf0!important;--border-color:#e3eaf7!important;
}
body{font-family:'Poppins','Noto Sans Sinhala',system-ui,sans-serif!important;background:#f6f9ff!important;color:#0b1533!important}
.sin{font-family:'Noto Sans Sinhala','Poppins',sans-serif}
.theme-toggle-wrapper{display:none!important}
.layout-wrapper{display:flex!important;min-height:100vh;background:#f6f9ff!important}

/* left panel */
.brand-section.sc-brand{position:relative!important;flex:0 0 46%!important;max-width:46%!important;overflow:hidden;color:#fff;
  padding:42px 48px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;
  background:radial-gradient(700px 420px at 85% 10%,#13408f 0%,transparent 60%),linear-gradient(160deg,#06122f 0%,#0a1f4e 55%,#0f2f73 100%)!important}
.sc-pix{position:absolute;border-radius:4px;opacity:.9}
.sc-back{position:relative;z-index:2;align-self:flex-start;color:#c4d3f2;font-size:14px;font-weight:500;text-decoration:none;
  padding:9px 16px;border-radius:50px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:.2s}
.sc-back:hover{background:rgba(255,255,255,.14);color:#fff}
.sc-brand-mid{position:relative;z-index:2;text-align:center;margin:20px auto;max-width:440px}
.sc-mark{position:relative;width:170px;height:170px;margin:0 auto 18px}
.sc-disc{position:absolute;inset:0;border-radius:50%;background:#fff;display:grid;place-items:center;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.6),0 0 0 12px rgba(255,255,255,.06),0 0 0 26px rgba(255,255,255,.03);animation:scf 6s ease-in-out infinite}
.sc-disc img{width:78%}
.sc-orbit{position:absolute;inset:-14px -40px;border-radius:50%;border:2px solid transparent;border-top-color:#f5b301;border-right-color:rgba(245,179,1,.4);
  transform:rotate(-14deg);animation:sco 9s linear infinite;z-index:1;pointer-events:none}
.sc-orbit::after{content:"";position:absolute;top:8%;right:16%;width:16px;height:16px;background:#f5b301;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 8px rgba(245,179,1,.9))}
@keyframes sco{to{transform:rotate(346deg)}}
@keyframes scf{50%{transform:translateY(-10px)}}
.sc-word{height:62px;width:auto;margin:0 auto 18px;display:block}
.sc-brand-mid h1{font-size:clamp(26px,2.6vw,36px);font-weight:800;line-height:1.2;margin-bottom:12px;color:#fff}
.sc-brand-mid h1 span{color:#f5b301}
.sc-brand-mid p{color:#bcd0f3;font-size:15px;line-height:1.7}
.sc-pillars{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sc-pillars div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 12px;text-align:center;backdrop-filter:blur(6px)}
.sc-pillars i{color:#f5b301;font-size:18px;margin-bottom:6px;display:block}
.sc-pillars b{display:block;font-size:14.5px}
.sc-pillars small{color:#9fb4de;font-size:11.5px}
.sc-book{position:absolute;left:0;right:0;bottom:0;width:100%;height:90px;z-index:1}

/* right panel */
.login-section,.register-section{flex:1!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:40px 24px!important;background:#f6f9ff!important;position:relative}
.login-section::before,.register-section::before{content:"";position:absolute;top:-120px;right:-120px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(22,131,255,.12),transparent 70%);pointer-events:none}
.login-box,.register-box{position:relative;width:100%;max-width:460px!important;background:#fff!important;border:1px solid #e3eaf7!important;
  border-radius:26px!important;padding:40px 38px!important;box-shadow:0 40px 80px -40px rgba(10,31,78,.35)!important;backdrop-filter:none!important}
.login-box::before,.register-box::before{content:""!important;display:block!important;position:absolute!important;top:0;left:38px;right:38px;height:4px;
  border-radius:0 0 6px 6px;background:linear-gradient(90deg,#0a6cf0,#2bb3ff,#f5b301)!important;inset:auto;opacity:1!important;filter:none!important;z-index:0}
.sc-formlogo{display:block;height:46px;width:auto;margin:0 0 18px}
.login-header{text-align:left!important;margin-bottom:26px!important}
.login-header h2{font-size:28px!important;font-weight:800!important;color:#0a1f4e!important;letter-spacing:-.01em}
.login-header p{color:#5b6785!important;font-size:14.5px!important;margin-top:6px}
.form-group{margin-bottom:18px!important}
.form-group label{display:block;color:#25335a!important;font-size:13px!important;font-weight:600!important;margin-bottom:8px!important;text-transform:none!important;letter-spacing:0!important}
.form-group input,.form-group select{background:#f3f7fe!important;border:1.5px solid #e3eaf7!important;color:#0b1533!important;border-radius:14px!important;
  font-family:inherit!important;font-weight:500!important}
.form-group input::placeholder{color:#97a3bf}
.form-group input:focus,.form-group select:focus{border-color:#1683ff!important;background:#fff!important;box-shadow:0 0 0 4px rgba(22,131,255,.12)!important}
.form-group input:focus ~ i.field-icon{color:#1683ff!important}
.input-wrapper i.field-icon,.select-arrow{color:#8a97b6!important}
.form-group label:has(input[type=radio]){border-color:#e3eaf7!important;background:#f3f7fe;color:#25335a}
.form-group label:has(input[type=radio]:checked){border-color:#1683ff!important;background:#eef5ff}
.form-group input[type=radio]{accent-color:#1683ff!important}
.login-btn{background:linear-gradient(135deg,#0a6cf0,#1683ff 55%,#2bb3ff)!important;border-radius:14px!important;padding:15px!important;font-family:inherit!important;
  font-weight:600!important;font-size:15.5px!important;box-shadow:0 14px 30px -12px rgba(22,131,255,.75)!important}
.login-btn:hover{transform:translateY(-2px)}
.register-link{color:#5b6785!important}
.register-link a,a[href="forgot_password.php"],a[href="parent_login.php"]{color:#1683ff!important}
.error-card{background:#fff1f1!important;border:1px solid #fecaca!important;color:#b42318!important;border-radius:14px!important}
.success-card,.alert-success{border-radius:14px!important}
.sc-free{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:18px;padding:12px;border-radius:14px;background:#fff8e1;border:1px dashed #f5c542;color:#7a5600;font-size:13.5px;font-weight:500;text-decoration:none}
.mobile-footer{color:#8a97b6!important}

@media(max-width:900px){
  .layout-wrapper{flex-direction:column!important}
  .brand-section.sc-brand{display:flex!important;flex:none!important;max-width:none!important;padding:26px 22px 70px!important}
  .sc-mark,.sc-brand-mid p,.sc-pillars{display:none}
  .sc-brand-mid{margin:6px auto 0}
  .sc-word{height:48px;margin-bottom:10px}
  .sc-brand-mid h1{font-size:22px;margin:0}
  .sc-back{font-size:12.5px;padding:7px 12px}
  .login-section,.register-section{margin-top:-50px;padding:0 14px 30px!important;background:transparent!important}
  .login-box,.register-box{padding:30px 22px!important;border:1px solid #e3eaf7!important;background:#fff!important;box-shadow:0 30px 60px -30px rgba(10,31,78,.4)!important}
  .login-box::before,.register-box::before{display:block!important}
  body{background:#f6f9ff!important}
}

/* course portal login/register (simple card markup inside .login-box.sc-mini) */
body.sc-auth{display:block!important;padding:0!important;min-height:100vh}
.sc-mini h1{font-size:26px!important;font-weight:800!important;color:#0a1f4e!important;text-align:left!important;margin-bottom:4px}
.sc-mini .sub{text-align:left!important;color:#5b6785!important;margin-bottom:20px!important}
.sc-mini label{color:#25335a!important;font-weight:600!important}
.sc-mini .inp{background:#f3f7fe!important;border:1.5px solid #e3eaf7!important;color:#0b1533!important;font-family:inherit!important}
.sc-mini .inp:focus{border-color:#1683ff!important;background:#fff!important;box-shadow:0 0 0 4px rgba(22,131,255,.12)!important}
.sc-mini .btn{background:linear-gradient(135deg,#0a6cf0,#1683ff 55%,#2bb3ff)!important;border-radius:14px!important;font-family:inherit!important;font-weight:600!important;box-shadow:0 14px 30px -12px rgba(22,131,255,.75)!important}
.sc-mini .note{background:#eef5ff!important;color:#0a6cf0!important}
.sc-mini .foot a{color:#1683ff!important}
.sc-mini .foot a[style]{color:#5b6785!important}

/* keep the brand panel filling the screen while a long form scrolls */
.layout-wrapper{height:auto!important;min-height:100vh!important;align-items:stretch!important;overflow:visible!important}
@media(min-width:901px){
  .brand-section.sc-brand{position:fixed!important;left:0;top:0;bottom:0;width:46%!important;height:100vh!important;min-height:0!important}
  .login-section,.register-section{margin-left:46%!important;min-height:100vh;height:auto!important;overflow:visible!important}
}
html,body{height:auto!important;overflow-x:hidden}
@media(min-width:901px) and (max-height:720px){.sc-mark{width:110px;height:110px;margin-bottom:10px}.sc-word{height:46px;margin-bottom:10px}.sc-brand-mid p{display:none}}
.sc-admin-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#a67500;background:#fff6dc;border:1px solid #f5d77a;padding:5px 12px;border-radius:50px;margin-bottom:14px}
