*{box-sizing:border-box} :root{--bg:#f5f7fb;--line:#e3e8f0;--text:#172033;--muted:#738196;--blue:#2563eb;--shadow:0 8px 30px rgba(24,32,51,.06)}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.app{min-height:100vh}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:26px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px;min-width:275px}.brand-icon{width:37px;height:37px;border-radius:11px;background:linear-gradient(135deg,#2563eb,#163b9d);color:#fff;display:grid;place-items:center;font-weight:900}.brand-kicker,.kicker,.modal-kicker{font-size:9px;letter-spacing:.14em;font-weight:850;color:#8190a5}.brand-title{font-size:15px;font-weight:750}.calendar-tools{display:flex;align-items:center;gap:8px;width:100%}.today-btn,.secondary-btn{border:1px solid #d9e0e9;border-radius:9px;padding:8px 13px;font-size:12px;background:#fff;color:#334155;cursor:pointer;text-decoration:none}.arrows{display:flex}.arrows a{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;font-size:22px;color:#536174;text-decoration:none}.arrows a:hover,.icon-btn:hover{background:#f0f3f7}.calendar-tools h1{font-size:20px;margin:0 0 0 5px}.grow{flex:1}.icon-btn{border:0;background:transparent;width:31px;height:31px;border-radius:50%;cursor:pointer;font-size:17px;color:#66758a}.live{font-size:10px;color:#4b5563;display:flex;gap:6px;align-items:center}.live span{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #dcfce7}.view{border:1px solid #d9e0e9;border-radius:9px;padding:8px 12px;font-size:12px;background:#fff}main{max-width:1500px;margin:auto;padding:25px 28px 35px}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.hero h2{font-size:25px;margin:5px 0}.hero p{margin:0;color:var(--muted);font-size:12px}.hero-actions{display:flex;gap:8px}.create-btn{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:9px 14px;font-weight:750;font-size:12px;cursor:pointer;box-shadow:0 6px 15px #2563eb2c}.stats{display:grid;grid-template-columns:160px 160px 160px 160px 1fr;gap:10px;margin-bottom:14px}.stat,.upcoming,.legend-card,.next-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;box-shadow:var(--shadow)}.stat{display:flex;align-items:center;gap:10px}.stat small,.upcoming small{display:block;color:var(--muted);font-size:10px}.stat strong{display:block;font-size:20px;margin-top:2px}.stat-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.stat-icon.red{background:#fee2e2;color:#ef4444}.stat-icon.orange{background:#ffedd5;color:#f97316}.stat-icon.green{background:#dcfce7;color:#16a34a}.stat-icon.purple{background:#ede9fe;color:#7c3aed}.upcoming{display:block}.upcoming strong{display:block;font-size:12px;margin:3px 0}.upcoming span{font-size:10px;color:#16a34a}.filters{display:flex;gap:8px;margin-bottom:12px}.filter-search{background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 10px;display:flex;gap:7px;align-items:center;flex:1;max-width:390px}.filter-search input{border:0;outline:0;width:100%;font-size:11px}.filters select,.filter-clear{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;font-size:11px;color:#526175}.filter-clear{cursor:pointer}.calendar-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.calendar-head{display:grid;grid-template-columns:42px repeat(7,1fr);background:#fbfcfe;border-bottom:1px solid var(--line)}.calendar-head div{height:38px;border-right:1px solid var(--line);display:flex;align-items:center;padding-left:10px;font-size:9px;letter-spacing:.08em;font-weight:850;color:#7e8b9d}.calendar-head .wk{justify-content:center;padding:0}.calendar-grid{display:grid;grid-template-columns:42px repeat(7,1fr)}.week{min-height:145px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbfd;display:flex;justify-content:center;padding-top:9px;color:#9aa6b5;font-size:9px;font-weight:750}.day{min-height:145px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 7px 6px;background:#fff}.muted-day{background:#fafbfc}.date-row{height:29px;display:flex;justify-content:flex-end}.date-row span{font-size:11px;font-weight:700;color:#4d5b6e;width:28px;height:28px;display:grid;place-items:center}.muted-day .date-row span{color:#b4bdc9}.today-circle{border:2px solid #2563eb;border-radius:50%;color:#2563eb!important}.event-stack{display:flex;flex-direction:column;gap:4px}.event{border:0;border-left:3px solid var(--accent);background:var(--soft);border-radius:6px;padding:5px;display:flex;gap:5px;text-align:left;cursor:pointer;width:100%;min-width:0;transition:.12s}.event:hover{filter:brightness(.97);transform:translateY(-1px)}.event-circle{width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;flex:none;margin-top:2px}.event-text{display:flex;flex-direction:column;min-width:0}.event-text b{font-size:9px;color:#4a5568}.event-text span{font-size:9px;font-weight:700;color:#25334a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more{font-size:9px;color:#64748b;font-weight:700;padding:2px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.card-title{font-size:12px;font-weight:800;margin-bottom:10px}.legend{display:flex;gap:16px;font-size:10px;color:#69778a}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:8px;height:8px;border-radius:50%}.legend-card p{font-size:10px;color:#8a97a8;margin:12px 0 0}.next-item{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #edf0f4}.next-item div{flex:1}.next-item b,.next-item small{display:block}.next-item b{font-size:10px}.next-item small{font-size:9px;color:#8b98a9;margin-top:2px}.next-item button{border:1px solid #dce3ec;background:#fff;border-radius:7px;padding:5px 8px;font-size:9px}.big-dot{width:9px;height:9px;border-radius:50%}.big-dot.green{background:#22c55e}.modal-backdrop{display:none;position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:18px;z-index:20}.modal-backdrop.open{display:flex}.modal{width:min(510px,100%);background:#fff;border-radius:18px;padding:24px;position:relative;box-shadow:0 25px 70px #0f172a44}.x{position:absolute;right:15px;top:13px;border:0;background:#f2f4f7;width:31px;height:31px;border-radius:50%;font-size:20px;color:#657287;cursor:pointer}.modal h3{font-size:22px;margin:6px 0 12px}.route-flow{padding:11px 13px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;font-size:12px;font-weight:750;margin-bottom:14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:11px;overflow:hidden}.detail-grid div{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-grid small,.detail-grid b{display:block}.detail-grid small{font-size:9px;color:#8592a3}.detail-grid b{font-size:11px;margin-top:2px}.timeline{margin:16px 0;display:flex;align-items:center}.tl{display:flex;align-items:center;gap:7px;flex:1}.tl-dot{width:11px;height:11px;border-radius:50%;display:block}.tl-dot.order{background:#ef4444}.tl-dot.delivery{background:#22c55e}.tl small,.tl b{display:block}.tl small{font-size:9px;color:#8b98a9}.tl b{font-size:10px}.line{height:1px;background:#dbe2ea;width:35px}.note{background:#f8fafc;border-radius:9px;padding:10px;font-size:10px;color:#657287}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.form-modal label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#68768a;font-weight:700;margin-top:10px}.form-modal input,.form-modal select,.form-modal textarea{border:1px solid #dce3ec;border-radius:8px;padding:9px;outline:0;background:#fff;font-size:11px}.form-modal input[type=color]{padding:3px;height:38px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;right:20px;bottom:20px;background:#172033;color:#fff;padding:10px 14px;border-radius:9px;font-size:11px;opacity:0;transform:translateY(10px);transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.upcoming{grid-column:1/-1}.brand{min-width:auto}.topbar{padding:0 14px}.calendar-tools h1{font-size:17px}}@media(max-width:700px){main{padding:18px 8px}.hero{align-items:start;gap:10px}.hero-actions{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.filters{flex-wrap:wrap}.filter-search{max-width:none;flex-basis:100%}.calendar-card{overflow:auto}.calendar-head,.calendar-grid{min-width:880px}.bottom-grid{grid-template-columns:1fr}.view{display:none}.two{grid-template-columns:1fr}.legend-note{display:none}}
@media print{.topbar,.hero-actions,.stats,.filters,.bottom-grid{display:none!important}body{background:#fff}.calendar-card{box-shadow:none}}

.next-empty{font-size:10px;color:#8b98a9;padding:8px 0}.published{color:#16a34a}.error-text{color:#dc2626}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.wide-modal{width:min(720px,100%)}.form-help{font-size:10px;color:#7b8797;margin:0 0 10px}.preview-box{margin-top:12px;background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;padding:10px;font-size:10px;color:#66758a;display:flex;flex-direction:column;gap:5px}.preview-box b{font-size:11px;color:#26334a}.preview-box em{color:#b45309;font-style:normal}.error-toast{background:#991b1b}.modal-actions .secondary-btn{cursor:pointer}@media(max-width:700px){.three{grid-template-columns:1fr}}

/* Overlay */
#recurringModal{
  padding:12px !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Modal berkala: jangan selebar layar, jangan setinggi layar */
#recurringModal .modal{
  width:min(760px, calc(100vw - 32px)) !important;
  max-width:760px !important;
  max-height:calc(100dvh - 24px) !important;
  padding:18px 20px !important;
  border-radius:16px !important;
  overflow:hidden !important;
}

/* Header lebih compact */
#recurringModal .modal-kicker{
  font-size:8px !important;
  margin-bottom:3px !important;
}

#recurringModal .modal h3{
  font-size:19px !important;
  line-height:1.15 !important;
  margin:3px 0 5px !important;
}

#recurringModal .modal > p,
#recurringModal .modal .modal-description{
  font-size:10px !important;
  line-height:1.35 !important;
  margin:0 0 9px !important;
  color:#64748b !important;
}

