/* AdaMehr panel - Phase 1 (identity, session, tenant switching).
   Brand tokens are the same ones the landing page uses (apps/web/public/assets/adamehr.css). */

:root{
  --navy:#0d2444; --navy-2:#12365b; --ink:#13243a; --muted:#65758a;
  --teal:#2f9e8c; --mint:#75d7c1; --violet:#7567c7;
  --soft:#f5f8fb; --line:#e5ebf1; --white:#fff; --danger:#e76666; --warn:#d98a35;
  --shadow:0 24px 70px -35px rgba(13,36,68,.38);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--ink); background:var(--soft);
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif; line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--navy);text-decoration:underline}
[hidden]{display:none !important}

/* ---------- shared ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:12px;font-weight:700;font-size:14px;transition:transform .18s,box-shadow .18s,background .18s}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary{background:linear-gradient(135deg,var(--teal),#248a7b);color:#fff;box-shadow:0 13px 28px -16px rgba(47,158,140,.9)}
.btn-primary:hover:not(:disabled){transform:translateY(-2px)}
.btn-ghost{background:#fff;border-color:var(--line);color:#40536a}
.btn-ghost:hover:not(:disabled){border-color:#cfe6df}
.btn-quiet{background:transparent;border-color:transparent;color:var(--muted);min-height:36px;padding:0 10px;font-size:13px}
.btn-danger{background:#fff;border-color:#f3d4d4;color:#c04a4a}
.btn-danger:hover:not(:disabled){background:#fdf4f4}
.btn-block{width:100%}

.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.badge-live{background:#eaf7f3;color:#1f7f6d}
.badge-foundation{background:#e9f1fb;color:#2c5b91}
.badge-schema{background:#fff5e8;color:#a8712c}
.badge-planned{background:#f1f3f6;color:#6b7c90}
.badge-future{background:#f3f0fb;color:#6a58b8}

.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field > span{font-size:12.5px;font-weight:700;color:#4d5f74}
.field input{width:100%;min-height:48px;padding:0 14px;border:1px solid #dce5eb;border-radius:12px;background:#f9fbfc;outline:none;transition:.18s}
.field input:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(47,158,140,.12)}
.field input[dir=ltr]{direction:ltr;text-align:left;letter-spacing:.5px}
.hint{font-size:11.5px;color:#8a99a9}

.alert{display:flex;gap:10px;padding:12px 14px;border-radius:12px;font-size:13px;margin-bottom:16px}
.alert-error{background:#fdf1f1;border:1px solid #f4d6d6;color:#a63f3f}
.alert-info{background:#eef6fb;border:1px solid #d8e8f3;color:#2d5c7d}
.alert-warn{background:#fff8ef;border:1px solid #f2e0c6;color:#8d6224}
.alert code{direction:ltr;font-family:ui-monospace,Menlo,monospace;font-size:11px}

/* ---------- auth screen ---------- */
.auth{min-height:100%;display:grid;place-items:center;padding:28px 18px;
  background:radial-gradient(circle at 18% 12%,rgba(117,103,199,.13),transparent 30%),
             radial-gradient(circle at 82% 78%,rgba(47,158,140,.16),transparent 32%),
             linear-gradient(150deg,#f7fbff,#fff 46%,#f1faf8)}
.auth-card{width:min(430px,100%);padding:30px 28px 26px;background:rgba(255,255,255,.94);border:1px solid rgba(210,224,232,.9);border-radius:26px;box-shadow:0 40px 100px -48px rgba(11,35,66,.5);backdrop-filter:blur(14px)}
.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:22px}
.auth-brand img{width:76px;height:76px;object-fit:contain}
.auth-brand b{font-size:19px;color:var(--navy)}
.auth-brand small{color:var(--muted);font-size:12px}
.auth-card h1{margin:0 0 6px;font-size:19px;font-weight:800;color:var(--navy)}
.auth-card > p{margin:0 0 20px;font-size:13px;color:var(--muted)}
.otp-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;direction:ltr;width:100%;max-width:100%;margin-bottom:14px}
.otp-row input{display:block;width:100%;min-width:0;max-width:100%;min-height:56px;padding:0;text-align:center;font-size:22px;font-weight:800;letter-spacing:0;border:1px solid #dce5eb;border-radius:13px;background:#f9fbfc}
.otp-row input:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(47,158,140,.12)}
.auth-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:var(--muted)}
.auth-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:#93a1b1;text-align:center}
.school-list{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}
.school-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:right;transition:.18s}
.school-option:hover{border-color:#cfe6df;box-shadow:0 12px 30px -24px rgba(13,36,68,.6)}
.school-option b{display:block;font-size:14px;color:var(--navy)}
.school-option small{font-size:11px;color:var(--muted)}
.role-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.role-chips span{padding:2px 8px;border-radius:999px;background:#f1f5f8;color:#5c6e83;font-size:10px;font-weight:700}

/* ---------- app shell ---------- */
.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}
.sidebar{display:flex;flex-direction:column;gap:6px;padding:18px 14px;background:var(--navy);color:#fff}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}
.sidebar-brand img{width:38px;height:38px;padding:4px;background:#fff;border-radius:11px;object-fit:contain}
.sidebar-brand b{font-size:15px}
.sidebar-brand small{display:block;font-size:10px;color:rgba(255,255,255,.55)}
.nav-group{margin:10px 0 4px;padding:0 9px;font-size:10px;font-weight:800;letter-spacing:.5px;color:rgba(255,255,255,.4)}
.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 11px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.76);font-size:13.5px;font-weight:600;text-align:right;transition:.16s}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.active{background:rgba(117,215,193,.16);color:#fff;box-shadow:inset 2px 0 0 var(--mint)}
.nav-item .dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);flex:0 0 auto}
.nav-item.active .dot{background:var(--mint)}
.nav-item.locked{opacity:.5}
.nav-item .lock{margin-right:auto;font-size:9px;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);font-weight:700}
.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;color:rgba(255,255,255,.4)}

.main{display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:12px 26px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.topbar h2{margin:0;font-size:17px;font-weight:800;color:var(--navy)}
.topbar p{margin:0;font-size:11.5px;color:var(--muted)}
.topbar-actions{display:flex;align-items:center;gap:10px}
.school-switch{position:relative}
.school-switch > button{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:700;color:var(--navy)}
.school-switch > button small{display:block;font-size:10px;font-weight:600;color:var(--muted)}
.switch-menu{position:absolute;top:52px;left:0;min-width:250px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:30}
.switch-menu button{display:block;width:100%;padding:10px 11px;border:0;border-radius:10px;background:transparent;text-align:right;font-size:13px}
.switch-menu button:hover{background:var(--soft)}
.switch-menu button.current{background:#eaf7f3;color:#1f7f6d;font-weight:800}
.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#def3ee;color:var(--teal);font-size:14px;font-weight:800}

.content{flex:1;padding:26px;display:flex;flex-direction:column;gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.card > header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.card h3{margin:0 0 3px;font-size:15px;font-weight:800;color:var(--navy)}
.card header p{margin:0;font-size:12px;color:var(--muted)}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat{padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.stat small{display:block;font-size:11px;color:var(--muted)}
.stat b{display:block;margin:2px 0;font-size:23px;font-weight:900;color:var(--navy)}
.stat em{font-style:normal;font-size:11px;color:var(--teal);font-weight:700}
.stat em.bad{color:var(--danger)}
.stat em.warn{color:var(--warn)}

table{width:100%;border-collapse:collapse}
th{padding:9px 11px;background:#f2f6f9;border:1px solid #e3eaf0;font-size:12px;font-weight:800;color:var(--navy);text-align:right;white-space:nowrap}
td{padding:10px 11px;border:1px solid var(--line);font-size:12.5px;vertical-align:middle}
tbody tr:nth-child(even){background:#fafcfd}
td.ltr{direction:ltr;text-align:left;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:#4a5b70}
.row-current{background:#f2faf7 !important}

.module-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.module-row b{display:block;font-size:13px;color:var(--navy)}
.module-row small{font-size:11px;color:var(--muted)}
.module-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}

.empty{padding:34px 20px;text-align:center;border:1px dashed #d8e2ea;border-radius:14px;background:#fbfdfe}
.empty b{display:block;font-size:14px;color:var(--navy);margin-bottom:5px}
.empty p{margin:0 auto;max-width:52ch;font-size:12.5px;color:var(--muted)}

.kv{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:12.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:700;color:var(--ink)}
.kv dd.ltr{direction:ltr;text-align:right;font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:600}

.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 26px;background:#fff8ef;border-bottom:1px solid #f2e0c6;font-size:12px;color:#8d6224}


/* ---------- bilingual ---------- */
.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fff}
.lang-switch button{min-height:30px;padding:0 11px;border:0;border-radius:8px;background:transparent;
  color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.2px;transition:.16s}
.lang-switch button:hover{color:var(--navy)}
.lang-switch button.is-active{background:var(--navy);color:#fff}
.sidebar .lang-switch{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
.sidebar .lang-switch button{color:rgba(255,255,255,.62)}
.sidebar .lang-switch button:hover{color:#fff}
.sidebar .lang-switch button.is-active{background:var(--mint);color:#0d2444}
.auth-lang{display:flex;justify-content:center;margin-bottom:18px}

/* Latin copy needs a Latin face and left alignment; RTL-specific offsets flip back. */
html[data-lang=en] body{font-family:"Vazirmatn",-apple-system,"Segoe UI",Arial,sans-serif}
html[data-lang=en] .field input[dir=ltr]{text-align:left}
html[data-lang=en] td.ltr,html[data-lang=en] .kv dd.ltr{text-align:left}
html[data-lang=en] .nav-item{text-align:left}
html[data-lang=en] .nav-item.active{box-shadow:inset -2px 0 0 var(--mint)}
html[data-lang=en] .switch-menu{left:auto;right:0}
html[data-lang=en] .switch-menu button,html[data-lang=en] .school-option{text-align:left}
html[data-lang=en] .reg-steps,html[data-lang=en] .reg-success .kv{text-align:left}


/* ---------- Phase 2 controls ---------- */
.chip-row{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:32px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;
  color:var(--muted);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.16s}
.chip:hover{border-color:var(--teal);color:var(--navy)}
.chip.is-active{background:var(--navy);border-color:var(--navy);color:#fff}

.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;
  padding:15px 16px;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:#fafcfd}
.inline-form .field{margin:0}
.inline-form button{align-self:end;min-height:42px}

.row-actions{display:flex;gap:6px;justify-content:flex-end}


/* ---------- Phase 3: people and timetable ---------- */
.search-row{display:flex;gap:8px;margin-bottom:14px}
.search-row input{flex:1;min-height:42px;padding:0 14px;border:1px solid #dce5eb;border-radius:12px;
  background:#f9fbfc;font-family:inherit;font-size:13.5px;outline:none;transition:.18s}
.search-row input:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(47,158,140,.12)}

.inline-form select{min-height:42px;padding:0 12px;border:1px solid #dce5eb;border-radius:12px;
  background:#f9fbfc;font-family:inherit;font-size:13.5px;color:var(--ink);outline:none}
.inline-form select:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(47,158,140,.12)}

.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.week-day{display:flex;flex-direction:column;gap:6px;min-width:0}
.week-day > b{padding:7px 0;text-align:center;font-size:12px;font-weight:800;color:var(--navy);
  background:#eef4f8;border-radius:9px}
.week-empty{padding:14px 0;text-align:center;font-size:12px;color:#b6c2ce}

.slot{position:relative;padding:9px 10px;border:1px solid #d9eee8;border-radius:11px;background:#f5fbf9}
.slot time{display:block;font-size:11px;font-weight:800;color:var(--teal);direction:ltr}
.slot span{display:block;margin:2px 0 1px;font-size:12px;font-weight:700;color:var(--navy);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot small{display:block;font-size:10px;color:var(--muted)}
.slot-x{position:absolute;top:5px;inset-inline-end:5px;width:19px;height:19px;padding:0;border:0;border-radius:6px;
  background:transparent;color:#b6c2ce;font-size:14px;line-height:1;cursor:pointer;transition:.16s}
.slot-x:hover{background:#fdeeee;color:var(--danger)}

.conflict-list{margin:7px 0 0;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px}
.conflict-list li{font-size:12.5px;line-height:1.7}

@media (max-width:1100px){
  .week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:640px){
  .week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ---------- Phase 4: attendance register ---------- */
.mark-status,.mark-minutes{min-height:34px;padding:0 10px;border:1px solid #dce5eb;border-radius:9px;
  background:#f9fbfc;font-family:inherit;font-size:12.5px;color:var(--ink);outline:none;transition:.16s}
.mark-status:focus,.mark-minutes:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px rgba(47,158,140,.12)}
.mark-minutes{text-align:center}

@media (max-width:1000px){
  .shell{grid-template-columns:1fr}
  .sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:12px}
  .sidebar-brand{width:100%;padding-bottom:10px;margin-bottom:4px}
  .nav-group{display:none}
  .nav-item{width:auto}
  .sidebar-foot{display:none}
  .grid-4,.grid-3,.grid-2,.module-list{grid-template-columns:1fr 1fr}
  .content{padding:16px}
  .topbar{padding:12px 16px;flex-wrap:wrap}
}
@media (max-width:620px){
  .grid-4,.grid-3,.grid-2,.module-list{grid-template-columns:1fr}
  .otp-row{gap:6px}
  .otp-row input{min-height:48px;font-size:19px}
}
/* AdaMehr Webinar bridge */
.webinar-create{border-top:3px solid var(--teal)}
.webinar-list{display:grid;gap:12px}
.webinar-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e4ecef;border-radius:16px;background:#fff}
.webinar-main{min-width:0;flex:1}.webinar-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.webinar-title h4{margin:0;font-size:17px}
.webinar-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:13px}.webinar-main p{margin:10px 0 0;line-height:1.8;color:#46545c}
.webinar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.danger-text{display:block;color:#a03535;margin-top:8px}
@media(max-width:720px){.webinar-item{align-items:stretch;flex-direction:column}.webinar-actions .btn{flex:1}.webinar-actions{width:100%}}

/* ADAMEHR_PLATFORM_REQUEST_DETAILS_0022 */
.platform-request-list{display:grid;gap:16px}
.platform-request-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 14px 35px -30px rgba(16,47,82,.45)}
.platform-request-head{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.platform-request-logo{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--soft);color:var(--teal);font-weight:900}
.platform-request-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.platform-request-title{min-width:0;flex:1}
.platform-request-title h4{margin:0 0 5px;color:var(--navy);font-size:17px;overflow-wrap:anywhere}
.platform-request-title>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.platform-request-title code{direction:ltr;padding:3px 8px;border-radius:7px;background:#edf7f4;color:#257c6d;font-size:12px;font-weight:800}
.platform-request-title small{color:var(--muted);font-size:11px}
.platform-request-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.platform-request-details>div{min-width:0;padding:10px 12px;border:1px solid #e7edf3;border-radius:11px;background:#fbfcfd}
.platform-request-details span{display:block;margin-bottom:3px;color:var(--muted);font-size:10.5px;font-weight:700}
.platform-request-details b{display:block;color:var(--ink);font-size:13px;font-weight:700;overflow-wrap:anywhere;white-space:normal}
.platform-request-details .platform-request-wide{grid-column:1/-1}
.platform-request-empty{color:#9aa8b7;font-weight:500}
.platform-request-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:900px){.platform-request-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.platform-request-card{padding:14px}.platform-request-head{align-items:flex-start}.platform-request-logo{width:52px;height:52px;flex-basis:52px}.platform-request-details{grid-template-columns:1fr}.platform-request-details .platform-request-wide{grid-column:auto}.platform-request-actions{display:grid;grid-template-columns:1fr}.platform-request-actions .btn{width:100%}}
/* /ADAMEHR_PLATFORM_REQUEST_DETAILS_0022 */

/*
 * ADAMEHR_SCHOOL_DETAILS_SMS_0025
 * Slightly larger panel typography and responsive school detail panel.
 */
body {
  font-size: 14px;
}

.card > header h3 {
  font-size: 17px;
}

.card > header p,
table,
.platform-request-details,
.school-details-panel {
  font-size: 13px;
}

.btn {
  font-size: 13px;
}

.school-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.school-select-row {
  cursor: pointer;
  transition:
    background-color .16s ease,
    box-shadow .16s ease;
}

.school-select-row:hover {
  background: #f2faf8;
}

.school-select-row.is-active {
  background: #e8f8f4;
  box-shadow: inset 3px 0 0 #2a9d8f;
}

.school-details-panel {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fbfefd;
}

.school-details-empty {
  padding: 18px;
  text-align: center;
  color: var(--muted);
  font-weight: 700;
}

.school-details-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 15px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.school-details-head h4 {
  margin: 0 0 5px;
  font-size: 18px;
  color: var(--navy);
}

.school-details-head p {
  margin: 0;
  color: var(--muted);
}

.school-details-logo {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  font-weight: 800;
  color: var(--navy);
}

.school-details-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.school-details-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.school-details-grid > div {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.school-details-grid span {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  color: var(--muted);
}

.school-details-grid b {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.8;
  color: var(--navy);
}

.school-details-grid .school-details-wide {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .school-details-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body {
    font-size: 13.5px;
  }

  .school-details-panel {
    padding: 13px;
  }

  .school-details-grid {
    grid-template-columns: 1fr;
  }

  .school-details-grid .school-details-wide {
    grid-column: auto;
  }

  .school-details-head {
    align-items: flex-start;
  }
}
/* /ADAMEHR_SCHOOL_DETAILS_SMS_0025 */

/*
 * ADAMEHR_SCHOOL_MANAGEMENT_DASHBOARD_STYLE_0032
 */
.school-dashboard {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.dashboard-welcome {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 150px;
  padding: 25px 28px;
  border: 1px solid rgba(40, 155, 138, 0.18);
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 10% 20%,
      rgba(77, 194, 178, 0.18),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      #ffffff,
      #f3fbf9
    );
  box-shadow:
    0 22px 55px -42px
    rgba(13, 36, 68, 0.7);
}

.dashboard-welcome::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  inset-inline-end: -80px;
  bottom: -130px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(103, 78, 197, 0.14),
      transparent 68%
    );
  pointer-events: none;
}

.dashboard-welcome-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.dashboard-school-logo {
  width: 84px;
  height: 84px;
  flex: 0 0 84px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(13, 36, 68, 0.09);
  border-radius: 22px;
  background: #fff;
  box-shadow:
    0 15px 35px -25px
    rgba(13, 36, 68, 0.75);
}

.dashboard-school-logo img {
  width: 100%;
  height: 100%;
  padding: 7px;
  object-fit: contain;
}

.dashboard-school-logo-fallback {
  color: var(--teal);
  font-size: 30px;
  font-weight: 900;
}

.dashboard-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-welcome h3 {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 900;
}

.dashboard-welcome p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}

.dashboard-system-state {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 2px 8px;
  min-width: 165px;
  padding: 13px 16px;
  border: 1px solid rgba(40, 155, 138, 0.16);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
}

.dashboard-system-state > span:not(
  .dashboard-live-dot
) {
  color: var(--muted);
  font-size: 11px;
}

.dashboard-system-state b {
  grid-column: 2;
  color: #227a6b;
  font-size: 14px;
}

.dashboard-live-dot {
  grid-row: 1 / 3;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2eaa91;
  box-shadow:
    0 0 0 6px
    rgba(46, 170, 145, 0.12);
}

.dashboard-summary-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 13px;
}

.school-portals-hub {
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.school-portals-hub header h3 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 900;
  color: var(--navy);
}

.school-portals-hub header p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
}

.school-portals-list {
  display: grid;
  gap: 10px;
}

.school-portals-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbfa;
}

.school-portals-row code {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #1f7f6d;
  direction: ltr;
}

.school-portals-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kpi-honor-extra {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.kpi-honor-section h3 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 900;
}

.kpi-honor-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.kpi-honor-card {
  padding: 14px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20, 46, 62, .07);
}

.kpi-honor-bars {
  display: grid;
  gap: 8px;
}

.kpi-honor-bar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(80px, 2fr) auto;
  gap: 8px;
  align-items: center;
}

.kpi-honor-bar-row b {
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2cb1a3, #75d7c1);
}

.kpi-honor-empty {
  margin: 0;
  color: var(--muted);
}

@media (max-width: 800px) {
  .school-portals-row {
    align-items: stretch;
  }

  .kpi-honor-bar-row {
    grid-template-columns: 1fr;
  }
}

.dashboard-metric {
  position: relative;
  min-width: 0;
  min-height: 145px;
  padding: 18px 18px 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  text-align: start;
  font-family: inherit;
  cursor: pointer;
  box-shadow:
    0 18px 40px -38px
    rgba(13, 36, 68, 0.8);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.dashboard-metric:hover {
  transform: translateY(-3px);
  border-color: rgba(47, 158, 140, 0.35);
  box-shadow:
    0 24px 50px -38px
    rgba(13, 36, 68, 0.9);
}

.dashboard-metric small {
  display: block;
  margin-top: 28px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.dashboard-metric b {
  display: block;
  margin: 5px 0 7px;
  color: var(--navy);
  font-size: 26px;
  font-weight: 900;
}

.dashboard-metric em {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  line-height: 1.7;
}

.dashboard-metric-icon {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background:
    linear-gradient(
      135deg,
      rgba(47, 158, 140, 0.18),
      rgba(47, 158, 140, 0.07)
    );
}

.dashboard-metric-icon::before,
.dashboard-metric-icon::after {
  content: "";
  position: absolute;
  background: var(--teal);
  opacity: 0.8;
}

.dashboard-metric-icon.students::before {
  width: 10px;
  height: 10px;
  top: 6px;
  left: 11px;
  border-radius: 50%;
}

.dashboard-metric-icon.students::after {
  width: 18px;
  height: 8px;
  bottom: 6px;
  left: 7px;
  border-radius: 10px 10px 5px 5px;
}

.dashboard-metric-icon.staff::before {
  width: 9px;
  height: 9px;
  top: 7px;
  left: 6px;
  border-radius: 50%;
  box-shadow: 11px 0 0 var(--teal);
}

.dashboard-metric-icon.staff::after {
  width: 22px;
  height: 7px;
  bottom: 6px;
  left: 5px;
  border-radius: 8px 8px 4px 4px;
}

.dashboard-metric-icon.classes::before {
  width: 18px;
  height: 15px;
  top: 7px;
  left: 7px;
  border: 2px solid var(--teal);
  border-radius: 3px;
  background: transparent;
}

.dashboard-metric-icon.classes::after {
  width: 12px;
  height: 2px;
  top: 13px;
  left: 10px;
}

.dashboard-metric-icon.attendance::before {
  width: 17px;
  height: 17px;
  top: 7px;
  left: 7px;
  border: 2px solid var(--teal);
  border-radius: 50%;
  background: transparent;
}

.dashboard-metric-icon.attendance::after {
  width: 8px;
  height: 4px;
  top: 14px;
  left: 12px;
  border-inline-start: 2px solid var(--teal);
  border-bottom: 2px solid var(--teal);
  background: transparent;
  transform: rotate(-45deg);
}

.dashboard-actions-card {
  border-top: 3px solid var(--teal);
}

.dashboard-actions {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.dashboard-action {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 78px;
  padding: 13px 14px;
  border: 1px solid #e2eaf0;
  border-radius: 15px;
  background: #fbfdfe;
  text-align: start;
  font-family: inherit;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.dashboard-action:hover {
  transform: translateY(-2px);
  border-color: #bfe1d9;
  background: #f3faf8;
}

.dashboard-action-icon {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--teal);
  background: #eaf7f3;
  font-size: 19px;
  font-weight: 900;
}

.dashboard-action b,
.dashboard-action small {
  display: block;
}

.dashboard-action b {
  margin-bottom: 3px;
  color: var(--navy);
  font-size: 13px;
}

.dashboard-action small {
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.6;
}

.dashboard-setup-card {
  border-color: #d8e9e4;
  background:
    linear-gradient(
      150deg,
      #fff,
      #f8fcfb
    );
}

.dashboard-setup-card > header {
  align-items: center;
}

.dashboard-progress-value {
  color: var(--teal);
  font-size: 23px;
  font-weight: 900;
}

.dashboard-progress {
  height: 9px;
  overflow: hidden;
  margin-bottom: 17px;
  border-radius: 999px;
  background: #e9eff2;
}

.dashboard-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      #2f9e8c,
      #54c1ad
    );
  transition: width 500ms ease;
}

.dashboard-steps {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.dashboard-step {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 47px;
  padding: 8px 10px;
  border: 1px solid #e2e9ee;
  border-radius: 12px;
  background: #fff;
  color: #516176;
  text-align: start;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.dashboard-step.is-complete {
  border-color: #cce8e0;
  color: #267c6d;
  background: #f2faf8;
}

.dashboard-step-check {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal);
  background: #eaf7f3;
  font-size: 12px;
  font-weight: 900;
}

.dashboard-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(300px, 0.65fr);
  gap: 20px;
}

.dashboard-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.dashboard-schedule-table td b,
.dashboard-schedule-table td small {
  display: block;
}

.dashboard-schedule-table td small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10.5px;
}

.dashboard-status {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 9px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 800;
}

.dashboard-status-live,
.dashboard-status-success {
  color: #247766;
  background: #e9f7f3;
}

.dashboard-status-info {
  color: #2e679d;
  background: #eaf2fb;
}

.dashboard-status-danger {
  color: #b64a4a;
  background: #fdeeee;
}

.dashboard-status-neutral {
  color: #637288;
  background: #f0f2f5;
}

.dashboard-alert-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.dashboard-alert {
  display: grid;
  grid-template-columns:
    auto 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 67px;
  padding: 10px 11px;
  border: 1px solid #e5eaee;
  border-radius: 13px;
  background: #fff;
  text-align: start;
  font-family: inherit;
  cursor: pointer;
}

.dashboard-alert:hover {
  background: #fbfcfd;
}

.dashboard-alert-mark {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8b98a8;
}

.dashboard-alert-urgent
.dashboard-alert-mark {
  background: #d75a5a;
  box-shadow:
    0 0 0 5px
    rgba(215, 90, 90, 0.1);
}

.dashboard-alert-important
.dashboard-alert-mark {
  background: #d89a3b;
  box-shadow:
    0 0 0 5px
    rgba(216, 154, 59, 0.1);
}

.dashboard-alert-normal
.dashboard-alert-mark {
  background: #418ac0;
}

.dashboard-alert b,
.dashboard-alert small {
  display: block;
}

.dashboard-alert b {
  margin-bottom: 3px;
  color: var(--navy);
  font-size: 11.5px;
}

.dashboard-alert small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.dashboard-alert i {
  color: #92a0af;
  font-style: normal;
}

.dashboard-count-badge {
  min-width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #a45b37;
  background: #fff0e8;
  font-size: 11px;
  font-weight: 900;
}

.dashboard-all-good {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 90px;
  padding: 15px;
  border: 1px solid #d3ebe4;
  border-radius: 14px;
  background: #f4fbf9;
}

.dashboard-all-good > span {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #277c6d;
  background: #dff3ed;
  font-size: 19px;
  font-weight: 900;
}

.dashboard-all-good b {
  display: block;
  color: var(--navy);
}

.dashboard-all-good p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.dashboard-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dashboard-list-item {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 61px;
  padding: 9px 10px;
  border: 1px solid #e6ebef;
  border-radius: 13px;
  background: #fff;
  text-align: start;
  font-family: inherit;
}

button.dashboard-list-item {
  cursor: pointer;
}

button.dashboard-list-item:hover {
  background: #f8fbfa;
}

.dashboard-list-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--teal);
  background: #eaf7f3;
  font-size: 12px;
  font-weight: 900;
}

.dashboard-list-main {
  min-width: 0;
  flex: 1;
}

.dashboard-list-main b,
.dashboard-list-main small {
  display: block;
}

.dashboard-list-main b {
  overflow: hidden;
  color: var(--navy);
  font-size: 11.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-list-main small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.dashboard-unread-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #3e9f8e;
}

.dashboard-activity-card {
  min-height: 170px;
}

.dashboard-activity-list {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 9px 20px;
}

.dashboard-activity {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 55px;
  padding: 9px 10px;
  border-bottom: 1px solid #edf1f3;
}

.dashboard-activity-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--teal);
  box-shadow:
    0 0 0 5px
    rgba(47, 158, 140, 0.09);
}

.dashboard-activity b,
.dashboard-activity small {
  display: block;
}

.dashboard-activity b {
  color: var(--navy);
  font-size: 11.5px;
}

.dashboard-activity small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.dashboard-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  padding: 20px;
  border: 1px dashed #d7e1e7;
  border-radius: 14px;
  background: #fbfdfe;
  text-align: center;
}

.dashboard-empty-icon {
  width: 41px;
  height: 41px;
  display: grid;
  place-items: center;
  margin-bottom: 9px;
  border-radius: 13px;
  color: var(--teal);
  background: #eaf7f3;
  font-size: 18px;
  font-weight: 900;
}

.dashboard-empty b {
  color: var(--navy);
  font-size: 12.5px;
}

.dashboard-empty p {
  max-width: 48ch;
  margin: 5px 0 13px;
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.8;
}

.dashboard-error-card {
  max-width: 720px;
  width: 100%;
  margin: 40px auto;
}

.dashboard-support {
  margin-top: 14px;
  color: var(--muted);
  font-size: 10px;
}

.dashboard-support summary {
  cursor: pointer;
}

.dashboard-support code {
  display: block;
  margin-top: 8px;
  direction: ltr;
}

.dashboard-skeleton-card {
  position: relative;
  overflow: hidden;
}

.dashboard-skeleton-card::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.75),
      transparent
    );
  animation:
    dashboardSkeleton 1.4s infinite;
}

.dashboard-skeleton-line {
  display: block;
  width: 66%;
  height: 11px;
  margin: 10px 0;
  border-radius: 999px;
  background: #e9eef1;
}

.dashboard-skeleton-line.wide {
  width: 84%;
}

.dashboard-skeleton-line.medium {
  width: 52%;
}

.dashboard-skeleton-line.short {
  width: 32%;
  height: 23px;
}

@keyframes dashboardSkeleton {
  to {
    transform: translateX(100%);
  }
}

@media (max-width: 1150px) {
  .dashboard-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .dashboard-actions {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .dashboard-steps {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .dashboard-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .dashboard-welcome {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
  }

  .dashboard-school-logo {
    width: 68px;
    height: 68px;
    flex-basis: 68px;
    border-radius: 18px;
  }

  .dashboard-system-state {
    width: 100%;
  }

  .dashboard-summary-grid,
  .dashboard-actions,
  .dashboard-steps,
  .dashboard-activity-list {
    grid-template-columns: 1fr;
  }

  .dashboard-metric {
    min-height: 125px;
  }

  .dashboard-welcome h3 {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-skeleton-card::after {
    animation: none;
  }

  .dashboard-metric,
  .dashboard-action,
  .dashboard-progress span {
    transition: none;
  }
}
/* /ADAMEHR_SCHOOL_MANAGEMENT_DASHBOARD_STYLE_0032 */

/*
 * ADAMEHR_STRUCTURE_CONSOLE_STYLE_0035
 */

.structure-console {
  display: grid;
  gap: 13px;
  min-height: calc(100vh - 112px);
  padding-bottom: 12px;
}

.structure-console-head {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 19px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .98),
      rgba(239, 249, 248, .92)
    );
  box-shadow:
    0 18px 42px -38px
    rgba(14, 46, 73, .9);
}

.structure-console-title {
  display: flex;
  gap: 15px;
  align-items: center;
  min-width: 0;
}

.structure-console-icon {
  display: grid;
  place-items: center;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background:
    linear-gradient(
      145deg,
      rgba(31, 154, 136, .18),
      rgba(39, 102, 172, .1)
    );
  color: var(--navy);
  font-size: 27px;
  font-weight: 900;
}

.structure-console-title h3 {
  margin: 0;
  color: var(--navy);
  font-size: 24px;
}

.structure-console-title p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.structure-console-tools {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.structure-jalali-today {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 235px;
  padding: 11px 14px;
  border: 1px solid rgba(48, 116, 186, .18);
  border-radius: 15px;
  background: rgba(244, 249, 255, .9);
}

.structure-jalali-today > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: rgba(48, 116, 186, .12);
  color: #2769aa;
  font-weight: 900;
}

.structure-jalali-today div {
  display: grid;
  gap: 3px;
}

.structure-jalali-today small {
  color: var(--muted);
  font-size: 10px;
}

.structure-jalali-today b {
  color: var(--navy);
  font-size: 12px;
  white-space: nowrap;
}

.structure-console-progress {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 270px;
  padding: 10px 14px;
  border: 1px solid rgba(31, 154, 136, .2);
  border-radius: 15px;
  background: rgba(240, 251, 248, .92);
}

.structure-progress-ring {
  --progress: 0;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at center,
      #fff 57%,
      transparent 58%
    ),
    conic-gradient(
      #26a78f
      calc(var(--progress) * 1%),
      #dcebe8 0
    );
}

.structure-progress-ring strong {
  color: var(--navy);
  font-size: 14px;
}

.structure-console-progress > div:last-child {
  display: grid;
  gap: 3px;
}

.structure-console-progress small,
.structure-console-progress span {
  color: var(--muted);
  font-size: 9.5px;
}

.structure-console-progress b {
  color: var(--navy);
  font-size: 11px;
}

.structure-kpi-row {
  display: grid;
  grid-template-columns:
    repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.structure-kpi-card {
  display: flex;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--card);
  box-shadow:
    0 15px 32px -32px
    rgba(13, 36, 68, .9);
}

.structure-kpi-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  font-size: 18px;
  font-weight: 900;
}

.structure-kpi-card > div {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.structure-kpi-card small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.structure-kpi-card strong {
  color: var(--navy);
  font-size: 20px;
  line-height: 1;
}

.structure-kpi-card em {
  color: #158b77;
  font-size: 9px;
  font-style: normal;
}

.accent-green .structure-kpi-icon,
.accent-green .structure-card-icon,
.accent-green.structure-quick-action span {
  background: rgba(27, 163, 112, .13);
  color: #159069;
}

.accent-blue .structure-kpi-icon,
.accent-blue .structure-card-icon,
.accent-blue.structure-quick-action span {
  background: rgba(49, 126, 213, .13);
  color: #2777cb;
}

.accent-purple .structure-kpi-icon,
.accent-purple .structure-card-icon,
.accent-purple.structure-quick-action span {
  background: rgba(132, 87, 216, .13);
  color: #7950cd;
}

.accent-orange .structure-kpi-icon,
.accent-orange .structure-card-icon,
.accent-orange.structure-quick-action span {
  background: rgba(239, 142, 45, .15);
  color: #dc7c1b;
}

.accent-teal .structure-kpi-icon,
.accent-teal .structure-card-icon,
.accent-teal.structure-quick-action span {
  background: rgba(29, 160, 139, .13);
  color: #168d79;
}

.accent-pink .structure-kpi-icon,
.accent-pink .structure-card-icon,
.accent-pink.structure-quick-action span {
  background: rgba(222, 71, 123, .13);
  color: #d73d74;
}

.accent-indigo .structure-kpi-icon,
.accent-indigo .structure-card-icon,
.accent-indigo.structure-quick-action span {
  background: rgba(62, 100, 208, .13);
  color: #355fc6;
}

.structure-flow-panel {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
  box-shadow:
    0 18px 42px -40px
    rgba(13, 36, 68, .9);
}

.structure-flow-panel > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 11px;
}

.structure-flow-panel h3 {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
}

.structure-flow-panel p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 9.5px;
}

.structure-flow-symbol {
  color: #2f91b5;
  font-size: 25px;
}

.structure-flow-grid {
  display: grid;
  grid-template-columns:
    repeat(7, minmax(0, 1fr));
  gap: 9px;
}

.structure-flow-card {
  position: relative;
  display: grid;
  grid-template-rows:
    auto auto auto auto auto auto auto;
  gap: 6px;
  min-width: 0;
  min-height: 224px;
  padding: 12px 11px 10px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, .99),
      rgba(249, 251, 253, .96)
    );
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.structure-flow-card:hover {
  z-index: 3;
  transform: translateY(-3px);
  border-color: rgba(31, 154, 136, .32);
  box-shadow:
    0 18px 34px -26px
    rgba(13, 36, 68, .7);
}

.structure-flow-card-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.structure-step-badge,
.structure-card-icon {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 900;
}

.structure-step-badge {
  background: var(--navy);
  color: #fff;
}

.structure-flow-card h4 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
}

.structure-flow-card p {
  min-height: 28px;
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.6;
}

.structure-card-value {
  display: flex;
  gap: 6px;
  align-items: baseline;
  padding: 7px 8px;
  border-radius: 10px;
  background: var(--soft);
}

.structure-card-value strong {
  color: var(--navy);
  font-size: 17px;
}

.structure-card-value span {
  color: var(--muted);
  font-size: 8.5px;
}

.structure-card-summary {
  min-height: 29px;
  overflow: hidden;
  color: var(--navy);
  font-size: 8.5px;
  line-height: 1.7;
}

.structure-card-status {
  display: flex;
  gap: 5px;
  align-items: center;
  color: #178b78;
  font-size: 8.5px;
}

.structure-card-status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.structure-flow-card.is-pending
.structure-card-status {
  color: #d5851f;
}

.structure-card-actions {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin-top: auto;
}

.structure-card-actions .btn {
  min-height: 29px;
  padding: 5px 6px;
  font-size: 8.5px;
}

.structure-add-button {
  border: 1px solid rgba(31, 154, 136, .22);
  background: rgba(31, 154, 136, .1);
  color: #148b77;
}

.structure-flow-arrow {
  position: absolute;
  z-index: 4;
  inset-inline-start: -8px;
  top: 47%;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--card);
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

.structure-bottom-grid {
  display: grid;
  grid-template-columns:
    1.08fr .82fr 1.1fr;
  gap: 10px;
}

.structure-summary-panel {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
}

.structure-summary-panel h3 {
  margin: 0 0 9px;
  color: var(--navy);
  font-size: 12px;
}

.structure-completion-row {
  display: grid;
  grid-template-columns:
    110px minmax(70px, 1fr) 82px;
  gap: 8px;
  align-items: center;
  min-height: 22px;
  font-size: 8.5px;
}

.structure-completion-row span {
  color: var(--navy);
}

.structure-completion-row b {
  font-size: 8px;
  font-weight: 700;
}

.structure-completion-row b.is-complete {
  color: #168a76;
}

.structure-completion-row b.is-pending {
  color: #d5841d;
}

.structure-completion-line {
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8efee;
}

.structure-completion-line i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.structure-completion-line i.is-complete {
  width: 100%;
  background: #27a78f;
}

.structure-completion-line i.is-pending {
  width: 32%;
  background: #e7a13d;
}

.structure-info-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  min-height: 25px;
  padding: 0 2px;
  border-bottom: 1px solid var(--line);
}

