
/* ===== original style block 1 ===== */

body{margin:0;font-family:Arial;background:#08111f;color:#e5e7eb}header{padding:14px;background:#0f172a;border-bottom:1px solid #334155;display:flex;gap:12px;align-items:center;position:sticky;top:0;z-index:2}.logo{width:52px;height:52px;border:2px solid #facc15;border-radius:14px;color:#facc15;font-weight:900;font-size:24px;display:flex;align-items:center;justify-content:center;letter-spacing:-6px;padding-right:5px}h1{margin:0;font-size:22px}.sub,.small{color:#94a3b8;font-size:13px}.wrap{display:grid;grid-template-columns:240px 1fr}nav{background:#0f172a;padding:10px;min-height:calc(100vh - 80px);border-right:1px solid #334155}nav button{width:100%;text-align:left;background:transparent;color:#e5e7eb;border:0;border-radius:10px;padding:10px;margin:4px 0;cursor:pointer}nav button.active,nav button:hover{background:#1e293b}main{padding:14px}.card{background:#111827;border:1px solid #334155;border-radius:14px;padding:14px;margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:#0b1120;border:1px solid #334155;border-radius:12px;padding:12px}.metric b{color:#facc15;font-size:21px}.row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}input,select,textarea{width:100%;background:#0b1120;color:#e5e7eb;border:1px solid #334155;border-radius:9px;padding:8px}label{display:block;color:#94a3b8;font-size:13px;margin-top:6px}.btn{background:#2563eb;color:white;border:0;border-radius:9px;padding:8px 12px;margin:8px 5px 0 0;cursor:pointer}.ok{background:#059669}.badbtn{background:#be123c}.gold{background:#b45309}table{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}th,td{border-bottom:1px solid #334155;padding:7px;text-align:left}th{color:#facc15}.hidden{display:none}.good{color:#34d399}.bad{color:#fb7185}.warn{color:#fb923c}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{background:#0b1120;border:1px solid #334155;border-radius:10px;padding:8px;min-height:48px;cursor:pointer}.day.done{border-color:#34d399;background:#052e23}.day.today{border-color:#facc15}.modalBg{display:none;position:fixed;inset:0;background:#0009;z-index:10;align-items:center;justify-content:center}.modal{width:96%;max-width:1000px;max-height:90vh;overflow:auto;background:#0f172a;border:1px solid #334155;border-radius:14px;padding:14px}@media(max-width:900px){.wrap,.row,.grid{display:block}nav{min-height:0;display:flex;overflow:auto}nav button{min-width:130px}}

/* v17.1.2 Professional sidebar + cash fund */
:root{--side:252px;--bg:#07111f;--panel:#101b2d;--panel2:#0b1525;--line:#26364c;--text:#e6edf7;--muted:#91a0b6;--accent:#facc15;--green:#22c55e;--blue:#3b82f6;--red:#ef4444}
body{background:var(--bg);color:var(--text);overflow-x:hidden}header{left:var(--side);height:68px;padding:0 22px;background:rgba(7,17,31,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.wrap{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}.wrap>main{padding:22px;min-width:0}.wrap>nav{position:fixed;left:0;top:0;bottom:0;width:var(--side);box-sizing:border-box;background:linear-gradient(180deg,#081321,#0a1627);border-right:1px solid var(--line);padding:18px 12px;overflow-y:auto;z-index:50;display:block;min-height:100vh}.sideBrand{display:flex;align-items:center;gap:10px;padding:3px 8px 18px;border-bottom:1px solid var(--line);margin-bottom:14px}.sideBrand .logo{width:42px;height:42px;min-width:42px;font-size:19px;border-radius:12px}.sideBrand strong{display:block;font-size:15px}.sideBrand span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.sideClose{display:none;margin-left:auto;background:transparent;color:#fff;border:0;font-size:26px}.navGroup{margin:14px 0}.navLabel{font-size:10px;letter-spacing:1.3px;color:#607089;font-weight:800;padding:0 10px 6px}.wrap>nav button[data-page]{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;margin:3px 0;border-radius:10px;color:#b9c5d6;font-size:14px;white-space:normal}.wrap>nav button[data-page].active{background:linear-gradient(90deg,rgba(250,204,21,.16),rgba(250,204,21,.04));color:#facc15;box-shadow:inset 3px 0 #facc15}.wrap>nav button[data-page]:hover{background:#152238;color:white}.sideFooter{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:16px 8px 2px;margin-top:18px}.sideAvatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#28335b;font-weight:bold}.sideFooter strong,.sideFooter span{display:block;font-size:12px}.sideFooter span{color:#34d399;margin-top:3px}.menuToggle{display:none;background:#152238;color:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:18px}.mobileLogo{display:none}.headTitle h1{font-size:18px}.headActions{margin-left:auto;display:flex;align-items:center;gap:12px}.headActions #currentMonth{width:105px}.pageHeading,.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.pageHeading h2{margin:0;font-size:26px}.pageHeading p{margin:5px 0 0;color:var(--muted)}.card,.metric{background:linear-gradient(180deg,#111d30,#0e192a);border-color:var(--line);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.cashMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.cashMetric{padding:20px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#101d31,#0b1626);position:relative;overflow:hidden}.cashMetric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}.cashMetric.actual:before{background:var(--blue)}.cashMetric.diff:before{background:var(--accent)}.cashMetric span{display:block;color:var(--muted);font-size:13px}.cashMetric b{display:block;font-size:28px;margin:10px 0 7px}.cashMetric.book b{color:#4ade80}.cashMetric.actual b{color:#60a5fa}.cashMetric.diff b{color:#facc15}.cashMetric small{color:#7f8da3}.cashActions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.cashForm{border-left:3px solid #22c55e}.cashForm h3{margin-top:0}.tableWrap{overflow:auto}.cashIn{color:#4ade80;font-weight:700}.cashOut{color:#fb7185;font-weight:700}.cashBalance{color:#facc15;font-weight:700}#sideOverlay{display:none}
@media(max-width:900px){:root{--side:280px}header{left:0;height:64px;padding:0 12px}.menuToggle,.mobileLogo{display:block}.mobileLogo{border:2px solid #facc15;color:#facc15;border-radius:8px;padding:5px 6px;font-weight:900}.headTitle .sub{display:none}.headTitle h1{font-size:16px}.headActions #currentMonth{display:none}.wrap{display:block}.wrap>main{padding:12px}.wrap>nav{transform:translateX(-105%);transition:transform .25s ease;width:var(--side);box-shadow:20px 0 50px rgba(0,0,0,.45)}body.sidebarOpen .wrap>nav{transform:translateX(0)}body.sidebarOpen #sideOverlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:45}.sideClose{display:block}.cashMetrics{grid-template-columns:1fr}.cashMetric b{font-size:24px}.pageHeading{align-items:flex-start}.pageHeading h2{font-size:22px}.row,.grid{display:grid;grid-template-columns:1fr}.card{padding:12px}table{min-width:760px}.headActions #topStatus{font-size:12px}.wrap>nav button{min-width:0}}


/* ===== original style block 2 ===== */

.day.v1671-selected{
  background:#2563eb !important;
  border-color:#60a5fa !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(96,165,250,.35);
}
.day.v1671-selected .small{color:#dbeafe !important}


/* ===== original style block 3 ===== */
.v1680-grid{width:100%;border-collapse:collapse;min-width:1000px}.v1680-grid th,.v1680-grid td{border:1px solid #334155;padding:8px;vertical-align:top}.v1680-today-col{background:rgba(234,179,8,.12)}.v1680-slot,.v1680-chip{padding:6px;border-radius:8px;margin:3px;display:inline-block}.done{background:#14532d;color:#dcfce7}.today{background:#854d0e;color:#fef3c7}.late{background:#7f1d1d;color:#fee2e2}.future{background:#1e3a8a;color:#dbeafe}.off{background:#374151;color:#e5e7eb}.warn{background:#78350f;color:#fef3c7}

/* ===== original style block 4 ===== */

.v1681-attendance{max-width:1400px;margin:auto}
.v1681-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#111827,#172554)}
.v1681-hero h2{margin:4px 0;font-size:30px}
.v1681-summary{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px}
.v1681-summary>div{background:#0b1120;border:1px solid #334155;border-radius:12px;padding:10px;text-align:center}
.v1681-summary span{display:block;color:#94a3b8;font-size:12px}.v1681-summary b{display:block;color:#facc15;font-size:24px}
.v1681-controls{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:12px;align-items:end}
.v1681-monthbar{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:6px;align-items:center}
.v1681-monthbar .btn{margin:0;height:42px}.v1681-classinfo{padding:12px 0;font-size:15px}
.v1681-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.v1681-actions .btn{margin:0}.v1681-save{font-size:16px;padding:11px 18px}
.v1681-preview{margin-top:10px;background:#0b1120;border:1px solid #334155;border-radius:10px;padding:12px}
.v1681-calendar{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px}
.v1681-week{text-align:center;color:#94a3b8;font-size:12px;font-weight:700;padding:5px}
.v1681-empty{min-height:78px}
.v1681-day{min-height:86px;border:1px solid #334155;border-radius:12px;background:#0b1120;color:#e5e7eb;padding:9px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}
.v1681-day:hover{border-color:#60a5fa}.v1681-daynum{font-size:19px;font-weight:800}.v1681-daylabel{font-size:11px;color:#94a3b8}
.v1681-day.done{background:#052e23;border-color:#34d399}.v1681-day.done .v1681-daylabel{color:#6ee7b7}
.v1681-day.planned{border-color:#3b82f6;background:#0c1f45}.v1681-day.late{border-color:#fb7185;background:#3f0d1d}
.v1681-day.selected{outline:3px solid #facc15;transform:translateY(-2px)}.v1681-day.today{box-shadow:inset 0 0 0 2px #f59e0b}
.v1681-cardhead{display:flex;justify-content:space-between;gap:10px;align-items:center}
@media(max-width:900px){
 .v1681-hero,.v1681-controls{display:block}.v1681-summary{margin-top:12px}
 .v1681-calendar{grid-template-columns:repeat(7,minmax(70px,1fr));overflow:auto}.v1681-day{min-height:75px;padding:6px}.v1681-daylabel{font-size:9px}
}


/* ===== original style block 5 ===== */
.v1682o-home{max-width:1450px;margin:auto}.v1682o-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.v1682o-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v1682o-title{display:flex;justify-content:space-between;border-bottom:1px solid #334155;padding-bottom:10px}.v1682o-title h3{margin:0}.v1682o-title>b{color:#facc15}.v1682o-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #1f2937}.v1682o-row>div:first-child{display:flex;flex-direction:column}.v1682o-row small,.v1682o-fin span{color:#94a3b8}.v1682o-badge{padding:5px 8px;border-radius:999px;font-size:12px}.v1682o-badge.done{background:#14532d;color:#dcfce7}.v1682o-badge.pending{background:#7f1d1d;color:#fee2e2}.v1682o-fin{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px}.v1682o-fin>div{background:#0b1120;border:1px solid #334155;border-radius:12px;padding:13px}.v1682o-fin span,.v1682o-fin b{display:block}.v1682o-fin b{font-size:20px}.v1682o-fin .profit{grid-column:1/-1;border-color:#22c55e;background:#052e23}.v1682o-fin .profit b{font-size:26px;color:#86efac}.v1682o-empty{text-align:center;color:#94a3b8;padding:28px}.v1682o-left{text-align:center}.v1682o-left strong{display:block;font-size:24px;color:#facc15}@media(max-width:900px){.v1682o-grid{grid-template-columns:1fr}}

/* ===== original style block 6 ===== */

.v1683-actions{
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.v1683-attendance-actions,
.v1683-student-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.v1683-student-actions{
  margin-left:auto;
  justify-content:flex-end;
}
.v1683-actions .btn{
  margin:0;
}
@media(max-width:760px){
  .v1683-actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
  }
  .v1683-attendance-actions,
  .v1683-student-actions{
    width:100%;
  }
  .v1683-student-actions{
    margin-left:0;
    justify-content:flex-start;
  }
}


/* ===== original style block 7 ===== */

#hg1738MoneyPanel{
  display:none;
  position:fixed;
  z-index:1000005;
  box-sizing:border-box;
  padding:10px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.18);
  font-family:inherit;
}
.hg1738-money-title{font-size:12px;font-weight:700;color:#475569;margin:0 0 7px}
.hg1738-money-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.hg1738-money-buttons button{
  min-height:38px;
  padding:7px 5px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#f8fafc;
  color:#0f172a;
  font:700 13px/1.1 inherit;
  cursor:pointer;
}
.hg1738-money-buttons button:active{transform:translateY(1px);background:#e2e8f0}
.hg1738-money-hint{margin-top:7px;font-size:12px;line-height:1.35;color:#64748b}
.hg1738-money-hint.active{color:#075985}
@media(max-width:480px){
  #hg1738MoneyPanel{padding:9px}
  .hg1738-money-buttons button{min-height:40px;font-size:12px}
}



/* ===== original style block 8 ===== */

.v17-debt-card{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:12px 0}.v17-debt-card .metric{background:linear-gradient(180deg,#111c2f,#0c1627);border:1px solid #33445e;border-radius:12px;padding:12px 14px;min-width:0;color:#9eabc0;box-shadow:0 6px 18px rgba(0,0,0,.16)}.v17-debt-card .metric:nth-child(1){border-color:#385f9f}.v17-debt-card .metric:last-child{background:linear-gradient(180deg,#251827,#181323);border-color:#6b3343}.v17-debt-card b{display:block;font-size:17px;line-height:1.25;margin-top:5px;color:#f2f5fa;overflow-wrap:anywhere}.v17-debt-card .v17-danger{color:#ff6674}.v17-selected{background:#102744!important;box-shadow:inset 3px 0 #3b82f6}.v17-danger{color:#ff6674;font-weight:700}.v17-ok{color:#34d399;font-weight:700}#p_info{color:#9eabc0}#tuition input,#tuition select,#tuition textarea{background:#0b1425;color:#e8edf5;border-color:#34445e}#tuition input:focus,#tuition select:focus,#tuition textarea:focus{border-color:#4f8cff;box-shadow:0 0 0 2px rgba(79,140,255,.15)}@media(max-width:900px){.v17-debt-card{grid-template-columns:repeat(2,minmax(0,1fr))}.v17-debt-card .metric:first-child{grid-column:1/-1}}@media(max-width:520px){.v17-debt-card{grid-template-columns:1fr 1fr}.v17-debt-card .metric{padding:10px}.v17-debt-card b{font-size:15px}}


/* ===== original style block 9 ===== */

/* Legacy sync block is obsolete and must never be shown. */
#finance .card:has(#v1654_stable_sync_btn){display:none!important}


/* ===== original style block 10 ===== */

@media (hover:hover) and (pointer:fine){
  :root{--side:260px!important}
  body{overflow-x:hidden!important}
  header{left:var(--side)!important;height:68px!important;padding:0 22px!important}
  .menuToggle,.mobileLogo,.sideClose{display:none!important}
  .wrap{display:grid!important;grid-template-columns:var(--side) minmax(0,1fr)!important;min-height:100vh!important}
  .wrap>nav{transform:none!important;left:0!important;top:0!important;bottom:0!important;width:var(--side)!important;display:block!important;z-index:60!important;box-shadow:none!important}
  .wrap>main{grid-column:2!important;padding:22px!important;min-width:0!important}
  #sideOverlay{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-1!important}
  body.sidebarOpen #sideOverlay{display:none!important;pointer-events:none!important}
}


/* ===== original style block 11 ===== */

/* Modal must stay above the fixed desktop sidebar and never exceed the viewport. */
.modalBg{z-index:1000!important;padding:18px!important;box-sizing:border-box!important;overflow:auto!important}
.modal{box-sizing:border-box!important;width:min(1180px,calc(100vw - 36px))!important;max-width:none!important;max-height:calc(100vh - 36px)!important;margin:auto!important;overflow:auto!important}
#modalBody{min-width:0!important;max-width:100%!important;overflow-x:auto!important}
#modalBody .row{min-width:0!important}
#modalBody table{max-width:100%!important}
/* Compact desktop sidebar: more room for operational screens. */
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  :root{--side:230px!important}
  .wrap>nav{padding:13px 8px!important}
  .sideBrand{gap:8px!important;padding:2px 5px 12px!important;margin-bottom:8px!important}
  .sideBrand .logo{width:36px!important;height:36px!important;min-width:36px!important;font-size:16px!important;border-radius:10px!important}
  .sideBrand strong{font-size:13px!important;line-height:1.2!important}
  .sideBrand span{font-size:10px!important}
  .navGroup{margin:9px 0!important}
  .navLabel{font-size:9px!important;padding:0 8px 4px!important}
  .wrap>nav button[data-page]{gap:8px!important;padding:8px 9px!important;margin:2px 0!important;font-size:12.5px!important;border-radius:8px!important;white-space:nowrap!important}
  .sideFooter{padding:10px 5px 2px!important;margin-top:10px!important}
  .sideAvatar{width:30px!important;height:30px!important;font-size:11px!important}
  .sideFooter strong,.sideFooter span{font-size:10px!important}
  header{left:var(--side)!important}
  .wrap{grid-template-columns:var(--side) minmax(0,1fr)!important}
}
/* Forms inside dialogs become fluid instead of forcing horizontal overflow. */
@media (max-width:1250px){
  #modalBody .row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:700px){
  .modalBg{padding:8px!important}
  .modal{width:100%!important;max-height:calc(100vh - 16px)!important;padding:11px!important}
  #modalBody .row{grid-template-columns:1fr!important}
}


/* ===== original style block 12 ===== */

#v1718BootMask{position:fixed;inset:0;z-index:5000;background:rgba(3,12,27,.92);display:none;align-items:center;justify-content:center;padding:20px}
#v1718BootMask.show{display:flex}
#v1718BootMask>div{max-width:460px;width:100%;background:#0f1b30;border:1px solid #31415b;border-radius:18px;padding:24px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.45)}
#v1718BootMask b{font-size:20px;display:block;margin-bottom:8px}.v1718Spin{width:34px;height:34px;border:4px solid #334155;border-top-color:#22c55e;border-radius:50%;animation:v1718spin .8s linear infinite;margin:0 auto 14px}@keyframes v1718spin{to{transform:rotate(360deg)}}
.v1718AuditHead{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.v1718AuditTools{display:flex;gap:8px;flex-wrap:wrap}
.v1718AuditSummary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:14px 0}.v1718AuditMetric{padding:14px;border:1px solid #334155;border-radius:14px;background:#0b1628}.v1718AuditMetric span{display:block;color:#94a3b8;font-size:12px}.v1718AuditMetric b{display:block;font-size:25px;margin-top:5px}.v1718Critical b{color:#fb7185}.v1718Error b{color:#f97316}.v1718Warning b{color:#facc15}.v1718Info b{color:#60a5fa}.v1718Ok b{color:#4ade80}
.v1718AuditFilters{display:grid;grid-template-columns:180px 220px minmax(220px,1fr);gap:10px;margin:12px 0}.v1718AuditFilters label{font-size:12px;color:#94a3b8}.v1718AuditFilters select,.v1718AuditFilters input{width:100%}
#v1718AuditTable td{vertical-align:top}.v1718Level{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-weight:700;font-size:11px;white-space:nowrap}.v1718Level-critical{background:#4c1424;color:#fecdd3}.v1718Level-error{background:#4b2314;color:#fed7aa}.v1718Level-warning{background:#45380f;color:#fef08a}.v1718Level-info{background:#102f53;color:#bfdbfe}.v1718AuditNote{margin:12px 0;padding:12px 14px;border-left:4px solid #38bdf8;background:#0b1c31;border-radius:8px;color:#cbd5e1}.v1718AuditEmpty{text-align:center;padding:28px;color:#4ade80;font-weight:700}
@media(max-width:900px){.v1718AuditSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.v1718AuditFilters{grid-template-columns:1fr}.v1718AuditHead{align-items:flex-start}}


/* ===== original style block 13 ===== */

.v1719RepairHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.v1719RepairTools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v1719RepairNote{margin:12px 0;padding:13px 15px;border-left:4px solid #22c55e;background:#0a1d26;border-radius:9px;color:#cbd5e1;line-height:1.5}.v1719RepairNote b{color:#86efac}
.v1719RepairSummary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:12px 0}.v1719RepairMetric{background:#0b1628;border:1px solid #334155;border-radius:14px;padding:13px}.v1719RepairMetric span{display:block;color:#94a3b8;font-size:12px}.v1719RepairMetric b{display:block;font-size:23px;margin-top:4px}.v1719RepairAuto b{color:#4ade80}.v1719RepairReview b{color:#facc15}.v1719RepairManual b{color:#fb7185}.v1719RepairSelected b{color:#60a5fa}
.v1719RepairFilters{display:grid;grid-template-columns:190px 220px minmax(220px,1fr);gap:10px;margin:12px 0}.v1719RepairFilters label{font-size:12px;color:#94a3b8}.v1719RepairFilters select,.v1719RepairFilters input{width:100%}
#v1719RepairTable td{vertical-align:top}.v1719RepairMode{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.v1719Mode-auto{background:#123b2a;color:#86efac}.v1719Mode-review{background:#44360d;color:#fde68a}.v1719Mode-manual{background:#4a1727;color:#fecdd3}.v1719RepairCheck{width:18px;height:18px}.v1719RepairStatus{margin-top:10px;min-height:24px}.v1719BackupBox{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#0b1628;border:1px dashed #3b82f6;border-radius:12px}.v1719BackupBox input{max-width:320px}.v1719RepairEmpty{text-align:center;padding:28px;color:#94a3b8}
@media(max-width:900px){.v1719RepairSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.v1719RepairFilters{grid-template-columns:1fr}.v1719RepairHead{align-items:flex-start}}


/* ===== original style block 14 ===== */

.hg21-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #2d6a54;border-radius:999px;background:#0b201a;color:#69d8aa;font-size:12px;font-weight:800;margin-top:8px}.hg21-badge:before{content:'●';font-size:10px}
.hg21-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.hg21-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.hg21-actions .btn{margin:0}.hg21-selected{margin-left:auto;color:#facc15;font-weight:800}.hg21-check{width:18px;height:18px;accent-color:#22c55e}.hg21-table{min-width:1050px}.hg21-table input,.hg21-table select{min-width:120px;padding:7px}.hg21-note{min-width:190px}.hg21-warnbox{border:1px solid #92400e;background:#29180a;color:#fdba74;border-radius:10px;padding:10px;margin:10px 0}.hg21-okbox{border:1px solid #166534;background:#082718;color:#86efac;border-radius:10px;padding:10px;margin:10px 0}.hg21-modal-actions{position:sticky;bottom:-14px;background:#0f172a;border-top:1px solid #334155;padding:12px 0 2px;margin-top:14px;z-index:2}.hg21-create-card.hg21-collapsed>.row,.hg21-create-card.hg21-collapsed>button:not(.hg21-toggle),.hg21-create-card.hg21-collapsed>#studentSaveMsg,.hg21-create-card.hg21-collapsed>input[type="hidden"]{display:none!important}.hg21-create-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.hg21-create-head h2{margin:0}.hg21-tools .btn{margin-top:4px}.hg21-session-pick{width:18px;height:18px;accent-color:#22c55e}.hg21-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.hg21-summary>div{border:1px solid #334155;border-radius:10px;padding:9px;background:#0b1525}.hg21-summary span{display:block;color:#94a3b8;font-size:12px}.hg21-summary b{display:block;color:#facc15;font-size:17px;margin-top:3px}
@media(max-width:900px){.hg21-grid,.hg21-summary{grid-template-columns:1fr}.hg21-selected{margin-left:0;width:100%}.hg21-create-head{align-items:flex-start;flex-direction:column}.hg21-toggle{width:100%}}


/* ===== original style block 15 ===== */

#hg22SalaryControls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.hg22-teacher-block{margin-top:16px}.hg22-teacher-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #334155;border-radius:12px;background:#0b1525}.hg22-teacher-head h3{margin:0;color:#facc15}.hg22-teacher-head span{color:#94a3b8;font-size:13px}.hg22-class-card{margin-top:10px}.hg22-class-card h3{margin:0 0 8px}.hg22-transfer-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.hg22-transfer-grid .full{grid-column:1/-1}
@media(max-width:900px){#hg22SalaryControls,.hg22-transfer-grid{grid-template-columns:1fr}.hg22-transfer-grid .full{grid-column:auto}}


/* ===== original style block 16 ===== */

.hg30-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.hg30-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.hg30-help{margin-top:12px;padding:10px;border:1px solid #334155;border-radius:10px;background:#0b1525;color:#cbd5e1}.hg30-editor-total{font-size:18px;text-align:right;margin:12px 0}.hg30-editor-total b{color:#facc15}.warn{color:#facc15}.hg30-student-receipts{margin-left:4px}
@media(max-width:900px){.hg30-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.hg30-grid{grid-template-columns:1fr}.hg30-actions .btn{width:100%}}


/* ===== original style block 17 ===== */

.hg31-finance-note{margin:12px 0;padding:12px;border:1px solid #334155;border-radius:12px;background:#0b1525}
.hg31-finance-note .hg31-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:8px}
.hg31-finance-note .hg31-grid>div{padding:9px;border:1px solid #243244;border-radius:9px;background:#111c2e}
.hg31-finance-note span{display:block;color:#94a3b8;font-size:12px}.hg31-finance-note b{display:block;margin-top:3px;color:#f8fafc}
.hg31-locked{opacity:.82;cursor:not-allowed}.hg31-tuition-table input{min-width:125px}
@media(max-width:900px){.hg31-finance-note .hg31-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hg31-finance-note .hg31-grid{grid-template-columns:1fr}}


/* ===== original style block 18 ===== */

/* V17.3.4 TEST — Gom thao tác xếp lớp về Giáo viên; làm gọn Chấm công */
.hg1734-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.hg1734-page-head h2,.hg1734-section-head h2{margin:0}
.hg1734-page-head p,.hg1734-section-head p{margin:5px 0 0}
.hg1734-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.hg1734-hidden{display:none!important}
.hg1734-form{padding-top:14px;margin-top:12px;border-top:1px solid var(--line)}
.hg1734-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.hg1734-filter{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,1.5fr);gap:12px}
.hg1734-class-summary{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(7,17,31,.45)}
.hg1734-class-summary b{color:#facc15}
.hg1734-table-wrap{overflow:auto}
.hg1734-note{padding:10px 12px;border-radius:10px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);margin-top:12px}
.hg1734-attendance .card{margin-bottom:14px}
.hg1734-attendance-top{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.3fr) minmax(280px,1.4fr);gap:12px;align-items:end}
.hg1734-monthbar{display:grid;grid-template-columns:52px minmax(105px,1fr) minmax(90px,.8fr) 52px;gap:8px}
.hg1734-monthbar .btn{margin:0;min-width:0;padding:10px}
.hg1734-attendance-info{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.hg1734-attendance-info #sessInfo{margin:0}
.hg1734-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.hg1734-calendar-head h2{margin:0;font-size:20px}
.hg1734-summary{display:flex;gap:8px;flex-wrap:wrap}
.hg1734-summary>div{min-width:84px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#0a1425;text-align:center}
.hg1734-summary span{display:block;color:var(--muted);font-size:11px}
.hg1734-summary b{display:block;color:#facc15;font-size:18px;margin-top:2px}
.hg1734-savebar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.hg1734-savebar .btn{margin:0}
.hg1734-preview{flex:1;min-width:220px;padding:9px 12px;border-radius:10px;background:#0a1425;border:1px solid var(--line)}
.hg1734-details{padding:0!important;overflow:hidden}
.hg1734-details>summary{cursor:pointer;list-style:none;padding:16px 18px;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:space-between}
.hg1734-details>summary::-webkit-details-marker{display:none}
.hg1734-details>summary:after{content:'▾';color:var(--muted);font-size:14px}
.hg1734-details:not([open])>summary:after{content:'▸'}
.hg1734-details-body{padding:0 18px 18px}
.hg1734-pick-table tr[data-hidden="1"]{display:none}
.hg1734-pick-table td:last-child{text-align:right}
@media(max-width:900px){
 .hg1734-page-head,.hg1734-section-head,.hg1734-calendar-head{align-items:stretch;flex-direction:column}
 .hg1734-filter,.hg1734-attendance-top{grid-template-columns:1fr}
 .hg1734-monthbar{grid-template-columns:52px 1fr 1fr 52px}
 .hg1734-summary{width:100%}.hg1734-summary>div{flex:1}
 .hg1734-actions .btn,.hg1734-savebar .btn{flex:1 1 145px}
 .hg1734-preview{flex-basis:100%}
}


/* ===== original style block 19 ===== */

/* Popup thêm học sinh mới và lịch chấm công gọn, đủ 7 cột trên điện thoại */
.hg1735-modal-note{margin:10px 0;padding:10px 12px;border:1px solid rgba(16,185,129,.3);border-radius:10px;background:rgba(16,185,129,.08)}
.hg1735-modal-class{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#0a1425;margin-bottom:10px}
.hg1735-modal-class b{color:#facc15}
.hg1735-modal-actions{position:sticky;bottom:-14px;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;padding:12px 0 2px;border-top:1px solid var(--line);background:#0f172a}
.hg1735-modal-actions .btn{margin:0;flex:1 1 180px}
.hg1735-sessions-card h2{margin:0;font-size:20px}
.hg1735-sessions-card .small{margin-top:4px}
.hg1734-attendance{max-width:1080px;margin:0 auto}
.hg1734-attendance .card{padding:12px}
.hg1734-attendance .hg1734-page-head{margin-bottom:10px}
.hg1734-attendance .hg1734-page-head h2{font-size:24px}
.hg1734-attendance .hg1734-page-head p{margin-top:3px}
.hg1734-attendance .hg1734-calendar-head{margin-bottom:8px}
.hg1734-attendance .hg1734-summary{gap:6px}
.hg1734-attendance .hg1734-summary>div{min-width:72px;padding:6px 8px}
.hg1734-attendance .hg1734-summary b{font-size:16px}
#calendar.v1681-calendar{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;overflow:visible!important;max-width:780px;margin:0 auto}
#calendar .v1681-week{padding:3px 1px;font-size:11px}
#calendar .v1681-empty{min-height:54px}
#calendar .v1681-day,#calendar .day{min-width:0!important;min-height:58px!important;padding:6px!important;border-radius:9px!important;overflow:hidden;box-sizing:border-box}
#calendar .v1681-daynum,#calendar .day>b{font-size:17px;line-height:1}
#calendar .v1681-daylabel,#calendar .day .small{display:block;width:100%;font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#calendar .v1681-day.selected{outline-width:2px;transform:none}
.hg1734-savebar{margin-top:10px}
.hg1734-preview{padding:8px 10px}
@media(max-width:600px){
 .hg1734-attendance{max-width:none}
 .hg1734-attendance .card{padding:10px}
 .hg1734-attendance .hg1734-page-head h2{font-size:21px}
 .hg1734-attendance .hg1734-page-head p{display:none}
 .hg1734-attendance .hg1734-calendar-head{display:block}
 .hg1734-attendance .hg1734-calendar-head p{margin:3px 0 8px}
 .hg1734-attendance .hg1734-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-bottom:8px}
 .hg1734-attendance .hg1734-summary>div{min-width:0;padding:5px 3px}
 .hg1734-attendance .hg1734-summary span{font-size:10px}
 .hg1734-attendance .hg1734-summary b{font-size:15px}
 #calendar.v1681-calendar{gap:3px!important;width:100%;max-width:none}
 #calendar .v1681-week{font-size:10px;padding:2px 0}
 #calendar .v1681-empty{min-height:43px}
 #calendar .v1681-day,#calendar .day{min-height:46px!important;padding:4px 3px!important;border-radius:7px!important}
 #calendar .v1681-daynum,#calendar .day>b{font-size:15px}
 #calendar .v1681-daylabel,#calendar .day .small{font-size:7px}
 .hg1734-savebar{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .hg1734-savebar .btn{margin:0;width:100%}
 .hg1734-savebar .btn:first-child{grid-column:1/-1}
 .hg1734-preview{grid-column:1/-1;min-width:0}
 .hg1735-sessions-card h2{font-size:18px}
}


/* ===== original style block 20 ===== */

.hg1736-history-note{margin-top:8px;padding:10px 12px;border:1px solid #334155;border-radius:10px;background:#0b1525}


/* ===== original style block 21 ===== */

.hg1737-leave-note{margin:10px 0;padding:10px 12px;border:1px solid #334155;border-radius:10px;background:#0b1525}
.hg1737-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
button.hg1737-leave{background:#c45b05!important;border-color:#c45b05!important;color:#fff!important}
button.hg1737-retired{background:#334155!important;border-color:#334155!important;color:#cbd5e1!important;cursor:default}
button.hg1737-hard-delete{font-size:.88em;padding:7px 10px}


/* ===== original style block 22 ===== */

button.hg1738-retire{background:#c45b05!important;border-color:#c45b05!important;color:#fff!important}
button.hg1738-retired{background:#334155!important;border-color:#334155!important;color:#cbd5e1!important;cursor:default}


/* ===== original style block 23 ===== */

#hg30Table .hg1739-delete-receipt{margin-left:6px;background:#be123c!important;border-color:#be123c!important;color:#fff!important}
@media(max-width:600px){#hg30Table td:last-child .btn{display:block;width:100%;margin:5px 0}}


/* ===== original style block 24 ===== */

#hg1740UnlinkedBtn{background:#b45309!important;border-color:#b45309!important;color:#fff!important}
.hg1740-cleanup{width:100%;border-collapse:collapse}.hg1740-cleanup th,.hg1740-cleanup td{padding:8px;border-bottom:1px solid #334155;text-align:left;vertical-align:top}
.hg1740-cleanup .btn{white-space:nowrap}.hg1740-warning{padding:10px 12px;border:1px solid #b45309;border-radius:10px;background:#2b1908;color:#fde68a;margin:10px 0}
@media(max-width:600px){.hg1740-cleanup{font-size:14px}.hg1740-cleanup th:nth-child(3),.hg1740-cleanup td:nth-child(3){display:none}}


/* ===== original style block 25 ===== */

#tblClasses .hg17314-add-student{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;white-space:nowrap}
@media(max-width:700px){#tblClasses .hg17314-add-student{width:100%;margin:3px 0}}


/* ===== original style block 26 ===== */

#hg1739MobileMenuFab{display:none}
@media(max-width:900px){
  #hg1739MobileMenuFab{
    display:flex;
    position:fixed;
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px));
    z-index:44;
    min-width:96px;
    min-height:46px;
    padding:0 16px;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:999px;
    background:#facc15;
    color:#111827;
    box-shadow:0 8px 24px rgba(0,0,0,.42);
    font:800 15px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:transform .14s ease,opacity .14s ease;
  }
  #hg1739MobileMenuFab:active{transform:scale(.96)}
  body.sidebarOpen #hg1739MobileMenuFab{opacity:0;pointer-events:none}
  body.hg1739KeyboardOpen #hg1739MobileMenuFab{display:none}
}
@media(min-width:901px){#hg1739MobileMenuFab{display:none!important}}


/* ===== v17.4.0 CLEAN final UI/speed safety ===== */
html{scroll-behavior:auto}
@media(max-width:900px){
  #hg1739MobileMenuFab{
    display:flex!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    z-index:80!important;
    min-width:68px!important;
    min-height:33px!important;
    height:33px!important;
    padding:0 9px!important;
    gap:4px!important;
    font-size:11px!important;
    line-height:1!important;
    box-shadow:0 5px 15px rgba(0,0,0,.34)!important;
  }
  body.sidebarOpen #hg1739MobileMenuFab{opacity:0!important;pointer-events:none!important}
  body.hg1740KeyboardOpen #hg1739MobileMenuFab{display:none!important}
}


/* ===== v17.4.6 CALENDAR DATES ===== */
.hg1746-date-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.hg1746-date-control input[type="date"]{min-height:42px;box-sizing:border-box;color-scheme:dark;cursor:pointer;font-variant-numeric:tabular-nums;padding-right:10px}
.hg1746-date-control input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9;filter:invert(88%) sepia(61%) saturate(973%) hue-rotate(353deg) brightness(102%) contrast(96%)}
.hg1746-today-btn{margin:0!important;min-height:42px;padding:8px 12px!important;white-space:nowrap;background:#1e3a5f!important;border:1px solid #36577c!important}
.hg1746-today-btn:hover{background:#264b78!important}
@media(max-width:520px){.hg1746-date-control{grid-template-columns:minmax(0,1fr) 82px}.hg1746-today-btn{padding:8px 9px!important;font-size:13px}}
