
/* ─── Premium subject cards ─── */
.sc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1100px){.sc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sc-grid{grid-template-columns:1fr}}

.sc-card{
  background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid #EEF2F6;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
  transition:transform .22s cubic-bezier(.34,1.3,.5,1), box-shadow .22s;
  cursor:pointer;display:flex;flex-direction:column;
}
.sc-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -12px var(--sc-shadow,rgba(14,165,233,.35))}

.sc-head{
  position:relative;padding:18px 18px 16px;color:#fff;overflow:hidden;
  background:linear-gradient(135deg,var(--sc-c1),var(--sc-c2));
}
.sc-head::before{
  content:"";position:absolute;inset:auto -20% -60% auto;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.25),transparent 65%);
}
.sc-head-row{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.sc-icon{
  width:52px;height:52px;border-radius:15px;flex-shrink:0;
  background:rgba(255,255,255,.22);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;font-size:26px;
}
.sc-head-c{flex:1;min-width:0}
.sc-title{font-size:16px;font-weight:800;line-height:1.2;letter-spacing:-.2px}
.sc-sub{font-size:11.5px;opacity:.9;margin-top:3px;font-weight:600}
.sc-grade-badge{
  position:absolute;top:14px;left:14px;z-index:2;
  background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(6px);
  font-size:13px;font-weight:800;font-family:'Tajawal';
  padding:4px 11px;border-radius:20px;
}

.sc-body{padding:15px 18px 18px;flex:1;display:flex;flex-direction:column;gap:13px}
.sc-lesson{
  display:flex;align-items:center;gap:8px;
  background:#F8FAFC;border:1px solid #EEF2F6;border-radius:10px;padding:9px 12px;
  font-size:12px;color:#334155;font-weight:600;
}
.sc-lesson .ic{font-size:14px;flex-shrink:0}
.sc-lesson b{color:#0F172A}

.sc-prog-wrap{display:flex;flex-direction:column;gap:5px}
.sc-prog-top{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#64748B;font-weight:700}
.sc-prog-pct{font-weight:800;font-family:'Tajawal'}
.sc-prog-track{height:8px;background:#F1F5F9;border-radius:99px;overflow:hidden}
.sc-prog-fill{height:100%;border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--sc-c1),var(--sc-c2))}

.sc-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:12px;margin-top:auto;border-top:1px solid #F1F5F9;
}
.sc-next{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748B;font-weight:700}
.sc-actions{display:flex;gap:6px}
.sc-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 13px;border-radius:9px;font-family:'Cairo';font-size:11.5px;font-weight:700;
  border:none;cursor:pointer;transition:all .15s;
}
.sc-btn-primary{background:linear-gradient(135deg,var(--sc-c1),var(--sc-c2));color:#fff;box-shadow:0 4px 11px -3px var(--sc-shadow,rgba(14,165,233,.4))}
.sc-btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}
.sc-btn-ghost{background:#F1F5F9;color:#475569}
.sc-btn-ghost:hover{background:#E2E8F0}

.sc-grade-circle{
  width:44px;height:44px;flex-shrink:0;position:relative;
}
.sc-grade-circle svg{transform:rotate(-90deg)}
.sc-grade-circle .num{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;font-family:'Tajawal';
}

/* ─── Premium dashboard cards (student/teacher) ─── */
.pd-greeting{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--pd-c1,#0EA5E9),var(--pd-c2,#6366F1));
  border-radius:20px;padding:22px 26px;color:#fff;position:relative;overflow:hidden;
  box-shadow:0 16px 36px -14px var(--pd-shadow,rgba(14,165,233,.4));
}
.pd-greeting::before{content:"";position:absolute;inset:auto -8% -80% auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%)}
.pd-greeting::after{content:"";position:absolute;inset:-50% auto auto -10%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 65%)}
.pd-greet-l{position:relative;z-index:1}
.pd-greet-hi{font-size:22px;font-weight:800;letter-spacing:-.3px;margin-bottom:5px}
.pd-greet-sub{font-size:13px;opacity:.9;font-weight:600}
.pd-greet-r{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}
.pd-greet-stat{
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);
  border-radius:14px;padding:11px 18px;text-align:center;backdrop-filter:blur(8px);min-width:78px;
}
.pd-greet-stat b{display:block;font-size:22px;font-weight:800;font-family:'Tajawal';line-height:1}
.pd-greet-stat span{font-size:11px;opacity:.88;font-weight:600;margin-top:3px;display:block}