.structure-info-row:last-child {
  border-bottom: 0;
}

.structure-info-row span {
  color: var(--muted);
  font-size: 9px;
}

.structure-info-row strong {
  color: var(--navy);
  font-size: 12px;
}

.structure-quick-actions {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.structure-quick-action {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 37px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--soft);
  color: var(--navy);
  cursor: pointer;
}

.structure-quick-action span {
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border-radius: 8px;
}

.structure-quick-action b {
  overflow: hidden;
  font-size: 8.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.structure-modal[hidden] {
  display: none;
}

.structure-modal {
  position: fixed;
  z-index: 2200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(8, 26, 49, .48);
  opacity: 0;
  backdrop-filter: blur(7px);
  transition: opacity .17s ease;
}

.structure-modal.is-open {
  opacity: 1;
}

.structure-modal-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1040px, 94vw);
  max-height: 88vh;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 21px;
  background: var(--card);
  box-shadow:
    0 30px 80px
    rgba(4, 20, 39, .28);
  transform: translateY(12px) scale(.985);
  transition: transform .17s ease;
}

.structure-modal.is-open
.structure-modal-dialog {
  transform: translateY(0) scale(1);
}

.structure-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(
      135deg,
      rgba(239, 249, 248, .94),
      rgba(247, 250, 255, .95)
    );
}

.structure-modal-header small {
  color: var(--muted);
  font-size: 9px;
}

.structure-modal-header h3 {
  margin: 3px 0 0;
  color: var(--navy);
  font-size: 18px;
}

.structure-modal-close {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
  color: var(--navy);
  font-size: 23px;
  cursor: pointer;
}

.structure-modal-body {
  overflow: auto;
  padding: 17px 18px 20px;
}

.structure-modal-loading {
  display: grid;
  place-items: center;
  min-height: 240px;
  color: var(--muted);
}

.structure-list-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 13px;
}

.structure-list-toolbar > div {
  display: flex;
  gap: 6px;
  align-items: baseline;
}

.structure-list-toolbar strong {
  color: var(--navy);
  font-size: 19px;
}

.structure-list-toolbar span {
  color: var(--muted);
  font-size: 10px;
}

.structure-dependency-warning {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 15px;
  padding: 13px 15px;
  border: 1px solid rgba(210, 143, 37, .28);
  border-radius: 13px;
  background: rgba(255, 187, 71, .11);
}

.structure-dependency-warning b {
  color: #9a6416;
}

.structure-dependency-warning span {
  color: var(--muted);
  font-size: 11px;
}

.structure-entity-form {
  padding: 17px;
  border: 1px solid rgba(31, 154, 136, .23);
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(31, 154, 136, .06),
      transparent
    );
}

.structure-form-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 15px;
}

.structure-form-heading > div {
  display: grid;
  gap: 3px;
}

.structure-form-heading b {
  color: var(--navy);
  font-size: 14px;
}

.structure-form-heading small {
  color: var(--muted);
  font-size: 9.5px;
}

.structure-form-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.structure-form-grid input,
.structure-form-grid select,
.structure-form-grid textarea {
  width: 100%;
}

.required-mark {
  color: #c74c4c;
  font-style: normal;
}

.structure-check {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 44px;
}

.structure-check input {
  width: auto;
}

.structure-form-actions {
  display: flex;
  gap: 9px;
  margin-top: 16px;
}

.structure-table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.structure-table {
  min-width: 780px;
  margin: 0;
}

.structure-table tbody tr:hover {
  background: rgba(31, 154, 136, .045);
}

.jalali-date-field {
  position: relative;
  display: flex;
  gap: 7px;
}

.jalali-date-visible {
  flex: 1;
  text-align: center;
  cursor: pointer;
}

.jalali-date-button {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  border: 1px solid rgba(48, 116, 186, .22);
  border-radius: 11px;
  background: rgba(48, 116, 186, .1);
  color: #286cad;
  cursor: pointer;
}

.jalali-calendar-popover {
  position: fixed;
  z-index: 2400;
  width: 290px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
  box-shadow:
    0 24px 60px
    rgba(5, 26, 47, .24);
}

.jalali-calendar-head {
  display: grid;
  grid-template-columns:
    34px minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.jalali-calendar-head strong {
  color: var(--navy);
  text-align: center;
  font-size: 13px;
}

.jalali-calendar-head button {
  display: grid;
  place-items: center;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--soft);
  color: var(--navy);
  cursor: pointer;
}

.jalali-calendar-week,
.jalali-calendar-days {
  display: grid;
  grid-template-columns:
    repeat(7, 1fr);
  gap: 5px;
}

.jalali-calendar-week {
  margin-bottom: 5px;
}

.jalali-calendar-week span {
  color: var(--muted);
  text-align: center;
  font-size: 9px;
}

.jalali-calendar-days button,
.jalali-calendar-empty {
  height: 31px;
}

.jalali-calendar-days button {
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
}

.jalali-calendar-days button:hover {
  background: rgba(31, 154, 136, .12);
  color: #137d6b;
}

.jalali-calendar-today {
  width: 100%;
  margin-top: 9px;
  padding: 8px;
  border: 1px solid rgba(31, 154, 136, .22);
  border-radius: 10px;
  background: rgba(31, 154, 136, .09);
  color: #168674;
  cursor: pointer;
}

@media (max-width: 1250px) {
  .structure-flow-grid {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }

  .structure-flow-arrow {
    display: none;
  }

  .structure-kpi-row {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .structure-console-head,
  .structure-console-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .structure-jalali-today,
  .structure-console-progress {
    min-width: 0;
  }

  .structure-flow-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .structure-bottom-grid {
    grid-template-columns: 1fr;
  }

  .structure-form-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .structure-kpi-row,
  .structure-flow-grid,
  .structure-form-grid {
    grid-template-columns: 1fr;
  }

  .structure-modal {
    padding: 8px;
  }

  .structure-modal-dialog {
    width: 100%;
    max-height: 95vh;
  }
}

@media (min-width: 1260px) and (max-height: 860px) {
  .structure-console {
    gap: 9px;
  }

  .structure-console-head {
    padding-block: 12px;
  }

  .structure-kpi-card {
    padding-block: 9px;
  }

  .structure-flow-card {
    min-height: 202px;
    padding-block: 9px;
  }

  .structure-flow-panel {
    padding-block: 10px;
  }

  .structure-summary-panel {
    padding-block: 10px;
  }
}

/* /ADAMEHR_STRUCTURE_CONSOLE_STYLE_0035 */

/*
 * ADAMEHR_STRUCTURE_MODAL_UX_STYLE_0036
 */

.structure-form-error {
  display: flex;
  gap: 11px;
  align-items: center;
  margin-bottom: 14px;
  padding: 11px 13px;
  border: 1px solid rgba(194, 67, 67, .28);
  border-radius: 12px;
  background: rgba(205, 74, 74, .08);
  color: #a73535;
  animation:
    structure-error-enter
    .2s ease both;
}

.structure-form-error[hidden] {
  display: none;
}

.structure-form-error > span {
  display: grid;
  place-items: center;
  flex: 0 0 31px;
  width: 31px;
  height: 31px;
  border-radius: 9px;
  background: rgba(194, 67, 67, .13);
  font-size: 17px;
  font-weight: 900;
}

.structure-form-error > div {
  display: grid;
  gap: 2px;
}

.structure-form-error b {
  font-size: 11px;
}

.structure-form-error small {
  color: #8e4545;
  font-size: 9.5px;
}

.structure-field-invalid {
  border-color: #c64c4c !important;
  background:
    rgba(255, 242, 242, .96) !important;
  box-shadow:
    0 0 0 3px
    rgba(198, 76, 76, .1) !important;
}

.structure-field-invalid:focus {
  border-color: #b83838 !important;
  box-shadow:
    0 0 0 4px
    rgba(198, 76, 76, .14) !important;
}

.structure-modal-close {
  transition:
    background .16s ease,
    color .16s ease,
    transform .16s ease;
}

.structure-modal-close:hover {
  background: rgba(27, 54, 85, .08);
  transform: rotate(4deg);
}

.structure-modal-close::after {
  content: "ESC";
  position: absolute;
  margin-top: 53px;
  padding: 2px 5px;
  border-radius: 5px;
  background: rgba(10, 35, 62, .72);
  color: #fff;
  font-size: 7px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
}

.structure-modal-close:hover::after {
  opacity: 1;
}

@keyframes structure-error-enter {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* /ADAMEHR_STRUCTURE_MODAL_UX_STYLE_0036 */

/*
 * ADAMEHR_STRUCTURE_MODAL_CONTRAST_0037
 */

.structure-modal {
  background: rgba(8, 25, 47, .34) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

.structure-modal-dialog {
  isolation: isolate;
  z-index: 1;
  border: 1px solid #cad8e3 !important;
  background: #ffffff !important;
  color: #102a43 !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    0 28px 80px
    rgba(4, 18, 35, .34) !important;
  color-scheme: light;
}

.structure-modal-dialog::before,
.structure-modal-dialog::after,
.structure-modal-body::before,
.structure-modal-body::after,
.structure-entity-form::before,
.structure-entity-form::after {
  display: none !important;
  content: none !important;
}

.structure-modal-header {
  position: relative;
  z-index: 4;
  border-bottom: 1px solid #d9e3eb !important;
  background:
    linear-gradient(
      135deg,
      #f5fbfa,
      #f7faff
    ) !important;
  color: #102a43 !important;
  opacity: 1 !important;
  filter: none !important;
}

.structure-modal-header small {
  color: #63758a !important;
  opacity: 1 !important;
}

.structure-modal-header h3 {
  color: #102a43 !important;
  opacity: 1 !important;
}

.structure-modal-close {
  position: relative;
  z-index: 5;
  border-color: #c9d6e1 !important;
  background: #ffffff !important;
  color: #102a43 !important;
  opacity: 1 !important;
}

.structure-modal-body {
  position: relative;
  z-index: 3;
  min-height: 270px;
  background: #ffffff !important;
  color: #102a43 !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.structure-modal-body > * {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.structure-entity-form {
  position: relative;
  z-index: 4;
  border: 1px solid #bfd8d4 !important;
  background: #f8fbfc !important;
  color: #102a43 !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    0 10px 30px
    rgba(19, 52, 79, .07) !important;
}

.structure-form-heading,
.structure-form-grid,
.structure-form-actions,
.structure-list-toolbar,
.structure-table-wrap,
.structure-dependency-warning {
  position: relative;
  z-index: 5;
  opacity: 1 !important;
  filter: none !important;
}

.structure-form-heading b {
  color: #102a43 !important;
  font-size: 15px !important;
  opacity: 1 !important;
}

.structure-form-heading small {
  color: #5f7186 !important;
  font-size: 10.5px !important;
  opacity: 1 !important;
}

.structure-form-grid .field {
  color: #18324d !important;
  opacity: 1 !important;
}

.structure-form-grid .field > span {
  display: block;
  margin-bottom: 7px;
  color: #18324d !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

.structure-form-grid input,
.structure-form-grid select,
.structure-form-grid textarea,
.structure-modal-body input,
.structure-modal-body select,
.structure-modal-body textarea {
  border: 1px solid #afc0cf !important;
  background: #ffffff !important;
  color: #102a43 !important;
  -webkit-text-fill-color: #102a43 !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow:
    inset 0 1px 2px
    rgba(15, 42, 67, .04) !important;
}

.structure-form-grid input:focus,
.structure-form-grid select:focus,
.structure-form-grid textarea:focus,
.structure-modal-body input:focus,
.structure-modal-body select:focus,
.structure-modal-body textarea:focus {
  border-color: #249f8b !important;
  outline: none !important;
  box-shadow:
    0 0 0 3px
    rgba(36, 159, 139, .14) !important;
}

.structure-modal-body input::placeholder,
.structure-modal-body textarea::placeholder {
  color: #77879a !important;
  -webkit-text-fill-color: #77879a !important;
  opacity: 1 !important;
}

.structure-modal-body select option {
  background: #ffffff !important;
  color: #102a43 !important;
}

.jalali-date-field,
.jalali-date-visible,
.jalali-date-button {
  position: relative;
  z-index: 6;
  opacity: 1 !important;
  filter: none !important;
}

.jalali-date-button {
  border-color: #8eb8d8 !important;
  background: #edf6fc !important;
  color: #236ba4 !important;
}

.structure-form-actions .btn,
.structure-modal-body .btn {
  opacity: 1 !important;
  filter: none !important;
}

.structure-form-actions .btn-primary {
  border-color: #1f9f89 !important;
  background: #209f89 !important;
  color: #ffffff !important;
}

.structure-form-actions .btn-quiet {
  border-color: #c6d2dc !important;
  background: #ffffff !important;
  color: #344f68 !important;
}

.structure-form-error {
  position: relative;
  z-index: 8;
  opacity: 1 !important;
  filter: none !important;
}

.jalali-calendar-popover {
  z-index: 2500 !important;
  border-color: #becdd9 !important;
  background: #ffffff !important;
  color: #102a43 !important;
  opacity: 1 !important;
  filter: none !important;
}

@media (max-width: 720px) {
  .structure-modal-body {
    padding: 14px !important;
  }

  .structure-entity-form {
    padding: 14px !important;
  }
}

/* /ADAMEHR_STRUCTURE_MODAL_CONTRAST_0037 */

/*
 * ADAMEHR_JALALI_PICKER_STYLE_0038
 */

.jalali-date-field {
  align-items: stretch;
}

.jalali-date-visible {
  cursor: pointer !important;
  user-select: none;
}

.jalali-date-visible:hover {
  border-color: #4c99c9 !important;
  background: #f7fbfe !important;
}

.jalali-date-button {
  display: inline-flex !important;
  justify-content: center;
  gap: 5px;
  align-items: center;
  flex: 0 0 76px !important;
  width: 76px !important;
  min-width: 76px !important;
  padding: 0 8px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.jalali-date-button:hover {
  border-color: #367eae !important;
  background: #e3f1fa !important;
}

.jalali-calendar-popover {
  direction: rtl;
}

/* /ADAMEHR_JALALI_PICKER_STYLE_0038 */

/*
 * ADAMEHR_SIMPLE_SCHOOL_PANEL_STYLE_0048
 */
.simple-classes-page {
  display: grid;
  gap: 16px;
}

.simple-classes-card {
  overflow: hidden;
}

.simple-classes-header {
  align-items: center;
  gap: 18px;
}

.simple-classes-header h3 {
  margin-bottom: 5px;
}

.simple-class-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #f7fbfd;
}

.simple-class-summary span {
  color: var(--muted);
  font-size: 12px;
}

.simple-class-summary strong {
  font-size: 22px;
  color: var(--navy);
}

.simple-class-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(235px, 1fr));
  gap: 13px;
}

.simple-class-item {
  display: grid;
  gap: 15px;
  min-height: 185px;
  padding: 17px;
  border: 1px solid #dbe7ee;
  border-radius: 16px;
  background: #ffffff;
  box-shadow:
    0 12px 30px -27px rgba(17, 48, 78, .8);
}

.simple-class-item-head {
  display: flex;
  align-items: center;
  gap: 11px;
}

.simple-class-icon {
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  border-radius: 13px;
  background: #e6f6f2;
  color: #158b79;
  font-size: 20px;
  font-weight: 900;
}

.simple-class-item h4 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 15px;
}

.simple-class-item small {
  color: var(--muted);
  font-size: 10px;
}

.simple-class-item dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.simple-class-item dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid #edf2f5;
}

