/* Teacher dashboard on classroom.html («ថ្នាក់រៀនរបស់ខ្ញុំ»): photo, greeting, school year, app tiles (kp-class.js dash()) */
.kp-dash{position:relative;overflow:hidden;border-radius:28px;padding:34px 22px 30px;margin:0 0 22px;text-align:center;
  background:
    radial-gradient(420px 300px at 18% 28%, rgba(120,170,255,.28), transparent 70%),
    radial-gradient(380px 300px at 85% 22%, rgba(255,180,140,.22), transparent 70%),
    radial-gradient(420px 320px at 40% 85%, rgba(255,200,120,.20), transparent 70%),
    radial-gradient(400px 300px at 75% 80%, rgba(140,230,160,.20), transparent 70%),
    var(--surface, #f4f5f8);
  border:1px solid var(--line, #e6e8ee)}
.kp-dash-ava{position:relative;width:132px;height:132px;margin:0 auto 14px}
.kp-dash-ava img,.kp-dash-ava .ini{width:132px;height:132px;border-radius:50%;object-fit:cover;display:block;
  box-shadow:0 10px 30px rgba(40,40,80,.18);border:4px solid #fff}
.kp-dash-ava .ini{display:flex;align-items:center;justify-content:center;font-size:46px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#7c5cff,#e0559b)}
.kp-dash-cam{position:absolute;right:-2px;bottom:4px;width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;
  background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center}
.kp-dash-cam svg{width:22px;height:22px}
.kp-dash h2{font-size:clamp(22px,3.4vw,34px);margin:4px 0 10px;color:var(--ink,#1d1d2b);font-weight:800}
.kp-dash-year{display:inline-flex;align-items:center;gap:4px;border:0;background:none;cursor:pointer;
  color:#3b6fd6;font-size:17px;font-weight:700;padding:4px 10px;border-radius:999px}
.kp-dash-year:hover{background:rgba(59,111,214,.08)}
.kp-dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 18px;max-width:900px;margin:30px auto 0}
@media (max-width:900px){.kp-dash-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
.kp-tile{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:var(--ink,#1d1d2b);
  background:none;border:0;cursor:pointer;font:inherit;padding:0}
.kp-tile i{width:116px;height:116px;border-radius:28px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px rgba(60,40,120,.18);transition:transform .18s ease, box-shadow .18s ease}
.kp-tile i svg{width:54px;height:54px;fill:#fff}
.kp-tile b{font-size:17px;font-weight:700;line-height:1.5}
.kp-tile:hover i,.kp-tile:focus-visible i{transform:translateY(-4px) scale(1.04);box-shadow:0 18px 34px rgba(60,40,120,.26)}
.kp-tile small{display:block;font-weight:400;font-size:13px;color:var(--ink-3,#777);margin-top:-8px}
.g-pink{background:linear-gradient(160deg,#c057f0,#e9567f)}
.g-coral{background:linear-gradient(160deg,#c9609c,#f07a45)}
.g-violet{background:linear-gradient(170deg,#a15cf0,#5f9ee6)}
.g-indigo{background:linear-gradient(170deg,#9f5cf0,#5ea2e6)}
.g-sunset{background:linear-gradient(150deg,#f7c84b,#f08a5b 50%,#d96aa6 75%,#9cc4f0)}
.g-green{background:linear-gradient(150deg,#86d27a,#a8c86a 50%,#5aa0b8)}
.g-teal{background:linear-gradient(160deg,#2fc3b4,#3a86e0)}
.g-gold{background:linear-gradient(160deg,#f2b43c,#e7684c)}
@media (max-width:640px){
  .kp-dash{padding:24px 12px 22px;border-radius:20px}
  .kp-dash-ava,.kp-dash-ava img,.kp-dash-ava .ini{width:104px;height:104px}
  .kp-dash-grid{grid-template-columns:repeat(3,1fr);gap:20px 8px}
  .kp-tile i{width:76px;height:76px;border-radius:20px}.kp-tile i svg{width:40px;height:40px}
  .kp-tile b{font-size:14px}
}
@media print{.kp-dash{display:none}}

/* gradebook: a score above the full mark (kp-class.js pGrade) */
#g-tab input.sc.bad{border:2px solid #d93025!important;background:#fdecea!important;color:#a12622;font-weight:700}
#g-tab .sc-err{display:block;color:#d93025;font-size:12px;font-weight:600;margin-top:2px;white-space:nowrap}
#g-save:disabled{opacity:.5;cursor:not-allowed}
/* exam schedule (start / end) */
.ex-when{font-size:13px;line-height:1.5;white-space:nowrap}
.ex-when b{font-weight:700}
.pill-s.wait{background:#fff4d6;color:#8a5a00}.pill-s.live{background:#dff5e6;color:#17733a}.pill-s.done{background:#eceef3;color:#5b6170}

/* ---------------- homeroom (kp-homeroom.js) ---------------- */
.hr-ph{display:inline-flex;align-items:center;justify-content:center;width:72px;height:108px;border-radius:8px;overflow:hidden;flex:none;
  background:linear-gradient(160deg,#eef1f8,#dfe5f2);border:1px solid var(--line,#dde);color:#8a93a6;font-size:11px;text-align:center;line-height:1.4}
.hr-ph img{width:100%;height:100%;object-fit:cover}.hr-ph i{font-style:normal}
.hr-ph.sm{width:34px;height:51px;border-radius:5px;font-size:0}.hr-ph.big{width:150px;height:225px;border-radius:12px;font-size:14px}
.hr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-top:12px}
.hr-card{display:flex;gap:12px;padding:12px;border:1px solid var(--line,#e3e6ee);border-radius:14px;background:var(--surface,#fff)}
.hr-info{display:flex;flex-direction:column;gap:2px;min-width:0}.hr-info small{color:var(--ink-3,#777)}
.hr-bar{height:6px;border-radius:9px;background:#e9ecf3;overflow:hidden;margin-top:6px}.hr-bar i{display:block;height:100%;background:linear-gradient(90deg,#2fc3b4,#3a86e0)}
.hr-dlg{width:min(980px,96vw);max-height:92vh;overflow:auto}.hr-dlg::backdrop{background:rgba(10,20,30,.5)}
.hr-edit{display:grid;grid-template-columns:170px 1fr;gap:18px;margin-top:10px}
.hr-photo-col{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.hr-fields h4{margin:12px 0 4px;color:var(--primary,#3b3b98);font-size:15px}.hr-fields h4:first-child{margin-top:0}
.hr-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 12px}.hr-row .fld.wide{grid-column:1/-1}
@media (max-width:700px){.hr-edit{grid-template-columns:1fr}}
.hr-ht{text-align:center;margin:6px 0 10px;font-size:24px}
.hr-podium{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:14px}
.hr-hcard{position:relative;width:170px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px 14px;border-radius:18px;text-align:center;
  background:var(--surface,#fff);border:2px solid #e6e1c8;box-shadow:0 8px 22px rgba(80,60,0,.08)}
.hr-hcard .hr-ph{width:96px;height:144px;margin-bottom:4px}
.hr-hcard.r1{border-color:#e2b100;background:linear-gradient(180deg,#fff8d6,#fff);transform:translateY(-6px)}
.hr-hcard.r2{border-color:#a9b3c2;background:linear-gradient(180deg,#f1f4f8,#fff)}.hr-hcard.r3{border-color:#cf8a4b;background:linear-gradient(180deg,#fbeee2,#fff)}
.hr-medal{position:absolute;top:-14px;font-size:28px}.hr-rk{background:#2b2b55;color:#fff;border-radius:99px;padding:0 10px;font-size:13px;font-weight:700}
.hr-hcard small{color:var(--ink-3,#777)}
.at-seg button{padding:4px 10px;font-size:13px}.at-seg button.on.at-O{background:#dff5e6;color:#17733a}.at-seg button.on.at-P{background:#fff4d6;color:#8a5a00}
.at-seg button.on.at-A{background:#fdecea;color:#b3261e}.at-seg button.on.at-L{background:#e8eefc;color:#2d55b8}
.at-days{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.at-days .on{outline:2px solid #3a86e0}