.pd-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
@media(max-width:900px){.pd-stats-row{grid-template-columns:repeat(2,1fr)}}
.pd-stat-card{
  background:#fff;border:1px solid #EEF2F6;border-radius:16px;padding:16px;
  display:flex;align-items:center;gap:13px;transition:all .18s;cursor:pointer;
  box-shadow:0 1px 3px rgba(15,23,42,.03);
}
.pd-stat-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px -10px rgba(15,23,42,.12);border-color:var(--ps-c,#BAE6FD)}
.pd-stat-ic{
  width:48px;height:48px;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:23px;
  background:var(--ps-bg,#EFF6FF);color:var(--ps-c,#0EA5E9);
}
.pd-stat-c{flex:1;min-width:0}
.pd-stat-v{font-size:24px;font-weight:800;font-family:'Tajawal';color:#0F172A;line-height:1}
.pd-stat-l{font-size:11.5px;color:#64748B;font-weight:600;margin-top:3px}
.pd-stat-trend{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:20px;background:#ECFDF5;color:#059669}
.pd-stat-trend.down{background:#FEF2F2;color:#DC2626}

.pd-section{margin-top:18px}
.pd-sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pd-sec-title{font-size:15px;font-weight:800;color:#0F172A;display:flex;align-items:center;gap:8px}
.pd-sec-link{font-size:12px;font-weight:700;color:#0EA5E9;cursor:pointer}
.pd-sec-link:hover{text-decoration:underline}

.pd-today{display:flex;flex-direction:column;gap:8px}
.pd-today-item{
  display:flex;align-items:center;gap:13px;
  background:#fff;border:1px solid #EEF2F6;border-radius:13px;padding:12px 15px;
  transition:all .15s;
}
.pd-today-item:hover{border-color:#BAE6FD;background:#FAFDFF}
.pd-today-time{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:54px;flex-shrink:0;padding:5px;border-radius:10px;
  background:var(--pt-bg,#EFF6FF);color:var(--pt-c,#0EA5E9);
}
.pd-today-time b{font-size:14px;font-weight:800;font-family:'Tajawal';line-height:1}
.pd-today-time span{font-size:9px;font-weight:700;opacity:.8;margin-top:2px}
.pd-today-c{flex:1;min-width:0}
.pd-today-t{font-size:13.5px;font-weight:800;color:#0F172A}
.pd-today-s{font-size:11.5px;color:#64748B;margin-top:1px}
.pd-today-badge{font-size:10px;font-weight:800;padding:3px 10px;border-radius:20px}
.pd-today-badge.now{background:#ECFDF5;color:#059669}
.pd-today-badge.next{background:#EFF6FF;color:#1E40AF}
.pd-today-badge.done{background:#F1F5F9;color:#64748B}

/* ─── Polish existing student/teacher dashboards (safe, visual only) ─── */
body.ent-mode .ent-hero{border-radius:20px!important;padding:24px 28px!important}
body.ent-mode .ent-hero h1{font-size:23px!important;letter-spacing:-.3px}
body.ent-mode .ent-hero-stat{border-radius:14px!important;backdrop-filter:blur(8px)}
body.ent-mode .ent-hero-stat b{font-size:21px!important}
body.ent-mode .ent-kpi{border-radius:16px!important;border:1px solid #EEF2F6!important;transition:transform .18s, box-shadow .18s!important}
body.ent-mode .ent-kpi:hover{transform:translateY(-3px)!important;box-shadow:0 14px 28px -10px rgba(15,23,42,.12)!important}
body.ent-mode .ent-kpi-ic{border-radius:14px!important;width:46px!important;height:46px!important;font-size:22px!important}
body.ent-mode .ent-kpi-val{font-size:25px!important;letter-spacing:-.5px;color:#3B82F6!important}
body.ent-mode .ent-panel{border-radius:16px!important;border:1px solid #EEF2F6!important}
body.ent-mode .ent-panel-title{font-weight:800!important}
body.ent-mode .ent-quick-btn{border-radius:11px!important;font-weight:700!important;padding:9px 16px!important}