/* Form menjadi area scroll sendiri */
#recurringModal form{
  max-height:calc(100dvh - 145px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:5px;
  padding-bottom:2px;
  scrollbar-width:thin;
}

/* Semua label lebih rapat */
#recurringModal label{
  display:block;
  font-size:9px !important;
  line-height:1.2 !important;
  margin:0 0 6px !important;
  color:#64748b;
  font-weight:700;
}

#recurringModal input,
#recurringModal select,
#recurringModal textarea{
  width:100%;
  min-height:34px !important;
  height:34px;
  padding:7px 9px !important;
  margin-top:4px !important;
  border-radius:7px !important;
  font-size:10px !important;
  box-sizing:border-box;
}

#recurringModal textarea{
  height:auto;
  min-height:54px !important;
  resize:vertical;
}

/* Color input */
#recurringModal input[type="color"]{
  width:48px !important;
  min-width:48px;
  height:32px !important;
  padding:2px !important;
}

/* Kelompok 2 kolom */
#recurringModal .two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 !important;
}

/* Kalau ada group khusus full width */
#recurringModal .full,
#recurringModal .form-full{
  grid-column:1 / -1;
}

/* Jarak antar section */
#recurringModal form > label,
#recurringModal form > .two{
  margin-bottom:5px !important;
}

