@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@100..900&display=swap');


:root{
  --bg:#f4f7f6; --surface:#ffffff; --surface2:#f8fbf9; --text:#18332a;
  --muted:#6c7d76; --line:#dfe8e3; --primary:#0b7a48; --primary2:#075f39;
  --accent:#e8b72d; --danger:#b43a3a; --shadow:0 10px 30px rgba(12,60,40,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Vazirmatn',Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}
body{direction:rtl}
a{text-decoration:none;color:inherit}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef8f1,#f8f6ef)}
.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand-badge{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:bold}
.brand h1{font-size:19px;margin:0}.brand p{font-size:12px;color:var(--muted);margin:5px 0 0}
.field{margin:14px 0}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary)}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}
.btn-light{background:#fff;border:1px solid var(--line)}.btn-danger{background:#fff0f0;color:var(--danger);border:1px solid #f2cccc}
.alert{padding:11px 13px;border-radius:12px;margin:12px 0;font-size:13px}.alert-danger{background:#fff0f0;color:#8b2424}.alert-success{background:#effaf3;color:#12693f}
.shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}
.sidebar{background:#123d2f;color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.sidebar .brand{padding:8px}.sidebar .brand-badge{background:#fff;color:#123d2f}.sidebar .brand p{color:#b8d1c7}
.nav-title{font-size:11px;color:#9fc0b3;padding:14px 10px 7px}.nav a{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:10px;margin:2px 0;font-size:13px;color:#e8f2ee}.nav a:hover,.nav a.active{background:rgba(255,255,255,.12)}
.content{min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}
.topbar .who{font-size:13px;color:var(--muted)}.page{padding:24px}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-head h2{margin:0;font-size:22px}.page-head p{margin:6px 0 0;color:var(--muted);font-size:13px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:0 4px 15px rgba(0,0,0,.025)}
.kpi .label{font-size:12px;color:var(--muted)}.kpi .value{font-size:25px;font-weight:800;margin-top:8px}.kpi .hint{font-size:11px;color:var(--muted);margin-top:5px}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.table th{color:var(--muted);font-weight:700;background:var(--surface2)}
.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;background:#edf5f1;color:#236445}.badge.warn{background:#fff7dc;color:#866416}.badge.danger{background:#fff0f0;color:#943535}
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.module-tile{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;min-height:112px}.module-tile .icon{font-size:25px}.module-tile h3{margin:9px 0 5px;font-size:14px}.module-tile p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}
.org{display:flex;flex-direction:column;align-items:center;gap:18px}.org-row{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.person-card{width:190px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;text-align:center}.avatar{width:58px;height:58px;border-radius:50%;margin:auto;background:#e6f1eb;display:grid;place-items:center;font-size:23px}.person-card h4{margin:9px 0 4px;font-size:13px}.person-card p{font-size:11px;color:var(--muted);min-height:30px}.score{font-size:19px;font-weight:800;color:var(--primary)}
.install{max-width:850px;margin:30px auto;padding:22px}.install h1{font-size:24px}
code,pre{direction:ltr;text-align:left;font-family:Consolas,monospace}
pre{background:#10271f;color:#d8f5e7;padding:14px;border-radius:12px;overflow:auto;font-size:12px}
@media(max-width:1100px){.cards,.module-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}
@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.topbar{position:relative}.cards,.module-grid,.grid-3{grid-template-columns:1fr}.page{padding:14px}}

.update-hero{display:flex;justify-content:space-between;align-items:center;gap:18px}.version-pill{background:#eef8f2;border:1px solid #d7eadf;border-radius:14px;padding:12px 16px;white-space:nowrap;color:#285d46}.version-pill strong{font-size:18px;margin-right:5px}.update-note{margin-top:16px;padding:12px;border-radius:12px;background:#fff8df;border:1px solid #f1df9b;font-size:12px;line-height:1.9}.update-list{margin:0;padding-right:20px;font-size:12px;line-height:2.2;color:#52665e}.update-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.update-meta>div{border:1px solid var(--line);background:var(--surface2);border-radius:12px;padding:11px}.update-meta span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.update-meta strong{font-size:13px}@media(max-width:800px){.update-hero{align-items:flex-start;flex-direction:column}.update-meta{grid-template-columns:repeat(2,1fr)}}

.brand-logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#fff;overflow:hidden;border:1px solid rgba(255,255,255,.18);flex:0 0 auto}
.brand-logo img{width:100%;height:100%;object-fit:contain;padding:4px;background:#fff}
.login-card .brand-logo{border-color:var(--line)}
.login-note{font-size:12px;line-height:1.9;padding:10px 12px;margin:-8px 0 12px;background:var(--surface2);border:1px solid var(--line);border-radius:11px;color:var(--muted)}
.settings-layout{display:grid;gap:14px}
.settings-grid{margin-top:0;grid-template-columns:1fr 1fr}
.brand-preview{min-height:180px;border:1px dashed #c9d9d1;border-radius:16px;background:var(--surface2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px;margin-bottom:14px}
.brand-preview img{width:92px;height:92px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid var(--line);padding:6px}
.brand-placeholder{width:92px;height:92px;border-radius:18px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:38px;font-weight:800}
.brand-preview strong{font-size:14px}.brand-preview small{color:var(--muted)}
.settings-actions{position:sticky;bottom:12px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);z-index:5}
.settings-actions span{font-size:11px;color:var(--muted)}
@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.settings-actions{align-items:flex-start;flex-direction:column}}

/* NARGESMAHD typography standard */
body, button, input, select, textarea, label, a, table, th, td, .btn, .card, .sidebar, .topbar {
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif;
}

/* NARGESMAHD v0.1.5 - larger branding logo in admin sidebar */
.sidebar .brand-logo{
  width:72px;
  height:72px;
  border-radius:18px;
  flex:0 0 72px;
}
.sidebar .brand-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
}

/* NARGESMAHD v0.1.6 - split login: form right, preschool logo left */
.login-page{
  padding:28px;
}
.login-shell{
  width:min(920px,100%);
  display:flex;
  direction:rtl;
  align-items:stretch;
  justify-content:center;
  gap:22px;
}
.login-shell .login-card,
.login-logo-card{
  width:430px;
  min-height:470px;
  margin:0;
}
.login-form-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-logo-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:22px;
  padding:28px;
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-logo-inner{
  width:100%;
  height:100%;
  min-height:410px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px dashed #dbe7e1;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);
  padding:24px;
  text-align:center;
}
.login-logo-image{
  display:block;
  width:min(290px,88%);
  height:290px;
  object-fit:contain;
}
.login-logo-fallback{
  width:220px;
  height:220px;
  border-radius:44px;
  display:grid;
  place-items:center;
  background:var(--primary);
  color:#fff;
  font-size:86px;
  font-weight:900;
}
.login-logo-title{
  font-size:18px;
  font-weight:800;
  line-height:1.8;
  color:var(--text);
}
.login-logo-system{
  font-size:12px;
  color:var(--muted);
  direction:ltr;
  letter-spacing:.3px;
}
@media(max-width:920px){
  .login-page{padding:18px}
  .login-shell{
    width:min(470px,100%);
    flex-direction:column;
    gap:14px;
  }
  .login-shell .login-card,
  .login-logo-card{
    width:100%;
    min-height:auto;
  }
  .login-logo-card{
    order:-1;
    padding:18px;
  }
  .login-logo-inner{
    min-height:220px;
    padding:16px;
  }
  .login-logo-image{
    width:min(180px,70%);
    height:150px;
  }
  .login-logo-fallback{
    width:120px;
    height:120px;
    border-radius:26px;
    font-size:48px;
  }
}


/* =========================================================
   NARGESMAHD v0.1.7 — Professional Login Screen
   Layout intentionally follows the approved visual reference.
   ========================================================= */

.login-pro-page{
  --login-purple:#8350b5;
  --login-purple-dark:#694091;
  --login-purple-soft:#f1e8f9;
  --login-ink:#252340;
  --login-muted:#77798e;
  --login-line:#e4e5ec;
  --login-yellow:#f2bc32;
  position:relative;
  min-height:100vh;
  width:100%;
  overflow-x:hidden;
  display:block;
  padding:24px 34px 18px;
  background:
    radial-gradient(circle at 18% 18%,rgba(213,191,239,.34),transparent 26%),
    radial-gradient(circle at 84% 27%,rgba(255,222,188,.30),transparent 29%),
    radial-gradient(circle at 58% 81%,rgba(232,214,246,.32),transparent 34%),
    linear-gradient(120deg,#fbf8ff 0%,#fffdfc 52%,#fbf5ff 100%);
  color:var(--login-ink);
}

.login-pro-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 35% 40%,rgba(255,255,255,.85),transparent 34%),
    radial-gradient(circle at 72% 70%,rgba(255,255,255,.68),transparent 35%);
  z-index:0;
}

.login-pro-wrapper{
  position:relative;
  z-index:2;
  width:min(1160px,100%);
  margin:0 auto;
}

.login-pro-header{
  text-align:center;
  padding:0 12px 27px;
}

.login-top-mark{
  height:35px;
  margin-bottom:8px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.login-pro-header h1{
  margin:0;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.8;
  font-weight:850;
  color:#242340;
  letter-spacing:-.4px;
}

.login-tagline{
  margin-top:7px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:13px;
  color:#838297;
  font-size:13px;
}

.login-tagline span{
  width:55px;
  height:1.5px;
  background:linear-gradient(90deg,transparent,var(--login-yellow));
  position:relative;
}
.login-tagline span:last-child{
  transform:scaleX(-1);
}
.login-tagline span::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--login-yellow);
  right:-1px;
  top:50%;
  transform:translateY(-50%);
}

.login-pro-grid{
  display:grid;
  direction:ltr;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:stretch;
}

.login-pro-card{
  direction:rtl;
  width:auto;
  min-height:590px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(221,216,231,.85);
  border-radius:28px;
  padding:16px;
  box-shadow:
    0 18px 44px rgba(82,53,106,.11),
    0 4px 12px rgba(82,53,106,.06),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
}

.login-card-inner{
  height:100%;
  min-height:556px;
  border:1px solid #ddd3ea;
  border-radius:24px;
  background:rgba(255,255,255,.74);
}

.identity-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:36px 28px 28px;
  text-align:center;
  overflow:hidden;
}

.identity-logo{
  display:block;
  width:min(420px,88%);
  height:410px;
  object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(84,52,109,.05));
}

.identity-fallback{
  width:330px;
  height:330px;
  max-width:85%;
  border:4px solid var(--login-purple);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--login-purple);
}
.identity-flower{font-size:90px;line-height:1}
.identity-fallback strong{font-size:60px;margin-top:18px}

.identity-slogan{
  margin-top:18px;
  font-size:15px;
  color:#6d6d82;
  font-weight:550;
}
.identity-slogan::before,
.identity-slogan::after{
  content:"♥";
  color:#8c54bc;
  padding:0 9px;
  font-size:12px;
}

