.schedule-workspace{display:grid;gap:16px}.schedule-toolbar{padding:18px}.schedule-toolbar-main,.schedule-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.schedule-toolbar-main{justify-content:space-between}.schedule-filters{border-top:1px solid var(--zg-border);margin-top:14px;padding-top:14px}.schedule-date-nav,.schedule-views,.schedule-actions{display:flex;gap:6px;align-items:center}.schedule-date-nav strong{min-width:190px;text-align:center}.schedule-views button{border:0;background:transparent;padding:10px 12px;border-radius:8px;font-weight:700;color:var(--zg-muted);cursor:pointer}.schedule-views button.is-active{background:#e0f2fe;color:#0369a1}.schedule-check{display:flex;align-items:center;gap:7px;padding-bottom:10px}.schedule-actions{margin-left:auto}.schedule-status{display:flex;gap:10px;flex-wrap:wrap}.schedule-status span{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid var(--zg-border);font-size:12px;font-weight:700}.schedule-board{overflow:auto;min-height:420px}.schedule-grid{display:grid;min-width:900px}.schedule-grid-head,.schedule-person-row{display:grid;grid-template-columns:190px repeat(var(--schedule-days),minmax(145px,1fr))}.schedule-grid-head{position:sticky;top:0;z-index:3;background:#fff}.schedule-grid-head>*{padding:12px;border-bottom:1px solid var(--zg-border);font-weight:700}.schedule-person-row>*{min-height:82px;padding:8px;border-right:1px solid var(--zg-border);border-bottom:1px solid var(--zg-border)}.schedule-person{position:sticky;left:0;z-index:2;background:#fff}.schedule-person small{display:block;color:var(--zg-muted)}.schedule-sector{padding:10px 14px;background:#e2e8f0;font-weight:800}.schedule-shift{display:block;width:100%;border:0;border-left:4px solid #0284c7;border-radius:8px;padding:8px;margin-bottom:6px;text-align:left;background:#e0f2fe;cursor:grab}.schedule-shift.is-captured{border-left-color:#64748b;background:#f1f5f9;cursor:not-allowed}.schedule-shift.has-conflict{border-left-color:#dc2626;background:#fee2e2}.schedule-shift small{display:block}.schedule-month{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:900px}.schedule-month-day{min-height:130px;padding:10px;border-right:1px solid var(--zg-border);border-bottom:1px solid var(--zg-border)}.schedule-month-day strong{display:block}.schedule-month-day span{display:block;margin-top:7px;font-size:12px}.schedule-empty{padding:70px;text-align:center;color:var(--zg-muted)}@media print{.sidebar,.schedule-toolbar,.page-header{display:none!important}.main{padding:0!important}.schedule-board{overflow:visible;border:0}.schedule-grid{min-width:0}.schedule-shift{print-color-adjust:exact}}@media(max-width:800px){.schedule-actions{margin-left:0}.schedule-toolbar-main,.schedule-filters{align-items:stretch;flex-direction:column}}
.schedule-shift{position:relative;padding:4px}.schedule-shift>button,.timeline-shift>button{width:100%;border:0;background:transparent;text-align:left;padding:4px;cursor:inherit}.schedule-select{position:absolute;right:5px;top:4px;z-index:2}.schedule-bulk{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:10px;background:#fff;border:1px solid var(--zg-border)}.schedule-timeline{min-width:1300px}.timeline-hours,.timeline-row{display:grid;grid-template-columns:190px repeat(20,minmax(54px,1fr))}.timeline-hours{position:sticky;top:0;z-index:4;background:#fff}.timeline-hours span{padding:9px 4px;border-right:1px solid var(--zg-border);font-size:11px;font-weight:700;text-align:center}.timeline-row{min-height:58px}.timeline-row>.schedule-person{padding:8px;border-bottom:1px solid var(--zg-border)}.timeline-track{position:relative;grid-column:2/-1;border-bottom:1px solid var(--zg-border);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(5% - 1px),var(--zg-border) calc(5% - 1px),var(--zg-border) 5%)}.timeline-shift{position:absolute;top:8px;height:40px;min-width:34px;border-left:4px solid #0284c7;border-radius:7px;background:#e0f2fe;overflow:hidden}.timeline-shift.is-captured{background:#f1f5f9;border-left-color:#64748b}.timeline-shift.has-conflict{background:#fee2e2;border-left-color:#dc2626}.timeline-shift button{font-size:11px;font-weight:700;white-space:nowrap}.timeline-resize{position:absolute;right:0;top:0;width:8px;height:100%;background:#0284c7;cursor:ew-resize}.specific-dates{margin-top:14px;display:grid;gap:8px}.specific-dates [data-specific-date-list],[data-target-weeks]{display:flex;flex-wrap:wrap;gap:8px}.specific-dates input,[data-target-weeks] input{padding:9px;border:1px solid var(--zg-border);border-radius:8px}@media print{.schedule-select,.timeline-resize,.schedule-bulk{display:none!important}.schedule-timeline{min-width:0}}
.schedule-grid-head .is-holiday,.schedule-month-day.is-holiday{background:linear-gradient(var(--holiday-color),var(--holiday-color)),#fff}.schedule-grid-head .is-holiday small{display:block;margin-top:4px;font-size:10px}.schedule-person-row>[data-schedule-day].is-holiday,.timeline-track.is-holiday{background-color:color-mix(in srgb,var(--holiday-color) 38%,white)}.holiday-label{padding:3px 6px;border-radius:6px;background:var(--holiday-color);font-weight:700}.timeline-holiday{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--zg-border)}.timeline-holiday span{padding:6px 10px;border-radius:999px;background:var(--holiday-color);font-size:12px;font-weight:700}@media print{.is-holiday,.holiday-label,.timeline-holiday span{print-color-adjust:exact}}
.schedule-content{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.staffing-overview{position:sticky;top:12px;max-height:calc(100vh - 150px);overflow:auto}.staffing-overview header{padding:16px;border-bottom:1px solid var(--zg-border)}.staffing-overview header h2{margin:2px 0;font-size:20px}.staffing-overview header p:last-child{margin:0;color:var(--zg-muted);font-size:12px}.staffing-legend{display:flex;gap:5px;flex-wrap:wrap;padding:10px}.staffing-legend span{padding:3px 6px;border-radius:999px;font-size:9px;font-weight:700}.staffing-legend .ok{background:#dcfce7;color:#166534}.staffing-legend .warning{background:#fef3c7;color:#92400e}.staffing-legend .danger{background:#fee2e2;color:#991b1b}.staffing-overview section>h3{position:sticky;top:0;margin:0;padding:7px 10px;background:#e2e8f0;font-size:11px;text-transform:uppercase}.staffing-row{padding:10px;border-bottom:1px solid var(--zg-border);border-left:4px solid #94a3b8}.staffing-row.ok{border-left-color:#22c55e}.staffing-row.warning{border-left-color:#f59e0b}.staffing-row.danger{border-left-color:#ef4444}.staffing-row.under{border-left-color:#38bdf8}.staffing-row>div small{display:block;color:var(--zg-muted);font-size:10px}.staffing-row dl{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0 0}.staffing-row dl div{display:grid}.staffing-row dt{font-size:9px;color:var(--zg-muted)}.staffing-row dd{margin:0;font-size:11px;font-weight:800}@media(max-width:1100px){.schedule-content{grid-template-columns:1fr}.staffing-overview{position:static;max-height:360px}}@media print{.schedule-content{grid-template-columns:230px minmax(0,1fr)}.staffing-overview{position:static;max-height:none}}