/* Preview jangan membuat popup bertambah tinggi */
#recurringModal #rulePreview{
  max-height:150px;
  overflow:auto;
  margin-top:5px;
}

/* Footer selalu terlihat */
#recurringModal .form-actions,
#recurringModal .modal-actions{
  position:sticky !important;
  bottom:0;
  z-index:10;
  display:flex;
  justify-content:flex-end;
  gap:7px;
  margin:8px -5px 0 !important;
  padding:9px 5px 0 !important;
  background:#fff;
  border-top:1px solid #edf1f5;
}

#recurringModal .form-actions button,
#recurringModal .modal-actions button{
  min-height:34px !important;
  padding:7px 13px !important;
  font-size:10px !important;
  border-radius:7px !important;
}

/* Tombol close */
#recurringModal .x{
  width:28px !important;
  height:28px !important;
  right:11px !important;
  top:10px !important;
  font-size:17px !important;
}

/* Layar laptop pendek */
@media (max-height:760px) and (min-width:701px){
  #recurringModal .modal{
    max-height:calc(100dvh - 16px) !important;
    padding:14px 17px !important;
  }

  #recurringModal form{
    max-height:calc(100dvh - 120px);
  }

  #recurringModal input,
  #recurringModal select{
    min-height:31px !important;
    height:31px;
    padding:5px 8px !important;
  }

  #recurringModal label{
    margin-bottom:4px !important;
  }
}

/* Mobile */
@media (max-width:700px){
  #recurringModal{
    align-items:flex-end !important;
    padding:0 !important;
  }

  #recurringModal .modal{
    width:100% !important;
    max-width:none !important;
    max-height:calc(100dvh - 6px) !important;
    border-radius:16px 16px 0 0 !important;
    padding:15px 14px calc(12px + env(safe-area-inset-bottom)) !important;
  }

  #recurringModal form{
    max-height:calc(100dvh - 125px);
  }

  #recurringModal .two{
    grid-template-columns:1fr !important;
  }

  #recurringModal .form-actions{
    margin-left:-4px !important;
    margin-right:-4px !important;
  }
}


/* =========================================================
   FINAL UI — JADWAL BERKALA / DELETE / PRINT
   ========================================================= */
