:root{
  --bg:#08111f;
  --bg-2:#0c1527;
  --bg-3:#111d33;
  --panel:#0e182b;
  --panel-2:#132038;
  --panel-soft:rgba(16,26,45,.84);
  --line:rgba(148,163,184,.16);
  --line-2:rgba(148,163,184,.26);
  --text:#edf3ff;
  --text-2:#d7e2f6;
  --muted:#8ea3c6;
  --blue:#3b82f6;
  --cyan:#06b6d4;
  --green:#22c55e;
  --emerald:#10b981;
  --red:#ef4444;
  --amber:#f59e0b;
  --purple:#8b5cf6;
  --pink:#ec4899;
  --shadow:0 24px 60px rgba(0,0,0,.35);
  --shadow-sm:0 12px 28px rgba(0,0,0,.24);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Hind Siliguri',sans-serif;
  background:
    radial-gradient(55rem 55rem at -10% -20%, rgba(59,130,246,.16), transparent 52%),
    radial-gradient(45rem 45rem at 110% 10%, rgba(139,92,246,.14), transparent 50%),
    radial-gradient(38rem 38rem at 40% 110%, rgba(6,182,212,.10), transparent 55%),
    linear-gradient(180deg,#07101d 0%, #091321 42%, #07101b 100%);
  color:var(--text);
  min-height:100vh;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.page-backdrop{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.glass-panel{
  background:linear-gradient(180deg,rgba(18,30,50,.92),rgba(11,20,36,.96));
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}
.glass-soft{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:18px;
}
.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;min-height:100vh;padding:18px}
.sidebar{padding:18px;display:flex;flex-direction:column;position:sticky;top:18px;height:calc(100vh - 36px)}
.sidebar-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.brand-mark,.nav-icon,.quick-icon,.icon-btn,.top-action i,.top-user i,.mini-action i,.contact-grid i{
  color:#fff!important;
}
.brand-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.45rem;background:linear-gradient(135deg,var(--blue),var(--purple));box-shadow:0 12px 28px rgba(59,130,246,.3)}
.brand-kicker,.section-kicker,.report-kicker{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9db6ff}
.brand-title{font-size:1.16rem;margin:4px 0 0;font-weight:700;color:#fff;line-height:1.2}
.side-nav{display:flex;flex-direction:column;gap:10px;padding:18px 0;flex:1}
.nav-item{display:flex;align-items:center;gap:14px;padding:14px;border-radius:20px;border:1px solid transparent;transition:.18s ease;position:relative;overflow:hidden}
.nav-item::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 70%);opacity:0;transition:.18s}
.nav-item:hover::before,.nav-item.active::before{opacity:1}
.nav-item:hover,.nav-item.active{transform:translateY(-1px);border-color:var(--line-2);background:rgba(255,255,255,.03)}
.nav-item strong{display:block;font-size:1rem;color:#fff}
.nav-item small{display:block;color:var(--muted);font-size:.84rem}
.nav-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));flex:0 0 auto;box-shadow:var(--shadow-sm)}
.nav-icon.neutral{background:linear-gradient(135deg,#64748b,#94a3b8)}
.sidebar-foot{padding-top:8px;border-top:1px solid var(--line)}
.sidebar-note{padding:14px}
.sidebar-note strong{display:block;color:#fff;margin-top:4px}
.sidebar-note span{display:block;color:var(--muted);font-size:.9rem}
.main-shell{min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;margin-bottom:18px}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topbar-title{font-size:1.28rem;font-weight:700;color:#fff}
.top-action,.top-user{min-height:46px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);color:var(--text-2);font-weight:600}
.top-action i,.top-user i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));font-size:.88rem}
.top-user i{background:linear-gradient(135deg,var(--cyan),var(--emerald))}
.icon-btn{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.mobile-only{display:none}
.main-content{min-width:0}
.hero-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;margin-bottom:18px}
.hero-panel.compact{padding:18px 22px}
.section-title{margin:6px 0 4px;font-size:clamp(1.25rem,1.8vw,1.9rem);font-weight:700;color:#fff}
.section-subtitle,.mini-label,.call-time,.demo-note,.card-head span{color:var(--muted)}
.hero-actions,.date-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.content-card{padding:20px}
.card-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px}
.card-head h3{margin:0;color:#fff;font-size:1.12rem;font-weight:700}
.btn{border-radius:16px!important;font-weight:700!important;padding:.82rem 1rem!important;border:1px solid transparent!important}
.btn-rainbow{color:#fff!important;background:linear-gradient(135deg,var(--blue),var(--purple),var(--cyan));box-shadow:0 14px 30px rgba(59,130,246,.25)}
.btn-soft,.btn-light{color:var(--text)!important;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important;border-color:var(--line)!important}
.btn-danger{background:linear-gradient(135deg,var(--red),#dc2626)!important;border:none!important}
.input-pro,.form-select,.form-control{background:rgba(255,255,255,.04)!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:16px!important;padding:.86rem 1rem!important}
.input-pro::placeholder,.form-control::placeholder{color:#7d93b7}
.form-control:focus,.form-select:focus{box-shadow:0 0 0 .25rem rgba(59,130,246,.12)!important;border-color:rgba(96,165,250,.45)!important}
.form-label{color:var(--text-2);font-weight:600;margin-bottom:8px}
.alert{border-radius:16px!important;border:none!important}
.search-box{position:relative}
.search-box i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ab1d4}
.search-box .form-control{padding-left:44px!important}
.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.metric-card{padding:18px;border-radius:22px;color:#fff;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.07);min-height:122px;display:flex;flex-direction:column;justify-content:space-between}
.metric-card span{font-size:.95rem;font-weight:600;color:rgba(255,255,255,.88)}
.metric-card strong{font-size:2rem;line-height:1;font-weight:700}
.metric-card small{color:rgba(255,255,255,.76)}
.m1{background:linear-gradient(135deg,#2563eb,#3b82f6)}
.m2{background:linear-gradient(135deg,#7c3aed,#8b5cf6)}
.m3{background:linear-gradient(135deg,#059669,#10b981)}
.m4{background:linear-gradient(135deg,#dc2626,#ef4444)}
.m5{background:linear-gradient(135deg,#d97706,#f59e0b)}
.m6{background:linear-gradient(135deg,#475569,#64748b)}
.mini-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mini-action{padding:16px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line);display:flex;gap:12px;align-items:center}
.mini-action i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple))}
.chart-box{height:270px}
.empty-state{padding:28px;text-align:center;color:var(--muted)}
.table{color:var(--text);margin-bottom:0}
.table>:not(caption)>*>*{background:transparent!important;border-color:rgba(148,163,184,.12)!important;color:inherit;padding:14px 12px}
.table thead th{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#9eb4d8;font-weight:700}
.table-responsive{border-radius:20px;overflow:auto}
.student-inline{display:flex;align-items:center;gap:12px;min-width:0}
.student-inline.lg h3{margin:0;color:#fff;font-size:1.18rem}
.avatar-xs,.avatar-lg{border-radius:18px;object-fit:cover;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-sm);background:#0f172a}
.avatar-xs{width:44px;height:44px}.avatar-lg{width:72px;height:72px}
.attendance-board{padding:10px}
.attendance-table td strong{font-size:1.1rem}
.att-pill{display:inline-flex;align-items:center;border-radius:18px;overflow:hidden;border:1.5px solid rgba(245,158,11,.85);background:rgba(255,255,255,.02)}
.att-btn{min-width:46px;height:42px;border:none;background:transparent;color:#dbe7fb;font-weight:700;transition:.18s ease}
.att-btn + .att-btn{border-left:1px solid rgba(245,158,11,.55)}
.att-btn.p-btn.active{background:#198754;color:#fff}
.att-btn.a-btn.active{background:#ef4444;color:#fff}
.att-btn:not(.active):hover{background:rgba(255,255,255,.06)}
.call-card{padding:22px;border-radius:28px;border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(18,29,48,.96),rgba(12,20,35,.98));box-shadow:var(--shadow)}
.call-card::before{content:'';position:absolute;right:-65px;top:-65px;width:180px;height:180px;border-radius:50%;opacity:.28}
.call-card.pending::before{background:radial-gradient(circle,var(--red),rgba(239,68,68,.06) 68%,transparent 70%)}
.call-card.done::before{background:radial-gradient(circle,var(--green),rgba(34,197,94,.06) 68%,transparent 70%)}
.call-top,.call-actions,.auto-save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;z-index:1}
.call-top{margin-bottom:16px}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;position:relative;z-index:1}
.contact-grid a{display:flex;gap:10px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line);min-width:0}
.contact-grid i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));flex:0 0 auto}
.contact-grid span{font-size:.92rem;color:var(--text-2);line-height:1.35}
.contact-grid strong{color:#fff;display:block;overflow:hidden;text-overflow:ellipsis}
.feedback-input{min-height:118px!important;position:relative;z-index:1}
.state-badge,.status-orb{
  display:inline-flex;align-items:center;justify-content:center;min-width:118px;padding:10px 16px;border-radius:999px;color:#fff;font-weight:700;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-sm)
}
.state-badge.pending,.status-orb.pending{background:radial-gradient(circle at 30% 25%, #ff7b7b 0%, #ef4444 38%, #b91c1c 100%)}
.state-badge.done,.status-orb.done{background:radial-gradient(circle at 30% 25%, #7ef0a7 0%, #22c55e 42%, #15803d 100%)}
.toggle-pill{display:inline-flex;align-items:center;cursor:pointer}
.toggle-pill input{display:none}
.toggle-track{position:relative;width:190px;height:52px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);display:flex;align-items:center;padding:6px}
.toggle-knob{position:absolute;left:6px;top:6px;width:88px;height:38px;border-radius:999px;background:radial-gradient(circle at 30% 25%, #ff8d8d 0%, #ef4444 40%, #b91c1c 100%);transition:.22s ease;box-shadow:0 10px 18px rgba(0,0,0,.24)}
.toggle-pill.active .toggle-knob{left:95px;background:radial-gradient(circle at 30% 25%, #9cf9bb 0%, #22c55e 40%, #15803d 100%)}
.toggle-text{position:relative;z-index:1;width:50%;text-align:center;font-size:.92rem;font-weight:700}
.toggle-text.on{color:#eafff0}.toggle-text.off{color:#ffe9e9}
.autosave-hint{color:#9cc8ff;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.call-card.saving{outline:1px solid rgba(59,130,246,.4)}
.call-time{position:relative;z-index:1;margin-top:14px}
.report-sheet{padding:22px;border-radius:30px;border:1px solid var(--line);background:#0b1527;color:#fff;box-shadow:var(--shadow)}
.colorful-report{
  background:
    radial-gradient(20rem 20rem at 0% 0%, rgba(59,130,246,.22), transparent 55%),
    radial-gradient(18rem 18rem at 100% 0%, rgba(236,72,153,.18), transparent 50%),
    radial-gradient(20rem 20rem at 100% 100%, rgba(34,197,94,.16), transparent 52%),
    linear-gradient(180deg,#0e172a 0%, #0d1626 100%);
}
.report-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:8px 0 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}
.report-hero h3{margin:6px 0 4px;font-size:1.7rem;color:#fff}
.report-range{color:#c7d4ea}
.report-orbs{display:flex;gap:12px;flex-wrap:wrap}
.orb-stat{min-width:140px;padding:16px 18px;border-radius:24px;color:#fff;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.12)}
.orb-stat span{display:block;font-size:.86rem;opacity:.88}.orb-stat strong{display:block;font-size:1.8rem;line-height:1.1;margin-top:6px}
.orb-stat.done{background:radial-gradient(circle at 30% 25%, #7ef0a7 0%, #22c55e 42%, #166534 100%)}
.orb-stat.pending{background:radial-gradient(circle at 30% 25%, #ff8888 0%, #ef4444 40%, #991b1b 100%)}
.report-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.meta-chip{padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;gap:12px;align-items:center}
.meta-chip i{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff}
.meta-chip span{display:block;color:#c9d7ed;font-size:.85rem}
.meta-chip strong{display:block;color:#fff}
.report-table th{color:#d7e4fb;background:rgba(255,255,255,.04)!important}
.report-table td{vertical-align:middle}
.login-body{display:grid;place-items:center;min-height:100vh;padding:18px}
.login-card{max-width:470px;width:100%;padding:30px}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.login-card h2{margin:0;color:#fff}
.report-table td:last-child{min-width:220px}
@media (max-width:1399px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1199px){.report-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:991px){
  .app-shell{grid-template-columns:1fr;padding:14px}
  .mobile-only{display:grid}
  .sidebar{position:fixed;left:14px;top:14px;bottom:14px;width:min(310px,calc(100vw - 28px));z-index:30;transform:translateX(-115%);transition:.22s ease;height:auto}
  body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-open::after{content:'';position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:20}
  .main-shell{position:relative;z-index:1}
  .topbar{padding:16px}
  .topbar-right{justify-content:flex-start}
  .hero-panel,.report-hero{flex-direction:column;align-items:flex-start}
}
@media (max-width:767px){
  .topbar-right,.date-box,.hero-actions,.call-actions,.auto-save-row{width:100%}
  .top-action,.top-user{width:100%;justify-content:flex-start}
  .metric-card strong{font-size:1.7rem}
  .stat-grid,.report-meta-grid,.mini-actions{grid-template-columns:1fr}
  .toggle-track{width:100%}
  .call-top{align-items:flex-start;flex-direction:column}
  .student-inline.lg{align-items:flex-start}
}
@media print{
  body{background:#fff!important;color:#000!important}
  .sidebar,.topbar,.print-hide,.hero-panel,.btn{display:none!important}
  .app-shell,.main-shell{display:block;padding:0;margin:0}
  .main-content{padding:0!important}
  .report-sheet{box-shadow:none;border:none;border-radius:0;padding:0;background:#fff!important;color:#000!important}
  .report-table th,.report-table td{color:#000!important;background:#fff!important}
}

input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.2);opacity:.9;cursor:pointer}


.desktop-only{display:grid}
body.sidebar-collapsed .app-shell{grid-template-columns:96px minmax(0,1fr)}
body.sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}
body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-text,body.sidebar-collapsed .sidebar-foot{display:none}
body.sidebar-collapsed .sidebar-head{justify-content:center}
body.sidebar-collapsed .side-nav .nav-item{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed .side-nav .nav-icon{margin-right:0}
.collapse-btn{margin-left:auto}
.filter-toolbar{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(150px,.8fr));gap:12px;align-items:center}
.report-filter{grid-template-columns:repeat(7,minmax(120px,1fr))}
.table-actions{display:flex;gap:8px;flex-wrap:wrap}
.stack-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stack-item{padding:16px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line);display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}
.stack-item i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff}
.role-pill{display:inline-flex;padding:8px 12px;border-radius:999px;font-weight:700;color:#fff;text-transform:capitalize}
.role-pill.super_admin{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.role-pill.admin{background:linear-gradient(135deg,#2563eb,#3b82f6)}
.role-pill.staff{background:linear-gradient(135deg,#475569,#64748b)}
.att-pill.locked{opacity:.6;pointer-events:none}
.enterprise-hero{align-items:center}
@media (max-width:991px){.desktop-only{display:none}.filter-toolbar,.report-filter{grid-template-columns:1fr}.stack-stats{grid-template-columns:1fr}}


/* ===== V4 enterprise polish ===== */
.top-action i,.top-user i,.meta-chip i,.stack-item i,.contact-grid i{color:#ffffff !important;filter:none!important}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.8) saturate(0);opacity:1}
.class-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.class-dash-card{border-radius:24px;padding:18px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));box-shadow:var(--shadow-sm)}
.class-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.class-dash-card h4{margin:4px 0 0;color:#fff;font-size:1.18rem}
.class-total{width:52px;height:52px;border-radius:16px;background:#1d4ed8;color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.05rem}
.class-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.class-metrics div{padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.class-metrics small{display:block;color:var(--muted);margin-bottom:4px}.class-metrics strong{font-size:1.2rem;color:#fff}
.section-summary-wrap{max-height:480px}.section-summary-table td,.section-summary-table th{text-align:center}.section-summary-table td:nth-child(1),.section-summary-table td:nth-child(2),.section-summary-table th:nth-child(1),.section-summary-table th:nth-child(2){text-align:left}
.activity-filter{grid-template-columns:repeat(5,minmax(140px,1fr))}.log-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:700}
.call-card.pending::before,.call-card.done::before{opacity:.18}
.state-badge.pending,.status-orb.pending,.toggle-knob{background:#dc2626 !important}
.state-badge.done,.status-orb.done,.toggle-pill.active .toggle-knob{background:#16a34a !important}
.state-badge,.status-orb{border:none;box-shadow:none}
.toggle-track{background:rgba(255,255,255,.06)}
.toggle-pill.active .toggle-text.on,.toggle-text.off{color:#fff}
.formal-report-sheet{background:#ffffff !important;color:#14213d !important;border:none !important;box-shadow:0 20px 50px rgba(15,23,42,.14);padding:0 26px 26px;border-radius:28px;overflow:hidden}
.formal-band{height:14px;background:linear-gradient(90deg,#93c5fd 0%, #c4b5fd 20%, #f5d0fe 40%, #fecdd3 60%, #fde68a 80%, #bbf7d0 100%)}
.formal-hero{padding-top:20px;border-bottom:1px solid #e5e7eb}
.formal-hero h3{color:#0f172a}.formal-hero .report-range,.formal-report-sheet .report-kicker{color:#475569}
.orb-stat.formal{border:none;box-shadow:none;background:#f8fafc;color:#0f172a}
.orb-stat.formal.done{background:#dcfce7;color:#166534}.orb-stat.formal.pending{background:#fee2e2;color:#991b1b}
.formal-meta-grid .meta-chip.formal{background:#f8fafc;border:1px solid #e5e7eb}.formal-meta-grid .meta-chip.formal span{color:#64748b}.formal-meta-grid .meta-chip.formal strong{color:#0f172a}.formal-meta-grid .meta-chip.formal i{background:#e2e8f0;color:#0f172a !important}
.formal-report-table th{background:#f8fafc !important;color:#334155 !important;border-bottom:1px solid #e5e7eb !important}
.formal-report-table td{color:#0f172a !important;background:#ffffff !important;border-color:#eef2f7 !important;vertical-align:middle}
.report-student-photo{width:56px;height:56px;border-radius:14px;object-fit:cover;border:2px solid #e2e8f0;background:#f8fafc}
.status-orb.solid{min-width:110px;padding:10px 14px;border-radius:999px;color:#fff !important;box-shadow:none}.status-orb.solid.done{background:#16a34a !important}.status-orb.solid.pending{background:#dc2626 !important}
@media (max-width:1199px){.class-card-grid{grid-template-columns:1fr}.activity-filter{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:991px){.activity-filter{grid-template-columns:1fr}.formal-report-sheet{padding:0 16px 16px}.report-student-photo{width:46px;height:46px}}
@media print{.formal-report-sheet{box-shadow:none !important;border-radius:0 !important}.formal-report-table th{background:#f8fafc !important}.formal-band{display:block !important}}

.formal-note{margin:16px 0 18px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:.95rem;line-height:1.6}
/* ===== Next Level Premium Report UI ===== */

.premium-report-hero{
  align-items:center;
  padding-bottom:20px;
}

.premium-orb{
  min-width:150px;
  border-radius:22px;
  padding:18px 20px;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.meta-chip.colorful{
  border:none !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
}

.meta-chip.colorful::after{
  content:'';
  position:absolute;
  right:-22px;
  top:-22px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:rgba(255,255,255,.20);
}

.meta-chip.colorful i{
  width:46px;
  height:46px;
  border-radius:14px;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

.meta-chip.colorful span{
  color:rgba(15,23,42,.72) !important;
  font-weight:600;
}

.meta-chip.colorful strong{
  color:#0f172a !important;
  font-size:1.08rem;
}

.meta-chip.colorful.c1{
  background:linear-gradient(135deg,#dbeafe,#93c5fd);
}
.meta-chip.colorful.c1 i{
  background:#3b82f6 !important;
}

.meta-chip.colorful.c2{
  background:linear-gradient(135deg,#ede9fe,#c4b5fd);
}
.meta-chip.colorful.c2 i{
  background:#8b5cf6 !important;
}

.meta-chip.colorful.c3{
  background:linear-gradient(135deg,#fef3c7,#fde68a);
}
.meta-chip.colorful.c3 i{
  background:#f59e0b !important;
}

.meta-chip.colorful.c4{
  background:linear-gradient(135deg,#dcfce7,#bbf7d0);
}
.meta-chip.colorful.c4 i{
  background:#22c55e !important;
}

.premium-report-wrap{
  border-radius:22px;
  overflow:hidden;
  border:1px solid #e9edf5;
}

.premium-report-table{
  border-collapse:separate;
  border-spacing:0;
}

.premium-report-table thead th{
  background:#7c3aed !important;
  color:#fff !important;
  border:none !important;
  text-align:center;
  font-weight:700;
  font-size:.95rem;
  padding:16px 12px !important;
}

.premium-report-table thead th:first-child{
  border-top-left-radius:16px;
}
.premium-report-table thead th:last-child{
  border-top-right-radius:16px;
}

.premium-report-table tbody tr:nth-child(even) td{
  background:#fcfcff !important;
}

.premium-report-table tbody tr:hover td{
  background:#f7f4ff !important;
  transition:.18s ease;
}

.premium-report-table td{
  padding:14px 12px !important;
  vertical-align:middle !important;
}

.report-student-photo{
  width:58px;
  height:58px;
  border-radius:16px;
  object-fit:cover;
  border:2px solid #e9d5ff;
  background:#f8fafc;
  box-shadow:0 8px 18px rgba(124,58,237,.10);
}

.roll-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  padding:8px 12px;
  border-radius:999px;
  background:#f3f4f6;
  color:#111827;
  font-weight:700;
}

.student-name-cell strong{
  color:#0f172a;
  font-size:1rem;
  font-weight:700;
  line-height:1.45;
}

.time-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eef2ff;
  color:#4338ca;
  font-weight:700;
  white-space:nowrap;
}

.feedback-box{
  background:#faf5ff;
  border:1px solid #eadcff;
  color:#374151;
  padding:10px 12px;
  border-radius:14px;
  line-height:1.55;
  min-width:180px;
}

.status-orb.solid{
  min-width:116px;
  padding:10px 14px;
  border-radius:999px;
  font-size:.92rem;
  font-weight:700;
  border:none !important;
  box-shadow:none !important;
}

.status-orb.solid.done{
  background:#16a34a !important;
  color:#fff !important;
}

.status-orb.solid.pending{
  background:#dc2626 !important;
  color:#fff !important;
}

@media (max-width:991px){
  .premium-report-hero{
    align-items:flex-start;
  }

  .report-student-photo{
    width:48px;
    height:48px;
  }

  .feedback-box{
    min-width:140px;
  }
}

@media print{
  .meta-chip.colorful{
    box-shadow:none !important;
  }

  .premium-report-wrap{
    border:1px solid #e5e7eb !important;
  }

  .premium-report-table thead th{
    background:#7c3aed !important;
    color:#fff !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .status-orb.solid.done{
    background:#16a34a !important;
    color:#fff !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .status-orb.solid.pending{
    background:#dc2626 !important;
    color:#fff !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .time-pill{
    background:#eef2ff !important;
    color:#4338ca !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .feedback-box{
    background:#faf5ff !important;
    border:1px solid #eadcff !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}

/* ===== Premium Call List Cards ===== */

.calllist-sheet{
  background:#ffffff !important;
  color:#14213d !important;
}

.calllist-card-grid{
  margin-top:6px;
}

.premium-call-card{
  background:#ffffff;
  border:1px solid #e8edf5;
  border-radius:28px;
  padding:22px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  height:100%;
  transition:.18s ease;
}

.premium-call-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(15,23,42,.10);
}

.premium-call-card.pending{
  border-left:6px solid #dc2626;
}

.premium-call-card.done{
  border-left:6px solid #16a34a;
}

.premium-call-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}

.premium-student-block{
  align-items:center;
  gap:14px;
}

.premium-call-photo{
  width:78px;
  height:78px;
  border-radius:20px;
  object-fit:cover;
  border:2px solid #e9d5ff;
  background:#f8fafc;
  box-shadow:0 10px 22px rgba(124,58,237,.10);
}

.premium-mini-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:8px;
}

.class-mini-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#f3f4f6;
  color:#334155;
  font-weight:700;
  font-size:.9rem;
}

.premium-call-name{
  margin:0;
  color:#0f172a;
  font-size:1.3rem;
  font-weight:700;
  line-height:1.3;
}

.premium-status-wrap{
  flex:0 0 auto;
}

.premium-contact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}

.premium-contact-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  border-radius:20px;
  border:1px solid #e7eaf1;
  background:#fcfcff;
  transition:.18s ease;
}

.premium-contact-item:hover{
  background:#f8faff;
  border-color:#dbe3ef;
}

.premium-contact-item span{
  display:block;
  color:#64748b;
  font-size:.92rem;
  margin-bottom:4px;
}

.premium-contact-item strong{
  display:block;
  color:#0f172a;
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
  word-break:break-word;
}

.premium-contact-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#fff;
  flex:0 0 auto;
  box-shadow:0 10px 22px rgba(15,23,42,.10);
}

.premium-contact-icon i{
  color:#fff !important;
  font-size:1.05rem;
}

.premium-contact-icon.s1{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
}

.premium-contact-icon.s2{
  background:linear-gradient(135deg,#8b5cf6,#7c3aed);
}

.premium-contact-icon.s3{
  background:linear-gradient(135deg,#22c55e,#16a34a);
}

.premium-feedback-wrap{
  margin-bottom:18px;
}

.premium-label{
  color:#475569;
  font-weight:700;
}

.premium-feedback-input{
  min-height:110px !important;
  background:#faf5ff !important;
  border:1px solid #eadcff !important;
  color:#0f172a !important;
  border-radius:18px !important;
  box-shadow:none !important;
}

.premium-feedback-input:focus{
  border-color:#c4b5fd !important;
  background:#ffffff !important;
  box-shadow:0 0 0 .2rem rgba(139,92,246,.10) !important;
}

.premium-call-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.premium-toggle .toggle-track{
  width:200px;
  height:54px;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
}

.premium-toggle .toggle-knob{
  top:6px;
  left:6px;
  width:92px;
  height:40px;
  background:#dc2626 !important;
  box-shadow:none;
}

.premium-toggle.active .toggle-knob{
  left:100px;
  background:#16a34a !important;
}

.premium-toggle .toggle-text{
  color:#475569;
  font-size:.93rem;
}

.premium-toggle.active .toggle-text.on,
.premium-toggle .toggle-text.off{
  color:#0f172a;
}

.premium-save-info{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}

.premium-call-time{
  color:#64748b;
  font-size:.92rem;
  font-weight:600;
}

.autosave-hint{
  color:#4338ca;
  font-weight:700;
}

@media (max-width:1199px){
  .premium-contact-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .premium-call-card{
    padding:18px;
    border-radius:22px;
  }

  .premium-call-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .premium-student-block{
    align-items:flex-start;
  }

  .premium-call-photo{
    width:64px;
    height:64px;
    border-radius:18px;
  }

  .premium-call-name{
    font-size:1.12rem;
  }

  .premium-call-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  .premium-save-info{
    align-items:flex-start;
  }

  .premium-toggle .toggle-track{
    width:100%;
    min-width:220px;
  }
}