*{box-sizing:border-box}body{margin:0;font-family:Tahoma,"Noto Sans Thai",sans-serif;background:#f5f7fb;color:#172033}.top{background:#fff;border-bottom:1px solid #e6eaf0;position:sticky;top:0;z-index:20}.top,.wrap{padding-left:max(18px,calc((100% - 1180px)/2));padding-right:max(18px,calc((100% - 1180px)/2))}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;padding-bottom:12px}.brand{display:flex;align-items:center;gap:10px}.brand img{width:48px;height:48px;object-fit:contain}.brand span{display:block;color:#6b7280;font-size:12px;margin-top:2px}.top nav{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.top nav a{padding:9px 10px;border-radius:9px;text-decoration:none;color:#334155;font-weight:700;font-size:13px}.top nav a:hover{background:#eef4ff;color:#1d4ed8}.wrap{padding-top:24px;padding-bottom:50px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.pagehead h1{margin:0;font-size:26px}.card{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 5px 20px #0f172a0b}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #cfd7e3;border-radius:9px;padding:10px;background:#fff;font:inherit}select[multiple]{min-height:125px}.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:#1d4ed8;color:white;text-decoration:none;font-weight:700;cursor:pointer}.btn.secondary{background:#e8eef8;color:#263449}.btn.danger{background:#b91c1c}.btn.sm{padding:6px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.flash{padding:12px 14px;border-radius:10px;margin-bottom:15px;font-weight:700}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.flash.warning{background:#fef3c7;color:#92400e}table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:top}.table th{background:#f8fafc}.muted{color:#64748b;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:#fff;border:1px solid #e6eaf0;border-radius:14px;padding:16px}.stat b{font-size:28px;display:block}.schedule{table-layout:fixed}.schedule th,.schedule td{border:1px solid #cfd7e3;padding:6px;text-align:center;vertical-align:middle}.schedule th{background:#eef4ff}.schedule .day{width:90px;font-weight:700;background:#f8fafc}.slot{font-size:12px;line-height:1.35}.slot b{font-size:13px}.teacher{display:block;color:#475569;margin-top:3px}.conflict{border:2px solid #ef4444!important;background:#fff1f2!important}.pill{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:700}@media(max-width:850px){.top{align-items:flex-start;flex-direction:column}.top nav{justify-content:flex-start}.col-3,.col-4,.col-6,.col-8{grid-column:span 12}.stats{grid-template-columns:repeat(2,1fr)}.tablewrap{overflow:auto}}@media print{.top,.pagehead,.no-print,.flash{display:none!important}.wrap{padding:0;max-width:none}.card{box-shadow:none;border:0;padding:0}.print-page{page-break-after:always}.print-page:last-child{page-break-after:auto}@page{size:A4 landscape;margin:8mm}}


/* Searchable multi-teacher picker */
.teacher-picker{position:relative}
.teacher-selected{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;min-height:4px}
.teacher-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;font-size:.9rem}
.teacher-chip-remove{border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:0 2px}
.teacher-results{display:none;position:absolute;z-index:50;left:0;right:0;top:100%;max-height:260px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);margin-top:4px}
.teacher-results.show{display:block}
.teacher-result{display:flex;width:100%;border:0;border-bottom:1px solid #eef2f7;background:#fff;text-align:left;padding:9px 11px;cursor:pointer;align-items:center;justify-content:space-between;gap:12px}
.teacher-result:hover,.teacher-result:focus{background:#f1f5f9}
.teacher-result span{font-size:.85rem;color:#64748b}
.teacher-result.empty{cursor:default;color:#64748b}

/* Enhanced teacher picker v1.3 */
.teacher-picker{position:relative}
.teacher-search-shell{display:flex;align-items:center;gap:9px;border:1.5px solid #cbd5e1;border-radius:14px;background:#fff;padding:4px 9px 4px 12px;transition:.18s ease;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.teacher-search-shell:focus-within{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.10),0 8px 24px rgba(15,23,42,.06)}
.teacher-search-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eff6ff;color:#2563eb;font-size:21px;font-weight:800;flex:0 0 auto}
.teacher-search-shell input{border:0!important;box-shadow:none!important;padding:9px 2px!important;outline:0;background:transparent;min-width:0}
.teacher-search-hint{font-size:11px;font-weight:800;color:#2563eb;background:#eff6ff;border-radius:999px;padding:5px 8px;white-space:nowrap}
.teacher-results{display:none;position:absolute;z-index:70;left:0;right:0;top:52px;max-height:340px;overflow:auto;background:rgba(255,255,255,.98);border:1px solid #dbe3ef;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.16);margin-top:6px;padding:7px;backdrop-filter:blur(10px)}
.teacher-results.show{display:block;animation:teacherDrop .15s ease-out}
@keyframes teacherDrop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.teacher-results-head{padding:7px 10px 8px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.02em}
.teacher-result{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr) auto;border:0;background:transparent;text-align:left;padding:8px 9px;cursor:pointer;align-items:center;gap:10px;border-radius:11px;transition:.15s ease}
.teacher-result+.teacher-result{margin-top:2px}
.teacher-result:hover,.teacher-result:focus{background:#eff6ff;outline:0;transform:translateX(2px)}
.teacher-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#ede9fe);color:#1e40af;font-weight:900;font-size:13px;border:1px solid #dbeafe;box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}
.teacher-result-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.teacher-result-main b{font-size:14px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teacher-result-main span{font-size:11.5px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teacher-result mark{background:#fef3c7;color:#92400e;border-radius:4px;padding:0 1px}
.teacher-add{font-size:11px;font-weight:900;color:#2563eb;background:#fff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 8px;white-space:nowrap}
.teacher-result:hover .teacher-add{background:#2563eb;color:#fff;border-color:#2563eb}
.teacher-result.empty{grid-template-columns:38px 1fr;cursor:default;padding:14px 11px;color:#64748b}
.teacher-result.empty:hover{background:#f8fafc;transform:none}
.teacher-result.empty b{display:block;color:#334155;font-size:13px}
.teacher-result.empty span{display:block;font-size:11px;margin-top:2px}
.teacher-empty-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;font-size:20px}
.teacher-selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;min-height:44px;padding:7px;border:1px dashed #d7dfeb;border-radius:13px;background:#f8fafc}
.teacher-selected-empty{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;color:#94a3b8;font-size:12px;min-height:28px}
.teacher-chip{display:inline-grid;grid-template-columns:31px minmax(0,1fr) 22px;align-items:center;gap:7px;padding:5px 6px 5px 5px;border:1px solid #dbeafe;border-radius:12px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.05);max-width:100%}
.teacher-chip-avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:900}
.teacher-chip-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.teacher-chip-text b{font-size:12px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teacher-chip-text small{font-size:9.5px;color:#64748b;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teacher-chip-remove{width:21px;height:21px;display:grid;place-items:center;border:0;border-radius:50%;background:#f1f5f9;color:#64748b;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:.15s}
.teacher-chip-remove:hover{background:#fee2e2;color:#b91c1c}
.teacher-help{display:block;margin-top:5px}
@media(max-width:600px){.teacher-search-hint{display:none}.teacher-result{grid-template-columns:38px minmax(0,1fr)}.teacher-add{display:none}.teacher-results{max-height:300px}}

/* Compact teacher dropdown v1.4 */
.teacher-results{padding:4px;max-height:300px;border-radius:10px}
.teacher-results-head{padding:8px 10px;border-bottom:1px solid #eef2f7;background:#f8fafc;border-radius:7px 7px 0 0}
.teacher-result-simple{display:block!important;padding:9px 11px!important;border-radius:6px!important;border-bottom:1px solid #eef2f7!important;transform:none!important}
.teacher-result-simple:last-child{border-bottom:0!important}
.teacher-result-simple:hover,.teacher-result-simple:focus{background:#eff6ff!important;transform:none!important}
.teacher-result-simple .teacher-result-main{display:block}
.teacher-result-simple .teacher-result-main b{display:block;font-size:14px;line-height:1.35}
.teacher-result-simple .teacher-result-main>span{display:block;margin-top:2px;font-size:11px;color:#64748b}
.teacher-prefix{color:#64748b;font-weight:600}
.teacher-result.empty{display:block!important;padding:14px 12px!important}
.teacher-result.empty b{display:block;margin-bottom:3px}
.teacher-result.empty span{display:block}


/* Teacher autocomplete dropdown v1.5 - definitive vertical list */
#teacherPicker{position:relative!important}
#teacherPicker .teacher-search-shell{position:relative;z-index:102}
#teacherResults.teacher-results{
  display:none!important;
  position:absolute!important;
  z-index:9999!important;
  left:0!important;
  right:0!important;
  top:calc(100% - 52px)!important;
  margin-top:6px!important;
  padding:0!important;
  max-height:320px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  box-shadow:0 14px 35px rgba(15,23,42,.18)!important;
}
#teacherResults.teacher-results.show{display:block!important}
#teacherResults .teacher-results-head{
  display:block!important;
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:9px 12px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #e5e7eb!important;
  border-radius:12px 12px 0 0!important;
  background:#f8fafc!important;
  color:#64748b!important;
  font-size:12px!important;
}
#teacherResults .teacher-result,
#teacherResults .teacher-result-simple{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-bottom:1px solid #eef2f7!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0f172a!important;
  text-align:left!important;
  white-space:normal!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transform:none!important;
}
#teacherResults .teacher-result:last-child{border-bottom:0!important}
#teacherResults button.teacher-result:hover,
#teacherResults button.teacher-result:focus{background:#eff6ff!important;outline:none!important}
#teacherResults .teacher-result-main{display:block!important;width:100%!important}
#teacherResults .teacher-result-main b{display:block!important;font-size:14px!important;line-height:1.4!important}
#teacherResults .teacher-result-main>span{display:block!important;margin-top:2px!important;font-size:11px!important;color:#64748b!important}
#teacherResults .teacher-prefix{color:#64748b!important;font-weight:600!important}
#teacherResults mark{background:#fef08a!important;color:inherit!important;padding:0 1px!important;border-radius:2px!important}
#teacherResults .teacher-result.empty{cursor:default!important;padding:14px 12px!important}
@media(max-width:600px){#teacherResults.teacher-results{max-height:260px!important}}

/* v1.6 - polished timetable preview/print + editable signer cards */
.signer-settings .signer-box{height:100%;padding:16px;border:1px solid #dbe4f0;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}
.signer-settings .signer-box h3{margin:0 0 14px;font-size:16px;color:#1e3a8a}

.timetable-paper{font-family:"TH SarabunPSK","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;color:#172033;overflow:hidden}
.timetable-head{text-align:center;margin:0 0 14px;line-height:1.15}
.timetable-logo{height:66px;max-width:82px;object-fit:contain;display:block;margin:0 auto 5px}
.timetable-title{font-size:30px;font-weight:700;color:#153e75;letter-spacing:.1px}
.timetable-school{font-size:24px;font-weight:700;margin-top:2px}
.timetable-term{font-size:20px;margin-top:2px;color:#334155}
.schedule-frame{border:2px solid #294c7a;border-radius:12px;overflow:hidden;background:#fff}
.colorful-schedule{margin:0;border-collapse:collapse;table-layout:fixed;font-family:"TH SarabunPSK","TH Sarabun New","Sarabun",Tahoma,sans-serif!important}
.colorful-schedule th,.colorful-schedule td{border:1px solid #9fb1c7;padding:7px 5px;text-align:center;vertical-align:middle}
.colorful-schedule thead th{background:linear-gradient(180deg,#244f83,#173c68);color:#fff;font-size:17px;font-weight:700;border-color:#6e87a6}
.colorful-schedule thead th.day{width:86px;background:linear-gradient(180deg,#173c68,#102d50)}
.period-name{display:block;font-size:18px;line-height:1.05}
.period-time{display:block;font-size:15px;font-weight:400;opacity:.92;margin-top:3px}
.colorful-schedule tbody tr{height:70px}
.colorful-schedule tbody td{background:#fff}
.colorful-schedule tbody tr:nth-child(even) td:not(.day){background:#f8fbff}
.colorful-schedule td.day{font-size:20px;font-weight:700;color:#1f2937;background:#eef4fb}
.colorful-schedule tr.day-1 td.day{background:#fff3c4}
.colorful-schedule tr.day-2 td.day{background:#fce7f3}
.colorful-schedule tr.day-3 td.day{background:#dcfce7}
.colorful-schedule tr.day-4 td.day{background:#ffedd5}
.colorful-schedule tr.day-5 td.day{background:#dbeafe}
.colorful-schedule .slot{font-size:16px;line-height:1.18;min-height:46px;display:flex;flex-direction:column;justify-content:center}
.colorful-schedule .slot b{font-size:18px;color:#12263f}
.colorful-schedule .teacher{display:block;font-size:14px;color:#475569;margin-top:3px}
.empty-slot{color:#b6c0cc;font-size:18px}
.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center;margin-top:25px;font-family:"TH SarabunPSK","TH Sarabun New","Sarabun",Tahoma,sans-serif!important}
.signature-box{font-size:18px;line-height:1.2}
.signature-space{height:30px}
.signature-line{white-space:nowrap}
.signature-name{font-size:18px;margin-top:2px}
.signature-position{font-size:18px;font-weight:700;margin-top:2px;min-height:22px}

@media print{
  body{background:#fff!important}
  .timetable-paper{font-family:"TH SarabunPSK","TH Sarabun New","Sarabun",sans-serif!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .timetable-head{margin-bottom:8px}
  .timetable-logo{height:55px}
  .timetable-title{font-size:27px}
  .timetable-school{font-size:22px}
  .timetable-term{font-size:18px}
  .schedule-frame{border-radius:0;border-width:1.5px}
  .colorful-schedule th,.colorful-schedule td{padding:5px 4px}
  .colorful-schedule thead th{font-size:15px}
  .period-name{font-size:16px}
  .period-time{font-size:13px}
  .colorful-schedule tbody tr{height:58px}
  .colorful-schedule td.day{font-size:18px}
  .colorful-schedule .slot{font-size:14px;min-height:38px}
  .colorful-schedule .slot b{font-size:16px}
  .colorful-schedule .teacher{font-size:12.5px}
  .signature-grid{margin-top:18px;gap:18px}
  .signature-box,.signature-name,.signature-position{font-size:16px}
  .signature-space{height:24px}
}

/* v1.7 - larger header time + Arabic numerals */
.period-time{font-size:18px!important;font-weight:700!important;opacity:1!important;margin-top:5px!important;line-height:1.05;font-family:Tahoma,Arial,sans-serif!important;font-variant-numeric:tabular-nums}
@media print{.period-time{font-size:16.5px!important;font-weight:700!important;font-family:Tahoma,Arial,sans-serif!important;letter-spacing:.15px}}


/* v1.8 - vivid print header, normal-weight time, cache-busting handled in PHP */
.colorful-schedule thead th{
  background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.45)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
.colorful-schedule thead th.day{
  background:linear-gradient(135deg,#7c3aed,#ec4899)!important;
}
.colorful-schedule thead th:nth-child(2){background:linear-gradient(135deg,#2563eb,#0ea5e9)!important}
.colorful-schedule thead th:nth-child(3){background:linear-gradient(135deg,#0891b2,#14b8a6)!important}
.colorful-schedule thead th:nth-child(4){background:linear-gradient(135deg,#059669,#22c55e)!important}
.colorful-schedule thead th:nth-child(5){background:linear-gradient(135deg,#ca8a04,#f59e0b)!important}
.colorful-schedule thead th:nth-child(6){background:linear-gradient(135deg,#ea580c,#f97316)!important}
.colorful-schedule thead th:nth-child(7){background:linear-gradient(135deg,#e11d48,#ec4899)!important}
.colorful-schedule thead th:nth-child(8){background:linear-gradient(135deg,#9333ea,#8b5cf6)!important}
.colorful-schedule thead th:nth-child(9){background:linear-gradient(135deg,#4f46e5,#6366f1)!important}
.colorful-schedule thead th:nth-child(10){background:linear-gradient(135deg,#0369a1,#0284c7)!important}
.colorful-schedule thead th:nth-child(n+11){background:linear-gradient(135deg,#0f766e,#14b8a6)!important}
.period-time{
  font-size:18px!important;
  font-weight:400!important;
  opacity:1!important;
  margin-top:5px!important;
  line-height:1.05;
  font-family:Tahoma,Arial,sans-serif!important;
  font-variant-numeric:tabular-nums;
}
@media print{
  .period-time{font-size:16.5px!important;font-weight:400!important;letter-spacing:.1px!important}
  .colorful-schedule thead th{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* v1.9 - clearer subject title, Arabic digits enforced by JS */
.colorful-schedule .slot b{font-size:20px!important;line-height:1.12!important;font-weight:700!important}
@media print{
  .colorful-schedule .slot b{font-size:18px!important;line-height:1.1!important}
}


/* v2.0 - force every numeric glyph in timetable document to Latin 0-9 */
.timetable-paper .latin-digits{
  font-family:Arial,Tahoma,sans-serif!important;
  font-feature-settings:"locl" 0,"tnum" 1!important;
  font-variant-numeric:tabular-nums!important;
  font-style:normal!important;
  unicode-bidi:isolate;
}
@media print{
  .timetable-paper .latin-digits{font-family:Arial,Tahoma,sans-serif!important}
}

/* v2.3 - LINE sharing and public timetable views */
.share-panel{border:1px solid #dbeafe;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.share-panel h2{margin-top:0;color:#173c68}
.share-result{margin-top:16px;padding:14px;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4}
.share-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.share-url-row input{font-family:Arial,Tahoma,sans-serif;font-size:13px;background:#fff}
.line-btn{background:#06c755!important;border-color:#06c755!important;color:#fff!important;text-decoration:none}
.line-btn:hover{filter:brightness(.95)}
.public-timetable-body{margin:0;background:#eef4fb;font-family:"TH SarabunPSK","TH Sarabun New","Sarabun",Tahoma,sans-serif;color:#172033}
.public-wrap{max-width:1240px;margin:0 auto;padding:20px}
.public-access-card{max-width:520px;margin:7vh auto;background:#fff;border:1px solid #dbe4f0;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.10);padding:30px;text-align:center}
.public-access-card h1{margin:10px 0 2px;font-size:31px;color:#153e75}
.public-school-name{font-size:22px;margin:0 0 8px}
.public-logo{width:78px;height:78px;object-fit:contain}
.teacher-id-form{text-align:left;margin-top:20px}
.teacher-id-form label{font-weight:700;display:block;margin-bottom:6px}
.teacher-id-form input{width:100%;box-sizing:border-box;font-family:Arial,Tahoma,sans-serif;font-size:20px;letter-spacing:1.5px;padding:12px 14px;border:1.5px solid #cbd5e1;border-radius:12px;margin-bottom:12px}
.teacher-id-form .btn{width:100%;font-size:17px;padding:11px 14px}
.privacy-note{font-size:14px;color:#64748b;margin:14px 0 0;line-height:1.45}
.public-error-card{border-top:5px solid #ef4444}
.public-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:10px 14px;margin-bottom:12px;box-shadow:0 4px 18px rgba(15,23,42,.05)}
.public-toolbar>div{display:flex;flex-direction:column}
.public-toolbar b{font-size:20px;color:#173c68}
.public-toolbar span{font-size:15px;color:#64748b}
.public-wrap .timetable-paper{margin:0}
@media(max-width:760px){
  .share-url-row{grid-template-columns:1fr}.share-url-row .btn{width:100%;text-align:center}
  .public-wrap{padding:10px}.public-toolbar{align-items:stretch;flex-direction:column}.public-toolbar .btn{width:100%}
  .public-access-card{margin:25px auto;padding:22px 18px}
}
@media print{
  .public-timetable-body{background:#fff!important}
  .public-wrap{max-width:none;padding:0!important}
  .public-toolbar{display:none!important}
}


/* v2.4 - dedicated share page */
.share-main-btn{background:#06c755!important}
.share-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.share-choice{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start;border-width:2px}
.student-share-card{border-color:#bfdbfe;background:linear-gradient(145deg,#fff,#eff6ff)}
.teacher-share-card{border-color:#bbf7d0;background:linear-gradient(145deg,#fff,#f0fdf4)}
.share-icon{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:32px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.09)}
.share-choice h2{margin:2px 0 4px;font-size:23px}
.share-choice select{margin-bottom:12px}
.line-share-action{background:#06c755!important;width:100%;font-size:16px;padding:12px 16px}
.share-created-card{border:2px solid #86efac;background:linear-gradient(180deg,#fff,#f0fdf4)}
.share-created-title{font-size:20px;font-weight:800;color:#15803d;margin-bottom:5px}
.share-help-card p{margin:7px 0}
@media(max-width:760px){.share-page-grid{grid-template-columns:1fr}.share-choice{grid-template-columns:58px 1fr}.share-icon{width:52px;height:52px;font-size:26px}}

/* v2.5 persistent share management */
.share-list-card{margin-top:22px}.share-list-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.share-list-head h2{margin:0 0 4px}.share-count{background:#eef2ff;color:#4338ca;border-radius:999px;padding:7px 12px;font-weight:700}.persistent-share-list{display:grid;gap:12px}.persistent-share-row{border:1px solid #dbe3ec;border-radius:16px;padding:16px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.04)}.persistent-share-row.is-inactive{background:#f8fafc;opacity:.8}.share-room-main{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.share-room-name{font-size:19px;font-weight:700;color:#17324d}.share-status{display:flex;align-items:center;gap:7px;font-size:14px}.status-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;display:inline-block}.is-inactive .status-dot{background:#94a3b8}.share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.share-actions form{margin:0}.btn.warning{background:#f59e0b;color:#fff}.btn.danger{background:#ef4444;color:#fff}.legacy-link-note{padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.empty-share-list{text-align:center;padding:28px;color:#64748b;background:#f8fafc;border-radius:14px}.share-create-form select{margin-bottom:10px}@media(max-width:700px){.share-room-main,.share-list-head{align-items:flex-start;flex-direction:column}.share-url-row{flex-wrap:wrap}.share-url-row input{flex-basis:100%;width:100%}}


/* v2.7 - teacher weekly teaching load summary */
.teacher-weekly-total{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  margin:12px 2px 0;font-family:"TH SarabunPSK","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;
}
.teacher-weekly-total-label{font-size:19px;font-weight:700;color:#334155}
.teacher-weekly-total-value{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-size:20px;font-weight:700;box-shadow:0 4px 12px rgba(37,99,235,.16)}
@media print{
  .teacher-weekly-total{margin-top:9px}
  .teacher-weekly-total-label{font-size:17px}
  .teacher-weekly-total-value{font-size:18px;padding:4px 12px;box-shadow:none;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
