.ops-panel{overflow:visible}.ops-toolbar{padding:20px;border-bottom:1px solid #edf0f5;align-items:end}.ops-toolbar small{align-self:center}.ops-stats{display:flex;gap:8px;padding:18px 20px;flex-wrap:wrap;background:#f7f8fc}.ops-stats>button,.ops-stats>div{flex:1;min-width:102px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border:1px solid transparent;background:white;border-radius:10px;color:#667085}.ops-stats strong{font-size:23px;color:#171c3f}.ops-stats button.active{border-color:#171c3f;box-shadow:0 0 0 1px #171c3f}.ops-stats button[data-ops-filter=미등원] strong{color:#ce4545}.ops-stats button[data-ops-filter=등원예정] strong{color:#d08535}.ops-search{padding:18px 20px;border-bottom:1px solid #edf0f5}.ops-table{width:100%;min-width:850px}.ops-table th{background:#fafbfc;color:#7d8597;font-size:12px;padding:16px!important}.ops-table td{padding:17px 16px!important;font-size:13px;vertical-align:middle}.ops-table td>small{display:block;font-size:11px;color:#949baa;margin-top:4px}.ops-badge{display:inline-block;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:650;white-space:nowrap}.ops-badge.missing{background:#fff0f0;color:#c64b4b}.ops-badge.expected{background:#fff3e6;color:#c77e32}.ops-badge.late{background:#fff5d9;color:#a67b1b}.ops-badge.arrived{background:#edf5ef;color:#368653}.ops-badge.cancelled{background:#f0f1f4;color:#8e95a2}.ops-missing-row{background:#fffafa}.ops-lesson{padding:3px 0}.ops-lesson b{display:inline-block;min-width:44px;color:#171c3f;font-weight:600}.ops-lesson small{color:#8c91a2;font-size:11px;margin-left:8px}.ops-table a{color:#3c5885;text-decoration:none}.ops-empty{text-align:center!important;color:#949baa;padding:45px!important}.ops-toolbar .checkline{flex-direction:row;align-items:center}.ops-toolbar input[type=checkbox]{width:auto}.ops-panel .filters label{font-size:12px}.ops-table button{margin:2px}.ops-panel .tablewrap{border-radius:0 0 12px 12px}

.planned-absence-day {
  margin: 12px 0;
  background: #fff1f2;
  border-color: #f8ccd2;
  color: #852b3d;
}
.planned-absence-month { margin-top: 16px; }
.planned-absence-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
button.planned-absence-chip {
  background: #fff1f2;
  color: #852b3d;
  border-color: #f8ccd2;
}

#recordsArea .dailytable .planned-absence-label { color: #d00000; font-weight: 700; white-space: pre-line; }
.planned-absence-label[hidden] { display: none; }

.planned-absence-schedule {
  min-width: 0;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid #e1e6ef;
  border-radius: 8px;
}

#dailyPlannedAbsences {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid #f8ccd2;
  border-radius: 10px;
}
#dailyPlannedAbsences .planned-absence-item { margin-top: 0; }