.simple-class-item dt {
  color: var(--muted);
  font-size: 10px;
}

.simple-class-item dd {
  margin: 0;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.simple-class-empty,
.simple-class-prerequisite {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-height: 220px;
  padding: 35px 20px;
  border: 1px dashed #cbdbe5;
  border-radius: 16px;
  background: #f9fcfd;
  text-align: center;
}

.simple-class-empty > span {
  font-size: 34px;
  color: #279d8c;
}

.simple-class-empty b,
.simple-class-prerequisite b {
  color: var(--navy);
  font-size: 14px;
}

.simple-class-empty p,
.simple-class-prerequisite p {
  max-width: 580px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.9;
}

.simple-class-modal[hidden] {
  display: none;
}

.simple-class-modal {
  position: fixed;
  z-index: 2600;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(12, 35, 58, .56);
  backdrop-filter: blur(6px);
}

.simple-class-dialog {
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid #d4e0e8;
  border-radius: 20px;
  background: #ffffff;
  box-shadow:
    0 30px 80px -34px rgba(8, 29, 52, .75);
}

.simple-class-dialog > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 18px 20px;
  border-bottom: 1px solid #dfebf1;
  background: #f8fbfd;
}

.simple-class-dialog header small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 9px;
}

.simple-class-dialog header h3 {
  margin: 0;
  color: var(--navy);
  font-size: 17px;
}

.simple-class-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #c9d8e2;
  border-radius: 11px;
  background: #ffffff;
  color: var(--navy);
  cursor: pointer;
  font-size: 18px;
}

.simple-class-form {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 20px;
}

.simple-class-form label {
  display: grid;
  gap: 7px;
}

.simple-class-form label > span {
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.simple-class-form input,
.simple-class-form select {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #c8d8e3;
  border-radius: 12px;
  background: #ffffff;
  color: var(--navy);
  font-family: inherit;
}

.simple-class-form input:focus,
.simple-class-form select:focus {
  border-color: #2a9e8d;
  outline: 3px solid rgba(42, 158, 141, .12);
}

.simple-class-wide,
.simple-class-actions {
  grid-column: 1 / -1;
}

.simple-class-actions {
  display: flex;
  justify-content: flex-start;
  gap: 9px;
  padding-top: 4px;
}

body.simple-modal-open {
  overflow: hidden;
}

@media (max-width: 720px) {
  .simple-class-form {
    grid-template-columns: 1fr;
  }

  .simple-class-wide,
  .simple-class-actions {
    grid-column: auto;
  }

  .simple-classes-header {
    align-items: stretch;
  }

  .simple-class-modal {
    padding: 10px;
  }

  .simple-class-dialog {
    max-height: calc(100vh - 20px);
  }
}

/* /ADAMEHR_SIMPLE_SCHOOL_PANEL_STYLE_0048 */

/*
 * ADAMEHR_SIMPLE_STUDENT_STYLE_0049
 */
.simple-students-page {
  display: grid;
  gap: 16px;
}

.simple-student-header,
.simple-student-list-head {
  align-items: center;
  gap: 18px;
}

.simple-student-metrics {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 11px;
  margin-bottom: 17px;
}

.simple-student-metric {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid #dce8ee;
  border-radius: 14px;
  background: #f8fbfc;
}

.simple-student-metric small {
  color: var(--muted);
  font-size: 10px;
}

.simple-student-metric strong {
  color: var(--navy);
  font-size: 24px;
}

.simple-class-capacities {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(225px, 1fr));
  gap: 11px;
}

.simple-capacity-card {
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid #dce7ed;
  border-radius: 14px;
  background: #fff;
}

.simple-capacity-card div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.simple-capacity-card b {
  color: var(--navy);
  font-size: 12px;
}

.simple-capacity-card small,
.simple-capacity-card > span {
  color: var(--muted);
  font-size: 9px;
}

.simple-capacity-track {
  height: 7px;
  overflow: hidden;
  border-radius: 99px;
  background: #edf3f6;
}

.simple-capacity-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2aa28f;
}

.simple-student-search {
  display: flex;
  align-items: center;
  gap: 8px;
}

.simple-student-search input {
  width: min(290px, 45vw);
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #c9d8e1;
  border-radius: 11px;
  font-family: inherit;
}

.simple-student-table-wrap {
  overflow-x: auto;
}

.simple-student-table td:first-child b,
.simple-student-table td:first-child small {
  display: block;
}

.simple-student-table td:first-child small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.simple-class-badge,
.simple-unassigned-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 99px;
  font-size: 9px;
  font-weight: 800;
}

.simple-class-badge {
  background: #e4f5f1;
  color: #137c6d;
}

.simple-unassigned-badge {
  background: #fff1df;
  color: #9b6013;
}

.simple-student-warning {
  grid-column: 1 / -1;
  padding: 17px;
  border: 1px dashed #d0dde5;
  border-radius: 14px;
  background: #f9fcfd;
  text-align: center;
}

.simple-student-warning b {
  color: var(--navy);
}

.simple-student-warning p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 10px;
}

.simple-student-modal[hidden] {
  display: none;
}

.simple-student-modal {
  position: fixed;
  z-index: 2700;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(11, 32, 53, .58);
  backdrop-filter: blur(6px);
}

.simple-student-dialog {
  width: min(900px, 100%);
  max-height: calc(100vh - 44px);
  overflow: auto;
  border: 1px solid #d5e1e8;
  border-radius: 20px;
  background: #fff;
  box-shadow:
    0 32px 90px -38px
    rgba(5, 28, 51, .8);
}

.simple-student-dialog > header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 17px 20px;
  border-bottom: 1px solid #dfe9ef;
  background: #f8fbfc;
}

.simple-student-dialog header small {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 9px;
}

.simple-student-dialog header h3 {
  margin: 0;
  color: var(--navy);
  font-size: 17px;
}

.simple-student-close {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid #cad9e2;
  border-radius: 11px;
  background: #fff;
  color: var(--navy);
  cursor: pointer;
  font-size: 18px;
}

.simple-student-form {
  display: grid;
  gap: 17px;
  padding: 20px;
}

.simple-student-form fieldset {
  margin: 0;
  padding: 16px;
  border: 1px solid #dce7ed;
  border-radius: 15px;
}