#ruleModal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;padding:10px!important;display:none!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;z-index:9999!important}
#ruleModal.open{display:flex!important}
#ruleModal .modal.wide-modal{width:min(720px,calc(100vw - 20px))!important;max-width:720px!important;height:min(680px,calc(100dvh - 20px))!important;max-height:calc(100dvh - 20px)!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:15px 17px 10px!important}
#ruleModal #ruleForm{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:5px!important;scrollbar-width:thin!important}
#ruleModal #ruleForm .two{grid-template-columns:1fr 1fr!important;gap:8px!important}
#ruleModal #ruleForm .three{grid-template-columns:1fr 1fr 1fr!important;gap:8px!important}
#ruleModal #ruleForm label{font-size:9px!important;gap:4px!important;margin-top:7px!important}
#ruleModal #ruleForm input,#ruleModal #ruleForm select{height:32px!important;min-height:32px!important;padding:6px 8px!important;font-size:10px!important}
#ruleModal #ruleForm input[type=color]{height:30px!important;width:48px!important;padding:2px!important}
#ruleModal #rulePreview{max-height:105px!important;overflow-y:auto!important;font-size:9px!important;margin-top:5px!important}
#ruleModal #ruleForm .form-actions{position:sticky!important;bottom:0!important;z-index:20!important;background:#fff!important;border-top:1px solid #edf0f4!important;padding:8px 0 2px!important;margin:6px 0 0!important}
.danger-btn{border:1px solid #fecaca!important;background:#fff!important;color:#dc2626!important;border-radius:9px!important;padding:8px 12px!important;font-size:11px!important;font-weight:750!important;cursor:pointer!important}
.danger-btn:hover{background:#fef2f2!important;border-color:#fca5a5!important}
.data-status-card span{color:#16a34a!important}

/* PRINT / PDF */
@page{size:A4 landscape;margin:8mm}
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{width:100%;height:auto;background:#fff!important}
  body{font-family:Arial,Helvetica,sans-serif!important}
  .topbar,.hero-actions,.stats,.filters,.bottom-grid,.modal-backdrop,.toast{display:none!important}
  main{max-width:none!important;margin:0!important;padding:0!important}
  .hero{display:flex!important;margin:0 0 5mm!important;padding:0 0 3mm!important;border-bottom:1px solid #d8dee8!important;align-items:flex-end!important}
  .hero h2{font-size:16pt!important;margin:0 0 1mm!important}.hero p{font-size:7.5pt!important}.hero .kicker{font-size:7pt!important}
  .calendar-card{width:100%!important;border:1px solid #cfd6e0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .calendar-head,.calendar-grid{width:100%!important;min-width:0!important;grid-template-columns:25px repeat(7,minmax(0,1fr))!important}
  .calendar-head div{height:22px!important;padding-left:4px!important;font-size:6.5pt!important}
  .calendar-head .wk{padding:0!important;justify-content:center!important}
  .week{min-height:74px!important;padding-top:4px!important;font-size:6.5pt!important}
  .day{min-height:74px!important;padding:3px!important}
  .date-row{height:18px!important}.date-row span{width:18px!important;height:18px!important;font-size:7pt!important}
  .event-stack{gap:2px!important}.event{border-left-width:2px!important;border-radius:3px!important;padding:2px 3px!important;gap:3px!important}
  .event-circle{width:6px!important;height:6px!important;border-width:1px!important;margin-top:1px!important}
  .event-text b,.event-text span{font-size:6.2pt!important;line-height:1.05!important}.more{font-size:6pt!important;padding:1px!important}.today-circle{border-width:1px!important}
}
@media (max-height:760px) and (min-width:701px){
  #ruleModal{padding:5px!important}
  #ruleModal .modal.wide-modal{height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important;padding:11px 14px 8px!important}
  #ruleModal #ruleForm input,#ruleModal #ruleForm select{height:29px!important;min-height:29px!important}
  #ruleModal #ruleForm label{margin-top:4px!important}
}
@media (max-width:700px){
  #ruleModal{align-items:flex-end!important;padding:0!important}
  #ruleModal .modal.wide-modal{width:100%!important;max-width:none!important;height:calc(100dvh - 3px)!important;max-height:calc(100dvh - 3px)!important;border-radius:15px 15px 0 0!important;padding:13px 12px 9px!important}
  #ruleModal #ruleForm .two,#ruleModal #ruleForm .three{grid-template-columns:1fr!important}
}

/* =========================================================
   LIVE DATA STATUS CARD
   ========================================================= */
.data-status-card{
  min-width:230px;
  min-height:82px;
  position:relative;
  padding:11px 13px 10px!important;
  overflow:hidden;
}
.data-status-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:5px;
}
.data-status-head small{
  font-size:9px!important;
  letter-spacing:.08em;
  color:#526175!important;
  font-weight:800;
}
.status-copy{
  border:0;
  background:transparent;
  color:#64748b;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  padding:1px 2px;
  border-radius:5px;
}
.status-copy:hover{background:#f1f5f9;color:#334155}
.data-status-main{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:18px;
}
.data-status-main strong{
  font-size:12px!important;
  margin:0!important;
  font-weight:750;
}
.status-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  flex:none;
}
.status-dot.online{
  background:#22c55e;
  box-shadow:0 0 0 4px #dcfce7;
}
.status-dot.offline{
  background:#ef4444;
  box-shadow:0 0 0 4px #fee2e2;
}
.data-status-message{
  display:block;
  margin-top:4px;
  color:#475569!important;
  font-size:9px!important;
  line-height:1.35;
}
.data-status-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:4px;
  min-height:16px;
}
.data-status-foot #statusTime{
  color:#64748b!important;
  font-size:8.5px!important;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.status-refresh{
  display:none;
  border:0;
  background:transparent;
  padding:0;
  color:#2563eb;
  font-size:9px;
  font-weight:750;
  cursor:pointer;
}
.data-status-card.is-offline .status-refresh{display:inline-block}
.data-status-card.is-offline .data-status-message{color:#dc2626!important}
.data-status-card.is-checking{opacity:.75}
@media(max-width:1000px){
  .data-status-card{grid-column:1/-1;min-width:0}
}
@media print{
  .data-status-card{display:none!important}
}

/* =========================================================
   KALENDER LIBUR DARI MYSQL — TANPA FITUR UPLOAD DI UI
   ========================================================= */
.calendar-head div:nth-child(7),
.calendar-head div:nth-child(8){color:#dc2626!important}
.day.weekend-day{background:#fff7f7!important}
.day.weekend-day .date-row span{color:#dc2626!important}
.day.holiday-day{background:#fffdfd!important}
.day.holiday-day .date-row span{color:#dc2626!important}
.holiday-list{display:flex;flex-direction:column;gap:3px;margin-top:4px;padding-top:3px;border-top:1px dashed #f1c7c7}
.holiday-item{display:flex;gap:5px;align-items:flex-start;padding:2px 4px;border-radius:5px;min-width:0}
.holiday-item b,.holiday-item span,.holiday-item small{display:block;line-height:1.15}
.holiday-item b{font-size:8px;font-weight:850}
.holiday-item span{font-size:8px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.holiday-item small{font-size:7px;color:#7b8797;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.holiday-dot{width:7px;height:7px;border-radius:50%;flex:none;margin-top:2px}
.holiday-national{background:#fff1f2;color:#b91c1c}
.holiday-national .holiday-dot{background:#dc2626}
.holiday-leave{background:#fff7ed;color:#c2410c}
.holiday-leave .holiday-dot{background:#f97316}
@media print{
  .holiday-list{gap:1px;margin-top:2px;padding-top:2px}
  .holiday-item{padding:1px 2px;gap:3px}
  .holiday-item b,.holiday-item span{font-size:5.8pt!important}
  .holiday-item small{font-size:5.2pt!important}
  .holiday-dot{width:5px;height:5px}
}

/* Reschedule scope */
.reschedule-modal{width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto}
.reschedule-scope{margin:4px 0 14px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.scope-title{font-size:11px;font-weight:800;color:#475569;margin-bottom:8px}
.scope-option{display:flex!important;align-items:flex-start;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;margin:7px 0;cursor:pointer}
.scope-option:has(input:checked){border-color:#2563eb;background:#eff6ff}
.scope-option input{margin-top:3px;accent-color:#2563eb}
.scope-option span{display:flex;flex-direction:column;gap:3px}
.scope-option b{font-size:11px;color:#0f172a}
.scope-option small{font-size:9px;line-height:1.4;color:#64748b;font-weight:500}
.scope-rule{font-size:9px;color:#1d4ed8;font-weight:700;margin-top:7px}
.reschedule-rule-hint{margin:8px 0 12px;padding:8px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:9px;line-height:1.4}
.reschedule-reason-label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:#475569}
.reschedule-reason-label textarea{width:100%;box-sizing:border-box;resize:vertical}
