/* V20261111: schedule editor keeps the roster scrollable and actions visible. */
@media screen {
  body:has(.schedule-screen-panel) #app.admin-app {
    height:100dvh!important;min-height:0!important;grid-template-rows:minmax(0,1fr)!important;overflow:hidden!important;
  }
  body:has(.schedule-screen-panel) #app .main-shell {
    display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important;
  }
  body:has(.schedule-screen-panel) #app #content {
    display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;
    padding:16px!important;overflow:hidden!important;box-sizing:border-box!important;
  }
  #content .schedule-screen-panel {
    display:flex!important;flex-direction:column!important;flex:1 1 0%!important;
    min-height:0!important;height:auto!important;max-height:none!important;
    margin:0!important;padding:16px!important;border:1px solid #e2e7ed!important;
    border-radius:18px!important;box-sizing:border-box!important;box-shadow:none!important;overflow:hidden!important;
  }
  #content .schedule-screen-panel .schedule-toolbar {
    flex:none!important;gap:10px!important;align-items:center!important;margin:0 0 14px!important;padding:0!important;
  }
  #content .schedule-screen-panel .schedule-toolbar>b:first-child {display:none!important;}
  #content .schedule-screen-panel .schedule-month-badge {
    padding:8px 14px!important;font-size:20px!important;line-height:1.4!important;font-weight:700!important;
    background:#f6f8fa!important;color:#283746!important;border:1px solid #e0e6ed!important;
    border-radius:10px!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .schedule-toolbar .btn,
  #content .schedule-screen-panel .schedule-main-actions .btn {
    padding:9px 15px!important;min-height:40px!important;font-size:14px!important;font-weight:600!important;
    border-radius:10px!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .schedule-print-strong {
    color:#4a5868!important;background:#fff!important;border:1px solid #dbe2e9!important;
  }
  #content .schedule-screen-panel .schedule-toolbar .pill {
    font-size:12px!important;font-weight:500!important;padding:5px 9px!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .table-wrap.schedule-wrap {
    flex:1 1 0%!important;min-height:0!important;height:auto!important;max-height:none!important;
    overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;
    padding:0!important;border:1px solid #e1e7ee!important;border-radius:12px!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .schedule-day-table {
    min-width:1120px!important;width:100%!important;table-layout:fixed!important;
    border-collapse:separate!important;border-spacing:0!important;overflow:visible!important;
  }
  #content .schedule-screen-panel .schedule-day-table .emp-sticky {
    position:sticky!important;left:0!important;width:132px!important;min-width:132px!important;max-width:132px!important;
    background:#fff!important;z-index:4!important;box-shadow:1px 0 0 #e1e7ee!important;
  }
  #content .schedule-screen-panel .schedule-day-table .day-head,
  #content .schedule-screen-panel .schedule-day-table .day-col {width:calc((100% - 132px)/31)!important;min-width:0!important;}
  #content .schedule-screen-panel .schedule-day-table thead th {
    position:sticky!important;top:0!important;z-index:5!important;height:46px!important;
    padding:4px 0!important;border-radius:0!important;border-bottom:1px solid #dbe3eb!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .schedule-day-table thead .emp-sticky {z-index:6!important;}
  #content .schedule-screen-panel .schedule-day-table .day-head:not(.today-day-head) {background:#f5f7fa!important;color:#465466!important;}
  #content .schedule-screen-panel .schedule-day-table .day-num {font-size:13px!important;line-height:1.2!important;}
  #content .schedule-screen-panel .schedule-day-table .day-week {font-size:10px!important;line-height:1.2!important;}
  #content .schedule-screen-panel .schedule-day-row>th,
  #content .schedule-screen-panel .schedule-day-row>td {
    height:54px!important;padding:3px 1px!important;border-bottom:1px solid #edf0f4!important;
  }
  #content .schedule-screen-panel .schedule-cell.schedule-day-cell {
    height:42px!important;min-height:42px!important;padding:3px 1px!important;
    font-size:12px!important;font-weight:600!important;line-height:1.3!important;
    border-radius:6px!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .schedule-cell-text {
    width:100%!important;max-width:100%!important;white-space:normal!important;word-break:normal!important;
    font-size:12px!important;line-height:1.3!important;letter-spacing:0!important;
  }
  #content .schedule-screen-panel .emp-name-wrap {
    display:flex!important;align-items:center!important;height:44px!important;min-height:0!important;gap:5px!important;padding:0 5px!important;
  }
  #content .schedule-screen-panel .emp-name-card {
    box-sizing:border-box!important;min-height:42px!important;height:42px!important;padding:4px!important;border-radius:7px!important;
    background:#f4f6f9!important;border:1px solid #e0e6ed!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .emp-name {font-size:13px!important;font-weight:600!important;color:#344253!important;}
  #content .schedule-screen-panel .emp-position {font-size:10px!important;color:#8a96a3!important;}
  #content .schedule-screen-panel .absence-count-box {
    box-sizing:border-box!important;min-width:0!important;width:36px!important;min-height:42px!important;height:42px!important;
    padding:3px 0!important;border:0!important;border-radius:6px!important;background:#fff7eb!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .absence-count-box span {font-size:9px!important;font-weight:500!important;}
  #content .schedule-screen-panel .absence-count-box b {font-size:11px!important;font-weight:600!important;}
  #content .schedule-screen-panel .dept-row td {height:22px!important;padding:3px 8px!important;background:#f5f7fa!important;font-size:12px!important;}
  #content .schedule-screen-panel .schedule-main-actions {
    flex:none!important;position:static!important;margin:0!important;padding:12px 0 0!important;
    justify-content:flex-end!important;gap:8px!important;background:#fff!important;box-shadow:none!important;
  }
  #content .schedule-screen-panel .schedule-main-actions #finishSchedule {
    background:#d96b20!important;color:#fff!important;border:1px solid #d96b20!important;
  }
}
