/* Colorful portal dashboards — student, teacher, login, checker */
.gsms-dashboard{
  --gsms-violet:#7c3aed;
  --gsms-sky:#0284c7;
  --gsms-mint:#0d9488;
  --gsms-amber:#d97706;
  --gsms-rose:#e11d48;
  --gsms-indigo:#4338ca;
  --gsms-teal:#0f766e;
  --gsms-gold:#ca8a04;
  --gsms-coral:#ea580c;
  max-width:1180px;
  padding-bottom:40px;
}
.gsms-dashboard-student{
  background:
    radial-gradient(900px 280px at 8% -10%,rgba(124,58,237,.16),transparent 55%),
    radial-gradient(700px 240px at 100% 8%,rgba(14,165,233,.16),transparent 50%),
    linear-gradient(180deg,#f7f3ff 0%,#eef6ff 42%,#f4fffb 100%);
  border-radius:28px;
  padding:18px 18px 36px;
}
.gsms-dashboard-teacher{
  background:
    radial-gradient(900px 280px at 0% -8%,rgba(13,148,136,.18),transparent 55%),
    radial-gradient(640px 240px at 100% 0%,rgba(234,88,12,.14),transparent 52%),
    linear-gradient(180deg,#f2fffb 0%,#eef4ff 48%,#fff7ed 100%);
  border-radius:28px;
  padding:18px 18px 36px;
}
.gsms-dashboard-hero{
  position:relative;
  overflow:hidden;
  min-height:168px;
  border-radius:26px;
  padding:28px 32px;
}
.gsms-dashboard-student .gsms-dashboard-hero{
  background:linear-gradient(120deg,#5b21b6 0%,#7c3aed 38%,#2563eb 72%,#06b6d4 100%);
  box-shadow:0 18px 40px rgba(91,33,182,.28);
}
.gsms-dashboard-teacher .gsms-dashboard-hero{
  background:linear-gradient(120deg,#115e59 0%,#0f766e 32%,#1d4ed8 68%,#ea580c 100%);
  box-shadow:0 18px 40px rgba(15,118,110,.28);
}
.gsms-dashboard-hero:before,
.gsms-dashboard-hero:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.gsms-dashboard-hero:before{
  width:180px;height:180px;right:-40px;top:-60px;
  background:rgba(255,255,255,.16);
}
.gsms-dashboard-hero:after{
  width:120px;height:120px;right:90px;bottom:-50px;
  background:rgba(250,204,21,.22);
}
.gsms-dashboard-hero>*{position:relative;z-index:1}
.gsms-portal-nav{
  background:rgba(255,255,255,.86);
  border:0;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}
.gsms-dashboard-student .gsms-portal-nav a:hover{background:#ede9fe;color:#6d28d9}
.gsms-dashboard-teacher .gsms-portal-nav a:hover{background:#ccfbf1;color:#0f766e}
.gsms-stat-card{
  position:relative;
  overflow:hidden;
  border:0;
  color:#0f172a;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.gsms-stat-card:before{
  content:"";
  position:absolute;inset:auto auto 0 0;width:100%;height:5px;
}
.gsms-stat-card span{font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:11px}
.gsms-stat-card strong{font-size:26px;letter-spacing:-.03em}
.gsms-tone-violet{background:linear-gradient(180deg,#f5f3ff,#ede9fe)}.gsms-tone-violet:before{background:#7c3aed}.gsms-tone-violet span,.gsms-tone-violet strong{color:#5b21b6}
.gsms-tone-sky{background:linear-gradient(180deg,#f0f9ff,#e0f2fe)}.gsms-tone-sky:before{background:#0284c7}.gsms-tone-sky span,.gsms-tone-sky strong{color:#075985}
.gsms-tone-mint{background:linear-gradient(180deg,#f0fdfa,#ccfbf1)}.gsms-tone-mint:before{background:#0d9488}.gsms-tone-mint span,.gsms-tone-mint strong{color:#115e59}
.gsms-tone-amber{background:linear-gradient(180deg,#fffbeb,#fef3c7)}.gsms-tone-amber:before{background:#d97706}.gsms-tone-amber span,.gsms-tone-amber strong{color:#92400e}
.gsms-tone-indigo{background:linear-gradient(180deg,#eef2ff,#e0e7ff)}.gsms-tone-indigo:before{background:#4338ca}.gsms-tone-indigo span,.gsms-tone-indigo strong{color:#3730a3}
.gsms-tone-rose{background:linear-gradient(180deg,#fff1f2,#ffe4e6)}.gsms-tone-rose:before{background:#e11d48}.gsms-tone-rose span,.gsms-tone-rose strong{color:#9f1239}
.gsms-tone-teal{background:linear-gradient(180deg,#f0fdfa,#99f6e4)}.gsms-tone-teal:before{background:#0f766e}.gsms-tone-teal span,.gsms-tone-teal strong{color:#134e4a}
.gsms-tone-gold{background:linear-gradient(180deg,#fffbeb,#fde68a)}.gsms-tone-gold:before{background:#ca8a04}.gsms-tone-gold span,.gsms-tone-gold strong{color:#854d0e}
.gsms-panel{
  border:0;
  box-shadow:0 14px 32px rgba(15,23,42,.07);
}
.gsms-profile-panel{
  background:linear-gradient(135deg,#fff 0%,#f5f3ff 55%,#e0f2fe 100%);
  border:1px solid #ddd6fe;
}
.gsms-profile-passport,.gsms-profile-passport-fallback{
  border:3px solid #c4b5fd;
  box-shadow:0 10px 24px rgba(91,33,182,.18);
}
.gsms-profile-meta dt{color:#6d28d9}
.gsms-notice-list article{
  background:#f8fafc;
  border-left-width:6px;
  border-left-color:#38bdf8;
}
.gsms-notice-list article.important{
  background:#fff7ed;
  border-left-color:#f97316;
}
.gsms-assignment-list article{
  background:linear-gradient(90deg,#fff7ed,#fff);
  border-color:#fdba74;
}
.gsms-resource-icon,.gsms-compact-resources article>span{
  background:#ffedd5;
  color:#c2410c;
}
.gsms-resource-grid article{border:0;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.gsms-resource-lesson_note{background:linear-gradient(180deg,#eef2ff,#fff)}
.gsms-resource-assignment{background:linear-gradient(180deg,#fff7ed,#fff)}
.gsms-resource-video{background:linear-gradient(180deg,#fdf2f8,#fff)}
.gsms-resource-other{background:linear-gradient(180deg,#ecfeff,#fff)}
.gsms-resource-lesson_note .gsms-resource-type{color:#4338ca}
.gsms-resource-lesson_note .gsms-resource-type span{background:#e0e7ff;color:#4338ca}
.gsms-resource-assignment .gsms-resource-type{color:#c2410c}
.gsms-resource-assignment .gsms-resource-type span{background:#ffedd5;color:#c2410c}
.gsms-resource-video .gsms-resource-type{color:#be185d}
.gsms-resource-video .gsms-resource-type span{background:#fce7f3;color:#be185d}
.gsms-result-list>div{
  background:linear-gradient(90deg,#f5f3ff,#fff);
  border:0;
  border-radius:12px;
  padding:14px 16px;
  margin:8px 0;
}
.gsms-button,.gsms-toolbar-button{
  background:linear-gradient(110deg,#7c3aed,#2563eb);
  box-shadow:0 8px 18px rgba(37,99,235,.25);
}
.gsms-dashboard-teacher .gsms-button{
  background:linear-gradient(110deg,#0f766e,#1d4ed8);
}
.gsms-quick-actions a{
  border:0;
  box-shadow:0 10px 22px rgba(15,23,42,.07);
}
.gsms-quick-actions a:nth-child(1){background:linear-gradient(180deg,#eef2ff,#fff)}.gsms-quick-actions a:nth-child(1)>span{background:#e0e7ff;color:#4338ca}
.gsms-quick-actions a:nth-child(2){background:linear-gradient(180deg,#f0fdfa,#fff)}.gsms-quick-actions a:nth-child(2)>span{background:#ccfbf1;color:#0f766e}
.gsms-quick-actions a:nth-child(3){background:linear-gradient(180deg,#fff7ed,#fff)}.gsms-quick-actions a:nth-child(3)>span{background:#ffedd5;color:#c2410c}
.gsms-quick-actions a:nth-child(4){background:linear-gradient(180deg,#fdf2f8,#fff)}.gsms-quick-actions a:nth-child(4)>span{background:#fce7f3;color:#be185d}
.gsms-quick-actions a:nth-child(5){background:linear-gradient(180deg,#fefce8,#fff)}.gsms-quick-actions a:nth-child(5)>span{background:#fef08a;color:#854d0e}
.gsms-quick-actions a:nth-child(6){background:linear-gradient(180deg,#f1f5f9,#fff)}.gsms-quick-actions a:nth-child(6)>span{background:#e2e8f0;color:#334155}
.gsms-class-panel{
  background:linear-gradient(180deg,#fff,#f0fdfa);
  border-top:5px solid #14b8a6;
}
.gsms-student-grid a{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid #99f6e4;
  border-radius:12px;
  padding:10px;
  text-decoration:none;
  color:#134e4a;
}
.gsms-grid-passport,.gsms-grid-passport-fallback{
  width:42px;height:50px;object-fit:cover;border-radius:8px;background:#ccfbf1;border:1px solid #5eead4
}
.gsms-grid-passport-fallback{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:#0f766e}
.gsms-count-badge{background:#ede9fe;color:#6d28d9}
.gsms-dashboard-teacher .gsms-count-badge{background:#ccfbf1;color:#0f766e}
.gsms-portal-shell{
  background:
    radial-gradient(circle at 12% 18%,rgba(124,58,237,.18),transparent 32%),
    radial-gradient(circle at 88% 0%,rgba(14,165,233,.16),transparent 34%),
    linear-gradient(145deg,#f5f3ff,#e0f2fe 55%,#ccfbf1);
}
.gsms-login-card{
  border:0;
  box-shadow:0 24px 60px rgba(91,33,182,.16);
}
.gsms-login-card h2{background:linear-gradient(90deg,#6d28d9,#0284c7);-webkit-background-clip:text;background-clip:text;color:transparent}
.gsms-checker-shell{
  background:
    radial-gradient(circle at 15% 10%,rgba(124,58,237,.18),transparent 35%),
    radial-gradient(circle at 90% 80%,rgba(234,88,12,.14),transparent 40%),
    linear-gradient(145deg,#f8f7ff,#edf3ff 50%,#fff7ed);
}
.gsms-checker-form button{background:linear-gradient(110deg,#6d28d9,#ea580c)}
@media(max-width:700px){
  .gsms-dashboard-student,.gsms-dashboard-teacher{padding:10px}
  .gsms-student-grid a{grid-template-columns:36px 1fr}
}
