.schedule-toolbar{padding:20px;display:grid;gap:18px}.schedule-week-controls,.schedule-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.schedule-week-controls label{flex:0 1 190px}.schedule-filters>label:first-child{flex:1;min-width:180px}.schedule-filters .inline{display:flex;align-items:center;gap:9px;min-height:44px}.schedule-filters .inline input{margin:0}.schedule-period{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 16px}.schedule-period h2{margin:0}.schedule-period>span{font-size:13px}.schedule-days{display:grid;gap:14px}.schedule-day{display:grid;grid-template-columns:160px minmax(0,1fr);border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.schedule-day.is-today{border-color:#7397e8}.schedule-day-heading{padding:20px;background:#f4f7fc;display:flex;flex-direction:column;align-items:start;gap:9px}.schedule-day-heading h3{margin:0;font-size:15px}.schedule-day-heading>span{color:var(--muted);font-size:12px}.schedule-day-heading button{font-size:12px;margin-top:5px}.schedule-day-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;padding:16px;align-items:start}.schedule-card{border:1px solid var(--border);border-left:4px solid #315fcb;padding:16px;border-radius:10px;min-width:0;overflow-wrap:anywhere}.schedule-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.schedule-card-top strong{font-size:15px;font-variant-numeric:tabular-nums}.schedule-card h3{font-size:16px;margin:14px 0 9px}.schedule-card p{margin:8px 0;font-size:13px;white-space:pre-wrap}.schedule-person{color:#285782;font-weight:600}.schedule-unassigned{color:#976016}.schedule-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.schedule-card-actions button{font-size:12px;min-height:40px}.schedule-note{color:var(--muted)}.schedule-empty{margin:8px;color:var(--muted);font-size:13px}.schedule-done{border-left-color:#278362}.schedule-cancelled{border-left-color:#8794a7;background:#f8f9fc}.schedule-cancelled h3{text-decoration:line-through}#schedule-editor{width:min(700px,94vw);max-height:92dvh;overflow:auto}#schedule-editor label{margin:16px 0}#schedule-editor textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #c4d0df;border-radius:9px;font:inherit;color:var(--green);resize:vertical}.schedule-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}.schedule-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--border);padding-top:18px}.schedule-actions .muted{font-size:12px}#schedule-error{color:#a2392b;white-space:pre-wrap;font-size:14px}.schedule-toolbar button{min-height:44px}@media(max-width:760px){.schedule-day{grid-template-columns:minmax(0,1fr)}.schedule-day-heading{flex-direction:row;align-items:center;flex-wrap:wrap;padding:14px;gap:10px}.schedule-day-heading button{margin:0 0 0 auto}.schedule-day-items{padding:12px}.schedule-toolbar{padding:14px}.schedule-period{align-items:start;flex-direction:column}.schedule-period h2{font-size:17px}.schedule-filters{align-items:stretch}.schedule-filters>label:first-child{flex-basis:100%}.schedule-actions{flex-direction:column;align-items:stretch}.schedule-form-grid{gap:0 12px}#schedule-editor{padding:20px}.schedule-week-controls{gap:8px}.schedule-week-controls label{flex:1;min-width:135px}.schedule-week-controls button{padding:10px 12px}.schedule-filters>button{margin-left:auto}}

#schedule-editor{scroll-padding-bottom:100px}#schedule-editor .schedule-actions{position:sticky;bottom:-32px;background:#fff;padding:16px 0;box-shadow:0 -8px 16px #fff;z-index:1}@media(max-width:760px){#schedule-editor .schedule-actions{bottom:-20px}}

.schedule-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}.schedule-month .schedule-day{display:flex;flex-direction:column;border-radius:10px;min-width:0}.schedule-month .schedule-day-heading{padding:10px;gap:5px}.schedule-month .schedule-day-heading button{padding:6px;font-size:11px;min-height:32px}.schedule-month .schedule-day-items{display:flex;flex-direction:column;padding:7px;gap:8px}.schedule-month .schedule-card{width:100%;padding:8px;border-left-width:3px}.schedule-month .schedule-card-top strong{font-size:12px}.schedule-month .schedule-card h3{font-size:13px;margin:8px 0}.schedule-month .schedule-card p{font-size:11px}.schedule-month .schedule-card-actions{gap:5px;margin-top:8px}.schedule-month .schedule-card-actions button{font-size:11px;padding:6px;min-height:32px}.schedule-month .schedule-note,.schedule-month .schedule-card p.muted{display:none}.schedule-month .badge{font-size:10px}.schedule-month-padding{background:#f4f7fc;border-radius:10px;min-height:130px}.schedule-month .schedule-empty{font-size:11px;margin:4px}@media(max-width:1100px){.schedule-month{gap:5px}.schedule-month .schedule-day-heading{padding:7px}.schedule-month .schedule-day-items{padding:4px}}@media(max-width:760px){.schedule-month{grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto;padding-bottom:12px}.schedule-month .schedule-day-heading{flex-direction:column;align-items:start;gap:5px}.schedule-month .schedule-day-heading button{margin:0}}

.schedule-card[draggable="true"]{cursor:grab}.schedule-card[draggable="true"]:active{cursor:grabbing}.schedule-time-targets{display:none}.schedule-dragging .schedule-time-targets{display:grid;gap:2px}.schedule-time-targets>div{padding:7px;border:1px dashed #9cb6c5;border-radius:5px;font-size:12px}.schedule-time-targets>div:hover{background:#dceff2}.schedule-dragging [data-drop-date]{outline:1px dashed #9cb6c5}

/* Drop targets overlay the day without moving the dragged card. */
.schedule-day-items{position:relative}.schedule-dragging .schedule-time-targets{position:absolute;inset:0;z-index:3;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));align-content:start;padding:8px;background:#f4f9fcee}.schedule-time-targets>div{background:#fff;min-height:36px}

.schedule-card[draggable=true]{user-select:none}.schedule-drop-active{box-shadow:inset 0 0 0 2px #315fcb}
