.schedule-grid-container{gap:var(--spacing-md);width:100%;min-height:100%;padding:var(--spacing-sm)var(--spacing-md);flex-direction:column;display:flex;container-type:inline-size}.schedule-grid-container .schedule-header{gap:var(--spacing-sm);flex-direction:column;display:flex}.schedule-grid-container .schedule-header-top{align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.schedule-grid-container .doctor-selector{align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm);display:flex}.schedule-grid-container .doctor-selector select{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);font-size:var(--font-sm);cursor:pointer}.schedule-grid-container .admin-hint{font-size:var(--font-xs);color:var(--color-warning);font-weight:500}.schedule-grid-container .schedule-week-nav{justify-content:center;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;width:100%;display:flex}.schedule-grid-container .nav-btn{border-radius:var(--radius-md);background:var(--color-bg-tertiary);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.schedule-grid-container .nav-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.schedule-grid-container .week-title{font-size:var(--font-base);font-weight:var(--font-semibold);text-align:center;min-width:150px;margin:0}.schedule-grid-container .schedule-actions{align-items:center;gap:var(--spacing-sm);min-width:0;margin-left:auto;display:flex}.schedule-grid-container .schedule-header-legend{flex:auto;justify-content:center;min-width:240px;display:flex}.schedule-grid-container .schedule-legend.schedule-legend-inline{gap:var(--spacing-sm);border-top:none;margin-top:0;padding:0}.schedule-grid-container .schedule-legend.schedule-legend-inline .legend-item{font-size:11px}.schedule-grid-container .schedule-legend.schedule-legend-inline .legend-dot{width:12px;height:12px}.schedule-grid-container .schedule-actions-scroll{align-items:center;gap:var(--spacing-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:auto;min-width:0;display:flex;overflow:auto hidden}.schedule-grid-container .schedule-actions-scroll::-webkit-scrollbar{display:none}.schedule-grid-container .save-indicator{font-size:var(--font-xs);text-align:right;white-space:nowrap;flex:none;width:72px;min-width:72px}.schedule-grid-container .schedule-batch-toggle.active,.schedule-grid-container .schedule-toggle.active{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-light)}.schedule-grid-container .save-indicator .pending{color:var(--color-warning);animation:1.5s ease-in-out infinite schedule-pulse}.schedule-grid-container .save-indicator .saving{color:var(--color-accent)}.schedule-grid-container .save-indicator .saved{color:var(--color-success)}.schedule-grid-container .save-indicator .error{color:var(--color-error)}@keyframes schedule-pulse{0%,to{opacity:1}50%{opacity:.5}}.schedule-grid-container .schedule-batch-bar{justify-content:flex-start;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-direction:column;align-self:center;width:fit-content;max-width:100%;margin:0 auto;display:flex}.schedule-grid-container .schedule-batch-summary{font-size:var(--font-xs);color:var(--color-text-secondary);align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-grid-container .schedule-batch-hint{font-size:var(--font-xs);color:var(--color-text-tertiary);white-space:normal}.schedule-grid-container .schedule-batch-actions{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;width:100%;display:flex}.schedule-grid-container .schedule-batch-group{align-items:center;gap:var(--spacing-xs);display:flex}.schedule-grid-container .schedule-batch-group+.schedule-batch-group{padding-left:var(--spacing-sm);margin-left:var(--spacing-sm);border-left:1px solid var(--color-border-light)}.schedule-grid-container .schedule-batch-group-label{color:var(--color-text-tertiary);white-space:nowrap;font-size:11px}.schedule-grid-container .btn-secondary:disabled,.schedule-grid-container .btn-outline:disabled,.schedule-grid-container .btn-ghost:disabled{opacity:1;background:var(--color-bg-secondary);border-color:var(--color-border-light);color:var(--color-text-tertiary);box-shadow:none}.schedule-grid-container .btn-ghost:disabled{background:0 0}.schedule-grid-container .schedule-error{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-sm);display:flex}.schedule-grid-container .schedule-error-message{flex:auto;min-width:0}.schedule-grid-container .schedule-error-actions{align-items:center;gap:var(--spacing-xs);flex:none;display:inline-flex}.schedule-grid-container .schedule-error-close{color:inherit;cursor:pointer;font-size:var(--font-lg);background:0 0;border:none;padding:0}.schedule-grid-container .schedule-error-close.btn-icon{border:0;width:24px;height:24px;padding:0!important}.schedule-grid-container .schedule-error-close.btn-icon svg{width:14px;height:14px}.schedule-grid-container .axis-action-select{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-bg-secondary);width:100%;color:var(--color-text-secondary);margin-top:4px;padding:2px 4px;font-size:11px}.schedule-grid-container .schedule-mobile-toolbar{gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-direction:column;display:flex}.schedule-grid-container .weekday-targets{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-grid-container .weekday-target-label{font-size:var(--font-xs);color:var(--color-text-tertiary);margin-right:var(--spacing-xs)}.schedule-grid-container .weekday-chip{min-width:28px}.schedule-grid-container .weekday-chip.active{border-color:var(--color-warning);color:var(--color-text-inverse);background:var(--color-warning);box-shadow:none}.schedule-grid-container .weekday-chip.btn-sm{border-radius:var(--radius-sm);width:28px;height:28px;padding:0!important}.schedule-grid-container .weekday-chip.active:hover:not(:disabled),.schedule-grid-container .weekday-chip.active:active:not(:disabled){border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning)90%,black);color:var(--color-text-inverse);box-shadow:none;transform:none}.schedule-grid-container .mobile-pattern-actions{gap:var(--spacing-xs);display:flex}.schedule-grid-container .schedule-mobile-sticky-actions{z-index:5;gap:var(--spacing-xs);padding:var(--spacing-sm);background:color-mix(in srgb,var(--color-bg-secondary)90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;position:sticky;bottom:0}.schedule-grid-container .schedule-pattern-drawer{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-direction:column;display:flex}.schedule-grid-container .schedule-pattern-drawer-header{justify-content:space-between;align-items:center;display:flex}.schedule-grid-container .schedule-pattern-row{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.schedule-grid-container .schedule-check{font-size:var(--font-sm);color:var(--color-text-secondary);align-items:center;gap:6px;display:inline-flex}.schedule-grid-container .schedule-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:4px 8px}.schedule-grid-container .schedule-days-input{width:80px}.schedule-grid-container .schedule-weeks-input{width:52px}.schedule-grid-container .schedule-muted{color:var(--color-text-tertiary);font-size:var(--font-xs)}.schedule-grid-container .schedule-template-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.schedule-grid-container .schedule-template-list,.schedule-grid-container .schedule-template-axis{flex-direction:column;gap:6px;display:flex}.schedule-grid-container .template-axis-row{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:14px 1fr;align-items:center;gap:8px;padding:4px 6px;display:grid}.schedule-grid-container .template-axis-row:hover{background:var(--color-bg-tertiary)}.schedule-grid-container .template-axis-indicator{border:1px solid var(--color-border-light);background:0 0;border-radius:3px;width:12px;height:12px}.schedule-grid-container .template-axis-time{font-size:var(--font-sm);color:var(--color-text-secondary)}.schedule-grid-container .template-hour-row{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);white-space:nowrap;justify-content:center;height:30px;min-height:30px;font-size:12px;line-height:1;box-shadow:none!important;padding:0!important;transform:none!important}.schedule-grid-container .template-hour-row:hover:not(:disabled),.schedule-grid-container .template-hour-row:active:not(:disabled){box-shadow:none!important;transform:none!important}.schedule-grid-container .template-hour-row.status-open{background:var(--color-success-faint);border-color:var(--color-success);color:var(--color-success-dark)}.schedule-grid-container .template-hour-row.status-disabled{background:color-mix(in srgb,var(--color-warning)10%,var(--color-bg-secondary));border-color:var(--color-warning);color:var(--color-warning)}.schedule-grid-container .template-hour-row.status-empty{border-style:dashed;border-color:var(--color-border-light);color:var(--color-text-tertiary);background:0 0}.schedule-grid-container .template-brush-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.schedule-grid-container .template-brush-btn{min-width:34px;box-shadow:none!important;padding:4px 10px!important;transform:none!important}.schedule-grid-container .template-brush-btn:hover:not(:disabled),.schedule-grid-container .template-brush-btn:active:not(:disabled){box-shadow:none!important;transform:none!important}.schedule-grid-container .template-hour-btn{text-align:center;border-radius:var(--radius-sm);height:34px;min-height:34px;box-shadow:none;white-space:nowrap;justify-content:center;font-size:12px;line-height:1;transform:none;padding:0!important}.schedule-grid-container .template-hour-btn:hover:not(:disabled),.schedule-grid-container .template-hour-btn:active:not(:disabled){box-shadow:none;transform:none}.schedule-grid-container .template-hour-btn.status-open{background:var(--color-success-faint);border-color:var(--color-success);color:var(--color-success-dark)}.schedule-grid-container .template-hour-btn.status-open:hover:not(:disabled){background:var(--color-success-light);border-color:var(--color-success-dark);color:var(--color-success-dark)}.schedule-grid-container .template-hour-btn.status-disabled{background:color-mix(in srgb,var(--color-warning)10%,var(--color-bg-secondary));border-color:var(--color-warning);color:var(--color-warning)}.schedule-grid-container .template-hour-btn.status-disabled:hover:not(:disabled){background:color-mix(in srgb,var(--color-warning)14%,var(--color-bg-secondary));border-color:var(--color-warning);color:var(--color-warning)}.schedule-grid-container .template-hour-btn.status-empty{border-style:dashed;border-color:var(--color-border-light);color:var(--color-text-tertiary);background:0 0}.schedule-grid-container .template-hour-btn.status-empty:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-secondary)}.schedule-grid-container .template-hour-btn.status-booked{background:var(--color-info-soft);border-color:var(--color-info-strong);color:var(--color-info-strong);cursor:not-allowed;opacity:.9}.schedule-grid-container .template-hour-btn.status-booked:hover:not(:disabled){background:var(--color-info-soft);border-color:var(--color-info-strong);color:var(--color-info-strong)}.schedule-grid-container .schedule-pattern-drawer-footer{gap:var(--spacing-xs);display:flex}.schedule-mobile-modal-overlay{align-items:flex-end}.schedule-mobile-modal{border-radius:16px 16px 0 0;width:min(640px,100%);max-height:86vh;overflow:hidden}.schedule-mobile-modal-header{flex-direction:column;gap:4px;display:flex}.schedule-mobile-modal-body{gap:var(--spacing-sm);flex-direction:column;display:flex}.schedule-grid-container .mobile-day-range-row{align-items:center;gap:var(--spacing-xs);display:flex}.schedule-grid-container .mobile-day-range-row select{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;padding:4px 8px}.schedule-grid-container .mobile-day-bulk-actions{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-grid-container .mobile-day-hour-list{gap:var(--spacing-xs);flex-direction:column;max-height:48vh;padding-right:2px;display:flex;overflow:auto}.schedule-grid-container .mobile-hour-item{justify-content:flex-start}.schedule-grid-container .mobile-hour-item.open{border-color:var(--color-success);color:var(--color-success-dark)}.schedule-grid-container .mobile-hour-item.disabled{border-color:var(--color-warning);color:var(--color-warning)}.schedule-grid-container .mobile-hour-item.empty{border-style:dashed}.schedule-grid-container .mobile-hour-item.booked{border-color:var(--color-info-strong);color:var(--color-info-strong)}.schedule-mobile-modal-footer{justify-content:flex-end;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-switch-confirm-modal{max-width:420px}.schedule-grid-container .schedule-desktop-layout{gap:var(--spacing-md);grid-template-columns:340px minmax(0,1fr);align-items:start;display:grid}.schedule-grid-container .schedule-desktop-layout.sidebar-collapsed{grid-template-columns:1fr}.schedule-grid-container .schedule-sidebar{background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}@media (min-width:1101px){.schedule-grid-container .schedule-sidebar{top:var(--spacing-md);align-self:start;position:sticky}}.schedule-grid-container .schedule-sidebar-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.schedule-grid-container .schedule-sidebar-header h4{font-size:var(--font-base);font-weight:var(--font-semibold);margin:0}.schedule-grid-container .schedule-sidebar-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.schedule-grid-container .schedule-sidebar-section+.schedule-sidebar-section{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.schedule-grid-container .schedule-sidebar-section-title{font-size:var(--font-xs);color:var(--color-text-tertiary)}.schedule-grid-container .schedule-sidebar-button-row{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-grid-container .schedule-sidebar .schedule-batch-actions{flex-wrap:wrap}.schedule-grid-container .schedule-preview{gap:var(--spacing-sm);flex-direction:column;align-items:center;display:flex}.schedule-grid-container .schedule-preview-top{justify-content:flex-start;width:100%;display:flex}.schedule-grid-container .schedule-preview-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);width:100%;max-width:560px;padding:var(--spacing-sm)}.schedule-grid-container .schedule-legend.schedule-legend-compact{border-top:none;margin-top:0;padding-top:0}.schedule-grid-container .schedule-desktop-v2{gap:var(--spacing-sm);flex-direction:column;display:flex}.schedule-grid-container .schedule-desktop-v2 .schedule-preview{align-items:stretch}.schedule-grid-container .schedule-preview-card.schedule-preview-card-wide{-webkit-overflow-scrolling:touch;width:fit-content;max-width:100%;margin:0 auto;padding:6px;overflow:auto visible}.schedule-grid-container .schedule-grid-stage{justify-content:center;align-items:flex-start;gap:4px;width:fit-content;max-width:100%;margin:0 auto;display:flex}.schedule-grid-container .schedule-grid-stage .schedule-preview-card.schedule-preview-card-wide{margin:0}.schedule-grid-container .schedule-template-rail{flex:none;grid-template-columns:40px;gap:8px;width:40px;padding:7px 0;display:grid}.schedule-grid-container .schedule-template-rail .grid-header-cell{gap:1px;height:40px;min-height:40px;padding:4px 2px}.schedule-grid-container .schedule-template-rail .grid-header-cell.grid-corner{padding:4px 2px}.schedule-grid-container .schedule-template-rail .grid-template-cell{appearance:none;height:40px;min-height:40px}.schedule-grid-container .schedule-bottom-editor{background:color-mix(in srgb,var(--color-bg-secondary)92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-direction:column;gap:8px;width:fit-content;max-width:100%;margin:0 auto;padding:8px;display:flex}@media (min-width:901px){.schedule-grid-container .schedule-bottom-editor{bottom:var(--spacing-md);z-index:4;position:sticky}}.schedule-grid-container .schedule-bottom-actions,.schedule-grid-container .schedule-bottom-actions-left,.schedule-grid-container .schedule-bottom-actions-right{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-grid-container .schedule-bottom-actions-right{margin-left:auto}.schedule-grid-container .schedule-bottom-hint{white-space:nowrap}.schedule-grid-container .schedule-bottom-hint-row{justify-content:flex-start;width:100%;display:flex}.schedule-grid-container .schedule-bottom-divider{background:var(--color-border-light);opacity:.6;width:100%;height:1px}.schedule-grid-container .schedule-bottom-status{font-size:var(--font-xs);white-space:nowrap}.schedule-grid-container .schedule-bottom-status.pending{color:var(--color-warning);animation:1.5s ease-in-out infinite schedule-pulse}.schedule-grid-container .schedule-bottom-status.saving{color:var(--color-accent)}.schedule-grid-container .schedule-bottom-status.saved{color:var(--color-success)}.schedule-grid-container .schedule-bottom-status.error{color:var(--color-error)}.schedule-grid-container .schedule-bottom-editor .schedule-batch-bar{justify-content:flex-start;align-self:stretch;width:100%;margin:0}.schedule-grid-container .schedule-pattern-controls>div{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.schedule-grid-container .schedule-pattern-controls .schedule-sidebar-section{align-items:center;gap:var(--spacing-xs);background:0 0;border:none;flex-direction:row;padding:0}.schedule-grid-container .schedule-pattern-controls .schedule-sidebar-section+.schedule-sidebar-section{border-top:none;padding-top:0}.schedule-grid-container .schedule-pattern-controls .schedule-sidebar-section-title,.schedule-grid-container .schedule-pattern-controls .weekday-target-label{display:none}.schedule-grid-container .schedule-bottom-editor .schedule-batch-bar{background:0 0;border:none;padding:0}