.schedulePage [hidden]{display:none!important}.calendarBack{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;margin:10px 0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e40af;text-decoration:none;font-weight:600}.schedulePage{padding:20px 0}.scheduleHeader,.scheduleToolbar,.scheduleMonthControls,.scheduleFilters,.scheduleDialogHead,.scheduleDialogActions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.scheduleHeader{margin-bottom:20px}.scheduleHeader h2{font-size:28px;margin:4px 0}.scheduleHeader p,.scheduleHint{color:#64748b;line-height:1.5;margin:6px 0 14px}.scheduleEyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#475569}.scheduleToolbar{padding:16px;background:#fff;border:1px solid #dbe2ea;border-radius:12px;align-items:flex-end}.schedulePage label,.scheduleDialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#475569}.scheduleMonthControls{align-items:flex-end;justify-content:flex-start}.scheduleFilters{align-items:flex-end}.schedulePage :is(button,input,select),.scheduleDialog :is(button,input,select){min-height:44px;padding:10px 12px;font:inherit;border-radius:8px}.schedulePage :is(button,input,select):focus-visible,.scheduleDialog :is(button,input,select):focus-visible{outline:3px solid #2563eb;outline-offset:2px}.scheduleSummary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0;color:#334155}.scheduleLegend{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:12px;color:#475569}.scheduleLegend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#2563eb;margin-right:6px}.scheduleLegend span:nth-child(2):before{background:#b45309}.scheduleLegend span:nth-child(3):before{background:#b91c1c}.scheduleLegend span:nth-child(4):before{background:#64748b}.scheduleScroll{overflow:auto;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.scheduleCalendar{min-width:850px}.scheduleWeekdays,.scheduleDates,.scheduleLane{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.scheduleWeekdays{background:#f1f5f9}.scheduleWeekdays b{padding:12px 8px;font-size:12px;color:#475569}.scheduleWeek{border-top:1px solid #cbd5e1}.scheduleDates>div{padding:10px 8px;color:#475569;border-right:1px solid #e2e8f0}.scheduleDates .weekend{background:#f1f5f9;color:#64748b}.scheduleDates span{font-size:10px;display:block}.scheduleDates .outside{opacity:.55}.scheduleDates .today time{background:#1d4ed8;color:white;padding:5px 7px;border-radius:20px;font-weight:bold}.scheduleLanes{padding:0 0 10px;background:linear-gradient(to right,#fff 71.428%,#f1f5f9 71.428%);min-height:65px}.scheduleLane{padding:2px 0}.schedulePage .scheduleBar{margin:0 4px;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;background:#eff6ff;color:#1e40af;border:1px solid #93c5fd;border-left:4px solid #2563eb;font-size:12px;padding:7px 9px;overflow:hidden}.scheduleBar strong,.scheduleBar span,.scheduleBar small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduleBar small{font-size:10px}.schedulePage .schedule-late{background:#fffbeb;border-color:#fcd34d;color:#92400e}.schedulePage .schedule-overrun{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.schedulePage .schedule-done{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.scheduleEmptyWeek{padding:14px;color:#94a3b8;font-size:12px}.scheduleEmpty{padding:20px;color:#64748b;background:#f8fafc;border-radius:10px}.scheduleUnplanned{margin:24px 0;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:16px}.scheduleUnplanned>summary{cursor:pointer;font-weight:700;min-height:44px;display:list-item;padding:10px}.scheduleCard{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin:10px 0;background:#fff;border:1px solid #dbe2ea;border-left-width:4px;border-radius:10px}.scheduleCard p{font-size:13px;margin:5px 0;color:#475569}.scheduleCard button{flex-shrink:0}.scheduleBadge{display:inline-block;font-size:11px;font-weight:bold}.scheduleDialog{width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 24px 80px #0f172a44}.scheduleDialog::backdrop{background:#0f172a88}.scheduleDialog h2{margin:0}.scheduleDialog p{color:#475569;line-height:1.5}.scheduleDialog label{margin:12px 0}.scheduleDialog select{width:100%}.scheduleFormFields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scheduleFormFields input{min-width:0;width:100%;box-sizing:border-box}.scheduleEstimate{padding:14px;background:#eff6ff;color:#1e40af;border-radius:10px;font-weight:bold}.scheduleEstimate.late{background:#fffbeb;color:#92400e}.scheduleDialogActions{margin-top:20px}.scheduleDialog [hidden]{display:none!important}#scheduleSaveState{color:#b91c1c;margin:10px 0}#scheduleNotice{padding:12px;color:#166534}.scheduleDialog button:disabled{opacity:.5}
@media(max-width:700px){.scheduleToolbar,.scheduleFilters{align-items:stretch}.scheduleFilters{width:100%}.scheduleFilters label{flex:1;min-width:100px}.scheduleCard{align-items:flex-start;flex-direction:column}.scheduleCard button{width:100%}.scheduleHeader>button{width:100%}.scheduleDialog{padding:18px}.scheduleDialogActions button{flex:1}.scheduleMonthControls{gap:8px}.scheduleMonthControls button{padding:10px}.scheduleFormFields{gap:10px}}
.scheduleMobileMonth{display:none}
@media(max-width:700px){
  .schedulePage,.schedulePage *,.scheduleDialog{box-sizing:border-box}
  .schedulePage,#scheduleCanvas,.scheduleToolbar,.scheduleFilters,.scheduleMonthControls{min-width:0;max-width:100%}
  .scheduleDesktopCalendar{display:none}
  .scheduleMobileMonth{display:block;min-width:0;width:100%}
  .scheduleMobileGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:6px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}
  .scheduleMobileWeekday{text-align:center;font-size:11px;padding:8px 0;color:#475569}
  .scheduleMobileWeekday abbr{text-decoration:none}
  .schedulePage .scheduleDay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:60px;margin:0;padding:6px 0;border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:7px;font-size:14px}
  .scheduleDay.outside{background:#f8fafc;color:#64748b}
  .scheduleDay.today time{font-weight:800;text-decoration:underline;text-underline-offset:3px}
  .schedulePage .scheduleDay[aria-pressed="true"]{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
  .scheduleDayCount{font-size:10px;white-space:nowrap}
  .scheduleDayAgenda{margin-top:18px;min-width:0}
  .scheduleDayAgenda h3{margin-bottom:5px}
  .scheduleCard>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .scheduleMonthControls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .scheduleMonthControls label{grid-column:1/-1;grid-row:1;min-width:0}
  .scheduleMonthControls input{width:100%;min-width:0}
  .scheduleFilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .scheduleFilters label{min-width:0!important}
  .scheduleFilters label:first-child{grid-column:1/-1}
  .scheduleFilters select{width:100%;min-width:0;max-width:100%}
  .schedulePage input,.schedulePage select,.scheduleDialog input,.scheduleDialog select{font-size:16px}
  .scheduleDialog{max-width:calc(100% - 24px)}
}