.simple-student-form legend {
  padding: 0 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.simple-student-form-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.simple-student-form label {
  display: grid;
  gap: 6px;
}

.simple-student-form label > span {
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
}

.simple-student-form input,
.simple-student-form select {
  width: 100%;
  min-height: 43px;
  padding: 8px 11px;
  border: 1px solid #c9d8e2;
  border-radius: 11px;
  background: #fff;
  color: var(--navy);
  font-family: inherit;
}

.simple-student-form input:focus,
.simple-student-form select:focus,
.simple-student-search input:focus {
  border-color: #299b8a;
  outline: 3px solid rgba(41, 155, 138, .12);
}

.simple-student-wide {
  grid-column: 1 / -1;
}

.simple-student-actions {
  display: flex;
  justify-content: flex-start;
  gap: 9px;
}

@media (max-width: 800px) {
  .simple-student-metrics {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .simple-student-form-grid {
    grid-template-columns: 1fr;
  }

  .simple-student-wide {
    grid-column: auto;
  }

  .simple-student-list-head {
    align-items: stretch;
  }

  .simple-student-search {
    width: 100%;
  }

  .simple-student-search input {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .simple-student-metrics {
    grid-template-columns: 1fr;
  }

  .simple-student-modal {
    padding: 8px;
  }

  .simple-student-dialog {
    max-height: calc(100vh - 16px);
  }
}

/* /ADAMEHR_SIMPLE_STUDENT_STYLE_0049 */

/*
 * ADAMEHR_STUDENT_DETAILS_ACTIONS_STYLE_0051
 */
.student-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.student-action {
  min-height: 29px;
  padding: 5px 9px;
  border: 1px solid #cbd9e2;
  border-radius: 9px;
  background: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.student-action-view {
  color: #166a80;
  background: #edf8fb;
  border-color: #c9e5ed;
}

.student-action-edit {
  color: #147565;
  background: #edf9f6;
  border-color: #cce9e2;
}

.student-action-delete {
  color: #a33d42;
  background: #fff3f3;
  border-color: #efd0d2;
}

.simple-student-profile-modal[hidden] {
  display: none;
}

.simple-student-profile-modal {
  position: fixed;
  z-index: 2800;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(11, 32, 53, .6);
  backdrop-filter: blur(6px);
}

.simple-student-profile-dialog {
  width: min(960px, 100%);
  max-height: calc(100vh - 44px);
  overflow: auto;
  border: 1px solid #d5e1e8;
  border-radius: 20px;
  background: #fff;
  box-shadow:
    0 34px 95px -38px
    rgba(5, 28, 51, .84);
}

.simple-student-profile-dialog > header {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 17px 20px;
  border-bottom: 1px solid #dfe9ef;
  background: #f8fbfc;
}

.simple-student-profile-dialog header small {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 9px;
}

.simple-student-profile-dialog header h3 {
  margin: 0;
  color: var(--navy);
  font-size: 17px;
}

.student-profile-loading {
  padding: 50px 22px;
  color: var(--muted);
  text-align: center;
}

.student-profile-sections {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.student-profile-sections section {
  padding: 16px;
  border: 1px solid #dce7ed;
  border-radius: 15px;
  background: #fbfdfe;
}

.student-profile-sections h4 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 13px;
}

.student-profile-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 11px;
}

.student-profile-field {
  display: grid;
  gap: 5px;
  min-height: 72px;
  padding: 11px;
  border: 1px solid #e0e9ee;
  border-radius: 12px;
  background: #fff;
}

.student-profile-field-wide {
  grid-column: 1 / -1;
}

.student-profile-field small {
  color: var(--muted);
  font-size: 9px;
}

.student-profile-field strong {
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: 11px;
  line-height: 1.8;
}

.student-no-guardian {
  padding: 18px;
  border: 1px dashed #cddce5;
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
  font-size: 10px;
}

.student-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.student-archive-button {
  border: 1px solid #e2bfc2;
  background: #fff0f1;
  color: #a33c43;
}

.student-profile-edit-form {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.student-profile-edit-form fieldset {
  margin: 0;
  padding: 16px;
  border: 1px solid #dce7ed;
  border-radius: 15px;
}

.student-profile-edit-form legend {
  padding: 0 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.student-profile-edit-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.student-profile-edit-form label {
  display: grid;
  gap: 6px;
}

.student-profile-edit-form label > span {
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
}

.student-profile-edit-form input,
.student-profile-edit-form select,
.student-profile-edit-form textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #c9d8e2;
  border-radius: 11px;
  background: #fff;
  color: var(--navy);
  font-family: inherit;
}

.student-profile-edit-form input,
.student-profile-edit-form select {
  min-height: 43px;
}

.student-profile-edit-form textarea {
  resize: vertical;
  line-height: 1.8;
}

.student-profile-edit-form input:focus,
.student-profile-edit-form select:focus,
.student-profile-edit-form textarea:focus {
  border-color: #299b8a;
  outline: 3px solid rgba(41, 155, 138, .12);
}

.student-profile-edit-wide {
  grid-column: 1 / -1;
}

.simple-student-form textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #c9d8e2;
  border-radius: 11px;
  background: #fff;
  color: var(--navy);
  resize: vertical;
  font-family: inherit;
}

@media (max-width: 850px) {
  .student-profile-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .student-profile-edit-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .simple-student-profile-modal {
    padding: 8px;
  }

  .simple-student-profile-dialog {
    max-height: calc(100vh - 16px);
  }

  .student-profile-grid,
  .student-profile-edit-grid {
    grid-template-columns: 1fr;
  }

  .student-profile-field-wide,
  .student-profile-edit-wide {
    grid-column: auto;
  }
}

/* /ADAMEHR_STUDENT_DETAILS_ACTIONS_STYLE_0051 */

/*
 * ADAMEHR_SIMPLE_STAFF_MANAGEMENT_0052
 */

.simple-staff-page {
  display: grid;
  gap: 18px;
}

.simple-staff-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(
      circle at top left,
      rgba(59, 130, 246, 0.13),
      transparent 44%
    ),
    var(--surface, #fff);
}

.simple-staff-hero h3 {
  margin: 5px 0 7px;
  font-size: 24px;
}

.simple-staff-hero p {
  margin: 0;
  color: var(--muted, #64748b);
}

.simple-staff-eyebrow {
  color: #2563eb;
  font-size: 12px;
  font-weight: 800;
}

.simple-staff-summary {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.simple-staff-metric {
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 18px;
  background: var(--surface, #fff);
}

.simple-staff-metric small,
.simple-staff-metric span {
  color: var(--muted, #64748b);
}

.simple-staff-metric b {
  font-size: 25px;
}

.simple-staff-list-card > header {
  align-items: end;
}

.simple-staff-search {
  display: grid;
  gap: 6px;
  min-width: 250px;
}

.simple-staff-search span {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted, #64748b);
}

.simple-staff-search input {
  width: 100%;
}

.simple-staff-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.simple-staff-table {
  min-width: 1050px;
}

.simple-staff-person {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 180px;
}

.simple-staff-person > span:last-child {
  display: grid;
  gap: 3px;
}

.simple-staff-person small,
.simple-staff-assignment-count small {
  color: var(--muted, #64748b);
}

.simple-staff-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 17px;
  font-weight: 900;
}

.simple-staff-role {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.simple-staff-role.role-teacher {
  color: #075985;
  background: #e0f2fe;
}

.simple-staff-role.role-academic_admin {
  color: #6b21a8;
  background: #f3e8ff;
}

.simple-staff-role.role-counselor {
  color: #166534;
  background: #dcfce7;
}

.simple-staff-role.role-staff {
  color: #92400e;
  background: #fef3c7;
}

.simple-staff-assignment-count {
  display: grid;
  gap: 3px;
  min-width: 80px;
}

.simple-staff-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.simple-staff-modal[hidden] {
  display: none;
}

.simple-staff-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 22px;
}

.simple-staff-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(4px);
}

.simple-staff-modal-card {
  position: relative;
  width: min(920px, 100%);
  max-height: calc(100vh - 44px);
  overflow-y: auto;
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 24px;
  background: var(--surface, #fff);
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.32);
}

.simple-staff-modal-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
}

.simple-staff-modal-head span {
  color: #2563eb;
  font-size: 12px;
  font-weight: 800;
}

.simple-staff-modal-head h3 {
  margin: 4px 0 0;
}

.simple-staff-modal-close {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #f1f5f9;
  color: #334155;
  font-size: 24px;
  cursor: pointer;
}

.simple-staff-modal-loading {
  padding: 60px 24px;
  text-align: center;
  color: var(--muted, #64748b);
}

.simple-staff-form {
  display: grid;
  gap: 18px;
  padding: 22px;
}

.simple-staff-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 18px;
}

.simple-staff-form legend {
  padding: 0 8px;
  font-weight: 900;
}

.simple-staff-form-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.simple-staff-form label {
  display: grid;
  gap: 7px;
}

.simple-staff-form label > span {
  font-size: 12px;
  font-weight: 800;
}

.simple-staff-form label > span i {
  color: #dc2626;
  font-style: normal;
}

.simple-staff-full-field {
  grid-column: 1 / -1;
}

.simple-staff-field-note {
  margin: 0 0 13px;
  color: var(--muted, #64748b);
  font-size: 12px;
}

.simple-staff-section-list {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.simple-staff-section-option {
  display: flex !important;
  align-items: flex-start;
  gap: 10px !important;
  padding: 13px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 14px;
  cursor: pointer;
}

.simple-staff-section-option:has(input:checked) {
  border-color: #3b82f6;
  background: #eff6ff;
}

.simple-staff-section-option input {
  margin-top: 4px;
}

.simple-staff-section-option > span {
  display: grid;
  gap: 4px;
}

.simple-staff-section-option small {
  color: var(--muted, #64748b);
  font-weight: 400;
}

.simple-staff-no-assignment {
  padding: 18px;
  border: 1px dashed var(--border, #cbd5e1);
  border-radius: 14px;
  color: var(--muted, #64748b);
  text-align: center;
}

.simple-staff-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  padding-top: 4px;
}

.simple-staff-detail-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 22px;
}

.simple-staff-detail {
  display: grid;
  gap: 6px;
  padding: 15px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 15px;
  background: #f8fafc;
}

.simple-staff-detail small {
  color: var(--muted, #64748b);
}

.simple-staff-detail-section {
  margin: 0 22px 20px;
  padding: 18px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 17px;
}

.simple-staff-detail-section h4 {
  margin: 0 0 13px;
}

.simple-staff-detail-section p {
  margin: 0;
  line-height: 1.9;
  white-space: pre-wrap;
}

.simple-staff-detail-assignments {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.simple-staff-detail-assignments article {
  display: grid;
  gap: 5px;
  padding: 13px;
  border-radius: 14px;
  background: #f8fafc;
}

.simple-staff-detail-assignments span,
.simple-staff-detail-assignments small {
  color: var(--muted, #64748b);
}

.simple-staff-modal-body
  > .simple-staff-form-actions {
  padding: 0 22px 22px;
}

@media (max-width: 900px) {
  .simple-staff-summary {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .simple-staff-detail-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .simple-staff-hero,
  .simple-staff-list-card > header {
    align-items: stretch;
    flex-direction: column;
  }

  .simple-staff-search {
    min-width: 0;
  }

  .simple-staff-summary,
  .simple-staff-form-grid,
  .simple-staff-section-list,
  .simple-staff-detail-grid,
  .simple-staff-detail-assignments {
    grid-template-columns: 1fr;
  }

  .simple-staff-modal {
    padding: 8px;
  }

  .simple-staff-modal-card {
    max-height: calc(100vh - 16px);
    border-radius: 18px;
  }

  .simple-staff-form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .simple-staff-form-actions .btn {
    width: 100%;
  }
}

/* /ADAMEHR_SIMPLE_STAFF_MANAGEMENT_0052 */

/*
 * ADAMEHR_SIMPLE_TIMETABLE_STYLE_0053
 */

.simple-timetable-page {
  display: grid;
  gap: 18px;
}

.simple-timetable-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 24px;
  border: 1px solid rgba(13, 148, 136, .18);
  border-radius: 22px;
  background:
    radial-gradient(
      circle at top right,
      rgba(20, 184, 166, .13),
      transparent 44%
    ),
    var(--surface, #fff);
}

.simple-timetable-hero h3 {
  margin: 5px 0 7px;
  font-size: 24px;
}

.simple-timetable-hero p {
  margin: 0;
  color: var(--muted, #64748b);
}

.simple-timetable-eyebrow {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

.simple-timetable-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.simple-timetable-summary {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 13px;
}

.simple-timetable-metric {
  display: grid;
  gap: 6px;
  padding: 17px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 17px;
  background: var(--surface, #fff);
}

.simple-timetable-metric small,
.simple-timetable-metric span {
  color: var(--muted, #64748b);
}

.simple-timetable-metric b {
  font-size: 24px;
}

.simple-timetable-toolbar {
  display: grid;
  gap: 15px;
}

.simple-timetable-filters {
  display: grid;
  grid-template-columns:
    minmax(180px, 1fr)
    minmax(180px, 1fr)
    auto;
  align-items: end;
  gap: 12px;
}

.simple-timetable-filters label {
  display: grid;
  gap: 6px;
}

.simple-timetable-filters label span {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 800;
}

.simple-timetable-grid-card {
  padding: 14px;
  overflow: hidden;
}

.simple-week-grid {
  display: grid;
  grid-template-columns:
    repeat(7, minmax(210px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 7px;
}

.simple-week-day {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 260px;
  padding: 11px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  background: #f8fafc;
}

.simple-week-day > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 3px 10px;
  border-bottom: 1px solid #e2e8f0;
}

.simple-week-day > header b {
  font-size: 13px;
}

.simple-week-day > header span {
  color: var(--muted, #64748b);
  font-size: 9px;
}

.simple-week-empty {
  display: grid;
  place-items: center;
  min-height: 140px;
  color: #94a3b8;
}

.simple-timetable-slot {
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid #cbd5e1;
  border-inline-start-width: 4px;
  border-radius: 13px;
  background: #fff;
}

.simple-timetable-slot.mode-in_person {
  border-inline-start-color: #0f766e;
}

.simple-timetable-slot.mode-online {
  border-inline-start-color: #2563eb;
}

.simple-timetable-slot.mode-hybrid {
  border-inline-start-color: #7c3aed;
}

.simple-timetable-slot-time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.simple-timetable-slot-time time {
  color: #0f172a;
  font-size: 11px;
  font-weight: 900;
}

.simple-timetable-slot-time span {
  padding: 3px 7px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 8px;
  font-weight: 800;
}

.simple-timetable-slot-main {
  display: grid;
  gap: 4px;
}

.simple-timetable-slot-main b {
  color: #0f172a;
  font-size: 12px;
}

.simple-timetable-slot-main span,
.simple-timetable-slot-main small,
.simple-timetable-slot-main em,
.simple-timetable-slot-main i {
  color: var(--muted, #64748b);
  font-size: 9px;
  font-style: normal;
  line-height: 1.7;
}

.simple-timetable-slot-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding-top: 3px;
  border-top: 1px solid #eef2f7;
}

.simple-timetable-break {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  border: 1px dashed #f59e0b;
  border-radius: 10px;
  background: #fffbeb;
  color: #92400e;
  font-size: 9px;
}

.simple-timetable-modal[hidden] {
  display: none;
}

.simple-timetable-modal {
  position: fixed;
  inset: 0;
  z-index: 2900;
  display: grid;
  place-items: center;
  padding: 20px;
}

.simple-timetable-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .62);
  backdrop-filter: blur(5px);
}

.simple-timetable-dialog {
  position: relative;
  width: min(850px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  border: 1px solid rgba(148, 163, 184, .3);
  border-radius: 22px;
  background: var(--surface, #fff);
  box-shadow:
    0 30px 90px
    rgba(15, 23, 42, .34);
}

.simple-timetable-dialog-head {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 19px 21px;
  border-bottom: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
}

.simple-timetable-dialog-head small {
  color: #0f766e;
  font-size: 10px;
  font-weight: 900;
}

.simple-timetable-dialog-head h3 {
  margin: 4px 0 0;
}

.simple-timetable-close {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 11px;
  background: #f1f5f9;
  color: #334155;
  font-size: 24px;
  cursor: pointer;
}

.simple-timetable-form {
  display: grid;
  gap: 17px;
  padding: 21px;
}

.simple-timetable-form-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.simple-timetable-form label {
  display: grid;
  gap: 6px;
}

.simple-timetable-form label > span {
  color: #334155;
  font-size: 11px;
  font-weight: 900;
}

.simple-timetable-form input,
.simple-timetable-form select {
  width: 100%;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #fff;
  color: #0f172a;
  font-family: inherit;
}

.simple-timetable-form input:focus,
.simple-timetable-form select:focus {
  border-color: #14b8a6;
  outline: 3px solid rgba(20, 184, 166, .12);
}

.simple-timetable-wide {
  grid-column: 1 / -1;
}

.simple-timetable-presets {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 11px;
  border: 1px solid #dbe5eb;
  border-radius: 13px;
  background: #f8fafc;
}

.simple-timetable-presets > span {
  margin-inline-end: 4px;
  color: var(--muted, #64748b);
  font-size: 10px;
  font-weight: 800;
}

.simple-timetable-presets button {
  padding: 6px 9px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  color: #334155;
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.simple-schedule-resolved {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 12px;
  border: 1px solid #ccfbf1;
  border-radius: 14px;
  background: #f0fdfa;
}

.simple-schedule-resolved > div {
  display: grid;
  gap: 4px;
}

.simple-schedule-resolved small {
  color: #0f766e;
  font-size: 9px;
}

.simple-schedule-resolved b {
  overflow-wrap: anywhere;
  font-size: 10px;
}

.simple-schedule-no-conflict {
  padding: 11px;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  background: #f0fdf4;
  color: #166534;
  font-size: 10px;
}

.simple-schedule-conflicts {
  padding: 13px;
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 10px;
}

.simple-schedule-conflicts ul {
  margin: 9px 0 0;
  padding-inline-start: 20px;
}

.simple-schedule-conflicts li + li {
  margin-top: 7px;
}

.simple-timetable-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

@media (max-width: 900px) {
  .simple-timetable-summary {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .simple-timetable-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .simple-timetable-hero-actions {
    display: grid;
  }

  .simple-timetable-hero-actions .btn {
    width: 100%;
  }

  .simple-timetable-summary,
  .simple-timetable-filters,
  .simple-timetable-form-grid,
  .simple-schedule-resolved {
    grid-template-columns: 1fr;
  }

  .simple-timetable-wide {
    grid-column: auto;
  }

  .simple-timetable-modal {
    padding: 8px;
  }

  .simple-timetable-dialog {
    max-height: calc(100vh - 16px);
    border-radius: 17px;
  }

  .simple-timetable-form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .simple-timetable-form-actions .btn {
    width: 100%;
  }
}

@media print {
  .app-sidebar,
  .app-topbar,
  .simple-timetable-hero-actions,
  .simple-timetable-toolbar,
  .simple-timetable-slot-actions,
  #schedule-alert {
    display: none !important;
  }

  .simple-timetable-page,
  .simple-timetable-grid-card {
    display: block;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .simple-week-grid {
    grid-template-columns:
      repeat(7, minmax(0, 1fr));
    overflow: visible;
  }

  .simple-week-day {
    min-width: 0;
    break-inside: avoid;
  }

  .simple-timetable-slot {
    break-inside: avoid;
  }
}

/* /ADAMEHR_SIMPLE_TIMETABLE_STYLE_0053 */

/* ADAMEHR_JALALI_FONT_RESPONSIVE_0054 */

:root {
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

html {
  direction: rtl;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

/*
 * ADAMEHR_SELECT_POPUP_LEGIBILITY_0092
 *
 * In a dark browser/OS theme Firefox renders the NATIVE select popup with
 * its own colors, which made the option rows unreadable (light text on a
 * light popup) even though the closed select looked fine. Force the light
 * scheme and explicit option colors panel-wide -- same fix the structure
 * modal already used, now applied everywhere.
 */
select {
  color-scheme: light;
}

select option {
  background: #ffffff;
  color: #102a43;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,
button,
.btn,
.student-action {
  min-height: 44px;
}

textarea {
  min-height: 96px;
  resize: vertical;
}

.btn,
.student-action,
.lang-switch button,
.chip,
.simple-student-close,
.simple-staff-modal-close,
.simple-timetable-close,
.structure-modal-close,
.jalali-date-button {
  min-width: 44px;
  min-height: 44px;
}

.simple-student-close,
.simple-staff-modal-close,
.simple-timetable-close,
.structure-modal-close {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

.simple-timetable-presets button {
  min-height: 44px;
  padding: 9px 12px;
  font-size: 11px;
}

.adamehr-jalali-field {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto
    auto;
  align-items: stretch;
  gap: 7px;
  width: 100%;
  min-width: 0;
}

.adamehr-jalali-visible {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  text-align: center;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
}

.adamehr-jalali-button,
.adamehr-jalali-clear {
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #fff;
  color: #334155;
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.adamehr-jalali-button {
  border-color: #99f6e4;
  background: #f0fdfa;
  color: #0f766e;
}

.adamehr-jalali-clear {
  color: #64748b;
}

.adamehr-jalali-button:hover,
.adamehr-jalali-button:focus-visible {
  border-color: #14b8a6;
  outline: 3px solid rgba(20, 184, 166, .14);
}

.adamehr-jalali-clear:hover,
.adamehr-jalali-clear:focus-visible {
  border-color: #94a3b8;
  outline: 3px solid rgba(100, 116, 139, .12);
}

.adamehr-global-jalali-popover {
  position: fixed;
  z-index: 12000;
  width: min(330px, calc(100vw - 4px));
  max-height: calc(100dvh - 4px);
  overflow-y: auto;
  padding: 9px;
  border: 1px solid #cbd5e1;
  border-radius: 16px;
  background: #fff;
  box-shadow:
    0 24px 70px
    rgba(15, 23, 42, .24);
  direction: rtl;
}

.adamehr-global-jalali-popover[hidden] {
  display: none !important;
}

.adamehr-jalali-head {
  display: grid;
  grid-template-columns:
    44px
    minmax(0, 1fr)
    44px;
  align-items: center;
  gap: 4px;
  margin-bottom: 7px;
}

.adamehr-jalali-head strong {
  min-width: 0;
  text-align: center;
  font-size: 13px;
  font-weight: 900;
}

.adamehr-jalali-head button,
.adamehr-jalali-today {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 11px;
  background: #f1f5f9;
  color: #0f172a;
  font-family: inherit;
  font-size: 21px;
  font-weight: 900;
  cursor: pointer;
}

.adamehr-jalali-week,
.adamehr-jalali-days {
  display: grid;
  grid-template-columns:
    repeat(7, minmax(0, 1fr));
  gap: 0;
}

.adamehr-jalali-week span {
  display: grid;
  place-items: center;
  min-height: 34px;
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
}

.adamehr-jalali-days button,
.adamehr-jalali-empty {
  width: 100%;
  min-width: 0;
  min-height: 44px;
}

.adamehr-jalali-days button {
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #334155;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.adamehr-jalali-days button:hover,
.adamehr-jalali-days button:focus-visible {
  border-color: #5eead4;
  background: #f0fdfa;
  color: #0f766e;
  outline: 0;
}

.adamehr-jalali-today {
  width: 100%;
  margin-top: 8px;
  background: #ecfdf5;
  color: #047857;
  font-size: 12px;
}

.webinar-jalali-form label {
  min-width: 0;
}

.webinar-jalali-form input,
.webinar-jalali-form select,
.webinar-jalali-form textarea {
  width: 100%;
  max-width: 100%;
}

.simple-student-table-wrap,
.simple-staff-table-wrap,
.dashboard-table-wrap,
.structure-table-wrap,
.table-wrap,
#sessions-body,
#devices-body,
#people-body {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.simple-student-table,
.simple-staff-table,
.dashboard-schedule-table {
  width: 100%;
}

.simple-student-dialog,
.simple-student-profile-dialog,
.simple-staff-modal-card,
.simple-timetable-dialog,
.structure-modal-dialog {
  width: min(
    920px,
    calc(100vw - 24px)
  );
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.simple-student-form-grid,
.student-profile-edit-grid,
.simple-staff-form-grid,
.simple-timetable-form-grid,
.form-grid {
  min-width: 0;
}

.simple-student-form-grid > *,
.student-profile-edit-grid > *,
.simple-staff-form-grid > *,
.simple-timetable-form-grid > *,
.form-grid > * {
  min-width: 0;
}

.student-row-actions,
.simple-staff-actions,
.simple-timetable-slot-actions,
.simple-student-actions,
.student-profile-actions,
.simple-staff-form-actions,
.simple-timetable-form-actions {
  flex-wrap: wrap;
}

.simple-week-grid {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.simple-week-day {
  min-width: 230px;
}

@media (max-width: 1024px) {
  .app-shell,
  .app-main,
  .page-content,
  #page-content {
    min-width: 0;
    max-width: 100%;
  }

  .simple-student-table,
  .simple-staff-table {
    min-width: 820px;
  }
}

@media (max-width: 768px) {
  .card,
  .simple-staff-hero,
  .simple-timetable-hero {
    max-width: 100%;
  }

  .simple-student-header,
  .simple-student-list-head,
  .simple-staff-list-card > header,
  .simple-timetable-toolbar > header {
    align-items: stretch;
    flex-direction: column;
  }

  .simple-student-search,
  .simple-staff-search,
  .simple-timetable-hero-actions {
    width: 100%;
  }

  .simple-student-search input,
  .simple-staff-search input,
  .simple-student-search .btn,
  .simple-timetable-hero-actions .btn {
    width: 100%;
  }

  .simple-student-dialog,
  .simple-student-profile-dialog,
  .simple-staff-modal-card,
  .simple-timetable-dialog,
  .structure-modal-dialog {
    width: calc(100vw - 12px);
    max-width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
  }
}

@media (max-width: 650px) {
  .simple-student-modal,
  .simple-student-profile-modal,
  .simple-staff-modal,
  .simple-timetable-modal,
  .structure-modal {
    padding: 0;
  }

  .simple-student-dialog,
  .simple-student-profile-dialog,
  .simple-staff-modal-card,
  .simple-timetable-dialog,
  .structure-modal-dialog {
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
  }

  .simple-student-form-grid,
  .student-profile-edit-grid,
  .simple-staff-form-grid,
  .simple-timetable-form-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .span-2,
  .simple-student-wide,
  .student-profile-edit-wide,
  .simple-timetable-wide,
  .simple-staff-full-field {
    grid-column: auto;
  }

  .simple-student-actions,
  .student-profile-actions,
  .simple-staff-form-actions,
  .simple-timetable-form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .simple-student-actions .btn,
  .student-profile-actions .btn,
  .simple-staff-form-actions .btn,
  .simple-timetable-form-actions .btn {
    width: 100%;
  }
}

@media (max-width: 414px) {
  .adamehr-jalali-field {
    grid-template-columns:
      minmax(0, 1fr)
      44px;
  }

  .adamehr-jalali-button {
    width: 44px;
    padding-inline: 0;
    overflow: hidden;
    font-size: 0;
  }

  .adamehr-jalali-button::before {
    content: "\1F4C5";
    font-size: 18px;
  }

  .adamehr-jalali-clear {
    grid-column: 1 / -1;
    width: 100%;
  }

  .simple-timetable-presets {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .simple-timetable-presets > span {
    grid-column: 1 / -1;
  }

  .simple-timetable-presets button {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .simple-student-metrics,
  .simple-staff-summary,
  .simple-timetable-summary,
  .dashboard-metrics {
    grid-template-columns: 1fr;
  }

  .student-row-actions,
  .simple-staff-actions,
  .simple-timetable-slot-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .student-action {
    width: 100%;
  }
}

@media (max-width: 320px) {
  .card,
  .simple-staff-hero,
  .simple-timetable-hero,
  .simple-student-summary-card {
    padding-inline: 10px;
  }

  .simple-student-dialog,
  .simple-student-profile-dialog,
  .simple-staff-modal-card,
  .simple-timetable-dialog,
  .structure-modal-dialog {
    min-width: 0;
  }
}

@media print {
  body {
    overflow: visible;
    font-family:
      "Vazirmatn",
      Tahoma,
      Arial,
      sans-serif;
  }

  .adamehr-global-jalali-popover,
  .simple-student-modal,
  .simple-student-profile-modal,
  .simple-staff-modal,
  .simple-timetable-modal,
  .structure-modal {
    display: none !important;
  }

  .simple-week-grid {
    overflow: visible;
  }

  .simple-week-day {
    min-width: 0;
    break-inside: avoid;
  }

  table {
    break-inside: auto;
  }

  tr,
  article,
  section {
    break-inside: avoid;
  }
}

/* /ADAMEHR_JALALI_FONT_RESPONSIVE_0054 */

/* ADAMEHR_ATTENDANCE_REVIEW_0055 */

.attendance-workflow-card {
  direction: rtl;
}

.attendance-workflow-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-inline-end: 12px;
}

.attendance-workflow-note {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfe;
  line-height: 1.9;
}

.attendance-review-actions {
  flex-wrap: wrap;
}

.attendance-review-actions .btn,
.attendance-session-form .btn,
.attendance-session-table .btn {
  min-height: 44px;
}

.attendance-register-table .mark-status,
.attendance-register-table .mark-minutes {
  min-height: 44px;
  font-family: inherit;
}

.attendance-register-table .mark-minutes {
  width: 86px;
  max-width: 100%;
}

.attendance-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/*
 * ADAMEHR_0064_TEACHER_BROWSER_TOUCH_FIX
 * Attendance header stacks on narrow screens so the Jalali control
 * keeps a usable width; the calendar button remains at least 44px.
 */
.attendance-session-form .adamehr-jalali-button {
  min-height: 44px;
}

@media (max-width: 640px) {
  .card > header:has(> #session-filter) {
    align-items: stretch;
    flex-direction: column;
  }

  #session-filter {
    width: 100%;
    min-width: 0;
  }

  .attendance-session-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .attendance-session-form .field,
  .attendance-session-form .btn {
    width: 100%;
    min-width: 0;
  }

  #register-actions {
    width: 100%;
  }

  .attendance-review-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .attendance-review-actions .btn {
    width: 100%;
  }

  .attendance-workflow-status {
    display: flex;
    margin: 0 0 5px;
  }

  .attendance-table-wrap {
    overflow-x: auto;
  }

  .attendance-register-table,
  .attendance-session-table {
    min-width: 620px;
  }
}

@media print {
  #session-filter,
  #register-actions,
  .attendance-review-actions,
  .attendance-session-form {
    display: none !important;
  }

  .attendance-table-wrap {
    overflow: visible !important;
  }

  .attendance-register-table,
  .attendance-session-table {
    min-width: 0 !important;
    width: 100% !important;
  }
}


.attendance-review-reason {
  display: grid;
  gap: 7px;
  width: min(100%, 560px);
  margin-top: 12px;
}

.attendance-review-reason textarea {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  font-family: inherit;
}

@media (max-width: 640px) {
  .attendance-review-reason {
    width: 100%;
  }
}

/* /ADAMEHR_ATTENDANCE_REVIEW_0055 */

/* ADAMEHR_STUDENT_XLSX_IMPORT_UI_0056 */
.simple-student-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.student-import-modal[hidden] {
  display: none !important;
}

body.student-import-modal-open {
  overflow: hidden;
}

.student-import-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(15, 23, 42, 0.58);
  direction: rtl;
}

.student-import-dialog {
  width: min(1040px, calc(100vw - 32px));
  max-height: min(860px, calc(100dvh - 32px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  background: var(--surface, #fff);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.student-import-head,
.student-import-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
}

.student-import-head {
  justify-content: space-between;
  border-bottom: 1px solid var(--border, #e5e7eb);
}

.student-import-head h3 {
  margin: 3px 0 0;
}

.student-import-head small {
  display: block;
}

.student-import-close {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  font: inherit;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.student-import-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 18px;
}

.student-import-guide {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  background: var(--surface-soft, #f8fafc);
}

.student-import-guide p {
  margin: 0;
  line-height: 1.9;
}

.student-import-guide .btn {
  width: fit-content;
  min-height: 44px;
}

.student-import-file-label {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.student-import-file-label input[type="file"] {
  width: 100%;
  min-height: 48px;
  padding: 8px;
  border: 1px solid var(--border, #d1d5db);
  border-radius: 12px;
  font: inherit;
  direction: rtl;
}

.student-import-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.student-import-summary > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 12px;
  background: var(--surface-soft, #f8fafc);
}

.student-import-summary span,
.student-import-summary b {
  display: block;
}

.student-import-summary b {
  margin-top: 4px;
  font-size: 1.25rem;
}

.student-import-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
}

.student-import-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

.student-import-table th,
.student-import-table td {
  padding: 11px 12px;
  text-align: right;
  vertical-align: top;
  border-bottom: 1px solid var(--border, #e5e7eb);
}

.student-import-table tr:last-child td {
  border-bottom: 0;
}

.student-import-row-error {
  background: rgba(185, 28, 28, 0.055);
}

.student-import-errors {
  margin: 0;
  padding-inline-start: 18px;
  line-height: 1.75;
}

.student-import-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
  border-top: 1px solid var(--border, #e5e7eb);
}

.student-import-actions .btn,
#simple-student-import {
  min-height: 44px;
}

@media (max-width: 650px) {
  .student-import-modal {
    padding: 0;
  }

  .student-import-dialog {
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
  }

  .student-import-head,
  .student-import-body,
  .student-import-actions {
    padding-inline: 12px;
  }

  .student-import-summary {
    grid-template-columns: 1fr;
  }

  .student-import-actions .btn {
    flex: 1 1 100%;
    width: 100%;
  }
}

@media (max-width: 414px) {
  .simple-student-header-actions {
    width: 100%;
  }

  .simple-student-header-actions .btn {
    flex: 1 1 100%;
    width: 100%;
  }
}

@media print {
  .student-import-modal,
  #simple-student-import {
    display: none !important;
  }
}
/* /ADAMEHR_STUDENT_XLSX_IMPORT_UI_0056 */

/*
 * ADAMEHR_TEACHER_DAILY_DASHBOARD_STYLE_0057
 */

.teacher-daily-dashboard {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.teacher-daily-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  padding: 22px;
  border: 1px solid #dce7e5;
  border-radius: 20px;
  background: #fff;
}

.teacher-daily-welcome > div {
  min-width: 0;
}

.teacher-daily-welcome h2 {
  margin: 5px 0 6px;
  font-size: clamp(21px, 3vw, 29px);
}

.teacher-daily-welcome p {
  margin: 0;
  color: var(--muted, #64748b);
}

.teacher-daily-eyebrow {
  color: #0f766e;
  font-size: 11px;
  font-weight: 900;
}

.teacher-daily-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.teacher-daily-top-actions .btn {
  min-height: 44px;
}

.teacher-daily-next {
  display: grid;
  gap: 14px;
}

.teacher-daily-next-class {
  display: grid;
  grid-template-columns:
    auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 17px;
  border: 1px solid #dbe8e5;
  border-radius: 17px;
  background: #f8fbfa;
}

.teacher-daily-next-time {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 62px;
}

.teacher-daily-next-time strong {
  font-size: 15px;
}

.teacher-daily-next-time span {
  color: #94a3b8;
}

.teacher-daily-next-main {
  min-width: 0;
}

.teacher-daily-next-main h4 {
  margin: 5px 0;
  font-size: 18px;
}

.teacher-daily-next-main p {
  margin: 0;
  color: var(--muted, #64748b);
  overflow-wrap: anywhere;
}

.teacher-daily-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 10px;
  font-weight: 900;
}

.teacher-daily-metrics {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.teacher-daily-metric {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}

.teacher-daily-metric small,
.teacher-daily-metric span {
  color: var(--muted, #64748b);
}

.teacher-daily-metric b {
  font-size: 23px;
}

.teacher-daily-classes {
  min-width: 0;
}

.teacher-daily-class-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.teacher-daily-class {
  display: grid;
  grid-template-columns:
    72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
}

.teacher-daily-class-time {
  display: grid;
  justify-items: center;
  gap: 3px;
}

.teacher-daily-class-time b {
  font-size: 14px;
}

.teacher-daily-class-time span {
  color: var(--muted, #64748b);
  font-size: 11px;
}

.teacher-daily-class-main {
  min-width: 0;
}

.teacher-daily-class-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.teacher-daily-class-main p {
  margin: 5px 0;
  color: var(--muted, #64748b);
  overflow-wrap: anywhere;
}

.teacher-daily-class-main small {
  color: #475569;
}

.teacher-daily-empty {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px dashed #cbd5e1;
  border-radius: 15px;
  background: #f8fafc;
}

.teacher-daily-empty p {
  margin: 0;
  color: var(--muted, #64748b);
}

.teacher-daily-alert-list {
  display: grid;
  gap: 9px;
}

.teacher-daily-alert {
  display: grid;
  gap: 5px;
  width: 100%;
  min-height: 44px;
  padding: 13px 14px;
  border: 1px solid #fde68a;
  border-radius: 14px;
  background: #fffbeb;
  color: inherit;
  font-family: inherit;
  text-align: start;
  cursor: pointer;
}

.teacher-daily-alert span {
  color: #78716c;
}

@media (max-width: 768px) {
  .teacher-daily-welcome {
    align-items: stretch;
    flex-direction: column;
  }

  .teacher-daily-top-actions {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .teacher-daily-top-actions .btn {
    width: 100%;
  }

  .teacher-daily-next-class {
    grid-template-columns:
      62px minmax(0, 1fr);
  }

  .teacher-daily-next-class > .btn {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 414px) {
  .teacher-daily-dashboard {
    gap: 12px;
  }

  .teacher-daily-welcome {
    padding: 16px;
    border-radius: 16px;
  }

  .teacher-daily-top-actions,
  .teacher-daily-metrics {
    grid-template-columns: 1fr;
  }

  .teacher-daily-next-class {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .teacher-daily-next-time {
    display: flex;
    justify-content: flex-start;
    min-width: 0;
  }

  .teacher-daily-class {
    grid-template-columns:
      58px minmax(0, 1fr);
    align-items: start;
    padding: 12px;
  }

  .teacher-daily-class > .btn {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 360px) {
  .teacher-daily-welcome,
  .teacher-daily-next,
  .teacher-daily-classes,
  .teacher-daily-alerts {
    max-width: 100%;
  }

  .teacher-daily-class-title {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 320px) {
  .teacher-daily-welcome {
    padding-inline: 11px;
  }

  .teacher-daily-class {
    grid-template-columns: 1fr;
  }

  .teacher-daily-class-time {
    display: flex;
    justify-content: flex-start;
  }
}

@media print {
  .teacher-daily-top-actions,
  .teacher-daily-next-class > .btn,
  .teacher-daily-class > .btn,
  .teacher-daily-alerts {
    display: none !important;
  }

  .teacher-daily-welcome,
  .teacher-daily-next-class,
  .teacher-daily-class,
  .teacher-daily-metric {
    break-inside: avoid;
    box-shadow: none;
  }
}


/*
 * ADAMEHR_0077_TEACHER_DAILY_JOURNEY_STYLE
 */

.teacher-journey {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  gap: 16px;
  overflow: hidden;
  direction: rtl;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.teacher-journey *,
.teacher-journey *::before,
.teacher-journey *::after {
  box-sizing: border-box;
}

.teacher-journey-head {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.teacher-journey-head > div {
  min-width: 0;
}

.teacher-journey-head h3 {
  margin: 5px 0 7px;
  font-size: clamp(19px, 2.4vw, 24px);
  line-height: 1.55;
}

.teacher-journey-head p {
  max-width: 720px;
  margin: 0;
  color: var(--muted, #64748b);
  line-height: 1.9;
}

.teacher-journey-class-count {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.teacher-journey-steps {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.teacher-journey-step {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 116px;
  display: grid;
  grid-template-columns:
    42px minmax(0, 1fr);
  grid-template-rows:
    auto 1fr;
  align-items: start;
  gap: 8px 10px;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 16px;
  background: var(--surface, #fff);
  color: inherit;
  font: inherit;
  text-align: start;
}

button.teacher-journey-step {
  cursor: pointer;
}

button.teacher-journey-step:hover,
button.teacher-journey-step:focus-visible {
  border-color: currentColor;
}

.teacher-journey-step.is-disabled {
  opacity: 0.58;
}

.teacher-journey-number {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: var(--surface-soft, #f1f5f9);
  font-size: 17px;
  font-weight: 900;
}

.teacher-journey-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.teacher-journey-copy strong,
.teacher-journey-copy small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.teacher-journey-copy strong {
  line-height: 1.65;
}

.teacher-journey-copy small {
  color: var(--muted, #64748b);
  line-height: 1.8;
}

.teacher-journey-status {
  align-self: end;
  justify-self: start;
  max-width: calc(100% - 26px);
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding-inline: 9px;
  border-radius: 999px;
  background: var(--surface-soft, #f1f5f9);
  font-size: 11px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.teacher-journey-arrow {
  position: absolute;
  inset-inline-end: 12px;
  inset-block-end: 10px;
  font-size: 19px;
  font-weight: 900;
}

.teacher-journey-advanced {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--border, #e5e7eb);
}

.teacher-journey-advanced-title {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.teacher-journey-advanced-title small {
  color: var(--muted, #64748b);
  line-height: 1.8;
}

.teacher-journey-advanced-grid {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.teacher-journey-advanced-action {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 68px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 11px 13px;
  overflow: hidden;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  background: var(--surface, #fff);
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
}

.teacher-journey-advanced-action strong,
.teacher-journey-advanced-action small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.teacher-journey-advanced-action small {
  color: var(--muted, #64748b);
  line-height: 1.65;
}

.teacher-journey-advanced-action:hover,
.teacher-journey-advanced-action:focus-visible {
  border-color: currentColor;
}

@media (max-width: 1024px) {
  .teacher-journey-steps {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .teacher-journey {
    gap: 13px;
  }

  .teacher-journey-head {
    display: grid;
  }

  .teacher-journey-class-count {
    justify-self: start;
  }

  .teacher-journey-steps,
  .teacher-journey-advanced-grid {
    grid-template-columns: 1fr;
  }

  .teacher-journey-step {
    min-height: 104px;
  }

  .teacher-journey-advanced-action {
    min-height: 64px;
  }
}

@media (max-width: 414px) {
  .teacher-journey-step {
    grid-template-columns:
      38px minmax(0, 1fr);
    padding: 12px;
  }

  .teacher-journey-number {
    width: 38px;
    height: 38px;
  }

  .teacher-journey-class-count,
  .teacher-journey-advanced-action {
    width: 100%;
  }
}

@media (max-width: 320px) {
  .teacher-journey-step {
    gap: 7px;
  }

  .teacher-journey-copy strong {
    font-size: 13px;
  }

  .teacher-journey-copy small {
    font-size: 11px;
  }
}

@media print {
  .teacher-journey {
    overflow: visible;
  }

  .teacher-journey-step,
  .teacher-journey-advanced-action {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .teacher-journey-arrow {
    display: none !important;
  }

  button.teacher-journey-step,
  .teacher-journey-advanced {
    display: none !important;
  }
}


/*
 * ADAMEHR_0077_TEACHER_CLASS_CONTEXT_STYLE
 */

.teacher-class-context-bar {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 15px;
  background: var(--surface-soft, #f8fafc);
  direction: rtl;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.teacher-class-context-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.teacher-class-context-copy span {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 700;
}

.teacher-class-context-copy strong,
.teacher-class-context-copy small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.teacher-class-context-copy strong {
  line-height: 1.7;
}

.teacher-class-context-copy small {
  color: var(--muted, #64748b);
  line-height: 1.6;
}

.teacher-class-context-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.teacher-class-context-actions .btn,
.teacher-class-context-select {
  min-height: 44px;
}

.teacher-class-context-select.is-selected {
  font-weight: 900;
}

@media (max-width: 650px) {
  .teacher-class-context-bar {
    display: grid;
    align-items: stretch;
  }

  .teacher-class-context-actions {
    width: 100%;
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .teacher-class-context-actions .btn {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .teacher-class-context-actions {
    grid-template-columns: 1fr;
  }
}

@media print {
  .teacher-class-context-actions,
  .teacher-class-context-select {
    display: none !important;
  }

  .teacher-class-context-bar {
    overflow: visible;
    break-inside: avoid;
    box-shadow: none !important;
  }
}

/* /ADAMEHR_0077_TEACHER_CLASS_CONTEXT_STYLE */

/*
 * ADAMEHR_0077_MOBILE_SHELL_CONTAINMENT_FIX
 *
 * Real Chromium C2B2-D1 proved two independent narrow-screen
 * geometry defects:
 *
 * 1. The topbar action flex row had a min-content width larger
 *    than the 288px content box at a 320px viewport. This moved
 *    the logout control outside the viewport and expanded
 *    body.scrollWidth to 332px.
 *
 * 2. The generic .card > header rule has higher specificity than
 *    .teacher-journey-head. It therefore kept the journey header
 *    as flex on mobile, producing an internal 280px scroll width
 *    inside a 266px content box.
 *
 * Fix the geometry itself. Do not conceal overflow at body/root.
 */

@media (max-width: 650px) {
  .card > header.teacher-journey-head,
  .teacher-journey.card > header.teacher-journey-head {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns:
      minmax(0, 1fr);
    align-items: stretch;
    justify-content: stretch;
    gap: 12px;
    overflow: hidden;
  }

  .teacher-journey-head > div,
  .teacher-journey-class-count {
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 360px) {
  .topbar {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: stretch;
  }

  .topbar > div:first-child {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .topbar-actions {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      44px
      auto;
    grid-template-areas:
      "school school school"
      "language avatar logout";
    align-items: center;
    gap: 8px;
  }

  .topbar-actions > * {
    min-width: 0;
  }

  .topbar-actions > .school-switch {
    grid-area: school;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .topbar-actions > .lang-switch {
    grid-area: language;
    max-width: 100%;
    min-width: 0;
    justify-self: start;
  }

  .topbar-actions > .avatar {
    grid-area: avatar;
  }

  .topbar-actions > #btn-logout {
    grid-area: logout;
    min-width: 44px;
    max-width: 100%;
  }

  .school-switch > button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-content: space-between;
  }

  .school-switch > button > span:first-child {
    max-width: 100%;
    min-width: 0;
  }

  #active-school-name {
    display: block;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.5;
  }

  .switch-menu {
    max-width:
      calc(100vw - 32px);
  }
}

/* /ADAMEHR_0077_MOBILE_SHELL_CONTAINMENT_FIX */



/* /ADAMEHR_0077_TEACHER_DAILY_JOURNEY_STYLE */

/* ADAMEHR_ASSIGNMENTS_HOMEWORK_STYLE_0059 */

.assignment-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  direction: rtl;
  display: grid;
  gap: 16px;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.assignment-hero {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.assignment-hero > div:first-child {
  min-width: 0;
}

.assignment-hero h3,
.assignment-editor-card h3,
.assignment-card h3 {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  font-weight: 900;
}

.assignment-hero p {
  margin: 8px 0 0;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.assignment-eyebrow {
  display: block;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.assignment-hero-actions {
  flex: 0 0 auto;
}

.assignment-summary {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.assignment-summary-card {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 16px;
}

.assignment-summary-card strong {
  color: var(--navy);
  font-size: 24px;
  font-weight: 900;
}

.assignment-summary-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.assignment-grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.assignment-empty {
  grid-column: 1 / -1;
  min-width: 0;
}

.assignment-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 14px;
  overflow: hidden;
}

.assignment-card-head {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.assignment-card-head > div {
  min-width: 0;
}

.assignment-course,
.assignment-child {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.assignment-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef4f6;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.assignment-description,
.assignment-submission-answer,
.assignment-feedback p,
.assignment-guardian-box p {
  margin: 0;
  line-height: 1.9;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.assignment-meta {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.assignment-meta > span {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfe;
}

.assignment-meta b {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.assignment-meta em {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.assignment-card-actions,
.assignment-student-actions,
.assignment-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.assignment-card-actions .btn,
.assignment-student-actions .btn,
.assignment-form-actions .btn,
.assignment-grade-form .btn,
.assignment-hero-actions .btn {
  min-height: 44px;
}

.assignment-student-box,
.assignment-guardian-box,
.assignment-submissions {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfdfe;
}

.assignment-student-box > header,
.assignment-submission-row > header {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.assignment-student-box textarea,
.assignment-grade-form textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.assignment-feedback {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #eff8ff;
}

.assignment-grade-result {
  width: fit-content;
  max-width: 100%;
  padding: 8px 12px;
  border-radius: 11px;
  background: #eaf8f5;
  color: #167d72;
  font-size: 12px;
}

.assignment-editor-card {
  min-width: 0;
  overflow: visible;
}

.assignment-editor-card > header {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.assignment-form-grid {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.assignment-form-grid > label {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
}

.assignment-form-grid > label > span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.assignment-form-grid input:not([type="hidden"]),
.assignment-form-grid select,
.assignment-form-grid textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.assignment-form-wide {
  grid-column: 1 / -1;
}

.assignment-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  min-height: 44px;
}

.assignment-check input[type="checkbox"] {
  width: 20px !important;
  height: 20px;
  min-height: 20px;
}

.assignment-submission-list {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.assignment-submission-row {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.assignment-submission-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.assignment-grade-form {
  min-width: 0;
  display: grid;
  grid-template-columns:
    minmax(110px, .35fr)
    minmax(0, 1fr)
    auto;
  align-items: end;
  gap: 10px;
}

.assignment-grade-form label {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.assignment-muted {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.assignment-skeleton {
  min-height: 210px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.assignment-skeleton span {
  display: block;
  height: 18px;
  border-radius: 8px;
  background: #edf2f6;
}

.assignment-skeleton span:nth-child(1) {
  width: 44%;
}

.assignment-skeleton span:nth-child(2) {
  width: 78%;
}

.assignment-skeleton span:nth-child(3) {
  width: 100%;
  height: 72px;
}

@media (max-width: 1024px) {
  .assignment-grid {
    grid-template-columns: 1fr;
  }

  .assignment-meta {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .assignment-grade-form {
    grid-template-columns: 1fr 1fr;
  }

  .assignment-grade-form .btn {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .assignment-shell {
    gap: 12px;
  }

  .assignment-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .assignment-hero-actions,
  .assignment-hero-actions .btn {
    width: 100%;
  }

  .assignment-summary {
    grid-template-columns: 1fr;
  }

  .assignment-form-grid {
    grid-template-columns: 1fr;
  }

  .assignment-form-wide {
    grid-column: auto;
  }

  .assignment-meta {
    grid-template-columns: 1fr;
  }

  .assignment-card-head,
  .assignment-editor-card > header,
  .assignment-student-box > header,
  .assignment-submission-row > header {
    flex-direction: column;
    align-items: stretch;
  }

  .assignment-status {
    width: fit-content;
  }

  .assignment-card-actions,
  .assignment-student-actions,
  .assignment-form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .assignment-card-actions .btn,
  .assignment-student-actions .btn,
  .assignment-form-actions .btn {
    width: 100%;
  }

  .assignment-grade-form {
    grid-template-columns: 1fr;
  }

  .assignment-grade-form .btn {
    grid-column: auto;
    width: 100%;
  }
}

@media (max-width: 414px) {
  .assignment-card,
  .assignment-editor-card,
  .assignment-hero {
    padding-inline: 13px;
  }

  .assignment-summary-card,
  .assignment-student-box,
  .assignment-guardian-box,
  .assignment-submissions,
  .assignment-submission-row {
    padding: 12px;
  }
}

@media (max-width: 360px) {
  .assignment-summary-card strong {
    font-size: 21px;
  }
}

@media (max-width: 320px) {
  .assignment-card-actions,
  .assignment-student-actions,
  .assignment-form-actions {
    gap: 6px;
  }
}

@media print {
  .assignment-hero-actions,
  #assignment-editor,
  .assignment-card-actions,
  .assignment-student-actions,
  .assignment-grade-form,
  #assignments-alert {
    display: none !important;
  }

  .assignment-shell,
  .assignment-grid {
    display: block;
  }

  .assignment-card,
  .assignment-hero,
  .assignment-summary-card {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .assignment-card {
    margin-bottom: 12px;
  }
}

/* /ADAMEHR_ASSIGNMENTS_HOMEWORK_STYLE_0059 */

/* ADAMEHR_CLASSROOM_GROUPS_KPI_STYLE_0060 */

.kpi-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  direction: rtl;
  display: grid;
  gap: 16px;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.kpi-shell *,
.kpi-shell *::before,
.kpi-shell *::after {
  box-sizing: border-box;
}

.kpi-hero {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.kpi-hero > div:first-child {
  min-width: 0;
}

.kpi-hero h3,
.kpi-form-card h3,
.kpi-board-card h3,
.kpi-group-card h3 {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  font-weight: 900;
}

.kpi-hero p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.kpi-eyebrow {
  display: block;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.kpi-actions {
  flex: 0 0 auto;
}

.kpi-actions .btn,
.kpi-card-actions .btn,
.kpi-form .btn,
.kpi-shell input,
.kpi-shell select,
.kpi-shell textarea {
  min-height: 44px;
}

.kpi-summary {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.kpi-summary-card {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 16px;
}

.kpi-summary-card strong {
  color: var(--navy);
  font-size: 25px;
  font-weight: 900;
}

.kpi-summary-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.kpi-management {
  min-width: 0;
}

.kpi-management:empty {
  display: none;
}

.kpi-management-grid {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kpi-form-card {
  min-width: 0;
}

.kpi-form-card > header {
  margin-bottom: 14px;
}

.kpi-form {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.kpi-form > label {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 6px;
}

.kpi-form > label > span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.kpi-form input,
.kpi-form select,
.kpi-form textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.kpi-form textarea {
  min-height: 92px;
  resize: vertical;
}

.kpi-form-wide {
  grid-column: 1 / -1;
}

.kpi-form > .btn {
  grid-column: 1 / -1;
  width: 100%;
}

.kpi-board-layout {
  min-width: 0;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  gap: 14px;
}

.kpi-board-card {
  min-width: 0;
  overflow: hidden;
}

.kpi-board-card > header {
  margin-bottom: 14px;
}

.kpi-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.kpi-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
}

.kpi-table th,
.kpi-table td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--line);
  text-align: right;
  vertical-align: middle;
}

.kpi-table th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.kpi-table td {
  font-size: 12px;
}

.kpi-rank-list {
  min-width: 0;
  display: grid;
  gap: 9px;
}

.kpi-rank-item {
  min-width: 0;
  display: grid;
  grid-template-columns:
    38px
    minmax(0, 1fr)
    auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfe;
}

.kpi-rank-number {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef4f6;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.kpi-rank-item > div {
  min-width: 0;
}

.kpi-rank-item strong,
.kpi-rank-item small {
  display: block;
  overflow-wrap: anywhere;
}

.kpi-rank-item small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.kpi-rank-item b {
  color: var(--navy);
  font-size: 18px;
  font-weight: 900;
}

.kpi-group-grid {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kpi-group-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 13px;
}

.kpi-group-card > header {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.kpi-group-card > header > div {
  min-width: 0;
}

.kpi-group-card small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.kpi-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef4f6;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.kpi-created-at,
.kpi-member-count,
.kpi-muted {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.kpi-member-list {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.kpi-member-option {
  min-width: 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfdfe;
  cursor: pointer;
}

.kpi-member-option input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  flex: 0 0 auto;
}

.kpi-member-option span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 700;
}

.kpi-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.kpi-empty {
  grid-column: 1 / -1;
  min-width: 0;
}

.kpi-empty h3 {
  margin: 0;
}

.kpi-empty p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.9;
}

@media (max-width: 1024px) {
  .kpi-management-grid {
    grid-template-columns: 1fr;
  }

  .kpi-group-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .kpi-shell {
    gap: 12px;
  }

  .kpi-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .kpi-actions,
  .kpi-actions .btn {
    width: 100%;
  }

  .kpi-summary,
  .kpi-board-layout {
    grid-template-columns: 1fr;
  }

  .kpi-form {
    grid-template-columns: 1fr;
  }

  .kpi-form-wide,
  .kpi-form > .btn {
    grid-column: auto;
  }

  .kpi-group-card > header {
    flex-direction: column;
    align-items: stretch;
  }

  .kpi-status {
    width: fit-content;
  }

  .kpi-member-list {
    grid-template-columns: 1fr;
  }

  .kpi-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .kpi-card-actions .btn {
    width: 100%;
  }
}

@media (max-width: 414px) {
  .kpi-hero,
  .kpi-form-card,
  .kpi-board-card,
  .kpi-group-card {
    padding-inline: 13px;
  }

  .kpi-summary-card {
    padding: 13px;
  }

  .kpi-rank-item {
    grid-template-columns:
      34px
      minmax(0, 1fr)
      auto;
    padding-inline: 9px;
  }
}

@media (max-width: 360px) {
  .kpi-summary-card strong {
    font-size: 21px;
  }

  .kpi-rank-item b {
    font-size: 16px;
  }
}

@media (max-width: 320px) {
  .kpi-rank-item {
    gap: 6px;
  }

  .kpi-member-option {
    padding-inline: 8px;
  }
}

@media print {
  .kpi-actions,
  #kpi-alert,
  .kpi-management,
  .kpi-card-actions,
  .kpi-members-form {
    display: none !important;
  }

  .kpi-shell,
  .kpi-board-layout,
  .kpi-group-grid {
    display: block;
  }

  .kpi-hero,
  .kpi-summary-card,
  .kpi-board-card,
  .kpi-group-card {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .kpi-board-card,
  .kpi-group-card {
    margin-bottom: 12px;
  }

  .kpi-table-wrap {
    overflow: visible;
  }

  .kpi-table {
    min-width: 0;
  }
}

/* /ADAMEHR_CLASSROOM_GROUPS_KPI_STYLE_0060 */

/* ADAMEHR_KPI_SNAPSHOT_SCHOOL_BOARD_STYLE_0061 */

body.kpi-school-board-open {
  overflow: hidden;
}

.kpi-school-board-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  width: 100vw;
  max-width: 100vw;
  min-width: 0;
  min-height: 100dvh;
  padding: 18px;
  overflow: auto;
  background: rgba(5, 22, 34, .82);
  direction: rtl;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.kpi-school-board-screen {
  width: min(1500px, 100%);
  max-width: 100%;
  min-width: 0;
  min-height: calc(100dvh - 36px);
  margin: 0 auto;
  padding: 22px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 20px;
  border-radius: 22px;
  background: #f7fafb;
  overflow: hidden;
}

.kpi-school-board-screen *,
.kpi-school-board-screen *::before,
.kpi-school-board-screen *::after {
  box-sizing: border-box;
}

.kpi-school-board-header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20, 46, 62, .08);
}

.kpi-school-board-header > div:first-child {
  min-width: 0;
}

.kpi-school-board-header h2 {
  margin: 4px 0 0;
  color: var(--navy);
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.4;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.kpi-school-board-header p {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.kpi-school-board-eyebrow {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.kpi-school-board-tools {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 9px;
}

.kpi-school-board-tools .btn {
  min-width: 44px;
  min-height: 44px;
}

.kpi-school-board-grid {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kpi-school-board-column {
  min-width: 0;
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20, 46, 62, .07);
}

.kpi-school-board-column > header {
  min-width: 0;
  margin-bottom: 14px;
  display: grid;
  gap: 3px;
}

.kpi-school-board-column > header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.kpi-school-board-column > header strong {
  color: var(--navy);
  font-size: 21px;
  font-weight: 900;
}

.kpi-school-board-ranking {
  min-width: 0;
  display: grid;
  gap: 9px;
}

.kpi-school-board-rank {
  min-width: 0;
  min-height: 62px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns:
    46px
    minmax(0, 1fr)
    auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfdfe;
}

.kpi-school-board-position {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef4f6;
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}

.kpi-school-board-rank > div {
  min-width: 0;
}

.kpi-school-board-rank strong,
.kpi-school-board-rank small {
  display: block;
  overflow-wrap: anywhere;
}

.kpi-school-board-rank strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
}

.kpi-school-board-rank small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.kpi-school-board-rank b {
  color: var(--navy);
  font-size: 22px;
  font-weight: 900;
  white-space: nowrap;
}

.kpi-school-board-empty {
  padding: 24px 14px;
  color: var(--muted);
  text-align: center;
  line-height: 1.9;
}

.kpi-school-board-footer {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 18px;
  border-radius: 14px;
  background: #eef4f6;
  color: var(--muted);
  font-size: 12px;
}

.kpi-school-board-footer strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 1024px) {
  .kpi-school-board-modal {
    padding: 12px;
  }

  .kpi-school-board-screen {
    min-height: calc(100dvh - 24px);
    padding: 16px;
  }

  .kpi-school-board-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .kpi-school-board-modal {
    padding: 0;
  }

  .kpi-school-board-screen {
    width: 100%;
    min-height: 100dvh;
    border-radius: 0;
    padding: 12px;
    gap: 12px;
  }

  .kpi-school-board-header {
    align-items: stretch;
    flex-direction: column;
    padding: 15px;
  }

  .kpi-school-board-tools {
    width: 100%;
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .kpi-school-board-tools .btn {
    width: 100%;
  }

  .kpi-school-board-column {
    padding: 14px;
  }
}

@media (max-width: 414px) {
  .kpi-school-board-tools {
    grid-template-columns: 1fr;
  }

  .kpi-school-board-rank {
    grid-template-columns:
      38px
      minmax(0, 1fr)
      auto;
    gap: 8px;
    padding-inline: 9px;
  }

  .kpi-school-board-position {
    width: 36px;
    height: 36px;
  }

  .kpi-school-board-rank b {
    font-size: 18px;
  }

  .kpi-school-board-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 360px) {
  .kpi-school-board-header h2 {
    font-size: 22px;
  }

  .kpi-school-board-rank b {
    font-size: 17px;
  }
}

@media (max-width: 320px) {
  .kpi-school-board-screen {
    padding-inline: 8px;
  }

  .kpi-school-board-column {
    padding-inline: 9px;
  }

  .kpi-school-board-rank {
    gap: 6px;
  }

  .kpi-school-board-rank strong {
    font-size: 13px;
  }
}

@media print {
  body.kpi-school-board-open {
    overflow: visible;
  }

  .kpi-school-board-modal {
    position: static;
    inset: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    overflow: visible;
    background: #fff;
    direction: rtl;
  }

  .kpi-school-board-screen {
    width: 100%;
    min-height: 0;
    padding: 0;
    display: block;
    background: #fff;
  }

  .kpi-school-board-tools {
    display: none !important;
  }

  .kpi-school-board-header,
  .kpi-school-board-column,
  .kpi-school-board-footer {
    margin-bottom: 12px;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .kpi-school-board-grid {
    display: block;
  }

  .kpi-school-board-rank {
    break-inside: avoid;
  }
}

/* /ADAMEHR_KPI_SNAPSHOT_SCHOOL_BOARD_STYLE_0061 */

/* ADAMEHR_STUDENT_PORTAL_STYLE_0062 */

.student-dashboard {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.student-dashboard-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 18px;
  background: var(--surface, #fff);
  min-width: 0;
}

.student-dashboard-hero > div {
  min-width: 0;
}

.student-dashboard-hero h3 {
  margin: 6px 0;
  font-size: clamp(1.25rem, 4vw, 1.8rem);
  overflow-wrap: anywhere;
}

.student-dashboard-hero p {
  margin: 0;
  line-height: 1.9;
}

.student-dashboard-eyebrow {
  display: inline-block;
  font-size: .86rem;
  font-weight: 700;
  opacity: .75;
}

.student-dashboard-code {
  flex: 0 0 auto;
  min-width: 120px;
  padding: 12px 14px;
  text-align: center;
  border-radius: 14px;
  background: rgba(15, 23, 42, .04);
}

.student-dashboard-code small,
.student-dashboard-code b {
  display: block;
}

.student-dashboard-code b {
  margin-top: 4px;
  font-size: 1.08rem;
}

.student-dashboard-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.student-dashboard-metric {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 16px;
  background: var(--surface, #fff);
}

.student-dashboard-metric small,
.student-dashboard-metric strong,
.student-dashboard-metric span {
  display: block;
}

.student-dashboard-metric strong {
  margin: 6px 0;
  font-size: 1.55rem;
  font-weight: 900;
}

.student-dashboard-metric span {
  line-height: 1.7;
  opacity: .75;
}

.student-dashboard-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.student-dashboard-action {
  width: 100%;
  min-height: 64px;
  padding: 12px 14px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  background: var(--surface, #fff);
  font: inherit;
  text-align: start;
  cursor: pointer;
}

.student-dashboard-action strong,
.student-dashboard-action span {
  display: block;
}

.student-dashboard-action strong {
  font-weight: 800;
}

.student-dashboard-action span {
  margin-top: 3px;
  font-size: .85rem;
  opacity: .72;
}

.student-dashboard-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  min-width: 0;
}

.student-dashboard-panel,
.student-dashboard-sections {
  min-width: 0;
  overflow: hidden;
}

.student-dashboard-list {
  display: grid;
  gap: 8px;
}

.student-dashboard-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--border, #e5e7eb);
}

.student-dashboard-list article:last-child {
  border-bottom: 0;
}

.student-dashboard-list article > div {
  min-width: 0;
}

.student-dashboard-list strong,
.student-dashboard-list small {
  display: block;
  overflow-wrap: anywhere;
}

.student-dashboard-list small {
  margin-top: 3px;
  opacity: .7;
}

.student-dashboard-list article > span {
  flex: 0 0 auto;
  font-size: .9rem;
}

.student-section-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.student-section-grid article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
}

.student-section-grid strong,
.student-section-grid span,
.student-section-grid small {
  display: block;
  overflow-wrap: anywhere;
}

.student-section-grid span {
  margin-top: 5px;
}

.student-section-grid small {
  margin-top: 5px;
  opacity: .68;
}

@media (min-width: 600px) {
  .student-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-dashboard-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .student-dashboard-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .student-dashboard-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .student-dashboard-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-section-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .student-dashboard-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .student-dashboard-code {
    width: 100%;
  }

  .student-dashboard-list article {
    align-items: flex-start;
    flex-direction: column;
  }

  .student-dashboard-list article > span {
    flex: none;
  }
}

@media print {
  .sidebar,
  .topbar-actions,
  .student-dashboard-actions {
    display: none !important;
  }

  .shell {
    display: block;
    min-height: 0;
  }

  .main {
    display: block;
    min-width: 0;
  }

  .topbar {
    position: static;
    padding: 0 0 12px;
    border-bottom: 0;
    background: #fff;
    backdrop-filter: none;
  }

  .content {
    padding: 0;
  }

  .student-dashboard {
    display: block;
  }

  .student-dashboard-hero,
  .student-dashboard-metric,
  .student-dashboard-panel,
  .student-dashboard-sections {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .student-dashboard-layout,
  .student-dashboard-metrics,
  .student-section-grid {
    display: grid;
  }
}

/* ADAMEHR_PARENT_PORTAL_STYLE_0063 */

.parent-dashboard {
  display: grid;
  gap: 16px;
  min-width: 0;
  direction: rtl;
}

.parent-dashboard-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 18px;
  background: var(--surface, #fff);
}

.parent-dashboard-hero > div {
  min-width: 0;
}

.parent-dashboard-hero h3 {
  margin: 6px 0;
  font-size: clamp(1.25rem, 4vw, 1.8rem);
  overflow-wrap: anywhere;
}

.parent-dashboard-hero p,
.parent-dashboard-note p,
.parent-dashboard-section-head p {
  margin: 0;
  line-height: 1.9;
}

.parent-dashboard-eyebrow,
.parent-dashboard-guardian small,
.parent-dashboard-metric small,
.parent-dashboard-metric span,
.parent-child-card small,
.parent-child-stats,
.parent-child-sections {
  color: var(--muted);
}

.parent-dashboard-guardian {
  flex: 0 0 auto;
  display: grid;
  gap: 4px;
  min-width: 150px;
  max-width: 280px;
  padding: 12px 14px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 14px;
}

.parent-dashboard-guardian b {
  overflow-wrap: anywhere;
}

.parent-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.parent-dashboard-metric {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 16px;
  background: var(--surface, #fff);
}

.parent-dashboard-metric strong {
  font-size: 1.65rem;
  line-height: 1.2;
}

.parent-dashboard-metric span,
.parent-dashboard-metric small {
  overflow-wrap: anywhere;
}

.parent-dashboard-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.parent-dashboard-action {
  min-width: 0;
  min-height: 64px;
  padding: 12px 14px;
  display: grid;
  align-content: center;
  gap: 4px;
  text-align: right;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 14px;
  background: var(--surface, #fff);
  cursor: pointer;
}

.parent-dashboard-action strong,
.parent-dashboard-action span {
  overflow-wrap: anywhere;
}

.parent-dashboard-action span {
  font-size: 12px;
  color: var(--muted);
}

.parent-dashboard-children {
  min-width: 0;
}

.parent-dashboard-section-head {
  margin-bottom: 14px;
}

.parent-dashboard-section-head h3 {
  margin: 0 0 4px;
}

.parent-child-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.parent-child-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 16px;
  background: var(--surface, #fff);
}

.parent-child-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.parent-child-card header > div {
  min-width: 0;
}

.parent-child-card h4 {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}

.parent-child-code {
  flex: 0 0 auto;
  max-width: 45%;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.parent-child-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin-top: 14px;
  font-size: 12.5px;
}

.parent-child-sections {
  margin: 12px 0 0;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.parent-dashboard-note {
  min-width: 0;
}

.parent-dashboard-note strong {
  display: block;
  margin-bottom: 5px;
}

@media (max-width: 1024px) {
  .parent-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .parent-child-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .parent-dashboard-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 16px;
  }

  .parent-dashboard-guardian {
    width: 100%;
    max-width: none;
  }

  .parent-dashboard-actions {
    grid-template-columns: 1fr;
  }

  .parent-dashboard-action {
    min-height: 64px;
  }
}

@media (max-width: 480px) {
  .parent-dashboard {
    gap: 12px;
  }

  .parent-dashboard-metrics {
    grid-template-columns: 1fr;
  }

  .parent-dashboard-metric,
  .parent-child-card {
    padding: 14px;
  }

  .parent-child-card header {
    flex-direction: column;
  }

  .parent-child-code {
    max-width: 100%;
  }
}

@media print {
  .parent-dashboard-actions {
    display: none !important;
  }

  .parent-dashboard {
    display: block;
    direction: rtl;
  }

  .parent-dashboard-hero,
  .parent-dashboard-metric,
  .parent-dashboard-children,
  .parent-child-card,
  .parent-dashboard-note {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .parent-dashboard-metrics,
  .parent-child-grid {
    display: grid;
  }
}

/* /ADAMEHR_PARENT_PORTAL_STYLE_0063 */

/*
 * ADAMEHR_0065_SCHOOL_NOTIFICATION_CENTER_UI
 * Mobile First / RTL / Persian / Touch >= 44px / Print
 */

.school-notification-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  direction: rtl;
  text-align: right;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.school-notification-page,
.school-notification-page * {
  box-sizing: border-box;
}

.school-notification-page .card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.school-notification-page .card > header {
  min-width: 0;
}

.school-notification-page .card > header > div {
  min-width: 0;
}

.school-notification-page h3,
.school-notification-page p,
.school-notification-page strong,
.school-notification-page span {
  overflow-wrap: anywhere;
}

.school-notification-page button,
.school-notification-page input,
.school-notification-page select {
  min-height: 44px;
}

.school-notification-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
}

.school-notification-summary-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--soft);
}

.school-notification-summary-item > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.school-notification-summary-item > strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.8;
}

.school-notification-compose-card {
  border-top: 3px solid var(--teal);
}

.school-notification-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
}

.school-notification-form-grid label {
  display: block;
  min-width: 0;
}

.school-notification-form-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}

.school-notification-form-grid input,
.school-notification-form-grid select,
.school-notification-form-grid textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid #c8d8e3;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  outline: none;
}

.school-notification-form-grid input,
.school-notification-form-grid select {
  min-height: 44px;
}

.school-notification-form-grid textarea {
  min-height: 132px;
  resize: vertical;
  line-height: 1.9;
}

.school-notification-form-grid input:focus,
.school-notification-form-grid select:focus,
.school-notification-form-grid textarea:focus {
  border-color: var(--teal);
  box-shadow:
    0 0 0 3px rgba(47, 158, 140, .12);
}

.school-notification-options {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-top: 16px;
}

.school-notification-check {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  cursor: pointer;
}

.school-notification-check input {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin: 0;
}

.school-notification-send {
  width: 100%;
}

.school-notification-privacy {
  margin: 13px 0 0;
  padding: 10px 12px;
  border-radius: 11px;
  background: #f4faf8;
  color: #46635d;
  font-size: 11.5px;
  line-height: 1.9;
}

.school-notification-inbox-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.school-notification-item {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-inline-start: 4px solid #cbd5df;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.school-notification-priority-high {
  border-inline-start-color: var(--warn);
}

.school-notification-priority-urgent {
  border-inline-start-color: var(--danger);
}

.school-notification-unread {
  background: #f8fcfb;
  box-shadow:
    inset 0 0 0 1px rgba(47, 158, 140, .08);
}

.school-notification-item-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
}

.school-notification-item-title {
  min-width: 0;
}

.school-notification-item-title > strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.9;
}

.school-notification-item-title > span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}

.school-notification-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.school-notification-item-body {
  margin-top: 12px;
  color: var(--ink);
  font-size: 13px;
  line-height: 2;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.school-notification-item-actions {
  display: flex;
  justify-content: stretch;
  margin-top: 12px;
}

.school-notification-read {
  width: 100%;
}

.school-notification-loading {
  padding: 18px 12px;
  color: var(--muted);
  text-align: center;
  line-height: 1.9;
}

@media (max-width: 414px) {
  .school-notification-page .card {
    padding: 15px 14px;
  }

  .school-notification-page .card > header {
    flex-direction: column;
    align-items: stretch;
  }

  #btn-school-notification-refresh {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .school-notification-summary-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .school-notification-form-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .school-notification-wide {
    grid-column: 1 / -1;
  }

  .school-notification-options {
    flex-direction: row;
    align-items: center;
  }

  .school-notification-send {
    width: auto;
    margin-inline-start: auto;
  }

  .school-notification-item-head {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }

  .school-notification-item-actions {
    justify-content: flex-end;
  }

  .school-notification-read {
    width: auto;
    min-width: 100px;
  }
}

@media print {
  .school-notification-page {
    display: block !important;
    direction: rtl !important;
    color: #000 !important;
    background: #fff !important;
  }

  .school-notification-compose-card,
  #school-notification-alert,
  #btn-school-notification-refresh,
  .school-notification-item-actions {
    display: none !important;
  }

  .school-notification-summary-card,
  .school-notification-inbox-card,
  .school-notification-summary-item,
  .school-notification-item {
    box-shadow: none !important;
    break-inside: avoid;
  }

  .school-notification-inbox-list {
    display: block !important;
  }

  .school-notification-item {
    margin-bottom: 8px;
  }
}

/* ADAMEHR_ASSESSMENTS_GRADEBOOK_STYLE_0066 */

.assessment-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  gap: 16px;
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.assessment-shell *,
.assessment-shell *::before,
.assessment-shell *::after {
  box-sizing: border-box;
}

.assessment-hero,
.assessment-card-head,
.assessment-editor-card > header,
.assessment-detail-head,
.assessment-score-row > header {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.assessment-hero > div,
.assessment-card-head > div,
.assessment-detail-head > div {
  min-width: 0;
}

.assessment-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.assessment-hero h3,
.assessment-card h3,
.assessment-editor-card h3,
.assessment-detail-card h3 {
  margin: 4px 0 0;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.assessment-hero p,
.assessment-description,
.assessment-detail-head p,
.assessment-toolbar-note,
.assessment-published-at,
.assessment-teacher-comment {
  overflow-wrap: anywhere;
}

.assessment-hero p,
.assessment-description,
.assessment-detail-head p,
.assessment-toolbar-note,
.assessment-published-at {
  color: var(--muted);
}

.assessment-hero-actions,
.assessment-card-actions,
.assessment-detail-actions,
.assessment-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.assessment-hero-actions .btn,
.assessment-card-actions .btn,
.assessment-detail-actions .btn,
.assessment-form-actions .btn,
.assessment-score-form .btn {
  min-height: 44px;
}

.assessment-toolbar,
.assessment-card,
.assessment-editor-card,
.assessment-detail-card {
  min-width: 0;
}

.assessment-filter-grid,
.assessment-form-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.assessment-filter-grid label,
.assessment-form-grid label,
.assessment-score-form label {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.assessment-filter-grid label > span,
.assessment-form-grid label > span,
.assessment-score-form label > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.assessment-filter-grid select,
.assessment-form-grid input,
.assessment-form-grid select,
.assessment-form-grid textarea,
.assessment-score-form input,
.assessment-score-form select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--navy);
  font: inherit;
}

.assessment-form-grid textarea {
  min-height: 104px;
  resize: vertical;
}

.assessment-number-input {
  direction: ltr;
  text-align: center;
}

.assessment-form-wide {
  grid-column: 1 / -1;
}

.assessment-summary {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.assessment-metric {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.assessment-metric span,
.assessment-metric small {
  color: var(--muted);
  font-size: 12px;
}

.assessment-metric strong {
  font-size: 22px;
  font-weight: 900;
}

.assessment-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.assessment-card {
  min-width: 0;
  display: grid;
  gap: 14px;
  break-inside: avoid;
}

.assessment-type {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.assessment-status,
.assessment-result-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.assessment-status-draft {
  background: #fff7df;
}

.assessment-status-published {
  background: #eaf8ef;
}

.assessment-status-archived {
  background: #f1f3f6;
}

.assessment-result-badge {
  background: #eef3ff;
}

.assessment-meta {
  min-width: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.assessment-meta > div,
.assessment-result-static > div,
.assessment-card-result {
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  background: var(--soft, #f5f7fa);
}

.assessment-meta dt,
.assessment-result-static span {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.assessment-meta dd {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.assessment-card-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.assessment-form-actions {
  margin-top: 14px;
  justify-content: flex-end;
}

.assessment-detail-card,
.assessment-editor-card {
  display: grid;
  gap: 16px;
}

.assessment-score-list {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.assessment-score-row {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  break-inside: avoid;
}

.assessment-score-row > header small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.assessment-result-static {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.assessment-result-static strong {
  display: block;
  overflow-wrap: anywhere;
}

.assessment-score-form {
  min-width: 0;
  display: grid;
  grid-template-columns:
    150px
    minmax(100px, .7fr)
    minmax(140px, 1fr)
    minmax(180px, 1.4fr)
    auto;
  align-items: end;
  gap: 10px;
}

.assessment-skeleton {
  min-height: 150px;
  display: grid;
  align-content: center;
  gap: 10px;
}

.assessment-skeleton span {
  display: block;
  height: 13px;
  border-radius: 999px;
  background: var(--soft, #f5f7fa);
}

.assessment-skeleton span:nth-child(1) { width: 42%; }
.assessment-skeleton span:nth-child(2) { width: 78%; }
.assessment-skeleton span:nth-child(3) { width: 60%; }

@media (max-width: 1024px) {
  .assessment-grid {
    grid-template-columns: 1fr;
  }

  .assessment-score-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .assessment-hero,
  .assessment-card-head,
  .assessment-editor-card > header,
  .assessment-detail-head,
  .assessment-score-row > header {
    flex-direction: column;
    align-items: stretch;
  }

  .assessment-summary,
  .assessment-filter-grid,
  .assessment-form-grid,
  .assessment-result-static,
  .assessment-score-form {
    grid-template-columns: 1fr;
  }

  .assessment-form-wide {
    grid-column: auto;
  }

  .assessment-hero-actions,
  .assessment-card-actions,
  .assessment-detail-actions,
  .assessment-form-actions {
    width: 100%;
  }

  .assessment-hero-actions .btn,
  .assessment-card-actions .btn,
  .assessment-detail-actions .btn,
  .assessment-form-actions .btn,
  .assessment-score-form .btn {
    min-height: 44px;
    flex: 1 1 160px;
  }
}

@media (max-width: 414px) {
  .assessment-shell {
    gap: 10px;
  }

  .assessment-hero,
  .assessment-toolbar,
  .assessment-card,
  .assessment-editor-card,
  .assessment-detail-card {
    padding: 13px;
  }

  .assessment-meta {
    grid-template-columns: 1fr;
  }

  .assessment-card-result {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 360px) {
  .assessment-hero-actions,
  .assessment-card-actions,
  .assessment-detail-actions,
  .assessment-form-actions {
    flex-direction: column;
  }

  .assessment-hero-actions .btn,
  .assessment-card-actions .btn,
  .assessment-detail-actions .btn,
  .assessment-form-actions .btn {
    width: 100%;
    flex: 0 0 auto;
  }
}

@media (max-width: 320px) {
  .assessment-shell {
    font-size: 13px;
  }

  .assessment-hero,
  .assessment-toolbar,
  .assessment-card,
  .assessment-editor-card,
  .assessment-detail-card {
    padding: 11px;
  }
}

@media print {
  .assessment-no-print,
  #assessments-alert,
  #assessment-editor,
  .assessment-toolbar,
  .assessment-hero-actions {
    display: none !important;
  }

  .assessment-shell {
    display: block;
    width: 100%;
    max-width: 100%;
    direction: rtl;
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  }

  .assessment-hero,
  .assessment-card,
  .assessment-detail-card,
  .assessment-score-row,
  .assessment-metric {
    box-shadow: none !important;
    border-color: #bbb;
    break-inside: avoid;
  }

  .assessment-summary,
  .assessment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .assessment-score-row {
    margin-bottom: 8px;
  }
}

/* /ADAMEHR_ASSESSMENTS_GRADEBOOK_STYLE_0066 */

/* ADAMEHR_REPORT_CARDS_RESULTS_STYLE_0067 */

.report-card-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  gap: 12px;
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.report-card-shell *,
.report-card-shell *::before,
.report-card-shell *::after {
  box-sizing: border-box;
}

.report-card-shell button,
.report-card-shell select {
  min-height: 44px;
  font: inherit;
}

.report-card-shell textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 110px;
  padding: 10px 12px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 12px;
  font: inherit;
}

.report-card-hero,
.report-card-detail-head,
.report-card-generation-card > header,
.report-card-course-row > header {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.report-card-hero > div,
.report-card-detail-head > div,
.report-card-generation-card > header > div,
.report-card-course-row > header > div {
  min-width: 0;
}

.report-card-hero h3,
.report-card-detail-head h3,
.report-card-generation-card h3,
.report-card-course-row h4 {
  overflow-wrap: anywhere;
}

.report-card-hero p,
.report-card-detail-head p,
.report-card-generation-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.9;
}

.report-card-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
}

.report-card-hero-actions,
.report-card-detail-actions,
.report-card-generation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.report-card-filter-grid,
.report-card-generation-form,
.report-card-comment-form {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.report-card-filter-grid label,
.report-card-generation-form label,
.report-card-comment-form label {
  min-width: 0;
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
}

.report-card-filter-grid select,
.report-card-generation-form select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.report-card-summary {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.report-card-summary-card {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.report-card-summary-card span {
  color: var(--muted);
  font-size: 12px;
}

.report-card-summary-card strong {
  color: var(--navy);
  font-size: 23px;
  font-weight: 900;
}

.report-card-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.report-card-list-card {
  min-width: 0;
  max-width: 100%;
  display: grid;
  gap: 12px;
}

.report-card-list-card > header {
  margin: 0;
}

.report-card-list-meta {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.report-card-list-meta > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
}

.report-card-list-meta dt {
  color: var(--muted);
  font-size: 11px;
}

.report-card-list-meta dd {
  margin: 3px 0 0;
  color: var(--navy);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.report-card-status,
.report-card-result-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.report-card-status-draft {
  background: #fff7ed;
  color: #945810;
}

.report-card-status-published {
  background: #eaf7f3;
  color: #197461;
}

.report-card-result-graded {
  background: #edf7ff;
  color: #276697;
}

.report-card-result-absent {
  background: #fff1f2;
  color: #a43c49;
}

.report-card-result-exempt {
  background: #f3f0ff;
  color: #6851a4;
}

.report-card-detail {
  min-width: 0;
  max-width: 100%;
  scroll-margin-top: 88px;
}

.report-card-detail-card {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.report-card-period-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
  color: var(--muted);
}

.report-card-detail-metrics {
  min-width: 0;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 14px;
}

.report-card-detail-metric {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.report-card-detail-metric span {
  color: var(--muted);
  font-size: 11px;
}

.report-card-detail-metric strong {
  color: var(--navy);
  font-size: 20px;
  font-weight: 900;
}

.report-card-course-list {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.report-card-course-row {
  min-width: 0;
  max-width: 100%;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  break-inside: avoid;
}

.report-card-course-row h4 {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

.report-card-course-score {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0;
}

.report-card-course-score span,
.report-card-course-score small {
  color: var(--muted);
  font-size: 11px;
}

.report-card-course-score strong {
  color: var(--navy);
  font-size: 25px;
  font-weight: 900;
}

.report-card-teacher-comment {
  margin: 0 0 10px;
  padding: 10px;
  border-radius: 11px;
  background: var(--soft);
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.report-card-muted,
.report-card-empty {
  color: var(--muted);
}

.report-card-comment-form .btn {
  width: 100%;
}

.report-card-skeleton {
  display: grid;
  gap: 9px;
}

.report-card-skeleton span {
  display: block;
  height: 15px;
  border-radius: 999px;
  background: #edf2f6;
}

.report-card-skeleton span:nth-child(1) {
  width: 42%;
}

.report-card-skeleton span:nth-child(2) {
  width: 78%;
}

.report-card-skeleton span:nth-child(3) {
  width: 58%;
}

@media (min-width: 600px) {
  .report-card-summary {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .report-card-filter-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .report-card-detail-metrics {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 769px) {
  .report-card-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .report-card-generation-form {
    grid-template-columns:
      repeat(3, minmax(0, 1fr))
      auto;
    align-items: end;
  }

  .report-card-comment-form {
    grid-template-columns:
      minmax(0, 1fr)
      auto;
    align-items: end;
  }

  .report-card-comment-form .btn {
    width: auto;
  }
}

@media (max-width: 768px) {
  .report-card-hero,
  .report-card-detail-head,
  .report-card-generation-card > header,
  .report-card-course-row > header {
    flex-direction: column;
    align-items: stretch;
  }

  .report-card-hero-actions,
  .report-card-detail-actions,
  .report-card-generation-actions {
    width: 100%;
  }

  .report-card-hero-actions .btn,
  .report-card-detail-actions .btn,
  .report-card-generation-actions .btn {
    flex: 1 1 180px;
  }
}

@media (max-width: 414px) {
  .report-card-shell {
    gap: 10px;
  }

  .report-card-hero,
  .report-card-toolbar,
  .report-card-generation-card,
  .report-card-list-card,
  .report-card-detail-card {
    padding: 13px;
  }

  .report-card-list-meta,
  .report-card-detail-metrics {
    grid-template-columns: 1fr;
  }

  .report-card-period-line {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 360px) {
  .report-card-hero-actions,
  .report-card-detail-actions,
  .report-card-generation-actions {
    flex-direction: column;
  }

  .report-card-hero-actions .btn,
  .report-card-detail-actions .btn,
  .report-card-generation-actions .btn {
    width: 100%;
    flex: 0 0 auto;
  }
}

@media (max-width: 320px) {
  .report-card-shell {
    font-size: 13px;
  }

  .report-card-hero,
  .report-card-toolbar,
  .report-card-generation-card,
  .report-card-list-card,
  .report-card-detail-card,
  .report-card-course-row {
    padding-inline: 10px;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 12mm;
  }

  .sidebar,
  .topbar,
  .report-card-hero,
  .report-card-toolbar,
  .report-card-generation,
  .report-card-summary,
  .report-card-grid,
  .report-card-detail-actions,
  .report-card-comment-form,
  #report-cards-alert {
    display: none !important;
  }

  body {
    overflow: visible !important;
    background: #fff !important;
    font-family:
      "Vazirmatn",
      Tahoma,
      Arial,
      sans-serif !important;
  }

  .shell,
  .main,
  .content,
  #page-content,
  .report-card-shell,
  .report-card-detail,
  .report-card-detail-card {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .report-card-shell,
  .report-card-detail-card {
    direction: rtl !important;
  }

  .report-card-detail-card {
    border: 0 !important;
    box-shadow: none !important;
  }

  .report-card-course-row {
    break-inside: avoid;
    page-break-inside: avoid;
    box-shadow: none !important;
  }
}

/* /ADAMEHR_REPORT_CARDS_RESULTS_STYLE_0067 */


/* ADAMEHR_SCHOOL_FINANCE_UI_STYLE_0068 */

.finance-page {
  direction: rtl;
  width: 100%;
  min-width: 0;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.finance-page *,
.finance-page *::before,
.finance-page *::after {
  box-sizing: border-box;
}

.finance-hero,
.finance-print-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.finance-hero {
  margin-bottom: 16px;
}

.finance-hero h3,
.finance-print-header h3 {
  margin: 4px 0 6px;
}

.finance-hero p,
.finance-print-header p {
  margin: 0;
  line-height: 1.9;
}

.finance-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.finance-summary-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.finance-summary-card {
  min-width: 0;
}

.finance-summary-card span {
  display: block;
  font-size: 12px;
  opacity: .72;
  margin-bottom: 7px;
}

.finance-summary-card strong {
  display: block;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.finance-form-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1.2fr);
  gap: 16px;
  margin-bottom: 16px;
}

.finance-form-card,
.finance-section,
.finance-detail,
.finance-readonly-note {
  margin-bottom: 16px;
  min-width: 0;
}

.finance-payment-form-card {
  margin-bottom: 16px;
}

.finance-form {
  display: grid;
  gap: 14px;
}

.finance-form-fields {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.finance-form label,
.finance-line-row label,
.finance-allocation-row label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.finance-form label > span,
.finance-line-row label > span,
.finance-allocation-row label > span {
  font-size: 12px;
  font-weight: 700;
}

.finance-form input,
.finance-form select,
.finance-form textarea,
.finance-line-row input,
.finance-allocation-row input,
.finance-allocation-row select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.finance-form textarea {
  min-height: 96px;
  resize: vertical;
}

.finance-wide-field {
  grid-column: 1 / -1;
}

.finance-lines-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.finance-line-row,
.finance-allocation-row {
  display: grid;
  grid-template-columns:
    minmax(0, 1.3fr)
    minmax(150px, .7fr)
    auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  margin-top: 10px;
  border: 1px solid rgba(127, 127, 127, .18);
  border-radius: 14px;
}

.finance-touch,
.finance-page button,
.finance-page select,
.finance-page input {
  min-height: 44px;
}

.finance-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.finance-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.finance-table th,
.finance-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.finance-row-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.finance-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(127, 127, 127, .12);
}

.finance-status-issued,
.finance-status-partially_paid {
  background: rgba(34, 116, 165, .12);
}

.finance-status-paid {
  background: rgba(41, 132, 82, .13);
}

.finance-status-void {
  background: rgba(180, 55, 55, .11);
}

.finance-empty {
  padding: 28px 16px;
  text-align: center;
  opacity: .72;
}

.finance-detail {
  scroll-margin-top: 16px;
}

.finance-print-sheet {
  direction: rtl;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.finance-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.finance-detail-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.finance-detail-grid > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(127, 127, 127, .18);
  border-radius: 12px;
}

.finance-detail-grid span {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  opacity: .68;
}

.finance-detail-grid strong {
  display: block;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.finance-total-row {
  font-weight: 900;
}

.finance-note {
  margin: 14px 0;
  padding: 12px;
  border-radius: 12px;
  background: rgba(127, 127, 127, .08);
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.finance-payment-history {
  margin-top: 18px;
}

.finance-readonly-note p {
  margin-bottom: 0;
  line-height: 1.9;
}

.finance-receipt-sheet {
  max-width: 860px;
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .finance-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .finance-form-grid {
    grid-template-columns: 1fr;
  }

  .finance-detail-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .finance-hero,
  .finance-print-header {
    flex-direction: column;
    align-items: stretch;
  }

  .finance-form-fields {
    grid-template-columns: 1fr;
  }

  .finance-wide-field {
    grid-column: auto;
  }

  .finance-line-row,
  .finance-allocation-row {
    grid-template-columns: 1fr;
  }

  .finance-detail-actions {
    justify-content: stretch;
  }

  .finance-detail-actions .btn {
    flex: 1 1 160px;
  }
}

@media (max-width: 480px) {
  .finance-summary-grid,
  .finance-detail-grid {
    grid-template-columns: 1fr;
  }

  .finance-page .btn {
    min-height: 44px;
  }

  .finance-lines-head {
    align-items: stretch;
    flex-direction: column;
  }

  .finance-lines-head .btn,
  .finance-line-row .btn,
  .finance-allocation-row .btn {
    width: 100%;
  }

  .finance-summary-card strong {
    font-size: 18px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  body.finance-printing {
    background: #fff !important;
  }

  body.finance-printing * {
    visibility: hidden !important;
  }

  body.finance-printing
  .finance-print-target,
  body.finance-printing
  .finance-print-target * {
    visibility: visible !important;
  }

  body.finance-printing
  .finance-print-target {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #000 !important;
    direction: rtl !important;
    font-family:
      Vazirmatn,
      Tahoma,
      Arial,
      sans-serif !important;
  }

  body.finance-printing
  .finance-no-print {
    display: none !important;
  }

  body.finance-printing
  .finance-table-wrap {
    overflow: visible !important;
  }

  body.finance-printing
  .finance-table {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.finance-printing
  .finance-table th,
  body.finance-printing
  .finance-table td {
    white-space: normal !important;
    color: #000 !important;
  }

  body.finance-printing
  .finance-detail-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}

/* /ADAMEHR_SCHOOL_FINANCE_UI_STYLE_0068 */

/* ADAMEHR_LIBRARY_UI_STYLE_0083 */

.library-page {
  direction: rtl;
  width: 100%;
  min-width: 0;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.library-page *,
.library-page *::before,
.library-page *::after {
  box-sizing: border-box;
}

.library-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.library-hero h3 {
  margin: 4px 0 6px;
}

.library-hero p {
  margin: 0;
  line-height: 1.9;
}

.library-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.library-section,
.library-form-card,
.library-readonly-note {
  margin-bottom: 16px;
  min-width: 0;
}

.library-search-form {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.library-search-form input {
  flex: 1 1 240px;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.library-form-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}

.library-form {
  display: grid;
  gap: 14px;
}

.library-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.library-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.library-form label > span {
  font-size: 12px;
  font-weight: 700;
}

.library-form input,
.library-form select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.library-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.library-hint,
.library-note {
  margin: 0;
  font-size: 12px;
  opacity: .72;
  line-height: 1.9;
}

.library-touch,
.library-page button,
.library-page select,
.library-page input {
  min-height: 44px;
}

.library-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.library-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.library-table th,
.library-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.library-row-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.library-status,
.library-loan-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(127, 127, 127, .12);
}

.library-status-active {
  background: rgba(41, 132, 82, .13);
}

.library-status-archived {
  background: rgba(127, 127, 127, .18);
}

.library-loan-status-borrowed {
  background: rgba(34, 116, 165, .12);
}

.library-loan-status-returned {
  background: rgba(41, 132, 82, .13);
}

.library-loan-status-lost {
  background: rgba(180, 55, 55, .11);
}

.library-readonly-note p {
  margin-bottom: 0;
  line-height: 1.9;
}

@media (max-width: 1024px) {
  .library-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .library-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .library-form-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .library-search-form {
    flex-direction: column;
  }

  .library-search-form button {
    width: 100%;
  }

  .library-page .btn {
    min-height: 44px;
  }
}

/* /ADAMEHR_LIBRARY_UI_STYLE_0083 */

/* ADAMEHR_HEALTH_UI_STYLE_0085 */

.health-page {
  direction: rtl;
  width: 100%;
  min-width: 0;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.health-page *,
.health-page *::before,
.health-page *::after {
  box-sizing: border-box;
}

.health-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.health-hero h3 {
  margin: 4px 0 6px;
}

.health-hero p {
  margin: 0;
  line-height: 1.9;
}

.health-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.health-section {
  margin-bottom: 16px;
  min-width: 0;
}

.health-form {
  display: grid;
  gap: 14px;
}

.health-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.health-field-wide {
  grid-column: 1 / -1;
}

.health-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.health-form label > span {
  font-size: 12px;
  font-weight: 700;
}

.health-form input,
.health-form select,
.health-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.health-form textarea {
  min-height: 70px;
  resize: vertical;
}

.health-check {
  display: flex !important;
  grid-auto-flow: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.health-check input {
  width: auto;
  min-height: 0;
}

.health-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.health-note {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .72;
  line-height: 1.9;
}

.health-loading {
  padding: 16px;
  opacity: .72;
}

.health-touch,
.health-page button,
.health-page select,
.health-page input,
.health-page textarea {
  min-height: 44px;
}

.health-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.health-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.health-table th,
.health-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.health-table td.health-incident-description {
  white-space: normal;
  max-width: 320px;
  line-height: 1.8;
}

.health-profile-view {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.health-profile-view div {
  min-width: 0;
}

.health-profile-view dt {
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
  margin-bottom: 4px;
}

.health-profile-view dd {
  margin: 0;
  line-height: 1.9;
  word-break: break-word;
}

@media (max-width: 768px) {
  .health-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .health-form-fields,
  .health-profile-view {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .health-page .btn {
    min-height: 44px;
  }
}

/* /ADAMEHR_HEALTH_UI_STYLE_0085 */

/* ADAMEHR_TRANSPORT_UI_STYLE_0087 */

.transport-page {
  direction: rtl;
  width: 100%;
  min-width: 0;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.transport-page *,
.transport-page *::before,
.transport-page *::after {
  box-sizing: border-box;
}

.transport-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.transport-hero h3 {
  margin: 4px 0 6px;
}

.transport-hero p {
  margin: 0;
  line-height: 1.9;
}

.transport-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.transport-alert {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.9;
}

.transport-section {
  margin-bottom: 16px;
  min-width: 0;
}

.transport-form-card {
  margin-bottom: 16px;
}

.transport-route-form-card {
  margin-bottom: 16px;
}

.transport-form {
  display: grid;
  gap: 14px;
}

.transport-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.transport-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.transport-form label > span {
  font-size: 12px;
  font-weight: 700;
}

.transport-form input,
.transport-form select,
.transport-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.transport-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.transport-hint {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .72;
  line-height: 1.9;
}

.transport-note {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .72;
  line-height: 1.9;
}

.transport-loading {
  padding: 16px;
  opacity: .72;
}

.transport-touch,
.transport-page button,
.transport-page select,
.transport-page input,
.transport-page textarea {
  min-height: 44px;
}

.transport-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.transport-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.transport-table th,
.transport-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.transport-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.transport-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.transport-status-active {
  background: rgba(34, 197, 94, .16);
  color: #16a34a;
}

.transport-status-inactive {
  background: rgba(148, 163, 184, .2);
  color: #64748b;
}

.transport-assignment-view {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.transport-assignment-view div {
  min-width: 0;
}

.transport-assignment-view dt {
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
  margin-bottom: 4px;
}

.transport-assignment-view dd {
  margin: 0;
  line-height: 1.9;
  word-break: break-word;
}

@media (max-width: 768px) {
  .transport-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .transport-form-fields,
  .transport-assignment-view {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .transport-page .btn {
    min-height: 44px;
  }
}

/* /ADAMEHR_TRANSPORT_UI_STYLE_0087 */

/* ADAMEHR_DISCIPLINE_UI_STYLE_0089 */

.discipline-page {
  direction: rtl;
  width: 100%;
  min-width: 0;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.discipline-page *,
.discipline-page *::before,
.discipline-page *::after {
  box-sizing: border-box;
}

.discipline-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.discipline-hero h3 {
  margin: 4px 0 6px;
}

.discipline-hero p {
  margin: 0;
  line-height: 1.9;
}

.discipline-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.discipline-section {
  margin-bottom: 16px;
  min-width: 0;
}

.discipline-section header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.discipline-form-card {
  margin-bottom: 16px;
}

.discipline-form {
  display: grid;
  gap: 14px;
}

.discipline-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.discipline-field-wide {
  grid-column: 1 / -1;
}

.discipline-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.discipline-form label > span {
  font-size: 12px;
  font-weight: 700;
}

.discipline-form input,
.discipline-form select,
.discipline-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.discipline-form textarea {
  min-height: 90px;
  resize: vertical;
}

.discipline-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.discipline-counseling-picker {
  margin-bottom: 14px;
}

.discipline-note {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .72;
  line-height: 1.9;
}

.discipline-loading {
  padding: 16px;
  opacity: .72;
}

.discipline-touch,
.discipline-page button,
.discipline-page select,
.discipline-page input,
.discipline-page textarea {
  min-height: 44px;
}

.discipline-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.discipline-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.discipline-table th,
.discipline-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.discipline-table td.discipline-incident-description {
  white-space: normal;
  max-width: 320px;
  line-height: 1.8;
}

.discipline-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.discipline-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.discipline-status-open {
  background: rgba(234, 179, 8, .18);
  color: #a16207;
}

.discipline-status-resolved {
  background: rgba(34, 197, 94, .16);
  color: #16a34a;
}

.discipline-counseling-list {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.discipline-counseling-note {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(148, 163, 184, .12);
}

.discipline-counseling-note p {
  margin: 0 0 6px;
  line-height: 1.9;
  white-space: pre-wrap;
  word-break: break-word;
}

.discipline-note-meta {
  font-size: 11px;
  opacity: .68;
}

@media (max-width: 768px) {
  .discipline-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .discipline-section header {
    flex-direction: column;
    align-items: stretch;
  }

  .discipline-form-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .discipline-page .btn {
    min-height: 44px;
  }
}

/* /ADAMEHR_DISCIPLINE_UI_STYLE_0089 */

/* ADAMEHR_ADMISSIONS_UI_STYLE_0091 */

.admissions-page {
  direction: rtl;
  width: 100%;
  min-width: 0;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.admissions-page *,
.admissions-page *::before,
.admissions-page *::after {
  box-sizing: border-box;
}

.admissions-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.admissions-hero h3 {
  margin: 4px 0 6px;
}

.admissions-hero p {
  margin: 0;
  line-height: 1.9;
}

.admissions-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.admissions-section {
  margin-bottom: 16px;
  min-width: 0;
}

.admissions-section header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.admissions-form-card {
  margin-bottom: 16px;
}

.admissions-form {
  display: grid;
  gap: 14px;
}

.admissions-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admissions-form-full {
  grid-column: 1 / -1;
}

.admissions-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.admissions-form label > span {
  font-size: 12px;
  font-weight: 700;
}

.admissions-form input,
.admissions-form select,
.admissions-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.admissions-form textarea {
  min-height: 90px;
  resize: vertical;
}

.admissions-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.admissions-note {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .72;
  line-height: 1.9;
}

.admissions-touch,
.admissions-page button,
.admissions-page select,
.admissions-page input,
.admissions-page textarea {
  min-height: 44px;
}

.admissions-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admissions-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.admissions-table th,
.admissions-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.admissions-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.admissions-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.admissions-status-submitted {
  background: rgba(100, 116, 139, .18);
  color: #475569;
}

.admissions-status-under_review {
  background: rgba(234, 179, 8, .18);
  color: #a16207;
}

.admissions-status-accepted {
  background: rgba(34, 197, 94, .16);
  color: #16a34a;
}

.admissions-status-rejected {
  background: rgba(239, 68, 68, .16);
  color: #dc2626;
}

.admissions-status-withdrawn {
  background: rgba(148, 163, 184, .18);
  color: #64748b;
}

@media (max-width: 768px) {
  .admissions-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .admissions-section header {
    flex-direction: column;
    align-items: stretch;
  }

  .admissions-form-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .admissions-page .btn {
    min-height: 44px;
  }
}

/* ADAMEHR_ADMISSIONS_CAMPAIGNS_STYLE_0092 */

.admissions-campaign-filter {
  margin: 12px 0;
}

.admissions-campaign-filter label {
  display: grid;
  gap: 6px;
  max-width: 320px;
}

.admissions-campaign-filter label > span {
  font-size: 12px;
  font-weight: 700;
}

.admissions-campaign-filter select {
  min-height: 44px;
}

.admissions-countdown {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.admissions-countdown-open {
  background: rgba(16, 185, 129, .16);
  color: #059669;
}

.admissions-countdown-upcoming {
  background: rgba(59, 130, 246, .14);
  color: #2563eb;
}

.admissions-countdown-expired,
.admissions-countdown-closed {
  background: rgba(148, 163, 184, .18);
  color: #64748b;
}

.admissions-campaign-table td small {
  opacity: .75;
}

/* ADAMEHR_ADMISSIONS_COMBO_STYLE_0092 — custom dropdown, no native popup */

.admissions-combo {
  position: relative;
  min-width: 0;
}

.admissions-combo-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #d6deeb;
  border-radius: 10px;
  background: #ffffff;
  color: #102a43;
  font: inherit;
  text-align: right;
  cursor: pointer;
}

.admissions-combo-toggle:hover,
.admissions-combo-toggle:focus {
  border-color: #249f8b;
  outline: none;
}

.admissions-combo-caret {
  flex: 0 0 auto;
  opacity: .6;
  font-size: 12px;
}

.admissions-combo-list {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  z-index: 60;
  max-height: 260px;
  overflow: auto;
  background: #ffffff;
  border: 1px solid #d6deeb;
  border-radius: 12px;
  box-shadow: 0 18px 44px -20px rgba(13, 36, 68, .45);
  padding: 6px;
}

.admissions-combo-item {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: 0;
  border-radius: 8px;
  background: #ffffff;
  color: #102a43;
  font: inherit;
  text-align: right;
  cursor: pointer;
}

.admissions-combo-item:hover {
  background: #eef7f4;
}

.admissions-combo-item.is-selected {
  font-weight: 800;
  color: #0f766e;
}

/* /ADAMEHR_ADMISSIONS_COMBO_STYLE_0092 */

/* ADAMEHR_ADMISSIONS_SHARE_LINK_STYLE_0092 */

.admissions-share-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: 12px 0 4px;
  padding: 12px 14px;
  border: 1px dashed #9fc6bb;
  border-radius: 12px;
  background: #f2faf7;
}

.admissions-share-text {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.admissions-share-text b {
  font-size: 13px;
}

.admissions-share-text code {
  direction: ltr;
  text-align: left;
  font-size: 13px;
  color: #0f766e;
  word-break: break-all;
}

.admissions-share-text small {
  opacity: .75;
  line-height: 1.8;
}

.admissions-dossier {
  margin: 10px 0 14px;
  border: 1px solid #e4e9f2;
  border-radius: 10px;
  background: #fbfcfe;
  padding: 10px 14px;
}

.admissions-dossier summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  color: #2563eb;
}

.admissions-dossier-list {
  display: grid;
  gap: 8px;
  margin: 12px 0 4px;
}

.admissions-dossier-list > div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px;
}

.admissions-dossier-list dt {
  font-weight: 700;
  font-size: 12px;
  opacity: .75;
}

.admissions-dossier-list dd {
  margin: 0;
  font-size: 13px;
  word-break: break-word;
  white-space: pre-line;
}

/* /ADAMEHR_ADMISSIONS_SHARE_LINK_STYLE_0092 */

/* ADAMEHR_HR_UI_STYLE_0099 */

.hr-page *,
.hr-page *::before,
.hr-page *::after {
  box-sizing: border-box;
}

.hr-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.hr-hero h3 {
  margin: 4px 0 6px;
}

.hr-hero p {
  margin: 0;
  line-height: 1.9;
}

.hr-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.hr-section {
  margin-bottom: 16px;
  min-width: 0;
}

.hr-section header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.hr-form-card {
  margin-bottom: 16px;
}

.hr-form {
  display: grid;
  gap: 14px;
}

.hr-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hr-form-full {
  grid-column: 1 / -1;
}

.hr-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.hr-form label > span {
  font-size: 12px;
  font-weight: 700;
}

.hr-form input,
.hr-form select,
.hr-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
}

.hr-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.hr-table-wrap {
  overflow-x: auto;
}

.hr-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.hr-table th,
.hr-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #edf1f6;
  text-align: right;
  white-space: nowrap;
}

.hr-table td small,
.hr-campaign-table td small {
  opacity: .75;
}

.hr-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.hr-note {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .75;
}

.hr-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.hr-status-pending {
  background: rgba(245, 158, 11, .16);
  color: #b45309;
}

.hr-status-approved,
.hr-status-active {
  background: rgba(16, 185, 129, .16);
  color: #059669;
}

.hr-status-rejected {
  background: rgba(239, 68, 68, .16);
  color: #dc2626;
}

.hr-status-cancelled,
.hr-status-ended {
  background: rgba(148, 163, 184, .18);
  color: #64748b;
}

@media (max-width: 768px) {
  .hr-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .hr-section header {
    flex-direction: column;
    align-items: stretch;
  }

  .hr-form-fields {
    grid-template-columns: 1fr;
  }
}

/* /ADAMEHR_HR_UI_STYLE_0099 */

/* /ADAMEHR_ADMISSIONS_CAMPAIGNS_STYLE_0092 */

/* /ADAMEHR_ADMISSIONS_UI_STYLE_0091 */

/* ADAMEHR_REPORTS_ANALYTICS_UI_STYLE_0069 */

.adamehr-reports-shell {
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.adamehr-reports-shell,
.adamehr-reports-shell * {
  box-sizing: border-box;
}

.adamehr-reports-toolbar {
  overflow: visible;
}

.adamehr-reports-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.adamehr-reports-field {
  display: grid;
  min-width: 0;
  gap: 7px;
  font-weight: 700;
}

.adamehr-reports-field > span {
  font-size: 13px;
}

.adamehr-reports-field input,
.adamehr-reports-field select {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
}

.adamehr-reports-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.adamehr-reports-actions .btn,
.adamehr-reports-tab {
  min-height: 44px;
}

.adamehr-reports-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  margin: 14px 0;
}

.adamehr-reports-tab {
  appearance: none;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  padding: 8px 14px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.adamehr-reports-tab.active {
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.adamehr-reports-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
}

.adamehr-reports-summary-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.adamehr-report-stat {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid currentColor;
  border-radius: 12px;
}

.adamehr-report-stat small {
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.adamehr-report-stat strong {
  font-size: 18px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.adamehr-reports-domain-grid {
  display: grid;
  gap: 14px;
}

.adamehr-report-domain-summary {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding-top: 14px;
  border-top: 1px solid currentColor;
}

.adamehr-report-domain-summary:first-child {
  padding-top: 0;
  border-top: 0;
}

.adamehr-report-domain-summary h4 {
  margin: 0;
  font-size: 17px;
  font-weight: 900;
}

.adamehr-reports-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.adamehr-reports-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.adamehr-reports-table th,
.adamehr-reports-table td {
  padding: 10px 12px;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
  border-bottom: 1px solid currentColor;
}

.adamehr-reports-table th {
  font-weight: 900;
}

@media (max-width: 768px) {
  .adamehr-reports-filter-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .adamehr-reports-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 414px) {
  .adamehr-reports-filter-grid,
  .adamehr-reports-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adamehr-reports-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .adamehr-reports-actions .btn {
    width: 100%;
  }

  .adamehr-reports-tabs {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .adamehr-reports-tab {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .adamehr-reports-tabs {
    grid-template-columns: minmax(0, 1fr);
  }

  .adamehr-report-stat {
    padding: 12px;
  }

  .adamehr-report-stat strong {
    font-size: 16px;
  }
}

@media (max-width: 320px) {
  .adamehr-reports-shell {
    font-size: 13px;
  }

  .adamehr-reports-field input,
  .adamehr-reports-actions .btn,
  .adamehr-reports-tab {
    min-height: 44px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  .adamehr-reports-shell {
    direction: rtl !important;
    font-family:
      "Vazirmatn",
      Tahoma,
      Arial,
      sans-serif !important;
    width: 100% !important;
    max-width: none !important;
  }

  .adamehr-reports-toolbar,
  .adamehr-reports-tabs,
  .adamehr-reports-actions,
  #reports-alert {
    display: none !important;
  }

  .adamehr-reports-result {
    display: block !important;
  }

  .adamehr-reports-result .card {
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .adamehr-reports-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .adamehr-reports-table-wrap {
    overflow: visible !important;
  }

  .adamehr-reports-table {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 10pt;
  }

  .adamehr-reports-table th,
  .adamehr-reports-table td {
    white-space: normal !important;
  }
}

/* /ADAMEHR_REPORTS_ANALYTICS_UI_STYLE_0069 */
/* ADAMEHR_0070_COMMUNICATION_COMPLETION_STYLE */

.school-communication-completion {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  direction: rtl;
  text-align: right;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.school-communication-completion,
.school-communication-completion * {
  box-sizing: border-box;
}

.school-communication-card,
.school-communication-panel,
.school-communication-section,
.school-communication-thread,
.school-communication-list,
.school-communication-channel-list,
.school-communication-message-list {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.school-communication-card {
  display: grid;
  gap: 14px;
  border-top: 3px solid var(--teal);
}

.school-communication-head,
.school-communication-section > header,
.school-communication-thread-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
}

.school-communication-head > div,
.school-communication-section > header > div,
.school-communication-thread-head > div {
  min-width: 0;
}

.school-communication-completion h3,
.school-communication-completion h4,
.school-communication-completion p,
.school-communication-completion strong,
.school-communication-completion small,
.school-communication-completion span,
.school-communication-completion time {
  overflow-wrap: anywhere;
}

.school-communication-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.school-communication-tabs {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 5px;
  min-width: 0;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
}

.school-communication-tab {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 8px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.school-communication-tab.is-active {
  background: #fff;
  color: var(--navy);
  box-shadow: 0 1px 5px rgba(20,45,70,.08);
}

.school-communication-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.school-communication-panel[hidden] {
  display: none;
}

.school-communication-form,
.school-communication-section,
.school-communication-thread {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.school-communication-form-title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.school-communication-form-title strong {
  color: var(--navy);
  font-weight: 900;
}

.school-communication-form-title small,
.school-communication-section p,
.school-communication-thread p {
  color: var(--muted);
  line-height: 1.9;
}

.school-communication-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
}

.school-communication-form-grid label,
.school-communication-message-composer label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.school-communication-form-grid label > span,
.school-communication-message-composer label > span {
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}

.school-communication-form-grid input,
.school-communication-form-grid select,
.school-communication-form-grid textarea,
.school-communication-message-composer textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid #c8d8e3;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  direction: rtl;
  text-align: right;
}

.school-communication-form-grid textarea,
.school-communication-message-composer textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.9;
}

.school-communication-wide {
  grid-column: 1 / -1;
}

.school-communication-form-actions,
.school-communication-message-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.school-communication-form-actions .btn,
.school-communication-message-actions .btn,
.school-communication-touch,
.school-communication-thread-head .btn,
.school-communication-composer-context .btn {
  min-height: 44px;
}

.school-communication-list,
.school-communication-channel-list,
.school-communication-message-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.school-communication-item,
.school-communication-message {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  overflow: hidden;
}

.school-communication-item {
  background: var(--soft);
}

.school-communication-message.is-own {
  background: #f5fbf9;
  border-color: rgba(47,158,140,.28);
}

.school-communication-item-head,
.school-communication-message-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  min-width: 0;
}

.school-communication-item-head strong,
.school-communication-message-head strong {
  color: var(--navy);
  font-weight: 900;
}

.school-communication-item-head small,
.school-communication-item-head time,
.school-communication-message-head time,
.school-communication-reply-ref {
  color: var(--muted);
  font-size: 11px;
}

.school-communication-body,
.school-communication-message-body {
  margin-top: 9px;
  color: var(--ink);
  line-height: 2;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.school-communication-channel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 64px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  direction: rtl;
  text-align: right;
  cursor: pointer;
}

.school-communication-channel:hover,
.school-communication-channel:focus-visible {
  border-color: var(--teal);
  background: #f8fcfb;
}

.school-communication-channel-main,
.school-communication-channel-meta {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.school-communication-channel-main strong {
  color: var(--navy);
  font-weight: 900;
}

.school-communication-channel small {
  color: var(--muted);
  font-size: 11px;
}

.school-communication-channel-meta b {
  color: var(--teal);
  font-size: 11px;
}

.school-communication-message-actions {
  margin-top: 10px;
}

.school-communication-message-actions .btn {
  flex: 1 1 auto;
}

.school-communication-message-composer {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.school-communication-composer-context {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  padding: 9px 10px;
  border-radius: 11px;
  background: var(--soft);
}

.school-communication-privacy-note {
  margin: 0;
  padding: 9px 10px;
  border-radius: 10px;
  background: #f4faf8;
  color: #46635d;
  font-size: 11px;
  line-height: 1.9;
}

.school-communication-loading {
  padding: 20px 12px;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 414px) {
  .school-communication-card {
    padding: 14px 12px;
  }

  .school-communication-head .btn,
  .school-communication-thread-head .btn,
  .school-communication-form-actions .btn {
    width: 100%;
  }

  .school-communication-tab {
    padding-inline: 5px;
    font-size: 12px;
  }
}

@media (min-width: 768px) {
  .school-communication-head,
  .school-communication-section > header,
  .school-communication-thread-head,
  .school-communication-item-head,
  .school-communication-message-head {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }

  .school-communication-form-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .school-communication-channel {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .school-communication-message-actions .btn {
    flex: 0 0 auto;
  }

  .school-communication-composer-context {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media print {
  .school-communication-completion {
    display: block !important;
    direction: rtl !important;
    color: #000 !important;
    background: #fff !important;
    font-family:
      "Vazirmatn",
      Tahoma,
      Arial,
      sans-serif !important;
  }

  .school-communication-tabs,
  #school-communication-alert,
  #btn-school-communication-refresh,
  .school-communication-form,
  .school-communication-message-composer,
  .school-communication-message-actions,
  .school-communication-thread-head .btn {
    display: none !important;
  }

  .school-communication-panel[hidden] {
    display: block !important;
  }

  .school-communication-section,
  .school-communication-thread,
  .school-communication-item,
  .school-communication-message,
  .school-communication-channel {
    box-shadow: none !important;
    break-inside: avoid;
  }
}

/* /ADAMEHR_0070_COMMUNICATION_COMPLETION_STYLE */

/*
 * ADAMEHR_STUDENT_LIFECYCLE_UI_STYLE_R2C2
 * Persian / Jalali / RTL / Mobile First / Print.
 */

body.student-lifecycle-modal-open {
  overflow: hidden;
}

.student-lifecycle-history-section,
.student-lifecycle-modal,
.student-lifecycle-dialog,
.student-lifecycle-dialog-body,
.student-lifecycle-history-card,
.student-lifecycle-transfer-card,
.student-rollover-card,
.student-incoming-transfer-card {
  direction: rtl;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.student-lifecycle-history-section {
  min-width: 0;
}

.student-lifecycle-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.student-lifecycle-section-head h4 {
  margin: 0 0 4px;
}

.student-lifecycle-section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12.5px;
}

.student-lifecycle-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.student-lifecycle-timeline,
.student-lifecycle-transfer-history,
.student-incoming-transfer-list,
.student-rollover-cards {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.student-lifecycle-timeline {
  position: relative;
}

.student-lifecycle-history-card,
.student-lifecycle-transfer-card,
.student-rollover-card,
.student-incoming-transfer-card {
  min-width: 0;
  max-width: 100%;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}

.student-lifecycle-history-card {
  border-right: 4px solid #d9e5ee;
}

.student-lifecycle-history-card > header,
.student-lifecycle-transfer-card > header,
.student-rollover-card > header,
.student-incoming-transfer-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  margin-bottom: 13px;
}

.student-lifecycle-history-card > header > div,
.student-lifecycle-transfer-card > header > div,
.student-rollover-card > header > div,
.student-incoming-transfer-card > header > div {
  min-width: 0;
  flex: 1;
}

.student-lifecycle-history-card header strong,
.student-lifecycle-transfer-card header strong,
.student-rollover-card header strong,
.student-incoming-transfer-card header strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.student-lifecycle-history-card header span:not(.badge),
.student-lifecycle-transfer-card header span:not(.badge),
.student-rollover-card header span:not(.badge),
.student-incoming-transfer-card header span:not(.badge),
.student-rollover-preview-head span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.student-lifecycle-history-grid,
.student-lifecycle-transfer-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.student-lifecycle-transfer-history {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.student-lifecycle-transfer-history h5 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 14px;
}

.student-lifecycle-profile-actions,
.student-lifecycle-actions,
.student-lifecycle-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.student-lifecycle-profile-actions {
  margin-top: 16px;
}

.student-lifecycle-profile-actions .btn,
.student-lifecycle-actions .btn,
.student-lifecycle-card-actions .btn {
  min-height: 44px;
}

.student-lifecycle-card-actions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.student-lifecycle-empty,
.student-lifecycle-warning,
.student-lifecycle-message {
  max-width: 100%;
  padding: 14px;
  border-radius: 13px;
  overflow-wrap: anywhere;
}

.student-lifecycle-empty {
  border: 1px dashed var(--line);
  background: #fafcfd;
  color: var(--muted);
}

.student-lifecycle-warning {
  margin-top: 14px;
  border: 1px solid #ead7a4;
  background: #fffaf0;
}

.student-lifecycle-warning strong {
  display: block;
  color: #735719;
}

.student-lifecycle-warning p {
  margin: 5px 0 0;
  color: #806a35;
  font-size: 12.5px;
}

.student-lifecycle-message {
  margin-top: 12px;
  border: 1px solid #cde7d7;
  background: #f1fbf5;
  color: #21633d;
}

.student-lifecycle-message.is-error {
  border-color: #efcccc;
  background: #fff5f5;
  color: #8a3030;
}

.student-lifecycle-modal[hidden] {
  display: none !important;
}

.student-lifecycle-modal {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: rgba(10, 26, 44, .48);
  overflow: auto;
  overscroll-behavior: contain;
}

.student-lifecycle-dialog {
  width: min(980px, 100%);
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 34px 90px -38px rgba(10, 35, 62, .6);
  overflow: hidden;
}

.student-lifecycle-dialog-head {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 18px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.student-lifecycle-dialog-head > div {
  min-width: 0;
}

.student-lifecycle-dialog-head small {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
}

.student-lifecycle-dialog-head h3 {
  margin: 3px 0 0;
  color: var(--navy);
  font-size: 17px;
  overflow-wrap: anywhere;
}

.student-lifecycle-close {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-family: inherit;
  font-size: 22px;
  cursor: pointer;
}

.student-lifecycle-dialog-body {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  padding: 18px;
  overflow: auto;
}

.student-lifecycle-form,
.student-lifecycle-form-grid,
.student-rollover-decision-grid,
.student-incoming-accept-grid {
  min-width: 0;
}

.student-lifecycle-form-grid,
.student-rollover-decision-grid,
.student-incoming-accept-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.student-lifecycle-form label,
.student-rollover-decision-grid label,
.student-incoming-accept-grid label {
  min-width: 0;
}

.student-lifecycle-form label > span,
.student-rollover-decision-grid label > span,
.student-incoming-accept-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 700;
}

.student-lifecycle-form input,
.student-lifecycle-form select,
.student-lifecycle-form textarea,
.student-rollover-decision-grid input,
.student-rollover-decision-grid select,
.student-incoming-accept-grid input,
.student-incoming-accept-grid select,
.student-rollover-bulk select {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid #dce5eb;
  border-radius: 11px;
  background: #f9fbfc;
  color: var(--ink);
  font-family: inherit;
  font-size: 13px;
  outline: none;
}

.student-lifecycle-form textarea {
  min-height: 90px;
  resize: vertical;
}

.student-lifecycle-form input:focus,
.student-lifecycle-form select:focus,
.student-lifecycle-form textarea:focus,
.student-rollover-decision-grid input:focus,
.student-rollover-decision-grid select:focus,
.student-incoming-accept-grid input:focus,
.student-incoming-accept-grid select:focus,
.student-rollover-bulk select:focus {
  border-color: #8eb3cb;
  box-shadow: 0 0 0 3px rgba(58, 121, 160, .09);
}

.student-lifecycle-wide,
.student-rollover-reason {
  grid-column: 1 / -1;
}

.student-lifecycle-checkbox {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}

.student-lifecycle-checkbox input,
.student-rollover-check input,
.student-lifecycle-check-all input {
  width: 20px;
  height: 20px;
  min-height: 20px;
  flex: 0 0 20px;
}

.student-lifecycle-checkbox > span {
  margin: 0 !important;
}

.student-lifecycle-actions {
  margin-top: 16px;
}

.student-rollover-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin: 20px 0 12px;
}

.student-rollover-preview-head > div {
  min-width: 0;
}

.student-rollover-preview-head strong {
  display: block;
  color: var(--navy);
}

.student-lifecycle-check-all {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  white-space: nowrap;
}

.student-rollover-bulk {
  display: grid;
  grid-template-columns:
    minmax(220px, 1fr) auto;
  gap: 8px;
  margin-bottom: 12px;
}

.student-rollover-card > header {
  display: grid;
  grid-template-columns:
    28px minmax(0, 1fr) auto;
  align-items: flex-start;
}

.student-rollover-check {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

.student-rollover-card > header > small {
  direction: ltr;
  text-align: left;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.student-rollover-decision-grid {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
}

.student-incoming-transfer-list {
  gap: 14px;
}

.student-incoming-accept-grid {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.student-lifecycle-transfer-card
.student-profile-field strong,
.student-lifecycle-history-card
.student-profile-field strong,
.student-incoming-transfer-card
.student-profile-field strong {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 1024px) {
  .student-lifecycle-dialog {
    width: min(920px, 100%);
  }
}

@media (max-width: 768px) {
  .student-lifecycle-modal {
    align-items: stretch;
    padding: 6px;
  }

  .student-lifecycle-dialog {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 12px);
    border-radius: 16px;
  }

  .student-lifecycle-dialog-body {
    padding: 14px;
  }

  .student-lifecycle-section-head,
  .student-rollover-preview-head {
    flex-direction: column;
    align-items: stretch;
  }

  .student-lifecycle-count,
  .student-lifecycle-check-all {
    width: 100%;
  }

  .student-lifecycle-history-grid,
  .student-lifecycle-transfer-grid,
  .student-lifecycle-form-grid,
  .student-rollover-decision-grid,
  .student-incoming-accept-grid {
    grid-template-columns: 1fr;
  }

  .student-lifecycle-wide,
  .student-rollover-reason {
    grid-column: auto;
  }

  .student-rollover-bulk {
    grid-template-columns: 1fr;
  }

  .student-lifecycle-profile-actions,
  .student-lifecycle-actions,
  .student-lifecycle-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .student-lifecycle-profile-actions .btn,
  .student-lifecycle-actions .btn,
  .student-lifecycle-card-actions .btn {
    width: 100%;
  }
}

@media (max-width: 414px) {
  .student-lifecycle-modal {
    padding: 0;
  }

  .student-lifecycle-dialog {
    max-height: 100dvh;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .student-lifecycle-dialog-head {
    padding: 13px 12px;
  }

  .student-lifecycle-dialog-body {
    padding: 12px;
  }

  .student-lifecycle-history-card,
  .student-lifecycle-transfer-card,
  .student-rollover-card,
  .student-incoming-transfer-card {
    padding: 12px;
  }

  .student-rollover-card > header {
    grid-template-columns:
      28px minmax(0, 1fr);
  }

  .student-rollover-card > header > small {
    grid-column: 2;
  }
}

@media (max-width: 360px) {
  .student-lifecycle-dialog-head h3 {
    font-size: 16px;
  }

  .student-lifecycle-dialog-body {
    padding: 10px;
  }

  .student-lifecycle-history-card,
  .student-lifecycle-transfer-card,
  .student-rollover-card,
  .student-incoming-transfer-card {
    padding: 10px;
  }
}

@media (max-width: 320px) {
  .student-lifecycle-dialog-head {
    gap: 8px;
    padding: 10px 8px;
  }

  .student-lifecycle-dialog-body {
    padding: 8px;
  }

  .student-lifecycle-close {
    flex-basis: 44px;
  }
}

@media print {
  body.student-lifecycle-printing {
    background: #fff !important;
    direction: rtl !important;
    font-family:
      "Vazirmatn",
      Tahoma,
      Arial,
      sans-serif !important;
  }

  body.student-lifecycle-printing * {
    visibility: hidden !important;
  }

  body.student-lifecycle-printing
  .simple-student-profile-modal,
  body.student-lifecycle-printing
  .simple-student-profile-dialog,
  body.student-lifecycle-printing
  .simple-student-profile-dialog * {
    visibility: visible !important;
  }

  body.student-lifecycle-printing
  .simple-student-profile-modal {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body.student-lifecycle-printing
  .simple-student-profile-dialog {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.student-lifecycle-printing
  .simple-student-profile-dialog
  > header button,
  body.student-lifecycle-printing
  .student-profile-actions,
  body.student-lifecycle-printing
  .student-lifecycle-profile-actions,
  body.student-lifecycle-printing
  .student-lifecycle-card-actions {
    display: none !important;
  }

  body.student-lifecycle-printing
  .student-lifecycle-history-card,
  body.student-lifecycle-printing
  .student-lifecycle-transfer-card {
    break-inside: avoid;
    box-shadow: none !important;
  }

  body.student-lifecycle-printing
  .student-lifecycle-history-grid,
  body.student-lifecycle-printing
  .student-lifecycle-transfer-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

/* /ADAMEHR_STUDENT_LIFECYCLE_UI_STYLE_R2C2 */

/*
 * ADAMEHR_STUDENT_LIFECYCLE_R2C3_FIX1
 * Exact Chromium findings:
 * - rollover checkbox label was 28x44, must be >=44x44.
 * - lifecycle student profile dialog escaped left viewport at tablet width.
 */

.student-rollover-check {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
}

.student-rollover-card > header {
  grid-template-columns:
    44px minmax(0, 1fr) auto;
}

@media (max-width: 414px) {
  .student-rollover-card > header {
    grid-template-columns:
      44px minmax(0, 1fr);
  }
}

/*
 * Tablet-only containment.
 * Mobile layouts <=414 remain unchanged/full-screen.
 */
@media (min-width: 600px) and (max-width: 800px) {
  .simple-student-profile-dialog:has(
    .student-lifecycle-history-section
  ) {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    margin-inline: auto;
    box-sizing: border-box;
    transform: none;
  }
}

/* /ADAMEHR_STUDENT_LIFECYCLE_R2C3_FIX1 */

/* ADAMEHR_STUDENT_PROFILE_COMPLETION_UI_0073 */

.student-profile-photo-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: 16px;
  margin-block-end: 16px;
  border: 1px solid var(--border, #dfe3ea);
  border-radius: 16px;
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  box-sizing: border-box;
}

.student-profile-photo-visual {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.student-profile-photo-frame {
  position: relative;
  flex: 0 0 112px;
  width: 112px;
  height: 112px;
  overflow: hidden;
  border: 1px solid var(--border, #dfe3ea);
  border-radius: 50%;
}

.student-profile-photo-fallback,
.student-profile-photo-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.student-profile-photo-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  font-size: 30px;
  font-weight: 900;
}

.student-profile-photo-image {
  display: block;
  object-fit: cover;
}

.student-profile-photo-image[hidden],
.student-profile-photo-fallback[hidden] {
  display: none !important;
}

.student-profile-photo-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.student-profile-photo-copy strong {
  font-size: 15px;
  font-weight: 700;
}

.student-profile-photo-copy span {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.student-profile-photo-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.student-profile-photo-action {
  min-width: 112px;
  min-height: 44px;
}

.student-profile-photo-status {
  min-height: 20px;
  font-size: 13px;
}

.student-profile-photo-status.is-error {
  font-weight: 700;
}

.student-history-print-sheet {
  display: none;
}

@media (max-width: 414px) {
  .student-profile-photo-card {
    align-items: stretch;
    flex-direction: column;
  }

  .student-profile-photo-visual {
    align-items: center;
  }

  .student-profile-photo-frame {
    flex-basis: 88px;
    width: 88px;
    height: 88px;
  }

  .student-profile-photo-controls {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .student-profile-photo-action {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }
}

@media (max-width: 320px) {
  .student-profile-photo-visual {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }
}

@media print {
  body.student-history-printing {
    direction: rtl !important;
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  }

  body.student-history-printing
    > *:not(#student-history-print-sheet) {
    display: none !important;
  }

  body.student-history-printing
    > #student-history-print-sheet {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    direction: rtl !important;
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  }

  .student-history-print-header {
    display: block !important;
    margin-block-end: 18px;
    padding-block-end: 10px;
    border-bottom: 1px solid currentColor;
    text-align: right;
  }

  .student-history-print-header h1 {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 900;
  }

  .student-history-print-header p {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
  }

  #student-history-print-sheet
    .student-lifecycle-history-section {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
  }

  #student-history-print-sheet button,
  #student-history-print-sheet input,
  #student-history-print-sheet select,
  #student-history-print-sheet textarea {
    display: none !important;
  }
}

/*
 * ADAMEHR_0074_STUDENT_PAGE_UX_STYLE
 * Transfer semantics + class roster filter/print.
 */

.simple-capacity-filter-card {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  appearance: none;
  text-align: right;
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  color: inherit;
  cursor: pointer;
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease,
    background .16s ease;
}

.simple-capacity-filter-card:hover {
  border-color: #9bcfc6;
  background: #fbfefd;
}

.simple-capacity-filter-card:focus-visible {
  outline: 3px solid rgba(42, 162, 143, .2);
  outline-offset: 2px;
}

.simple-capacity-filter-card.is-selected {
  border-color: #249785;
  background: #f0faf7;
  box-shadow:
    0 0 0 2px rgba(36, 151, 133, .11);
}

.simple-capacity-filter-card.is-selected b {
  color: #157764;
}

.simple-student-class-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 13px 14px;
  border: 1px solid #cfe8e2;
  border-radius: 14px;
  background: #f4fbf9;
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.simple-student-class-filter-meta {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.simple-student-class-filter-meta small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}

.simple-student-class-filter-meta b {
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

.simple-student-class-filter-meta span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 500;
}

.simple-student-class-filter-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.simple-student-class-filter-actions .btn {
  min-height: 44px;
}

.student-transfer-school-summary {
  display: grid;
  gap: 5px;
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px solid #cfe8e2;
  border-radius: 14px;
  background: #f4fbf9;
  direction: rtl;
  text-align: right;
}

.student-transfer-school-summary small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}

.student-transfer-school-summary strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.student-transfer-school-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.9;
}

.student-class-roster-print-sheet {
  display: none;
  direction: rtl;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

@media (max-width: 768px) {
  .simple-student-class-filter-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .simple-student-class-filter-actions {
    width: 100%;
  }

  .simple-student-class-filter-actions .btn {
    flex: 1 1 190px;
  }
}

@media (max-width: 414px) {
  .simple-capacity-filter-card {
    min-height: 64px;
  }

  .simple-student-class-filter-summary {
    padding: 12px;
  }

  .simple-student-class-filter-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .simple-student-class-filter-actions .btn {
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 320px) {
  .simple-student-class-filter-summary {
    padding: 10px;
    border-radius: 12px;
  }

  .student-transfer-school-summary {
    padding: 11px;
  }
}

@page studentClassRoster {
  size: A4 portrait;
  margin: 12mm;
}

@media print {
  body.student-class-roster-printing {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    direction: rtl !important;
    font-family:
      "Vazirmatn",
      Tahoma,
      Arial,
      sans-serif !important;
  }

  body.student-class-roster-printing
    > *:not(#student-class-roster-print-sheet) {
    display: none !important;
  }

  body.student-class-roster-printing
    > #student-class-roster-print-sheet {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    direction: rtl !important;
    color: #111827 !important;
    background: #fff !important;
    page: studentClassRoster;
  }

  .student-class-print-header {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 2px solid #17395d;
  }

  .student-class-print-brand {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .student-class-print-brand-mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 2px solid #17395d;
    border-radius: 14px;
    font-size: 22px;
    font-weight: 900;
  }

  .student-class-print-brand small,
  .student-class-print-title p {
    display: block;
    margin: 0;
    color: #526175;
    font-size: 9pt;
  }

  .student-class-print-brand h1,
  .student-class-print-title h2 {
    margin: 2px 0 0;
    color: #102a46;
    font-weight: 900;
  }

  .student-class-print-brand h1 {
    font-size: 16pt;
  }

  .student-class-print-title {
    text-align: left;
  }

  .student-class-print-title h2 {
    font-size: 14pt;
  }

  .student-class-print-facts {
    display: grid;
    grid-template-columns:
      repeat(5, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 13px;
  }

  .student-class-print-facts > div {
    display: grid;
    gap: 3px;
    padding: 7px 8px;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
  }

  .student-class-print-facts span {
    color: #667085;
    font-size: 8pt;
  }

  .student-class-print-facts b {
    color: #172b4d;
    font-size: 9.5pt;
    font-weight: 800;
  }

  .student-class-print-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    direction: rtl;
    font-size: 9pt;
  }

  .student-class-print-table th,
  .student-class-print-table td {
    padding: 7px 8px;
    border: 1px solid #cfd8e2;
    text-align: right;
    vertical-align: middle;
    overflow-wrap: anywhere;
  }

  .student-class-print-table th {
    background: #eef3f7 !important;
    color: #102a46;
    font-weight: 900;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .student-class-print-table th:first-child,
  .student-class-print-table td:first-child {
    width: 8%;
    text-align: center;
  }

  .student-class-print-table th:nth-child(2),
  .student-class-print-table td:nth-child(2) {
    width: 46%;
  }

  .student-class-print-table th:nth-child(3),
  .student-class-print-table td:nth-child(3) {
    width: 26%;
  }

  .student-class-print-table th:nth-child(4),
  .student-class-print-table td:nth-child(4) {
    width: 20%;
  }

  .student-class-print-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .student-class-print-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding-top: 8px;
    border-top: 1px solid #d7dee6;
    color: #667085;
    font-size: 8pt;
  }

  #student-class-roster-print-sheet
    button,
  #student-class-roster-print-sheet
    input,
  #student-class-roster-print-sheet
    select,
  #student-class-roster-print-sheet
    textarea {
    display: none !important;
  }
}

/* /ADAMEHR_0074_STUDENT_PAGE_UX_STYLE */


/*
 * ADAMEHR_0074_RESPONSIVE_GRID_CONTAINMENT_R2
 *
 * The student table intentionally remains wide and horizontally
 * scrollable. Prevent its min-content width from expanding the
 * CSS Grid track / cards / document viewport.
 */
.simple-students-page {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  max-width: 100%;
}

.simple-students-page > .card,
.simple-students-page .simple-student-header,
.simple-students-page .simple-student-list-head,
.simple-students-page .simple-class-capacities,
.simple-students-page .simple-student-class-filter-summary,
.simple-students-page .simple-student-class-filter-meta,
.simple-students-page .simple-student-class-filter-actions,
.simple-students-page .simple-student-table-wrap {
  min-width: 0;
  max-width: 100%;
}

.simple-students-page .simple-student-table-wrap {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

/* /ADAMEHR_0074_RESPONSIVE_GRID_CONTAINMENT_R2 */

/*
 * ADAMEHR_STAFF_PERMISSION_EDITOR_CSS_0076
 * RTL / Persian / Mobile First / touch >= 44px
 */

.simple-staff-actions {
  flex-wrap: wrap;
}

.simple-staff-permission-action {
  min-height: 44px;
}

.simple-staff-permission-editor {
  box-sizing: border-box;
  direction: rtl;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
}

.simple-staff-permission-intro,
.simple-staff-permission-note,
.simple-staff-permission-blocked {
  box-sizing: border-box;
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0 22px 16px;
  padding: 14px 16px;
  border: 1px solid #dbe5ea;
  border-radius: 14px;
  background: #f8fbfc;
}

.simple-staff-permission-intro > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
}

.simple-staff-permission-intro small {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 700;
}

.simple-staff-permission-intro b,
.simple-staff-permission-note b,
.simple-staff-permission-blocked b {
  color: var(--navy, #123047);
  font-size: 13px;
  font-weight: 900;
}

.simple-staff-permission-intro p,
.simple-staff-permission-note p,
.simple-staff-permission-blocked p {
  margin: 0;
  color: var(--muted, #64748b);
  font-size: 12px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.simple-staff-permission-blocked {
  border-color: #ead9b9;
  background: #fffaf0;
}

.simple-staff-permission-groups {
  box-sizing: border-box;
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 22px 22px;
}

.simple-staff-permission-group {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 14px;
  border: 1px solid #dce6eb;
  border-radius: 16px;
  background: #fff;
}

.simple-staff-permission-group legend {
  max-width: 100%;
  padding: 0 8px;
  color: var(--navy, #123047);
  font-size: 13px;
  font-weight: 900;
  white-space: normal;
}

.simple-staff-permission-list {
  display: grid;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
}

.simple-staff-permission-row {
  box-sizing: border-box;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(190px, 250px);
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #edf1f4;
  border-radius: 13px;
  background: #fbfdfe;
}

.simple-staff-permission-meta {
  display: grid;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
}

.simple-staff-permission-meta > b {
  min-width: 0;
  color: var(--navy, #123047);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.simple-staff-permission-meta > code {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  color: #64748b;
  font-size: 10.5px;
  line-height: 1.7;
  direction: ltr;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.simple-staff-permission-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.simple-staff-permission-badges small {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  max-width: 100%;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.5;
  white-space: normal;
}

.simple-staff-permission-badges .is-positive {
  background: #eaf7f3;
  color: #16705f;
}

.simple-staff-permission-badges .is-negative {
  background: #fdf0f0;
  color: #b94747;
}

.simple-staff-permission-badges .is-neutral {
  background: #eef2f6;
  color: #66778a;
}

.simple-staff-permission-control {
  box-sizing: border-box;
  display: grid;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
}

.simple-staff-permission-control > span {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 800;
}

.simple-staff-permission-control select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #cbd8df;
  border-radius: 11px;
  background: #fff;
  color: var(--navy, #123047);
  font-family:
    "Vazirmatn",
    Tahoma,
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.simple-staff-permission-control select:focus {
  outline: 2px solid rgba(47, 158, 140, 0.22);
  outline-offset: 1px;
  border-color: #79b8ad;
}

.simple-staff-permission-actions {
  flex-wrap: wrap;
}

.simple-staff-permission-actions .btn {
  min-height: 44px;
}

@media (max-width: 768px) {
  .simple-staff-permission-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .simple-staff-permission-control {
    width: 100%;
  }
}

@media (max-width: 650px) {
  .simple-staff-permission-intro,
  .simple-staff-permission-note,
  .simple-staff-permission-blocked {
    margin-inline: 12px;
    padding: 12px;
  }

  .simple-staff-permission-groups {
    padding:
      0
      12px
      16px;
  }

  .simple-staff-permission-group {
    padding: 12px;
  }

  .simple-staff-permission-row {
    padding: 11px;
  }

  .simple-staff-permission-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .simple-staff-permission-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .simple-staff-permission-control select {
    min-height: 46px;
  }
}

@media (max-width: 414px) {
  .simple-staff-permission-groups {
    gap: 10px;
  }

  .simple-staff-permission-group {
    border-radius: 13px;
  }

  .simple-staff-permission-row {
    gap: 10px;
    border-radius: 11px;
  }
}

@media (max-width: 360px) {
  .simple-staff-permission-intro,
  .simple-staff-permission-note,
  .simple-staff-permission-blocked {
    margin-inline: 8px;
    border-radius: 11px;
  }

  .simple-staff-permission-groups {
    padding-inline: 8px;
  }

  .simple-staff-permission-group {
    padding: 10px;
  }

  .simple-staff-permission-row {
    padding: 10px;
  }

  .simple-staff-permission-meta > b {
    font-size: 12.5px;
  }
}

@media (max-width: 320px) {
  .simple-staff-permission-intro,
  .simple-staff-permission-note,
  .simple-staff-permission-blocked {
    margin-inline: 6px;
  }

  .simple-staff-permission-groups {
    padding-inline: 6px;
  }

  .simple-staff-permission-group,
  .simple-staff-permission-row {
    padding: 9px;
  }
}

@media print {
  .simple-staff-permission-action,
  .simple-staff-permission-editor {
    display: none !important;
  }
}

/* /ADAMEHR_STAFF_PERMISSION_EDITOR_CSS_0076 */

/*
 * ADAMEHR_STAFF_MODAL_TABLET_GEOMETRY_0076
 *
 * The staff modal keeps 22px inline padding above the mobile
 * full-screen breakpoint. Its card must therefore fit inside
 * viewport minus 44px, not viewport minus 12/24px.
 */
@media (min-width: 651px) and (max-width: 1024px) {
  .simple-staff-modal-card {
    width: min(
      920px,
      calc(100vw - 44px)
    );
    max-width: calc(100vw - 44px);
    max-height: calc(100dvh - 44px);
  }
}

/* /ADAMEHR_STAFF_MODAL_TABLET_GEOMETRY_0076 */
