/* Public Tamooh home & enrollment — compatible with the existing RTL theme. */
.landing{background:#f7fafc;color:#213549;min-height:100vh}
.public-nav{max-width:1160px;padding:20px 24px;gap:15px}
.public-nav .brand{color:inherit;text-decoration:none;gap:9px}
.public-nav-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.public-hero{max-width:1160px;margin:15px auto 26px;padding:42px;display:grid;grid-template-columns:1.4fr .75fr;gap:30px;align-items:center;background:linear-gradient(140deg,#eff9fa,#eef3fa);border:1px solid #e2edf3;border-radius:25px;overflow:hidden}
.public-hero-main h1{font-size:clamp(30px,4vw,51px);line-height:1.5;letter-spacing:-1.1px;margin:15px 0}.public-hero-main h1 em{font-style:normal;color:#0c8190;display:block}
.public-hero-main p{font-size:15px;line-height:2;color:#607588;max-width:580px}.public-hero .hero-ctas{margin-top:25px}
.public-hero-art{background:#fff;border-radius:24px;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 45px #234e6022;gap:12px;text-align:center}
.public-hero-art .public-medal{font-size:80px}.public-hero-art strong{font-size:20px}.public-hero-art small{color:#70879a}
.public-filter{max-width:1160px;margin:0 auto 22px;padding:0 12px}.public-filter form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.public-filter label{font-size:13px;font-weight:700}.public-filter select,.public-scope-select select{background:#fff;border-radius:11px;border:1px solid #dbe7ee;min-height:43px;padding:8px 12px;color:#29465c}
.public-section{max-width:1160px;margin:0 auto 27px;padding:20px 20px 27px;background:#fff;border:1px solid #e5edf2;border-radius:20px;box-shadow:0 8px 30px #294e5e07}.public-section-head{text-align:center;margin-bottom:20px}.public-section-head h2{font-size:23px;margin:8px 0}.public-section-head p{color:#778a9b;font-size:13px;margin:5px}
.public-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:transparent;border:0;box-shadow:none;padding:0}
.public-tile{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid #e5edf2;padding:22px 12px;border-radius:17px;gap:7px;text-align:center}.public-tile>span{font-size:26px;color:#0a8096}.public-tile strong{font-size:27px;color:#113957}.public-tile small{font-size:12px;color:#728697}
.public-list{max-width:720px;margin:auto;display:flex;flex-direction:column;gap:8px}.public-rank{display:flex;align-items:center;gap:14px;border:1px solid #e7eef2;background:#f9fbfd;border-radius:13px;padding:12px 15px}.public-rank-icon{font-size:25px;width:38px;text-align:center}.public-rank div{flex:1;display:flex;flex-direction:column;gap:4px}.public-rank div b{font-size:14px}.public-rank small{font-size:11px;color:#788a9b}.public-rank strong{font-size:14px;color:#08778b;white-space:nowrap}
.public-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-mini-card{padding:20px;border:1px solid #e7eef2;border-radius:15px;display:flex;flex-direction:column;gap:11px;background:#fafcfe}.public-mini-card>span{font-size:30px}.public-mini-card b{font-size:15px}.public-mini-card p,.public-mini-card small{font-size:12px;color:#718799;margin:0}.public-mini-card strong{color:#147d93;font-size:14px}.public-empty{color:#8293a2;text-align:center;padding:23px;width:100%}
.public-register-wrap{padding:22px 17px 70px;max-width:870px;margin:auto}.public-back{color:#0e708b;text-decoration:none;font-size:13px;display:inline-block;margin:4px 0 16px}.public-register-card{background:#fff;border:1px solid #e3eaf1;border-radius:22px;padding:32px;box-shadow:0 15px 55px #264b6510}.public-register-head{text-align:center;margin-bottom:24px}.public-register-head h1{font-size:29px;margin:12px 0 4px}.public-register-head p{font-size:13px;color:#748898;margin:7px 0}.public-reg-icon{border-radius:16px;padding:10px 17px;display:inline-block;background:#e3f6f7;color:#0b8496;font-size:28px}.public-scope-select{padding:15px;margin-bottom:17px;background:#f3f8fa;border-radius:12px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.public-scope-select label{font-weight:800;font-size:13px}.public-scope-select select{flex:1;min-width:200px}
.public-reg-form{display:flex;flex-direction:column;gap:14px}.public-reg-form h2{margin:14px 0 4px;padding-bottom:9px;border-bottom:1px solid #e9eef1;font-size:18px;color:#15526d}.public-reg-form .form-grid{gap:14px}.public-privacy{padding:14px;background:#eaf7f7;border-radius:12px;color:#236079;font-size:12px;line-height:2}.public-accept{display:flex;gap:9px;align-items:flex-start;line-height:1.8;font-size:12px;color:#597084}.public-accept input{margin-top:5px}.public-submit{align-self:stretch;min-height:49px}.public-bottom{text-align:center;margin-top:19px}.public-bottom a{color:#0c7894;text-decoration:none}.public-hp{position:absolute!important;inset:auto!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important}.public-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:15px 0}.public-setting-grid .check{background:#f7fafb;border:1px solid #e6edf1;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px}.public-settings-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}
@media(max-width:900px){.public-hero{margin:10px 15px 25px}.public-section{margin:0 15px 20px}.public-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.public-nav{padding:14px;flex-wrap:wrap}.public-nav-actions{gap:5px}.public-nav-actions .btn{font-size:11px;padding:9px}.public-hero{grid-template-columns:1fr;padding:25px 20px}.public-hero-art{min-height:135px}.public-hero-art .public-medal{font-size:46px}.public-mini-grid{grid-template-columns:1fr}.public-register-card{padding:20px 14px}.public-register-head h1{font-size:24px}.public-stats{gap:10px}.public-tile{padding:16px 8px}.public-tile strong{font-size:21px}.public-section-head h2{font-size:20px}.public-setting-grid{grid-template-columns:1fr}.public-filter form{padding:0 5px}}
/* Public student-registration ease of use */
.public-register-step{width:28px;height:28px;display:inline-grid;place-items:center;vertical-align:middle;margin-left:7px;border-radius:50%;background:#dceff2;color:#08778e;font-size:13px}
.public-step-desc{margin:0 0 5px;color:#718896;font-size:13px}
.public-submit-notice{font-size:12px;color:#277d65;background:#effaf5;border:1px solid #dcefe5;border-radius:9px;padding:10px 13px}
.public-reg-form .field{position:relative}
.public-password-toggle{position:relative;display:inline-flex;align-self:flex-start;border:0;padding:5px 9px;margin-top:5px;font-size:12px;color:#0e7c91;background:#e9f5f7;border-radius:8px;cursor:pointer}
.public-reg-form .field input:focus-visible,.public-reg-form .field select:focus-visible{outline:2px solid #078ba0;outline-offset:1px}


/* v2.2 — Student registration: organization identity and mobile / RTL width fixes.
   Scoped to registration only; admin, student dashboard and public home unaffected. */
.registration-screen {inline-size:100%; max-inline-size:100%; overflow-x:clip;}
.registration-screen .public-register-wrap {
  inline-size:min(100%,920px); max-inline-size:100%; min-inline-size:0;
  margin-inline:auto; padding:clamp(14px,3vw,28px) clamp(12px,4vw,24px) 55px;
}
.registration-screen .public-register-card {
  width:100%; min-width:0; max-width:100%; overflow:visible;
  padding:clamp(16px,4vw,34px);
}
.registration-screen .public-register-card *,
.registration-screen .public-register-card *::before,
.registration-screen .public-register-card *::after {max-inline-size:100%;}
.registration-screen .public-reg-form,
.registration-screen .public-reg-form .form-grid,
.registration-screen .public-scope-select {width:100%;min-width:0;max-width:100%;}
.registration-screen .public-reg-form .form-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.registration-screen .field {min-width:0;}
.registration-screen .field input,
.registration-screen .field select,
.registration-screen .public-scope-select select {width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
.registration-screen .public-scope-select select {flex:1 1 210px;}
.registration-screen .public-accept {min-width:0;overflow-wrap:anywhere;}
.registration-screen .public-privacy {overflow-wrap:break-word;}
.registration-screen .public-reg-brand {
  display:flex;align-items:center;gap:15px;min-width:0;
  margin:0 0 24px;padding:15px 17px;
  border:1px solid #d9ebee;background:linear-gradient(125deg,#f0fafb,#f7fbff);
  border-radius:17px;text-align:right;
}
.registration-screen .public-reg-brand-logo {
  width:78px;height:78px;flex:0 0 78px;display:grid;place-items:center;
  border-radius:16px;border:1px solid #e2ebef;background:#fff;
  box-shadow:0 6px 20px rgba(12,94,112,.09);overflow:hidden;
}
.registration-screen .public-reg-brand-logo img {width:100%;height:100%;object-fit:contain;padding:6px;}
.registration-screen .public-reg-logo-fallback {
  display:grid;place-items:center;background:linear-gradient(130deg,#146d83,#189ba4);
  width:55px;height:55px;border-radius:14px;color:#fff;font-size:29px;
}
.registration-screen .public-reg-brand-meta {min-width:0;display:flex;flex:1;flex-direction:column;gap:3px;line-height:1.6;}
.registration-screen .public-reg-brand-meta small {color:#647f8c;font-size:12px;overflow-wrap:anywhere;}
.registration-screen .public-reg-brand-meta strong {font-size:clamp(18px,3vw,24px);color:#183b56;overflow-wrap:anywhere;}
.registration-screen .public-reg-brand-meta>span {font-size:12px;color:#638190;overflow-wrap:anywhere;}
@media (max-width:720px) {
  .registration-screen .public-register-wrap {padding-inline:12px;padding-block:15px 38px;}
  .registration-screen .public-register-card {padding:18px 14px;border-radius:16px;}
  .registration-screen .public-reg-form .form-grid {grid-template-columns:minmax(0,1fr);gap:13px;}
  .registration-screen .public-scope-select {display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:13px;}
  .registration-screen .public-scope-select select {flex:0 1 auto;min-width:0;width:100%;}
  .registration-screen .public-register-head h1 {font-size:clamp(21px,6vw,27px);}
  .registration-screen .public-reg-form .field input,
  .registration-screen .public-reg-form .field select,
  .registration-screen .public-scope-select select {font-size:16px; min-height:47px;}
  .registration-screen .public-reg-brand {gap:11px;padding:12px;}
  .registration-screen .public-reg-brand-logo {width:62px;height:62px;flex-basis:62px;border-radius:13px;}
  .registration-screen .public-reg-logo-fallback {width:46px;height:46px;font-size:24px;}
}
@media (max-width:359px) {
  .registration-screen .public-register-wrap {padding-inline:8px;}
  .registration-screen .public-register-card {padding-inline:10px;}
  .registration-screen .public-reg-brand {gap:8px;padding:9px;}
  .registration-screen .public-reg-brand-logo {width:52px;height:52px;flex-basis:52px;}
  .registration-screen .public-reg-brand-meta small,
  .registration-screen .public-reg-brand-meta>span {font-size:11px;}
}