.form-inner{
  padding:48px 46px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.login-form-heading{
  display:flex;
  align-items:center;
  gap:17px;
  margin-bottom:24px;
}
.login-user-circle{
  flex:0 0 62px;
  width:62px;
  height:62px;
  border-radius:50%;
  background:#efe4f7;
  color:var(--login-purple);
  display:grid;
  place-items:center;
}
.login-form-heading h2{
  margin:0 0 6px;
  font-size:22px;
  color:#29263e;
}
.login-form-heading p{
  margin:0;
  color:#858495;
  font-size:12px;
}

.login-alert{
  margin:-5px 0 16px;
}

.login-pro-form{
  display:block;
}

.login-pro-field{
  margin:0 0 21px;
}
.login-pro-field label{
  display:block;
  margin:0 0 9px;
  color:#343146;
  font-size:12px;
  font-weight:750;
}

.login-input-wrap{
  position:relative;
}
.login-input-wrap input{
  width:100%;
  height:58px;
  padding:0 50px 0 52px;
  border:1px solid #dfe2e7;
  border-radius:11px;
  background:#fff;
  outline:none;
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif;
  font-size:12px;
  color:#373648;
  transition:.2s ease;
  box-shadow:0 2px 7px rgba(39,39,60,.02);
}
.login-input-wrap input::placeholder{
  color:#a1a3b1;
}
.login-input-wrap input:focus{
  border-color:#a675cd;
  box-shadow:0 0 0 3px rgba(131,80,181,.09);
}
.input-leading-icon{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  color:#75798a;
  pointer-events:none;
}
.password-toggle{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:0;
  border-radius:9px;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:transparent;
  color:#888a98;
  padding:8px;
}
.password-toggle:hover{background:#f4eff8;color:var(--login-purple)}
.password-toggle svg{width:20px;height:20px}

.login-pro-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:-2px 0 23px;
  font-size:11px;
}
.remember-check{
  color:#858494;
  display:flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
}
.remember-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.remember-check span{
  width:16px;
  height:16px;
  border:1px solid #d7d9e1;
  border-radius:4px;
  background:#fff;
  display:block;
  position:relative;
}
.remember-check input:checked + span{
  background:var(--login-purple);
  border-color:var(--login-purple);
}
.remember-check input:checked + span::after{
  content:"✓";
  color:#fff;
  font-size:11px;
  position:absolute;
  inset:-1px 2px auto auto;
}
.forgot-password{
  color:#8b50bd;
  cursor:default;
}

.login-submit{
  width:100%;
  height:60px;
  border:0;
  border-radius:9px;
  background:linear-gradient(90deg,#7a46ad,#8a54ba);
  color:#fff;
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif;
  font-size:14px;
  font-weight:780;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(119,65,165,.16);
  transition:.18s ease;
}
.login-submit:hover{
  transform:translateY(-1px);
  background:linear-gradient(90deg,#6e3d9f,#804dae);
  box-shadow:0 11px 24px rgba(119,65,165,.22);
}

.login-separator{
  margin:23px 0 19px;
  display:flex;
  align-items:center;
  gap:12px;
}
.login-separator span{
  flex:1;
  height:1px;
  background:#e4e5ea;
}
.login-separator em{
  font-style:normal;
  color:#92919f;
  font-size:11px;
  white-space:nowrap;
}

.login-sso{
  width:100%;
  height:56px;
  border:1px solid #e3dde9;
  border-radius:9px;
  background:linear-gradient(180deg,#fbf9fd,#f6f2fa);
  color:#4f4c60;
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif;
  font-size:13px;
  font-weight:650;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  opacity:1;
}
.login-sso svg{color:#7f4bb0}
.login-sso:disabled{cursor:not-allowed}

.login-pro-footer{
  text-align:center;
  margin-top:20px;
  color:#838295;
  font-size:11px;
  line-height:2;
}

.login-decoration{
  position:fixed;
  pointer-events:none;
  z-index:1;
}
.login-decoration img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.login-decoration-top{
  top:-10px;
  right:-8px;
  width:260px;
  height:220px;
}
.login-decoration-bottom{
  bottom:-24px;
  left:-15px;
  width:220px;
  height:210px;
}

.login-dots{
  position:fixed;
  width:125px;
  height:125px;
  z-index:1;
  opacity:.55;
  background-image:radial-gradient(circle,#9a6ac1 3px,transparent 4px);
  background-size:20px 20px;
  pointer-events:none;
}
.dots-top{top:17px;left:8px}
.dots-bottom{bottom:-5px;right:7px}

@media(max-width:1050px){
  .login-pro-wrapper{width:min(900px,100%)}
  .login-pro-card{min-height:540px}
  .login-card-inner{min-height:506px}
  .form-inner{padding:36px 32px}
  .identity-logo{height:350px}
}

@media(max-width:790px){
  .login-pro-page{padding:22px 16px 18px}
  .login-pro-header{padding-bottom:20px}
  .login-pro-header h1{font-size:21px}
  .login-pro-grid{
    grid-template-columns:1fr;
    max-width:510px;
    margin:0 auto;
  }
  .login-form-card{grid-row:1}
  .login-identity-card{grid-row:2;min-height:330px}
  .login-pro-card{min-height:auto}
  .login-card-inner{min-height:auto}
  .form-inner{padding:30px 25px}
  .identity-inner{padding:20px}
  .identity-logo{height:260px;width:min(310px,80%)}
  .identity-slogan{margin-top:4px}
  .login-decoration-top{width:160px;height:135px}
  .login-decoration-bottom{width:140px;height:130px}
  .login-dots{width:85px;height:85px;background-size:17px 17px}
}

@media(max-width:470px){
  .login-pro-page{padding:15px 10px}
  .login-pro-header h1{font-size:18px}
  .login-tagline{font-size:10px}
  .login-tagline span{width:34px}
  .login-pro-card{border-radius:21px;padding:10px}
  .login-card-inner{border-radius:17px}
  .form-inner{padding:25px 18px}
  .login-user-circle{width:52px;height:52px;flex-basis:52px}
  .login-form-heading h2{font-size:19px}
  .login-pro-options{font-size:10px}
  .login-input-wrap input{height:54px}
  .login-submit{height:56px}
  .login-decoration,.login-dots{opacity:.28}
}


/* =========================================================
   NARGESMAHD v0.1.8 — Compact approved login layout
   Keeps both cards side-by-side on one desktop/laptop screen.
   ========================================================= */
.login-pro-page{
  padding:12px 22px 10px !important;
  min-height:100vh;
  overflow-y:auto;
}

.login-pro-wrapper{
  width:min(980px,100%) !important;
}

.login-pro-header{
  padding:0 8px 12px !important;
}

.login-top-mark{
  height:26px !important;
  margin-bottom:2px !important;
}

.login-top-mark svg{
  width:22px !important;
  height:25px !important;
}

.login-pro-header h1{
  font-size:clamp(19px,1.8vw,27px) !important;
  line-height:1.55 !important;
}

.login-tagline{
  margin-top:3px !important;
  font-size:11px !important;
  gap:9px !important;
}

.login-tagline span{
  width:40px !important;
}

.login-pro-grid{
  gap:12px !important;
}

.login-pro-card{
  min-height:0 !important;
  height:500px !important;
  border-radius:22px !important;
  padding:11px !important;
}

.login-card-inner{
  min-height:0 !important;
  height:100% !important;
  border-radius:18px !important;
}

.identity-inner{
  padding:18px 18px 14px !important;
}

.identity-logo{
  width:min(310px,82%) !important;
  height:310px !important;
}

.identity-fallback{
  width:245px !important;
  height:245px !important;
}

.identity-slogan{
  margin-top:8px !important;
  font-size:12px !important;
}

.form-inner{
  padding:24px 30px 22px !important;
}

.login-form-heading{
  gap:12px !important;
  margin-bottom:15px !important;
}

.login-user-circle{
  width:48px !important;
  height:48px !important;
  flex-basis:48px !important;
}

.login-form-heading h2{
  font-size:18px !important;
  margin-bottom:3px !important;
}

.login-form-heading p{
  font-size:10.5px !important;
}

.login-pro-field{
  margin-bottom:13px !important;
}

.login-pro-field label{
  margin-bottom:6px !important;
  font-size:11px !important;
}

.login-input-wrap input{
  height:46px !important;
  padding:0 44px 0 44px !important;
  font-size:11px !important;
}

.input-leading-icon{
  width:19px !important;
  height:19px !important;
  right:14px !important;
}

.password-toggle{
  width:31px !important;
  height:31px !important;
  left:8px !important;
}

.login-pro-options{
  margin:0 0 13px !important;
  font-size:10px !important;
}

.login-submit{
  height:48px !important;
  font-size:12px !important;
}

.login-separator{
  margin:14px 0 11px !important;
}

.login-separator em{
  font-size:9.5px !important;
}

.login-sso{
  height:44px !important;
  font-size:11px !important;
}

.login-pro-footer{
  margin-top:9px !important;
  line-height:1.65 !important;
  font-size:9.5px !important;
}

.login-decoration-top{
  width:190px !important;
  height:155px !important;
}

.login-decoration-bottom{
  width:160px !important;
  height:150px !important;
}

.login-dots{
  width:90px !important;
  height:90px !important;
  background-size:16px 16px !important;
}

@media (min-width:791px) and (max-height:760px){
  .login-pro-card{
    height:460px !important;
  }
  .identity-logo{
    width:min(280px,78%) !important;
    height:280px !important;
  }
  .form-inner{
    padding:18px 26px !important;
  }
  .login-pro-header{
    padding-bottom:8px !important;
  }
  .login-pro-footer{
    margin-top:6px !important;
  }
}

@media(max-width:790px){
  .login-pro-card{
    height:auto !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.9 — Login refinement
   Remove SSO area and make the page background fit viewport.
   ========================================================= */
.login-pro-page{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}

/* Keep decorative background elements fitted within viewport */
.login-decoration{
  max-width:24vw !important;
  max-height:28vh !important;
}
.login-decoration-top{
  top:0 !important;
  right:0 !important;
}
.login-decoration-bottom{
  bottom:0 !important;
  left:0 !important;
}

/* After SSO removal, keep the form vertically balanced */
.login-submit{
  margin-top:4px !important;
}
.login-pro-form{
  padding-bottom:2px !important;
}

/* Ensure the two-card block remains centered inside the fitted background */
.login-pro-wrapper{
  min-height:calc(100vh - 22px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-pro-header{
  flex:0 0 auto;
}
.login-pro-grid{
  flex:0 0 auto;
}
.login-pro-footer{
  flex:0 0 auto;
}

@media(max-width:790px){
  .login-pro-page{
    background-attachment:scroll !important;
  }
  .login-pro-wrapper{
    min-height:auto;
    display:block;
  }
}


/* NARGESMAHD v0.1.10 — clickable preschool logo to public Home Page */
.identity-home-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  text-decoration:none;
  color:inherit;
  border-radius:18px;
  outline:none;
}
.identity-home-link .identity-logo{
  transition:transform .18s ease, filter .18s ease;
}
.identity-home-link:hover .identity-logo{
  transform:scale(1.015);
  filter:drop-shadow(0 9px 15px rgba(84,52,109,.10));
}
.identity-home-link:focus-visible{
  box-shadow:0 0 0 3px rgba(131,80,181,.18);
}


/* NARGESMAHD v0.1.11 — transparent, perfectly centered login logo */
.login-identity-card,
.login-identity-card .login-card-inner,
.login-identity-card .identity-inner,
.identity-home-link{
  background:transparent !important;
}

.login-identity-card .identity-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
}

.identity-home-link{
  height:100% !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}

.identity-home-link .identity-logo{
  display:block !important;
  margin:auto !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  object-fit:contain !important;
}

/* Keep slogan from shifting the logo away from the exact card center */
.login-identity-card .identity-slogan{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:18px !important;
  margin:0 auto !important;
  text-align:center !important;
  pointer-events:none !important;
}


/* NARGESMAHD v0.1.13 — tree menu for management settings */
.nav-tree{margin:2px 0 6px}
.nav-tree-toggle{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-align:right;
}
.nav-tree-toggle:hover{background:rgba(255,255,255,.06)}
.nav-tree-title{flex:1 1 auto}
.nav-tree-arrow{
  font-size:15px;
  line-height:1;
  transition:transform .18s ease;
}
.nav-tree.open .nav-tree-arrow{transform:rotate(180deg)}
.nav-tree-items{
  display:none;
  padding:3px 20px 3px 0;
}
.nav-tree.open .nav-tree-items{display:block}
.nav-tree-items a{
  display:flex;
  align-items:center;
  gap:8px;
  margin:3px 0;
  padding:9px 12px;
  border-radius:8px;
  text-decoration:none;
  color:inherit;
  font-size:.94em;
}
.nav-tree-items a:hover{background:rgba(255,255,255,.06)}
.nav-tree-items a.active{
  background:rgba(255,255,255,.11);
  font-weight:700;
}


/* NARGESMAHD v0.1.15 — native reliable tree menu (no JavaScript dependency) */
details.nav-tree{
  margin:2px 0 6px !important;
}
details.nav-tree > summary.nav-tree-toggle{
  list-style:none !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:11px 12px !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:inherit !important;
  font:inherit !important;
  cursor:pointer !important;
  text-align:right !important;
  user-select:none !important;
  box-sizing:border-box !important;
}
details.nav-tree > summary.nav-tree-toggle::-webkit-details-marker{
  display:none !important;
}
details.nav-tree > summary.nav-tree-toggle::marker{
  display:none !important;
  content:"" !important;
}
details.nav-tree > summary.nav-tree-toggle:hover{
  background:rgba(255,255,255,.06) !important;
}
details.nav-tree .nav-tree-title{
  flex:1 1 auto !important;
}
details.nav-tree .nav-tree-arrow{
  font-size:15px !important;
  line-height:1 !important;
  transition:transform .18s ease !important;
}
details.nav-tree[open] .nav-tree-arrow{
  transform:rotate(180deg) !important;
}
details.nav-tree .nav-tree-items{
  display:none !important;
  padding:3px 20px 3px 0 !important;
}
details.nav-tree[open] .nav-tree-items{
  display:block !important;
}
details.nav-tree .nav-tree-items a{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:3px 0 !important;
  padding:9px 12px !important;
  border-radius:8px !important;
  text-decoration:none !important;
  color:inherit !important;
  font-size:.94em !important;
}
details.nav-tree .nav-tree-items a:hover{
  background:rgba(255,255,255,.06) !important;
}
details.nav-tree .nav-tree-items a.active{
  background:rgba(255,255,255,.11) !important;
  font-weight:700 !important;
}


/* NARGESMAHD v0.1.16 — parent menu visual emphasis */
details.nav-tree > summary.nav-tree-toggle{
  color:#f59e0b !important;
  cursor:pointer !important;
}

details.nav-tree > summary.nav-tree-toggle,
details.nav-tree > summary.nav-tree-toggle *{
  cursor:pointer !important;
}

details.nav-tree > summary.nav-tree-toggle:hover{
  background:rgba(245,158,11,.10) !important;
  color:#f59e0b !important;
}

details.nav-tree[open] > summary.nav-tree-toggle{
  color:#f59e0b !important;
}


/* NARGESMAHD v0.1.17 — keep every right-sidebar menu label on one line */
.sidebar a,
.sidebar .nav-tree-toggle,
.sidebar .nav-tree-items a,
.nav-tree-toggle,
.nav-tree-items a{
  white-space:nowrap !important;
  font-size:13px !important;
  line-height:1.35 !important;
}

.sidebar .nav-tree-title,
.nav-tree-title{
  white-space:nowrap !important;
  font-size:13px !important;
  line-height:1.35 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}

.sidebar a span,
.sidebar .nav-tree-toggle span,
.sidebar .nav-tree-items a span{
  flex-shrink:0;
}

/* Slightly tighter spacing to preserve one-line labels without changing sidebar width */
.sidebar a,
.sidebar .nav-tree-toggle,
.sidebar .nav-tree-items a{
  gap:7px !important;
  padding-right:10px !important;
  padding-left:10px !important;
}

/* Parent item rule remains intact: orange + pointer + toggle behavior */
details.nav-tree > summary.nav-tree-toggle{
  font-size:13px !important;
}


/* =========================================================
   NARGESMAHD v0.1.18 — Admissions initial page
   ========================================================= */
.admissions-page{display:grid;gap:14px}
.admission-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.admission-action{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border:1px solid #e5e9e7;
  background:#fff;
  border-radius:12px;
  text-decoration:none;
  color:#20332c;
  min-height:68px;
  transition:.15s ease;
}
.admission-action:hover{transform:translateY(-1px);border-color:var(--primary)}
.admission-action.primary{
  border-color:color-mix(in srgb,var(--primary) 35%,#fff);
  background:color-mix(in srgb,var(--primary) 7%,#fff);
}
.aa-icon{font-size:23px;flex:0 0 auto}
.admission-action strong{display:block;font-size:14px;margin-bottom:4px}
.admission-action small{display:block;color:#718079;font-size:11.5px;line-height:1.55}

.admission-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.admission-kpi{padding:14px!important;border-top:3px solid #d8dfdc}
.admission-kpi span{display:block;color:#6f7e78;font-size:12px;margin-bottom:8px}
.admission-kpi strong{font-size:25px;color:#21352d}
.admission-kpi.info{border-top-color:#4f8edc}
.admission-kpi.warn{border-top-color:#e6a23c}
.admission-kpi.ok{border-top-color:#36a269}
.admission-kpi.muted{border-top-color:#919c97}

.admission-panel{padding:16px!important}
.admission-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.admission-panel-head h3{margin:0 0 4px;font-size:17px}
.admission-panel-head p{margin:0;color:#73817b;line-height:1.8;font-size:12.5px}
.admission-form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.admission-form-grid label{font-size:12px;color:#41544c;font-weight:700}
.admission-form-grid input,
.admission-form-grid select,
.admission-form-grid textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:6px;
  border:1px solid #dce3e0;
  border-radius:9px;
  padding:9px 10px;
  background:#fff;
  font:inherit;
  color:#263b32;
}
.admission-form-grid .wide{grid-column:span 2}
.admission-form-note{
  margin-top:12px;
  border-radius:9px;
  padding:10px 12px;
  background:#fff8e8;
  color:#775d20;
  font-size:12px;
}
.payment-choice-grid,
.document-check-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.payment-choice{
  border:1px solid #e2e7e5;
  border-radius:11px;
  padding:15px;
}
.payment-choice strong{display:block;margin-bottom:6px}
.payment-choice span{font-size:12px;color:#75827d}
.document-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.document-check-grid div{
  padding:11px 12px;
  border:1px solid #e2e7e5;
  border-radius:9px;
  background:#fafcfb;
  font-size:12px;
}

.admission-table-card{padding:0!important;overflow:hidden}
.admission-table-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid #edf0ef;
}
.admission-table-head h3{margin:0 0 4px;font-size:16px}
.admission-table-head p{margin:0;color:#7a8782;font-size:12px}
.admission-table-tools{display:flex;gap:8px;align-items:center}
.admission-table-tools input,
.admission-table-tools select{
  height:38px;
  border:1px solid #dce3e0;
  border-radius:8px;
  padding:0 10px;
  font:inherit;
  font-size:12px;
  background:#fff;
}
.admission-table-tools input{width:230px}
.table-wrap{overflow:auto}
.admission-table{width:100%;border-collapse:collapse;min-width:1180px}
.admission-table th{
  background:#f7f9f8;
  color:#53645d;
  font-size:11.5px;
  font-weight:800;
  text-align:right;
  padding:10px 9px;
  white-space:nowrap;
  border-bottom:1px solid #e8ecea;
}
.admission-table td{
  padding:10px 9px;
  font-size:12px;
  color:#34473f;
  white-space:nowrap;
  border-bottom:1px solid #f0f2f1;
}
.admission-table tbody tr:hover{background:#fbfcfc}
.empty-table{text-align:center!important;padding:28px!important;color:#86918d!important}
.status-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.status-pill.info{background:#edf5ff;color:#306ea8}
.status-pill.warn{background:#fff5de;color:#8b6514}
.status-pill.ok{background:#eaf8f0;color:#217346}
.status-pill.muted{background:#f0f2f1;color:#68736f}
.status-pill.danger{background:#fdecec;color:#a33b3b}
.row-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:0 9px;
  border-radius:7px;
  background:#f1f5f3;
  color:#285b45;
  text-decoration:none;
  font-size:11.5px;
  font-weight:700;
}

@media(max-width:1050px){
  .admission-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admission-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admission-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .admission-actions,
  .admission-summary,
  .admission-form-grid,
  .payment-choice-grid,
  .document-check-grid{grid-template-columns:1fr}
  .admission-form-grid .wide{grid-column:span 1}
  .admission-table-head{align-items:stretch;flex-direction:column}
  .admission-table-tools{flex-direction:column;align-items:stretch}
  .admission-table-tools input{width:100%}
}


/* =========================================================
   NARGESMAHD v0.1.19 — Admissions action cards
   Every top action is an independent, orderly card.
   ========================================================= */
.admissions-page .admission-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin:0 0 4px !important;
}

.admissions-page .admission-actions > a.admission-action{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  min-width:0 !important;
  min-height:82px !important;
  padding:14px 15px !important;
  margin:0 !important;
  border:1px solid #dfe7e3 !important;
  border-radius:14px !important;
  background:#ffffff !important;
  box-shadow:0 3px 12px rgba(34,61,49,.055) !important;
  color:#243b31 !important;
  text-decoration:none !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease !important;
}

.admissions-page .admission-actions > a.admission-action:hover{
  transform:translateY(-2px) !important;
  border-color:#b9ccc3 !important;
  box-shadow:0 6px 17px rgba(34,61,49,.09) !important;
}

.admissions-page .admission-actions > a.admission-action.primary{
  background:#fff !important;
  border-color:#dfe7e3 !important;
}

.admissions-page .admission-action .aa-icon{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  font-size:23px !important;
  line-height:1 !important;
  flex:0 0 44px !important;
}

.admissions-page .admission-action:nth-child(1) .aa-icon{background:#f0eafe !important;color:#7654b8 !important}
.admissions-page .admission-action:nth-child(2) .aa-icon{background:#e8f4ff !important;color:#287bb9 !important}
.admissions-page .admission-action:nth-child(3) .aa-icon{background:#fff2d9 !important;color:#bd7c16 !important}
.admissions-page .admission-action:nth-child(4) .aa-icon{background:#f2efff !important;color:#7058b5 !important}
.admissions-page .admission-action:nth-child(5) .aa-icon{background:#ffe9ed !important;color:#c64f67 !important}
.admissions-page .admission-action:nth-child(6) .aa-icon{background:#e8f7f1 !important;color:#2f8a68 !important}

.admissions-page .admission-action > span:last-child{
  min-width:0 !important;
  display:block !important;
}

.admissions-page .admission-action strong{
  display:block !important;
  margin:0 0 5px !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  color:#263d33 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.admissions-page .admission-action small{
  display:block !important;
  margin:0 !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  color:#74827c !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

@media(max-width:1150px){
  .admissions-page .admission-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .admissions-page .admission-actions{
    grid-template-columns:1fr !important;
  }
  .admissions-page .admission-action strong,
  .admissions-page .admission-action small{
    white-space:normal !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.20 — Admissions top search/filter placement
   ========================================================= */
.admissions-page .admission-top-tools{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
}

.admissions-page .admission-top-tools input,
.admissions-page .admission-top-tools select{
  height:42px !important;
  border:1px solid #d9e2de !important;
  border-radius:10px !important;
  background:#fff !important;
  font:inherit !important;
  font-size:12.5px !important;
  color:#31453c !important;
  box-sizing:border-box !important;
  outline:none !important;
}

.admissions-page .admission-top-tools input{
  width:min(420px,42vw) !important;
  padding:0 13px !important;
}

.admissions-page .admission-top-tools select{
  width:170px !important;
  padding:0 10px !important;
}

.admissions-page .admission-top-tools input:focus,
.admissions-page .admission-top-tools select:focus{
  border-color:#9db9ad !important;
  box-shadow:0 0 0 3px rgba(95,145,123,.08) !important;
}

@media(max-width:720px){
  .admissions-page .admission-top-tools{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .admissions-page .admission-top-tools input,
  .admissions-page .admission-top-tools select{
    width:100% !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.21 — only search beside page title
   Status filter restored to table header.
   ========================================================= */
.admissions-page{
  position:relative !important;
}

.admissions-page .admission-header-search{
  position:absolute !important;
  top:-72px !important;
  left:0 !important;
  width:min(420px,42vw) !important;
  z-index:3 !important;
}

.admissions-page .admission-header-search input{
  width:100% !important;
  height:42px !important;
  box-sizing:border-box !important;
  border:1px solid #d9e2de !important;
  border-radius:10px !important;
  background:#fff !important;
  padding:0 13px !important;
  font:inherit !important;
  font-size:12.5px !important;
  color:#31453c !important;
  outline:none !important;
}

.admissions-page .admission-header-search input:focus{
  border-color:#9db9ad !important;
  box-shadow:0 0 0 3px rgba(95,145,123,.08) !important;
}

/* v0.1.20 top tools are no longer used */
.admissions-page .admission-top-tools{
  display:none !important;
}

.admissions-page .admission-table-tools{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.admissions-page .admission-table-tools select{
  width:170px !important;
  height:38px !important;
  border:1px solid #dce3e0 !important;
  border-radius:8px !important;
  padding:0 10px !important;
  font:inherit !important;
  font-size:12px !important;
  background:#fff !important;
}

@media(max-width:850px){
  .admissions-page .admission-header-search{
    position:static !important;
    width:100% !important;
    margin:0 0 12px !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.22 — exact centered search beside page title
   Search is centered horizontally in the page-header row.
   ========================================================= */
.admissions-page .admission-header-search{
  position:absolute !important;
  top:-72px !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(420px,38vw) !important;
  margin:0 !important;
  z-index:3 !important;
}

.admissions-page .admission-header-search input{
  width:100% !important;
  margin:0 !important;
}

@media(max-width:850px){
  .admissions-page .admission-header-search{
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    margin:0 0 12px !important;
  }
}


/* NARGESMAHD v0.1.24 — three-tab initial admission form */
.admission-tabs{
  display:flex;
  gap:7px;
  padding:5px;
  margin-bottom:15px;
  border:1px solid #e1e7e4;
  border-radius:11px;
  background:#f7f9f8;
}
.admission-tab{
  flex:1 1 0;
  min-height:42px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#53645d;
  font:inherit;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
}
.admission-tab:hover{background:#fff}
.admission-tab.active{
  background:#fff;
  color:#2d6650;
  box-shadow:0 1px 5px rgba(37,61,51,.09);
}
.admission-tab-panel{display:none}
.admission-tab-panel.active{display:block}
.parent-section{
  border:1px solid #e3e8e6;
  border-radius:11px;
  padding:14px;
  margin-bottom:12px;
  background:#fbfcfc;
}
.parent-section h4{
  margin:0 0 12px;
  color:#315746;
  font-size:14px;
}
@media(max-width:700px){
  .admission-tabs{flex-direction:column}
}


/* NARGESMAHD v0.1.25 — admission form validation & selectors */
.date-field{
  position:relative;
  margin-top:6px;
}
.date-field input.date-picker{
  margin-top:0 !important;
  padding-left:36px !important;
  cursor:pointer;
}
.date-field .date-icon{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  font-size:17px;
}
.date-field input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.75;
}

.field-validation-message{
  display:block;
  min-height:17px;
  margin-top:4px;
  font-size:10.5px;
  line-height:1.5;
  color:#b23b3b;
  font-weight:600;
}
.field-validation-message.ok{
  color:#2c7a50;
}
.iran-national-id:invalid:not(:placeholder-shown){
  border-color:#d98c8c !important;
}
.iran-national-id:valid{
  border-color:#b8d7c7;
}


/* =========================================================
   NARGESMAHD v0.1.26 — Jalali (Hijri Shamsi) date picker
   ========================================================= */
.jalali-date-field{
  position:relative;
  margin-top:6px;
}
.jalali-date-field .jalali-date-input{
  margin-top:0 !important;
  padding-left:44px !important;
  cursor:pointer !important;
  background:#fff !important;
}
.jalali-date-button{
  position:absolute;
  left:5px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:8px;
  background:#f1f5f3;
  cursor:pointer;
  font-size:17px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.jalali-date-button:hover{background:#e9f0ed}

.jalali-picker-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(23,36,31,.28);
  align-items:center;
  justify-content:center;
  padding:16px;
}
.jalali-picker-overlay.open{display:flex}

.jalali-picker{
  width:330px;
  max-width:calc(100vw - 32px);
  background:#fff;
  border-radius:16px;
  box-shadow:0 16px 48px rgba(25,46,37,.22);
  padding:14px;
  direction:rtl;
}
.jalali-picker-head{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
}
.jp-title{
  text-align:center;
  font-size:14px;
  font-weight:800;
  color:#29483a;
}
.jp-nav{
  width:38px;
  height:38px;
  border:0;
  border-radius:9px;
  background:#f1f5f3;
  color:#335b49;
  cursor:pointer;
  font-size:22px;
}
.jp-nav:hover{background:#e8f0ec}

.jp-week,
.jp-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.jp-week{
  margin-bottom:5px;
  color:#7a8781;
  font-size:11px;
  text-align:center;
}
.jp-week span{
  padding:6px 0;
}
.jp-day{
  height:36px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#334a40;
  cursor:pointer;
  font:inherit;
  font-size:12px;
}
.jp-day:hover{background:#eef5f1}
.jp-day.today{
  box-shadow:inset 0 0 0 1px #8bb4a2;
  color:#276749;
  font-weight:800;
}
.jp-day.selected{
  background:#2f7d5c;
  color:#fff;
  font-weight:800;
}
.jp-blank{height:36px}

.jp-foot{
  display:flex;
  gap:7px;
  justify-content:flex-end;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid #edf0ef;
}
.jp-foot button{
  height:34px;
  border:1px solid #dce5e1;
  border-radius:8px;
  background:#fff;
  padding:0 11px;
  cursor:pointer;
  font:inherit;
  font-size:11.5px;
  color:#456157;
}
.jp-foot button:hover{background:#f5f8f7}

@media(max-width:480px){
  .jalali-picker{width:100%}
}


/* =========================================================
   NARGESMAHD v0.1.27 — Save + Excel template controls
   ========================================================= */
.admission-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
.admission-head-actions .btn{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  white-space:nowrap;
}
.admission-save-btn{
  border:1px solid #2f7d5c !important;
  background:#2f7d5c !important;
  color:#fff !important;
  cursor:pointer !important;
}
.admission-save-btn:hover{
  background:#286b4f !important;
}
.admission-template-btn{
  border:1px solid #d9a338 !important;
  background:#fff7e6 !important;
  color:#805b12 !important;
  text-decoration:none !important;
}
.admission-template-btn:hover{
  background:#ffefca !important;
}
@media(max-width:850px){
  .admission-panel-head{
    flex-direction:column;
  }
  .admission-head-actions{
    width:100%;
    justify-content:flex-start;
  }
}

.required-star{color:#d00000;font-weight:900;font-size:14px;line-height:1;margin-right:2px}.required-fields-note{margin:0 0 10px;padding:8px 11px;border-radius:9px;background:#fff7f7;border:1px solid #f2d2d2;color:#7a3b3b;font-size:11.5px;font-weight:600}


/* =========================================================
   NARGESMAHD v0.1.29 — compact colored header action buttons
   ========================================================= */
.admission-head-actions{
  gap:6px !important;
}
.admission-head-actions .admission-head-btn{
  min-height:30px !important;
  height:30px !important;
  min-width:0 !important;
  width:auto !important;
  padding:3px 8px !important;
  border-radius:8px !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
  gap:5px !important;
  box-shadow:none !important;
}
.admission-btn-icon{
  width:16px;
  height:16px;
  min-width:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
}
.admission-btn-icon svg{
  width:13px;
  height:13px;
  display:block;
  fill:currentColor;
}
.admission-btn-icon.icon-close svg{
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
}
.icon-save{
  color:#1769aa;
  background:#e9f4ff;
}
.icon-excel{
  color:#18864b;
  background:#e9f8ef;
}
.icon-import{
  color:#a85a00;
  background:#fff2dd;
}
.icon-close{
  color:#c53636;
  background:#fdecec;
}
.admission-save-btn{
  background:#f7fbff !important;
  border:1px solid #c9def2 !important;
  color:#244b68 !important;
}
.admission-template-btn{
  background:#f8fcf9 !important;
  border:1px solid #cde8d8 !important;
  color:#285c3f !important;
}
.admission-import-btn{
  background:#fffaf2 !important;
  border:1px solid #efd8b2 !important;
  color:#75501c !important;
  text-decoration:none !important;
}
.admission-close-btn{
  background:#fffafa !important;
  border:1px solid #efd2d2 !important;
  color:#7b3b3b !important;
  text-decoration:none !important;
}
.admission-save-btn:hover{background:#eef7ff !important}
.admission-template-btn:hover{background:#eff9f3 !important}
.admission-import-btn:hover{background:#fff4e2 !important}
.admission-close-btn:hover{background:#fff0f0 !important}

@media(max-width:850px){
  .admission-head-actions .admission-head-btn{
    flex:0 0 auto !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.30 — Academic year selector / create action
   ========================================================= */
.admission-topbar{
  display:grid;
  grid-template-columns:1fr minmax(280px,420px) 1fr;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.admission-topbar .admission-header-search{
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
}
.admission-year-tools{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
}
.academic-year-select-form{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.academic-year-select-form label{
  font-size:11px;
  font-weight:700;
  color:#53665e;
  white-space:nowrap;
}
.academic-year-select-form select{
  height:32px;
  min-width:155px;
  max-width:205px;
  border:1px solid #d8e1dd;
  border-radius:8px;
  background:#fff;
  color:#334a40;
  padding:0 9px;
  font:inherit;
  font-size:11px;
  cursor:pointer;
}
.academic-year-create-btn{
  min-height:32px;
  width:auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 8px;
  border:1px solid #cfe1f4;
  border-radius:8px;
  background:#f7fbff;
  color:#315979;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.academic-year-create-btn:hover{
  background:#edf6ff;
}
.academic-year-create-icon{
  width:17px;
  height:17px;
  min-width:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  background:#e5f2ff;
  color:#1976c9;
}
.academic-year-create-icon svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.admission-topbar-balance{
  min-width:1px;
}

.academic-year-panel{
  margin-top:12px;
}
.academic-year-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding-top:8px;
}
.academic-year-form-grid > label{
  font-size:11.5px;
  font-weight:700;
  color:#41574d;
}
.academic-year-form-grid input[type="text"]{
  width:100%;
  margin-top:6px;
}
.academic-year-current-check{
  grid-column:1 / -1;
  display:flex !important;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #e0e7e4;
  border-radius:9px;
  background:#fafcfb;
}
.academic-year-current-check input{
  width:16px;
  height:16px;
  margin:0;
}
.academic-year-form-actions{
  display:flex;
  justify-content:flex-start;
  margin-top:12px;
}

@media(max-width:1100px){
  .admission-topbar{
    grid-template-columns:1fr;
  }
  .admission-topbar-balance{display:none}
  .admission-year-tools{justify-content:center;flex-wrap:wrap}
  .admission-topbar .admission-header-search{max-width:420px !important;margin:auto !important}
}
@media(max-width:760px){
  .academic-year-form-grid{grid-template-columns:1fr}
}


/* =========================================================
   NARGESMAHD v0.1.31 — page title, search and academic-year
   controls in one horizontal row
   ========================================================= */
.admissions-page .admission-topbar{
  display:grid !important;
  grid-template-columns:minmax(210px,1fr) minmax(300px,420px) auto !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  margin:0 0 16px !important;
  position:relative !important;
}
.admission-page-heading{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:2px;
}
.admission-page-heading h2{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.35 !important;
  color:#30483d !important;
  font-weight:800 !important;
}
.admission-page-heading span{
  display:block;
  margin:0 !important;
  font-size:11px !important;
  line-height:1.4 !important;
  color:#74847d !important;
  white-space:nowrap;
}
.admissions-page .admission-topbar .admission-header-search{
  position:static !important;
  inset:auto !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  z-index:auto !important;
  width:100% !important;
  max-width:420px !important;
  min-width:0 !important;
  margin:0 auto !important;
}
.admissions-page .admission-topbar .admission-header-search input{
  height:36px !important;
  margin:0 !important;
}
.admissions-page .admission-topbar .admission-year-tools{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;
  min-width:0 !important;
  margin:0 !important;
}
.admissions-page .academic-year-select-form{
  margin:0 !important;
}
.admissions-page .academic-year-select-form select,
.admissions-page .academic-year-create-btn{
  height:34px !important;
  min-height:34px !important;
}
.admission-topbar-balance{
  display:none !important;
}

@media(max-width:1200px){
  .admissions-page .admission-topbar{
    grid-template-columns:minmax(180px,.8fr) minmax(250px,1fr) auto !important;
    gap:9px !important;
  }
  .admission-page-heading span{display:none}
  .academic-year-select-form label{display:none}
  .academic-year-select-form select{min-width:135px !important;max-width:155px !important}
  .academic-year-create-btn{padding-inline:7px !important}
}
@media(max-width:900px){
  .admissions-page .admission-topbar{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .admission-page-heading{
    align-items:flex-start;
  }
  .admission-page-heading span{display:block}
  .admissions-page .admission-topbar .admission-header-search{
    max-width:none !important;
    margin:0 !important;
  }
  .admissions-page .admission-topbar .admission-year-tools{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.33
   TRUE single-row admissions header:
   [Page title] [Search] [Academic year] [Create year]
   ========================================================= */

/*
  The page title is rendered by the main panel shell (.page-head),
  while admissions controls are rendered inside .admissions-page.
  For the admissions module only, make both participate in one grid row.
*/
.page:has(> .admissions-page){
  display:grid !important;
  grid-template-columns:minmax(0, 2.35fr) minmax(245px, .65fr) !important;
  column-gap:20px !important;
  row-gap:16px !important;
  align-items:center !important;
}

/* Original and only page title: right side of the same row */
.page:has(> .admissions-page) > .page-head{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  padding:0 !important;
  align-self:center !important;
}
.page:has(> .admissions-page) > .page-head > div{
  margin:0 !important;
}
.page:has(> .admissions-page) > .page-head h2{
  margin:0 0 4px !important;
  line-height:1.25 !important;
}
.page:has(> .admissions-page) > .page-head p{
  margin:0 !important;
  line-height:1.45 !important;
}

/*
  Let direct children of admissions-page join the parent grid.
  The first child (.admission-topbar) shares row 1 with .page-head.
*/
.page:has(> .admissions-page) > .admissions-page{
  display:contents !important;
}

/* Search + year controls: left side of row 1 */
.page:has(> .admissions-page) > .admissions-page > .admission-topbar{
  grid-column:1 !important;
  grid-row:1 !important;
  display:grid !important;
  grid-template-columns:auto minmax(330px, 1fr) !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Search is physically nearest to the page title */
.page:has(> .admissions-page) .admission-topbar .admission-header-search{
  grid-column:2 !important;
  grid-row:1 !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:260px !important;
  margin:0 !important;
}
.page:has(> .admissions-page) .admission-topbar .admission-header-search input{
  width:100% !important;
  height:36px !important;
  margin:0 !important;
}

/* Academic-year selector and create button sit to the left of search */
.page:has(> .admissions-page) .admission-topbar .admission-year-tools{
  grid-column:1 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  margin:0 !important;
  min-width:max-content !important;
}
.page:has(> .admissions-page) .academic-year-select-form{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.page:has(> .admissions-page) .academic-year-select-form select,
.page:has(> .admissions-page) .academic-year-create-btn{
  height:36px !important;
  min-height:36px !important;
  margin:0 !important;
}

/* Every remaining admissions block starts below the unified header row */
.page:has(> .admissions-page) > .admissions-page > :not(.admission-topbar){
  grid-column:1 / -1 !important;
}

/* Remove legacy spacing that visually created a second row */
.page:has(> .admissions-page) > .admissions-page > .admission-actions{
  margin-top:0 !important;
}

/* Responsive fallback: only stack when the screen can no longer hold all controls */
@media(max-width:1080px){
  .page:has(> .admissions-page){
    grid-template-columns:1fr !important;
    row-gap:10px !important;
  }
  .page:has(> .admissions-page) > .page-head{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .page:has(> .admissions-page) > .admissions-page > .admission-topbar{
    grid-column:1 !important;
    grid-row:2 !important;
    grid-template-columns:minmax(250px,1fr) auto !important;
  }
  .page:has(> .admissions-page) > .admissions-page > :not(.admission-topbar){
    grid-column:1 !important;
  }
}

@media(max-width:720px){
  .page:has(> .admissions-page) > .admissions-page > .admission-topbar{
    grid-template-columns:1fr !important;
  }
  .page:has(> .admissions-page) .admission-topbar .admission-header-search,
  .page:has(> .admissions-page) .admission-topbar .admission-year-tools{
    grid-column:1 !important;
  }
  .page:has(> .admissions-page) .admission-topbar .admission-header-search{
    grid-row:1 !important;
  }
  .page:has(> .admissions-page) .admission-topbar .admission-year-tools{
    grid-row:2 !important;
    min-width:0 !important;
    flex-wrap:wrap !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.34
   Exact requested RTL order:
   1) Page title
   2) Search
   3) Academic year selector
   4) Create academic year
   ========================================================= */

/* In RTL grid, column 1 is the RIGHT side. */
.page:has(> .admissions-page){
  display:grid !important;
  grid-template-columns:minmax(220px,.72fr) minmax(0,2.28fr) !important;
  column-gap:18px !important;
  row-gap:16px !important;
  align-items:center !important;
}

/* 1 — page title: far right */
.page:has(> .admissions-page) > .page-head{
  grid-column:1 !important;
  grid-row:1 !important;
  margin:0 !important;
  padding:0 !important;
  align-self:center !important;
}

/* admissions children participate in parent grid */
.page:has(> .admissions-page) > .admissions-page{
  display:contents !important;
}

/* remaining top controls occupy the left portion of the same row */
.page:has(> .admissions-page) > .admissions-page > .admission-topbar{
  grid-column:2 !important;
  grid-row:1 !important;
  display:grid !important;
  grid-template-columns:minmax(340px,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* 2 — search: first item after title, therefore right side of topbar */
.page:has(> .admissions-page) .admission-topbar .admission-header-search{
  grid-column:1 !important;
  grid-row:1 !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:300px !important;
  margin:0 !important;
}

/* 3 + 4 — academic year selector then create button */
.page:has(> .admissions-page) .admission-topbar .admission-year-tools{
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  min-width:max-content !important;
  margin:0 !important;
}

/* keep exact internal RTL order: selector on right, create on its left */
.page:has(> .admissions-page) .academic-year-select-form{
  order:1 !important;
}
.page:has(> .admissions-page) .academic-year-create-btn{
  order:2 !important;
}

/* all other page content below the unified top row */
.page:has(> .admissions-page) > .admissions-page > :not(.admission-topbar){
  grid-column:1 / -1 !important;
}

/* Responsive behavior only when one-line layout physically cannot fit */
@media(max-width:1080px){
  .page:has(> .admissions-page){
    grid-template-columns:1fr !important;
    row-gap:10px !important;
  }
  .page:has(> .admissions-page) > .page-head{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .page:has(> .admissions-page) > .admissions-page > .admission-topbar{
    grid-column:1 !important;
    grid-row:2 !important;
    grid-template-columns:minmax(250px,1fr) auto !important;
  }
}

@media(max-width:720px){
  .page:has(> .admissions-page) > .admissions-page > .admission-topbar{
    grid-template-columns:1fr !important;
  }
  .page:has(> .admissions-page) .admission-topbar .admission-header-search{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .page:has(> .admissions-page) .admission-topbar .admission-year-tools{
    grid-column:1 !important;
    grid-row:2 !important;
    min-width:0 !important;
    flex-wrap:wrap !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.35 — direct Jalali month/year selection
   ========================================================= */
.jalali-picker-head .jp-direct-selects{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
}
.jalali-picker-head .jp-month-select,
.jalali-picker-head .jp-year-select{
  height:34px;
  border:1px solid #d9e5df;
  border-radius:9px;
  background:#fff;
  color:#285141;
  font-family:Vazirmatn, sans-serif;
  font-size:12px;
  font-weight:700;
  padding:0 9px;
  outline:none;
  cursor:pointer;
  text-align:center;
}
.jalali-picker-head .jp-month-select{
  min-width:112px;
}
.jalali-picker-head .jp-year-select{
  min-width:82px;
}
.jalali-picker-head .jp-month-select:hover,
.jalali-picker-head .jp-year-select:hover{
  border-color:#9ac8b4;
  background:#fbfefd;
}
.jalali-picker-head .jp-month-select:focus,
.jalali-picker-head .jp-year-select:focus{
  border-color:#69a98c;
  box-shadow:0 0 0 3px rgba(105,169,140,.12);
}
@media(max-width:520px){
  .jalali-picker-head .jp-month-select{min-width:96px}
  .jalali-picker-head .jp-year-select{min-width:76px}
  .jalali-picker-head .jp-direct-selects{gap:5px}
}


/* NARGESMAHD v0.1.36 — automatic academic year title/current */
.academic-year-auto-title{
  background:#f5f7f6 !important;
  color:#40554b !important;
  cursor:not-allowed !important;
  font-weight:700 !important;
}
.academic-year-auto-title::placeholder{
  color:#9aa7a1 !important;
  font-weight:400 !important;
}


/* =========================================================
   NARGESMAHD v0.1.38 — payment type per selected child
   ========================================================= */
.payment-panel-head{
  display:grid !important;
  grid-template-columns:minmax(260px,.9fr) minmax(520px,1.7fr) auto !important;
  align-items:center !important;
  gap:14px !important;
}
.payment-panel-title{
  min-width:0;
}
.payment-panel-title h3,
.payment-panel-title p{
  margin-inline:0 !important;
}
.payment-student-info{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:end;
}
.payment-student-info label{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0;
  font-size:10.5px;
  font-weight:700;
  color:#52675e;
}
.payment-student-info input{
  width:100%;
  height:32px;
  border:1px solid #d8e2dd;
  border-radius:8px;
  background:#f7f9f8;
  color:#30483d;
  padding:0 9px;
  font:inherit;
  font-size:11px;
  font-weight:700;
  cursor:default;
}
.payment-head-actions{
  align-self:center;
  flex-wrap:nowrap !important;
}
.payment-choice-grid{
  align-items:stretch;
}
.payment-choice{
  position:relative;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  min-height:150px;
  cursor:pointer;
  padding-top:44px !important;
}
.payment-choice > input[type="radio"]{
  position:absolute;
  top:16px;
  right:16px;
  width:18px;
  height:18px;
  margin:0;
  accent-color:#2f7d5c;
  cursor:pointer;
}
.payment-choice-icon{
  position:absolute;
  top:12px;
  left:14px;
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.payment-choice-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.payment-icon-full{
  background:#e8f7ee;
  color:#1b8b50;
}
.payment-icon-installment{
  background:#eaf3ff;
  color:#2675bf;
}
.payment-icon-mixed{
  background:#fff2df;
  color:#c06a16;
}
.payment-choice:has(input[type="radio"]:checked){
  border-color:#7fb9a0 !important;
  box-shadow:0 0 0 3px rgba(77,145,113,.10);
  background:#fbfefc;
}
.payment-selectable-row{
  cursor:pointer;
}
.payment-selectable-row:hover td{
  background:#f8fbfa;
}
.payment-selected-row td{
  background:#edf8f2 !important;
}
.payment-selected-row td:first-child{
  box-shadow:inset -3px 0 0 #39936b;
}

@media(max-width:1200px){
  .payment-panel-head{
    grid-template-columns:1fr !important;
  }
  .payment-head-actions{
    justify-content:flex-start !important;
  }
}
@media(max-width:720px){
  .payment-student-info{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.39 — exact payment header alignment
   Name / Last name / National ID / Save / Close = one line
   ========================================================= */
.payment-type-panel .payment-panel-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end !important;
  column-gap:16px !important;
  row-gap:10px !important;
}

/* Title remains on its own full-width row. */
.payment-type-panel .payment-panel-title{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
}

/* Three student fields form one horizontal group. */
.payment-type-panel .payment-student-info{
  grid-column:1 !important;
  grid-row:2 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(180px,1fr)) !important;
  align-items:end !important;
  gap:10px !important;
  margin:0 !important;
}
.payment-type-panel .payment-student-info label{
  margin:0 !important;
}
.payment-type-panel .payment-student-info input{
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
}

/* Save and Close are aligned with the input boxes themselves. */
.payment-type-panel .payment-head-actions{
  grid-column:2 !important;
  grid-row:2 !important;
  display:flex !important;
  align-items:flex-end !important;
  align-self:end !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
}
.payment-type-panel .payment-head-actions .admission-head-btn{
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  align-self:end !important;
}

/* Keep all five controls on one row on normal desktop widths. */
@media(min-width:1001px){
  .payment-type-panel .payment-panel-head{
    grid-template-columns:minmax(600px,1fr) auto !important;
  }
  .payment-type-panel .payment-student-info{
    min-width:600px !important;
  }
}

/* Responsive fallback only when horizontal space is insufficient. */
@media(max-width:1000px){
  .payment-type-panel .payment-panel-head{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .payment-type-panel .payment-student-info{
    grid-column:1 !important;
    grid-row:2 !important;
  }
  .payment-type-panel .payment-head-actions{
    grid-column:1 !important;
    grid-row:3 !important;
    justify-content:flex-start !important;
  }
}
@media(max-width:680px){
  .payment-type-panel .payment-student-info{
    grid-template-columns:1fr !important;
    min-width:0 !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.43 — sidebar font hierarchy
   Parent menus: bold
   Standalone + child items: normal and equal size
   ========================================================= */

/* All right-sidebar menu labels use the same font size */
.sidebar-nav > a,
.sidebar-nav .nav-tree > summary,
.sidebar-nav .nav-tree .nav-tree-items > a{
  font-size:13px !important;
  line-height:1.45 !important;
}

/* Parent menu titles are bold */
.sidebar-nav .nav-tree > summary,
.sidebar-nav .nav-tree > summary .nav-tree-title{
  font-weight:800 !important;
}

/* Standalone menu items are normal weight */
.sidebar-nav > a{
  font-weight:400 !important;
}

/* Child items under every parent menu are normal weight */
.sidebar-nav .nav-tree .nav-tree-items > a{
  font-weight:400 !important;
}

/* Keep icon/text sizing visually consistent without changing hierarchy */
.sidebar-nav > a > span:first-child,
.sidebar-nav .nav-tree > summary > span:first-child,
.sidebar-nav .nav-tree .nav-tree-items > a > span:first-child{
  font-size:13px !important;
  line-height:1 !important;
}

/* Do not let active state turn normal/child labels bold */
.sidebar-nav > a.active,
.sidebar-nav .nav-tree .nav-tree-items > a.active{
  font-weight:400 !important;
}

/* Parent active/open appearance remains bold */
.sidebar-nav .nav-tree[open] > summary,
.sidebar-nav .nav-tree[open] > summary .nav-tree-title{
  font-weight:800 !important;
}


/* =========================================================
   NARGESMAHD v0.1.44 — exact sidebar typography rule
   Actual sidebar container is .nav (not .sidebar-nav)
   Parent menus = bold
   Standalone + child items = normal, same size
   ========================================================= */

/* Common size for every menu text */
.sidebar .nav > a,
.sidebar .nav .nav-tree > summary,
.sidebar .nav .nav-tree .nav-tree-items > a{
  font-size:13px !important;
  line-height:1.45 !important;
}

/* ONLY parent menu titles are bold */
.sidebar .nav .nav-tree > summary,
.sidebar .nav .nav-tree > summary .nav-tree-title{
  font-weight:800 !important;
}

/* Standalone menu items are always normal */
.sidebar .nav > a,
.sidebar .nav > a.active,
.sidebar .nav > a:hover{
  font-weight:400 !important;
}

/* Child menu items are always normal and exactly same size as standalone items */
.sidebar .nav .nav-tree .nav-tree-items > a,
.sidebar .nav .nav-tree .nav-tree-items > a.active,
.sidebar .nav .nav-tree .nav-tree-items > a:hover{
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
}

/* Text spans must inherit the intended weight */
.sidebar .nav > a > span,
.sidebar .nav .nav-tree .nav-tree-items > a > span{
  font-weight:400 !important;
}
.sidebar .nav .nav-tree > summary > span,
.sidebar .nav .nav-tree > summary .nav-tree-title{
  font-weight:800 !important;
}

/* Active state must not change typography hierarchy */
.sidebar .nav > a.active,
.sidebar .nav .nav-tree .nav-tree-items > a.active{
  font-weight:400 !important;
}
.sidebar .nav .nav-tree[open] > summary,
.sidebar .nav .nav-tree[open] > summary .nav-tree-title{
  font-weight:800 !important;
}


/* NARGESMAHD v0.1.45 — independent preschool management pages */
.management-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.management-overview-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  border:1px solid #dce6e1;
  border-radius:14px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.management-overview-card strong{display:block;font-size:15px;margin-bottom:5px}
.management-overview-card span,.management-overview-card small{display:block;color:#6c7d76}
.management-card-icon{
  width:44px;height:44px;border-radius:12px;display:inline-flex!important;align-items:center;justify-content:center;font-size:22px;
}
.management-icon-calendar{background:#eaf4ff;color:#2676bf}
.management-icon-tuition{background:#eaf8ef;color:#258251}
.management-overview-table h3{margin-top:0}
.management-overview-table table{width:100%;border-collapse:collapse}
.management-overview-table th,.management-overview-table td{padding:10px;border-bottom:1px solid #edf1ef;text-align:right}
.management-page-card{margin-bottom:14px}
.management-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.management-form-grid label{font-size:12px;font-weight:700;color:#43584f}
.management-form-grid input,.management-form-grid select{
  width:100%;height:38px;margin-top:6px;border:1px solid #d7e2dd;border-radius:9px;background:#fff;padding:0 10px;font:inherit;
}
.management-form-grid input[readonly]{background:#f5f7f6;color:#51635b}
.management-form-actions{display:flex;justify-content:flex-start;margin-top:14px}
.tuition-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.jalali-inline-picker{
  position:absolute;z-index:9999;width:340px;padding:14px;border:1px solid #d8e3de;border-radius:16px;background:#fff;box-shadow:0 14px 45px rgba(0,0,0,.16);
}
.jalali-inline-head{display:grid;grid-template-columns:36px 1fr 90px 36px;gap:6px;align-items:center;margin-bottom:10px}
.jalali-inline-head button,.jalali-inline-head select{height:34px;border:1px solid #dce5e1;border-radius:8px;background:#f8faf9;font:inherit}
.jalali-inline-week,.jalali-inline-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.jalali-inline-week{margin-bottom:6px;color:#7a8882;font-size:11px}
.jalali-inline-days button{height:34px;border:0;border-radius:8px;background:transparent;cursor:pointer;font:inherit}
.jalali-inline-days button:hover{background:#eef7f2}
.jalali-inline-actions{display:flex;gap:6px;margin-top:10px;border-top:1px solid #edf1ef;padding-top:10px}
.jalali-inline-actions button{height:32px;border:1px solid #dce5e1;border-radius:8px;background:#fff;padding:0 10px;font:inherit}

@media(max-width:850px){
  .management-overview-grid,.management-form-grid,.tuition-form-grid{grid-template-columns:1fr}
}


/* =========================================================
   NARGESMAHD v0.1.47 — safe academic-year deletion
   ========================================================= */
.academic-year-delete-col,
.academic-year-delete-cell{
  width:62px;
  text-align:center !important;
}
.academic-year-delete-form{
  display:inline-flex;
  margin:0;
}
.academic-year-delete-btn{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #f0caca;
  border-radius:8px;
  background:#fff7f7;
  color:#c83f3f;
  cursor:pointer;
  padding:0;
}
.academic-year-delete-btn:hover{
  background:#ffeded;
  border-color:#e9aaaa;
}
.academic-year-delete-btn svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* =========================================================
   NARGESMAHD v0.1.48 — advanced tuition settings page
   ========================================================= */
.tuition-advanced-card{
  overflow:visible;
}
.tuition-main-row{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(220px,1fr) minmax(220px,1fr);
  gap:12px;
  align-items:start;
}
.tuition-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  font-size:11.5px;
  font-weight:700;
  color:#40554c;
}
.tuition-field select,
.tuition-field input{
  width:100%;
  height:38px;
  border:1px solid #d6e1dc;
  border-radius:9px;
  padding:0 10px;
  background:#fff;
  color:#30483d;
  font:inherit;
  font-size:12px;
  box-sizing:border-box;
}
.tuition-discount-field input{
  background:#eaf4ff !important;
  border-color:#c8def4 !important;
}
.tuition-payable-field input{
  background:#eaf8ef !important;
  border-color:#c9e7d4 !important;
  font-weight:800;
}
.tuition-amount-words{
  display:block;
  min-height:19px;
  color:#6c7d75;
  font-size:10.5px;
  font-weight:500;
  line-height:1.5;
  padding-inline:2px;
}
.tuition-discount-field .tuition-amount-words{
  color:#55748d;
}
.tuition-payable-field .tuition-amount-words{
  color:#4e765d;
  font-weight:700;
}

.tuition-document-row{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) minmax(280px,1fr);
  gap:12px;
  align-items:end;
  margin-top:16px;
}
.tuition-save-btn{
  height:38px !important;
  min-height:38px !important;
  white-space:nowrap;
}
.tuition-document-note-field,
.tuition-document-file-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  font-size:11.5px;
  font-weight:700;
  color:#40554c;
}
.tuition-document-note-field input{
  width:100%;
  height:38px;
  border:1px solid #d6e1dc;
  border-radius:9px;
  padding:0 10px;
  font:inherit;
  box-sizing:border-box;
}
.tuition-document-file-field input[type="file"]{
  width:100%;
  min-height:38px;
  border:1px solid #d6e1dc;
  border-radius:9px;
  background:#fff;
  padding:5px 8px;
  font:inherit;
  box-sizing:border-box;
}
.tuition-document-file-field small{
  color:#7b8983;
  font-size:10px;
  font-weight:400;
}

@media(max-width:1180px){
  .tuition-main-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:800px){
  .tuition-main-row,
  .tuition-document-row{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   NARGESMAHD v0.1.49 — tuition document fields alignment
   Requested exact layout:
   row 1: wider document note + document file, perfectly aligned
   row 2: save button centered below both fields
   ========================================================= */
.tuition-document-row{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) !important;
  grid-template-areas:
    "note file"
    "save save" !important;
  gap:12px 16px !important;
  align-items:start !important;
  margin-top:16px !important;
}

.tuition-document-note-field{
  grid-area:note !important;
  width:100% !important;
  margin:0 !important;
}

.tuition-document-file-field{
  grid-area:file !important;
  width:100% !important;
  margin:0 !important;
}

/* Both controls align on the same baseline and same height */
.tuition-document-note-field input,
.tuition-document-file-field input[type="file"]{
  width:100% !important;
  min-height:42px !important;
  height:42px !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

/* Make the document information field visibly wider */
.tuition-document-note-field input{
  padding-inline:12px !important;
}

/* Save button on its own row, centered below both fields */
.tuition-save-btn{
  grid-area:save !important;
  justify-self:center !important;
  align-self:center !important;
  width:auto !important;
  min-width:150px !important;
  margin-top:2px !important;
}

/* Keep helper text under the file control without disturbing alignment */
.tuition-document-file-field small{
  margin-top:2px !important;
}

/* Responsive fallback */
@media(max-width:800px){
  .tuition-document-row{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "note"
      "file"
      "save" !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.50 — tuition edit mode
   ========================================================= */
.tuition-edit-col,
.tuition-edit-cell{
  width:60px;
  text-align:center !important;
}
.tuition-edit-btn{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfe0f0;
  border-radius:8px;
  background:#f5faff;
  color:#2474b9;
  padding:0;
  cursor:pointer;
}
.tuition-edit-btn:hover{
  background:#eaf4ff;
  border-color:#aed0ed;
}
.tuition-edit-btn svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tuition-edit-selected-row td{
  background:#f4faf7 !important;
}
.tuition-edit-selected-row td:first-child{
  box-shadow:inset -3px 0 0 #3e9a70;
}
#tuitionExistingDocument.has-existing-document{
  color:#357a56;
  font-weight:700;
}


/* =========================================================
   NARGESMAHD v0.1.53
   Restored full app.css + intended non-current tuition restriction styles
   ========================================================= */
.tuition-edit-permission-notice{
  grid-area:save;
  justify-self:center;
  margin-top:46px;
  font-size:10.5px;
  color:#a64b4b;
  font-weight:700;
}
.tuition-save-disabled{
  opacity:.55;
  cursor:not-allowed !important;
}
.tuition-field input[readonly],
.tuition-document-note-field input[readonly]{
  cursor:not-allowed;
}


/* =========================================================
   NARGESMAHD v0.1.54 — Academic year Jalali calendar rule
   All academic-year date inputs remain Jalali-only and show
   an explicit calendar icon as required by the global rule.
   ========================================================= */
.management-form-grid input.jalali-simple-date{
  padding-left:42px;
  cursor:pointer;
  background-color:#fff !important;
  background-repeat:no-repeat;
  background-position:left 12px center;
  background-size:19px 19px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232676bf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}
.management-form-grid input.jalali-simple-date:hover,
.management-form-grid input.jalali-simple-date:focus{
  border-color:#9fc8eb;
  box-shadow:0 0 0 3px rgba(38,118,191,.08);
}


/* =========================================================
   NARGESMAHD v0.1.55 — Preschool accounts page
   ========================================================= */
.preschool-accounts-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.preschool-accounts-grid label{
  min-width:0;
}
.preschool-account-description{
  grid-column:span 2;
}
.sheba-input-wrap{
  display:flex;
  direction:ltr;
  align-items:center;
  border:1px solid #d7e3de;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.sheba-input-wrap:focus-within{
  border-color:#9fc8eb;
  box-shadow:0 0 0 3px rgba(38,118,191,.08);
}
.sheba-input-wrap input{
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  direction:ltr;
  text-align:left;
  flex:1;
  min-width:0;
}
.sheba-prefix{
  padding:0 12px;
  font-weight:800;
  color:#47645a;
  border-right:1px solid #e2ebe7;
  line-height:40px;
}
.preschool-account-actions{
  gap:8px;
}
.preschool-accounts-table table{
  min-width:1180px;
}
.preschool-accounts-table .tuition-edit-btn{
  text-decoration:none;
}
.account-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.account-status.is-active{
  background:#eaf7ef;
  color:#24734e;
}
.account-status.is-inactive{
  background:#f4f4f4;
  color:#737373;
}
@media (max-width:1200px){
  .preschool-accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .preschool-accounts-grid{grid-template-columns:1fr;}
  .preschool-account-description{grid-column:auto;}
}


/* =========================================================
   NARGESMAHD v0.1.56 — Preschool accounts refinements
   IranianBankLogos sprite source: amastaneh/IranianBankLogos v3.1.2
   ========================================================= */
.bank-logo.ibl32{
  background-image:url("https://raw.githubusercontent.com/amastaneh/IranianBankLogos/refs/heads/master/dist/ibls32.png");
  background-repeat:no-repeat;
  display:inline-block;
  width:32px;
  height:32px;
  flex:0 0 32px;
  transform:scale(.78);
  transform-origin:center;
}
.bank-logo.ibl-bsi{background-position:0 0}.bank-logo.ibl-mellat{background-position:-32px 0}.bank-logo.ibl-tejarat{background-position:-64px 0}.bank-logo.ibl-bmi{background-position:-96px 0}.bank-logo.ibl-sepah{background-position:-128px 0}.bank-logo.ibl-bki{background-position:0 -32px}.bank-logo.ibl-parsian{background-position:-32px -32px}.bank-logo.ibl-maskan{background-position:-64px -32px}.bank-logo.ibl-rb{background-position:-96px -32px}.bank-logo.ibl-en{background-position:-128px -32px}.bank-logo.ibl-bpi{background-position:-32px -64px}.bank-logo.ibl-sb{background-position:-64px -64px}.bank-logo.ibl-sina{background-position:-96px -64px}.bank-logo.ibl-post{background-position:-128px -64px}.bank-logo.ibl-tt{background-position:-32px -96px}.bank-logo.ibl-shahr{background-position:-64px -96px}.bank-logo.ibl-sarmayeh{background-position:-128px -96px}.bank-logo.ibl-day{background-position:0 -128px}.bank-logo.ibl-iz{background-position:-64px -128px}.bank-logo.ibl-kar{background-position:-96px -128px}.bank-logo.ibl-tourism{background-position:-128px -128px}.bank-logo.ibl-bim{background-position:0 -160px}.bank-logo.ibl-edbi{background-position:-32px -160px}.bank-logo.ibl-me{background-position:-64px -160px}.bank-logo.ibl-resalat{background-position:-128px -160px}.bank-logo.ibl-miran{background-position:0 -192px}
.bank-picker-field{position:relative;z-index:5}
.bank-picker{position:relative;width:100%}
.bank-picker-trigger{
  width:100%;height:42px;border:1px solid #d7e3de;border-radius:12px;background:#fff;
  display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 8px;
  font-family:inherit;color:#334c44;cursor:pointer;text-align:right
}
.bank-picker-current{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}
.bank-picker-current>span:last-child{overflow:hidden;text-overflow:ellipsis}
.bank-picker-arrow{font-size:18px;color:#71857e;line-height:1}
.bank-picker-menu{
  position:absolute;z-index:80;top:46px;right:0;left:0;max-height:290px;overflow:auto;
  background:#fff;border:1px solid #d7e3de;border-radius:12px;box-shadow:0 12px 30px rgba(25,52,45,.14);padding:5px
}
.bank-picker-option{
  width:100%;min-height:40px;border:0;background:#fff;border-radius:8px;padding:3px 7px;
  display:flex;align-items:center;gap:7px;font-family:inherit;font-size:12px;color:#334c44;cursor:pointer;text-align:right
}
.bank-picker-option:hover{background:#f2f8f5}
.bank-logo-placeholder{display:inline-block;width:32px;height:32px;flex:0 0 32px}

/* Sheba must be exactly aligned with peer controls; IR stays fixed inside left side. */
.sheba-input-wrap{
  position:relative !important;width:100% !important;height:42px !important;display:block !important;
  direction:ltr !important;border:1px solid #d7e3de !important;border-radius:12px !important;
  overflow:hidden;background:#fff
}
.sheba-input-wrap input{
  width:100% !important;height:40px !important;border:0 !important;border-radius:0 !important;
  padding:0 10px 0 46px !important;box-sizing:border-box;direction:ltr;text-align:left;outline:0
}
.sheba-prefix{
  position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;width:38px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  padding:0 !important;border-right:1px solid #e2ebe7 !important;font-weight:800;color:#47645a;
  line-height:normal !important;background:#f7faf9;z-index:2
}

/* Compact readable account table: full values remain visible. */
.preschool-accounts-table table{min-width:1040px !important;width:100%;table-layout:auto}
.preschool-accounts-table th,
.preschool-accounts-table td{
  font-size:10.5px !important;line-height:1.45 !important;padding:7px 6px !important;
  white-space:nowrap !important;vertical-align:middle
}
.preschool-accounts-table th{font-size:10.8px !important}
.account-actions-col,.account-row-actions{width:76px !important;text-align:center !important}
.account-row-actions{display:table-cell !important}
.account-row-actions>a,.account-row-actions>form{display:inline-block;vertical-align:middle;margin:0 2px}
.account-delete-form{padding:0;margin:0}
.account-delete-btn{
  width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #f0caca;border-radius:8px;background:#fff7f7;color:#b94a4a;padding:0;cursor:pointer
}
.account-delete-btn:hover{background:#ffeded;border-color:#e7adad}
.account-delete-btn svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}


/* =========================================================
   NARGESMAHD v0.1.58 — Admissions tuition announcement
   ========================================================= */
.admission-tuition-announcement{
  margin:10px 0 14px;
  padding:12px 16px;
  border:1px solid #d9e7df;
  border-radius:12px;
  background:#fbfdfc;
  color:#4d615a;
  font-size:12px;
  line-height:2;
  text-align:right;
}
.admission-tuition-announcement strong{
  color:#234d3e;
  font-weight:800;
  white-space:nowrap;
}


/* =========================================================
   NARGESMAHD v0.1.60 — Tuition announcement amount colors
   X = red, Y = dark blue, Z = deep green
   ========================================================= */
.admission-tuition-announcement strong.tuition-amount-x{
  color:#c62828;
}
.admission-tuition-announcement strong.tuition-amount-y{
  color:#245a92;
}
.admission-tuition-announcement strong.tuition-amount-z{
  color:#176b3a;
}


/* =========================================================
   NARGESMAHD v0.1.63 — Payment type card header alignment
   ========================================================= */
.payment-choice{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  min-height:170px;
  padding:18px 20px 20px !important;
}
.payment-choice-topline{
  display:grid;
  grid-template-columns:58px 1fr 34px;
  align-items:center;
  width:100%;
  min-height:60px;
  direction:ltr;
}
.payment-choice-topline strong{
  grid-column:2;
  justify-self:center;
  align-self:center;
  direction:rtl;
  text-align:center;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:800 !important;
  color:#23483c !important;
  white-space:nowrap;
}
.payment-choice-topline input[type="radio"]{
  grid-column:3;
  justify-self:end;
  align-self:center;
  width:23px !important;
  height:23px !important;
  margin:0 !important;
  cursor:pointer;
}
.payment-choice-topline .payment-choice-icon{
  grid-column:1;
  justify-self:start;
  align-self:center;
  position:static !important;
  width:52px !important;
  height:52px !important;
  border-radius:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 5px 14px rgba(33,67,57,.08);
}
.payment-choice-topline .payment-choice-icon svg{
  width:36px !important;
  height:36px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.3 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.payment-choice-topline .payment-icon-full{
  color:#08795a !important;
  background:linear-gradient(145deg,#d7f6e9,#effcf6) !important;
  border:1px solid #b9e6d5 !important;
}
.payment-choice-topline .payment-icon-installment{
  color:#1769aa !important;
  background:linear-gradient(145deg,#dceeff,#f3f8ff) !important;
  border:1px solid #bfdcf4 !important;
}
.payment-choice-topline .payment-icon-mixed{
  color:#9b6400 !important;
  background:linear-gradient(145deg,#ffedc5,#fff9ea) !important;
  border:1px solid #f0d793 !important;
}
.payment-choice-desc{
  display:block !important;
  width:100%;
  margin-top:28px !important;
  text-align:center !important;
  color:#788981 !important;
  font-size:12px !important;
  line-height:1.8 !important;
}
.payment-choice:hover .payment-choice-icon{
  transform:translateY(-1px);
  transition:transform .15s ease;
}
@media (max-width:900px){
  .payment-choice-topline strong{font-size:14px !important;}
  .payment-choice-topline .payment-choice-icon{width:46px !important;height:46px !important;}
  .payment-choice-topline .payment-choice-icon svg{width:31px !important;height:31px !important;}
}


/* =========================================================
   NARGESMAHD v0.1.64 — Payment card heading/description alignment
   ========================================================= */
.payment-choice-heading{
  grid-column:2;
  justify-self:center;
  align-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  direction:rtl;
  text-align:center;
}
.payment-choice-heading strong{
  margin:0 !important;
}
.payment-choice-heading .payment-choice-desc{
  width:auto !important;
  margin:5px 0 0 !important;
  text-align:center !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
  color:#788981 !important;
  white-space:nowrap;
}
.payment-choice-topline > strong{
  display:none !important;
}
.payment-choice > .payment-choice-desc{
  display:none !important;
}


/* =========================================================
   NARGESMAHD v0.1.65 — Tuition installment types
   ========================================================= */
.installment-plan-year-card{
  margin-bottom:16px;
}
.installment-plan-year-form{
  display:flex;
  justify-content:flex-start;
}
.installment-plan-year-form label{
  width:min(360px,100%);
}
.installment-plan-year-form label>span{
  display:block;
  margin-bottom:7px;
  font-size:12px;
  font-weight:700;
  color:#3d564d;
}
.installment-plan-year-form select{
  width:100%;
  height:42px;
  border:1px solid #d7e3de;
  border-radius:12px;
  padding:0 12px;
  background:#fff;
  font-family:inherit;
}
.tuition-installment-plan-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
}
.tuition-installment-plan-card{
  padding:20px;
}
.installment-plan-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid #e4ece8;
}
.installment-plan-card-head h3{
  margin:0 0 6px;
  font-size:17px;
  color:#24483c;
}
.installment-plan-card-head p{
  margin:0;
  font-size:11.5px;
  color:#7b8b85;
}
.installment-plan-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:800;
}
.installment-plan-badge.short{
  background:#e7f2ff;
  color:#245d93;
}
.installment-plan-badge.long{
  background:#edf7ea;
  color:#2d6b3f;
}
.installment-plan-prepayment{
  padding:16px 0 12px;
}
.installment-plan-prepayment label{
  display:block;
}
.installment-plan-prepayment label>span{
  display:block;
  margin-bottom:7px;
  font-size:12px;
  font-weight:700;
  color:#3d564d;
}
.installment-plan-prepayment input,
.installment-plan-row input{
  width:100%;
  height:42px;
  box-sizing:border-box;
  border:1px solid #d7e3de;
  border-radius:12px;
  padding:0 12px;
  font-family:inherit;
  background:#fff;
}
.installment-plan-prepayment .money-words,
.installment-plan-row .money-words{
  display:block;
  margin-top:5px;
  min-height:18px;
  font-size:10.5px;
  color:#667c74;
}
.installment-plan-table{
  border:1px solid #e0e9e5;
  border-radius:14px;
  overflow:hidden;
}
.installment-plan-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px;
  border-top:1px solid #edf2ef;
}
.installment-plan-row:first-child{
  border-top:0;
}
.installment-plan-row.long-installment-row,
.installment-plan-row.long-head{
  grid-template-columns:72px minmax(0,1fr) minmax(0,1fr) 42px;
}
.installment-plan-row-head{
  align-items:center;
  background:#f7faf8;
  color:#526b62;
  font-size:10.5px;
  font-weight:800;
}
.installment-number{
  display:flex;
  align-items:center;
  height:42px;
  font-size:11px;
  font-weight:800;
  color:#345348;
}
.jalali-field-wrap{
  position:relative;
}
.jalali-field-wrap .jalali-installment-date{
  padding-left:42px;
  cursor:pointer;
  background-color:#fff;
  background-repeat:no-repeat;
  background-position:left 12px center;
  background-size:18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232676bf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}
.installment-plan-inline-actions{
  display:flex;
  justify-content:center;
  margin-top:12px;
}
.installment-remove-btn{
  width:32px;
  height:32px;
  margin-top:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #efcaca;
  border-radius:8px;
  background:#fff7f7;
  color:#b54848;
  cursor:pointer;
}
.installment-remove-btn svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.installment-plan-form .management-form-actions{
  margin-top:16px;
}
@media(max-width:1100px){
  .tuition-installment-plan-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .installment-plan-row,
  .installment-plan-row.long-installment-row,
  .installment-plan-row.long-head{
    grid-template-columns:1fr;
  }
  .installment-plan-row-head{
    display:none;
  }
}


/* =========================================================
   NARGESMAHD v0.1.66 — Installment rules + history
   ========================================================= */
.installment-plan-year-card{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.installment-year-status{
  flex:1;
  padding:10px 14px;
  border-radius:10px;
  font-size:11px;
  line-height:1.8;
}
.installment-year-status.ready{
  background:#eef8f2;
  border:1px solid #cde7d6;
  color:#2e6c46;
}
.installment-year-status.not-ready{
  background:#fff8eb;
  border:1px solid #f0dfb5;
  color:#826120;
}
.installment-tuition-payable{
  padding:16px 0 4px;
}
.installment-tuition-payable label{
  display:block;
}
.installment-tuition-payable label>span{
  display:block;
  margin-bottom:7px;
  font-size:12px;
  font-weight:800;
  color:#314f44;
}
.installment-tuition-payable input{
  width:100%;
  height:42px;
  box-sizing:border-box;
  border:1px solid #cfe1d8;
  border-radius:12px;
  padding:0 12px;
  background:#eef8f2 !important;
  color:#285c43;
  font-family:inherit;
  font-weight:800;
}
.installment-tuition-payable .money-words{
  display:block;
  margin-top:5px;
  min-height:18px;
  font-size:10.5px;
  color:#567066;
}
.installment-plan-card input[readonly]{
  cursor:not-allowed;
}
.installment-plan-card .fixed-date{
  background-color:#f7f9f8 !important;
  cursor:not-allowed !important;
}
.installment-sum-check{
  margin-top:12px;
  padding:9px 12px;
  border-radius:9px;
  font-size:10.5px;
  text-align:center;
}
.installment-sum-check.ok{
  background:#eef8f2;
  color:#2d6d46;
  border:1px solid #cce5d5;
}
.installment-sum-check.bad{
  background:#fff0f0;
  color:#9a3f3f;
  border:1px solid #edcaca;
}
.installment-history-card{
  margin-top:18px;
}
.installment-history-table{
  min-width:1200px;
}
.installment-history-table th,
.installment-history-table td{
  font-size:10.5px !important;
  padding:8px 7px !important;
  white-space:nowrap;
}
.installment-match-status{
  display:inline-flex;
  min-width:62px;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
}
.installment-match-status.ok{
  background:#e9f7ee;
  color:#2b7048;
}
.installment-match-status.bad{
  background:#fff0f0;
  color:#9a4141;
}
@media(max-width:900px){
  .installment-plan-year-card{
    flex-direction:column;
    align-items:stretch;
  }
}


/* =========================================================
   NARGESMAHD v0.1.67 — Tuition payable words exact alignment
   ========================================================= */
.installment-tuition-payable label{
  display:grid !important;
  grid-template-columns:auto minmax(220px,320px);
  align-items:start;
  justify-content:center;
  column-gap:14px;
  width:100%;
}
.installment-tuition-payable label>span{
  align-self:center;
  margin:0 !important;
  white-space:nowrap;
}
.tuition-payable-value-wrap{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
}
.tuition-payable-value-wrap .tuition-payable-source{
  width:100% !important;
  border-radius:12px !important;
  text-align:center !important;
  color:#c62828 !important;
  font-weight:800 !important;
  font-size:15px !important;
}
.tuition-payable-value-wrap .money-words{
  display:block !important;
  width:100% !important;
  margin:5px 0 0 !important;
  min-height:18px;
  text-align:center !important;
  font-size:10.5px !important;
  line-height:1.5 !important;
  color:#596f67 !important;
}
@media(max-width:700px){
  .installment-tuition-payable label{
    grid-template-columns:1fr;
    row-gap:7px;
  }
  .installment-tuition-payable label>span{
    text-align:right;
  }
}


/* =========================================================
   NARGESMAHD v0.1.68 — Payable tuition compact exact alignment
   ========================================================= */
.installment-tuition-payable label{
  grid-template-columns:auto minmax(220px,320px) !important;
  align-items:start !important;
}
.installment-tuition-payable label>span{
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
}
.tuition-payable-value-wrap .tuition-payable-source{
  height:36px !important;
  min-height:36px !important;
  line-height:36px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border-radius:11px !important;
}
.tuition-payable-value-wrap .money-words{
  margin-top:4px !important;
  text-align:center !important;
}


/* =========================================================
   NARGESMAHD v0.1.73 — Admissions installment readonly summary
   Width of payment cards remains unchanged; only height grows.
   ========================================================= */
.payment-choice-grid{
  align-items:stretch;
}
.payment-choice{
  min-width:0 !important;
}
.payment-choice.payment-choice-installment,
.payment-choice.payment-choice-mixed{
  min-height:285px !important;
}
.payment-choice.payment-choice-full{
  min-height:285px !important;
}
.payment-plan-readonly-summary{
  width:100%;
  margin-top:12px;
  padding:10px 11px;
  box-sizing:border-box;
  border:1px solid #dde8e3;
  border-radius:11px;
  background:#f9fbfa;
  direction:rtl;
  color:#3d5750;
  font-size:10.5px;
  line-height:1.55;
}
.payment-plan-summary-primary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:30px;
  border-bottom:1px solid #e6eeea;
}
.payment-plan-summary-primary:last-of-type{
  border-bottom:0;
}
.payment-plan-summary-primary span{
  font-size:10.5px;
  color:#637a72;
  white-space:nowrap;
}
.payment-plan-summary-primary strong{
  font-size:12.5px;
  font-weight:800;
  color:#263f37;
  white-space:nowrap;
}
.payment-plan-summary-primary:first-child strong{
  color:#c62828;
}
.payment-plan-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #dfe8e4;
}
.payment-plan-summary-grid>div{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
  padding:0 6px;
  border-right:1px solid #e2eae6;
}
.payment-plan-summary-grid>div:first-child{
  border-right:0;
}
.payment-plan-summary-grid span{
  font-size:9.8px;
  color:#61776f;
  text-align:center;
  white-space:nowrap;
}
.payment-plan-summary-grid strong{
  font-size:11.5px;
  color:#243e35;
  font-weight:800;
  white-space:nowrap;
}
.payment-plan-readonly-summary.is-empty{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#8b6f3a;
  background:#fffaf0;
  border-color:#eadab7;
  font-size:10.5px;
}
.payment-choice-heading strong{
  font-size:15px !important;
}
.payment-choice-heading .payment-choice-desc{
  font-size:10.8px !important;
}
@media(max-width:1100px){
  .payment-plan-summary-grid span{font-size:9.2px;}
  .payment-plan-summary-grid strong{font-size:10.8px;}
  .payment-plan-summary-primary span{font-size:10px;}
  .payment-plan-summary-primary strong{font-size:12px;}
}


/* =========================================================
   NARGESMAHD v0.1.74 — Payment card numeric value boxes
   ========================================================= */
.payment-plan-readonly-summary{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}
.payment-plan-summary-item{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:8px 10px;
  box-sizing:border-box;
  border-radius:10px;
}
.payment-plan-summary-item>span{
  width:100%;
  text-align:center;
  font-size:10.5px;
  line-height:1.5;
  color:#657970;
  white-space:nowrap;
}
.payment-plan-value-box{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:min(100%, 245px);
  min-height:36px;
  padding:4px 10px;
  box-sizing:border-box;
  border-radius:10px;
  font-size:13px !important;
  line-height:1.2;
  font-weight:800 !important;
  text-align:center !important;
  white-space:nowrap;
  border:1px solid #d9e4df;
  background:#fff;
}
.payment-plan-summary-payable{
  background:#fff6f6;
  border:1px solid #f1d0d0;
}
.payment-plan-summary-payable .payment-plan-value-box{
  color:#c62828 !important;
  background:#fffafa;
  border-color:#efc2c2;
}
.payment-plan-summary-prepayment{
  background:#f3f8ff;
  border:1px solid #d3e2f4;
}
.payment-plan-summary-prepayment .payment-plan-value-box{
  color:#245f9e !important;
  background:#f8fbff;
  border-color:#c2d8ef;
}
.payment-plan-summary-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.payment-plan-summary-grid>div{
  border-right:0 !important;
  border-radius:10px;
  min-width:0;
  padding:7px 5px !important;
  background:#f4fbf6;
  border:1px solid #d7eadc !important;
}
.payment-plan-summary-grid span{
  display:block;
  width:100%;
  text-align:center;
  font-size:9.5px !important;
  line-height:1.4;
  color:#5f746b;
  white-space:nowrap;
}
.payment-plan-summary-grid .payment-plan-value-box{
  width:min(100%, 150px);
  min-height:34px;
  margin-top:5px;
}
.payment-plan-summary-installment .payment-plan-value-box{
  color:#237144 !important;
  background:#f8fcf9;
  border-color:#cbe3d2;
}
.payment-plan-summary-total{
  background:#f7f9f8 !important;
  border-color:#dde5e1 !important;
}
.payment-plan-summary-total .payment-plan-value-box{
  color:#263f37 !important;
  background:#fff;
  border-color:#d6e0db;
}
.payment-plan-full-summary{
  width:100%;
  margin-top:12px;
}
.payment-plan-full-summary .payment-plan-summary-item{
  margin:0 auto;
}
.payment-choice.payment-choice-full,
.payment-choice.payment-choice-installment,
.payment-choice.payment-choice-mixed{
  min-height:315px !important;
}
@media(max-width:1100px){
  .payment-plan-value-box{
    font-size:12px !important;
  }
  .payment-plan-summary-grid span{
    font-size:8.9px !important;
  }
  .payment-plan-summary-grid .payment-plan-value-box{
    font-size:10.8px !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.75 — Exact approved payment-card layout
   Reference: approved UI image from 2026-09-07
   ========================================================= */

/* Keep the three cards in one row with the same widths. */
.payment-choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

/* Card geometry: width unchanged; vertical content stack. */
.payment-choice{
  min-width:0 !important;
  min-height:520px !important;
  padding:18px 20px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

/* Header remains compact and unchanged in logic. */
.payment-choice-topline{
  min-height:64px !important;
  margin-bottom:8px !important;
}

/* Approved summary structure: every block below the previous one. */
.payment-plan-readonly-summary{
  width:100% !important;
  margin-top:10px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:8px !important;
}

/* Every datum occupies its own full-width visual block. */
.payment-plan-summary-item,
.payment-plan-summary-grid > div{
  width:100% !important;
  min-height:72px !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:8px 12px !important;
  border-radius:12px !important;
  text-align:center !important;
}

/* Never place the three installment values on one row. */
.payment-plan-summary-grid{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}

/* Labels centered. */
.payment-plan-summary-item > span,
.payment-plan-summary-grid span{
  width:100% !important;
  display:block !important;
  margin:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:10.8px !important;
  line-height:1.45 !important;
  color:#5f756d !important;
}

/* Number/value box: clearly boxed and centered within parent block. */
.payment-plan-value-box{
  width:min(72%, 250px) !important;
  min-height:38px !important;
  margin:0 auto !important;
  padding:5px 12px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

/* Payable tuition — approved red block. */
.payment-plan-summary-payable{
  background:#fff6f6 !important;
  border:1px solid #efcaca !important;
}
.payment-plan-summary-payable .payment-plan-value-box{
  color:#c62828 !important;
  background:#fffafa !important;
  border:1px solid #efbebe !important;
}

/* Prepayment — approved blue block. */
.payment-plan-summary-prepayment{
  background:#f4f8ff !important;
  border:1px solid #cfe0f3 !important;
}
.payment-plan-summary-prepayment .payment-plan-value-box{
  color:#1f5f9f !important;
  background:#f8fbff !important;
  border:1px solid #bdd5ec !important;
}

/* Installment count and average — approved green blocks. */
.payment-plan-summary-installment{
  background:#f4fbf6 !important;
  border:1px solid #d1e7d7 !important;
}
.payment-plan-summary-installment .payment-plan-value-box{
  color:#1f7a45 !important;
  background:#f8fcf9 !important;
  border:1px solid #c2dfca !important;
}

/* Grand total — neutral/dark. */
.payment-plan-summary-total{
  background:#f7f9f8 !important;
  border:1px solid #dce5e0 !important;
}
.payment-plan-summary-total .payment-plan-value-box{
  color:#223a32 !important;
  background:#ffffff !important;
  border:1px solid #d1ddd7 !important;
}

/* Full-payment card shows only payable tuition block. */
.payment-plan-full-summary{
  width:100% !important;
  margin-top:10px !important;
}
.payment-choice.payment-choice-full .payment-plan-summary-payable{
  margin-top:0 !important;
}

/* Keep typography compact and proportional to approved image. */
.payment-choice-heading strong{
  font-size:15px !important;
}
.payment-choice-heading .payment-choice-desc{
  font-size:10.8px !important;
}
.payment-choice-topline .payment-choice-icon{
  width:50px !important;
  height:50px !important;
}

/* Responsive fallback, without changing desktop-approved structure. */
@media(max-width:1100px){
  .payment-plan-value-box{
    width:min(78%, 230px) !important;
    font-size:12.5px !important;
  }
  .payment-plan-summary-item > span,
  .payment-plan-summary-grid span{
    font-size:10px !important;
  }
}


/* =========================================================
   NARGESMAHD v0.1.83 — Student photo in Admissions
   ========================================================= */
.admission-student-photo-field{
  grid-column:span 2;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.admission-student-photo-label{
  font-size:12px;
  font-weight:700;
  color:#3d564d;
}
.admission-student-photo-box{
  width:180px;
  padding:10px;
  box-sizing:border-box;
  border:1px solid #d7e3de;
  border-radius:14px;
  background:#fbfdfc;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.admission-student-photo-preview{
  width:120px;
  height:145px;
  border:1px dashed #c7d8d1;
  border-radius:12px;
  background:#f4f8f6;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.admission-student-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.student-photo-placeholder{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e9f2ee;
  color:#6b8178;
}
.student-photo-placeholder svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.admission-student-photo-select{
  width:100%;
  min-height:34px;
  border-radius:9px;
  background:#edf6f2;
  color:#2d6952;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:11px;
  font-weight:700;
}
.admission-student-photo-select input{
  display:none;
}
.admission-student-photo-box small{
  font-size:9.5px;
  color:#7a8b84;
  text-align:center;
}
@media(max-width:760px){
  .admission-student-photo-field{grid-column:1;}
}

/* =========================================================
   NARGESMAHD v0.1.141 — logical independent scrollbars
   - Sidebar scrollbar: outer/right edge of the right sidebar
   - Page scrollbar: left edge of the sidebar / content boundary
   ========================================================= */
@media (min-width:801px){
  .shell{
    height:100vh;
    min-height:0;
    overflow:hidden;
  }

  /* LTR only controls the physical scrollbar side. Sidebar content stays RTL. */
  .sidebar{
    direction:ltr;
    overflow-y:auto;
    overflow-x:hidden;
  }
  .sidebar > *{
    direction:rtl;
  }

  /* Make the main page its own scroll container and place its scrollbar
     on the left side, exactly at the content/sidebar boundary. */
  .content{
    height:100vh;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    direction:ltr;
  }
  .content > *{
    direction:rtl;
  }
}


/* NARGESMAHD v0.1.181 — contract page return control */
.page-head .contract-return-btn{
  margin-right:auto!important;
  min-height:38px!important;
  padding:7px 12px!important;
  border:1px solid #cfded8!important;
  border-radius:10px!important;
  background:#ffffff!important;
  color:#214a3d!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-family:inherit!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.2!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  box-shadow:0 1px 3px rgba(28,74,60,.08)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.page-head .contract-return-btn:hover{
  background:#f5faf7!important;
  border-color:#9fc8b8!important;
  color:#146b4b!important;
}
.page-head .contract-return-icon{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  border-radius:50%!important;
  background:#e8f7ef!important;
  color:#138052!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* =========================================================
   NARGESMAHD v0.1.335 — Preschool tuition history table fit
   Keep all headers and normal cell content on one line,
   allow the document column up to two lines, and remove
   horizontal scrolling on this page.
   ========================================================= */
.page:has(.tuition-advanced-card) .table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.page:has(.tuition-advanced-card) .table-wrap > table,
.page:has(.tuition-advanced-card) table.table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.page:has(.tuition-advanced-card) .table th,
.page:has(.tuition-advanced-card) .table td{
  box-sizing:border-box !important;
  padding:9px 6px !important;
  font-size:10.8px !important;
  line-height:1.55 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
.page:has(.tuition-advanced-card) .table th{
  font-size:10.9px !important;
}
/* Document column: the only column allowed to occupy two visual lines. */
.page:has(.tuition-advanced-card) .table th:nth-child(5),
.page:has(.tuition-advanced-card) .table td:nth-child(5){
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.45 !important;
}
.page:has(.tuition-advanced-card) .table td:nth-child(5) > *{
  max-width:100% !important;
}
.page:has(.tuition-advanced-card) .table th:nth-child(1),
.page:has(.tuition-advanced-card) .table td:nth-child(1){width:14% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(2),
.page:has(.tuition-advanced-card) .table td:nth-child(2){width:18% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(3),
.page:has(.tuition-advanced-card) .table td:nth-child(3){width:18% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(4),
.page:has(.tuition-advanced-card) .table td:nth-child(4){width:18% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(5),
.page:has(.tuition-advanced-card) .table td:nth-child(5){width:24% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(6),
.page:has(.tuition-advanced-card) .table td:nth-child(6){width:8% !important;}

/* =========================================================
   NARGESMAHD v0.1.350 — Tuition history table compact exact fit
   - smaller typography
   - headers and ordinary cells remain on one visual line
   - document column may use up to two lines
   - no horizontal scrollbar
   ========================================================= */
.page:has(.tuition-advanced-card) .table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.page:has(.tuition-advanced-card) .table-wrap > table,
.page:has(.tuition-advanced-card) table.table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.page:has(.tuition-advanced-card) .table th,
.page:has(.tuition-advanced-card) .table td{
  box-sizing:border-box !important;
  padding:6px 3px !important;
  font-size:9.35px !important;
  line-height:1.4 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
.page:has(.tuition-advanced-card) .table th{
  font-size:9.45px !important;
  font-weight:800 !important;
}
/* The document cell is the sole exception: keep its content readable in at most two lines. */
.page:has(.tuition-advanced-card) .table th:nth-child(5),
.page:has(.tuition-advanced-card) .table td:nth-child(5){
  white-space:normal !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.35 !important;
}
.page:has(.tuition-advanced-card) .table td:nth-child(5){
  max-height:2.7em !important;
}
.page:has(.tuition-advanced-card) .table td:nth-child(5) > *{
  max-width:100% !important;
}
.page:has(.tuition-advanced-card) .table th:nth-child(1),
.page:has(.tuition-advanced-card) .table td:nth-child(1){width:14% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(2),
.page:has(.tuition-advanced-card) .table td:nth-child(2){width:18% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(3),
.page:has(.tuition-advanced-card) .table td:nth-child(3){width:18% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(4),
.page:has(.tuition-advanced-card) .table td:nth-child(4){width:18% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(5),
.page:has(.tuition-advanced-card) .table td:nth-child(5){width:24% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(6),
.page:has(.tuition-advanced-card) .table td:nth-child(6){width:8% !important;}

/* =========================================================
   NARGESMAHD v0.1.351 — Tuition history exact 8-column widths
   Fixes the real table structure: row/edit/year/status/tuition/
   discount/payable/document. Row and edit stay compact; only
   the document column may wrap to two lines; no H-scroll.
   ========================================================= */
.page:has(.tuition-advanced-card) .table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.page:has(.tuition-advanced-card) .table-wrap > table,
.page:has(.tuition-advanced-card) table.table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.page:has(.tuition-advanced-card) .table th,
.page:has(.tuition-advanced-card) .table td{
  box-sizing:border-box !important;
  padding:6px 3px !important;
  font-size:9.2px !important;
  line-height:1.38 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
.page:has(.tuition-advanced-card) .table th{
  font-size:9.3px !important;
  font-weight:800 !important;
}
/* Actual eight-column layout. */
.page:has(.tuition-advanced-card) .table th:nth-child(1),
.page:has(.tuition-advanced-card) .table td:nth-child(1){width:4% !important;text-align:center !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(2),
.page:has(.tuition-advanced-card) .table td:nth-child(2){width:5% !important;text-align:center !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(3),
.page:has(.tuition-advanced-card) .table td:nth-child(3){width:12% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(4),
.page:has(.tuition-advanced-card) .table td:nth-child(4){width:8% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(5),
.page:has(.tuition-advanced-card) .table td:nth-child(5){width:14% !important;white-space:nowrap !important;overflow:hidden !important;overflow-wrap:normal !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(6),
.page:has(.tuition-advanced-card) .table td:nth-child(6){width:14% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(7),
.page:has(.tuition-advanced-card) .table td:nth-child(7){width:14% !important;}
.page:has(.tuition-advanced-card) .table th:nth-child(8),
.page:has(.tuition-advanced-card) .table td:nth-child(8){
  width:29% !important;
  white-space:normal !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.35 !important;
}
.page:has(.tuition-advanced-card) .table td:nth-child(8){
  max-height:2.7em !important;
}
.page:has(.tuition-advanced-card) .table td:nth-child(8) > *{
  max-width:100% !important;
}
