.form-group-sp{margin:0!important}.close-button{color:var(--color-gray-500);transition:color .15s;background:none;border:none;cursor:pointer;font-size:var(--font-size-xl)}.close-button:hover{color:var(--color-gray-800)}.form-label.required:after,.formLabel.required:after{content:" *";color:#dc2626;font-weight:700}.form-input.error,.form-select.error,.formInput.error,input.error,textarea.error{border-color:#dc2626!important;background-color:#fef2f2}.form-input.error:focus,.formInput.error:focus,input.error:focus,textarea.error:focus{box-shadow:0 0 0 2px rgba(220,38,38,.1)!important}.field-error-message{color:#dc2626;font-size:.75rem;margin-top:.25rem;display:block}.form-grid{margin-bottom:var(--space-6)}.form-column,.form-grid{display:flex;flex-direction:column;gap:var(--space-4)}.form-group-sp{display:flex;align-items:center;gap:var(--space-4)}.form-group-sp.vertical{flex-direction:column;align-items:stretch;gap:var(--space-2);margin-bottom:var(--space-6)}.form-group-sp.vertical:last-child{margin-bottom:0}.form-label{font-weight:500;color:var(--color-gray-700);font-size:var(--font-size-sm);min-width:120px;flex-shrink:0}.form-input{flex:1 1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:white;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.form-textarea{flex:1 1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:white;font-size:var(--font-size-base);resize:vertical;min-height:80px;transition:border-color .2s ease,box-shadow .2s ease}.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.toggle-container{display:flex;align-items:center;gap:var(--space-2)}.toggle{position:relative;display:inline-block;width:48px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-gray-300);transition:.2s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.2s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--color-primary-600)}input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-label{font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-group{gap:var(--space-4)}.radio-group,.radio-option{display:flex;align-items:center}.radio-option{gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-700);-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-option input[type=radio]{margin:0;outline:none}.time-picker-container{display:flex;gap:var(--space-2);align-items:center}.time-picker-divider{color:var(--color-gray-500);font-weight:500}.date-range-container{display:flex;gap:var(--space-3);align-items:center}.date-range-divider{color:var(--color-gray-500);font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-gray-200)}.form-actions.form-actions-space-between{justify-content:space-between;align-items:center}.form-actions-space-between>div{display:flex;gap:var(--space-3)}.cancel-button{background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.save-button{background-color:var(--color-primary-600);color:white;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.save-button:hover{background-color:var(--color-primary-700)}.save-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.delete-button{background-color:var(--color-red-600);color:white;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;margin-right:auto}.delete-button:hover{background-color:var(--color-red-700)}.recurring-prompt-modal{max-width:28rem}.recurring-prompt-content{padding:var(--space-4) 0}.recurring-prompt-message{color:var(--color-gray-700);font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--space-6);text-align:center}.recurring-prompt-options{display:flex;flex-direction:column;gap:var(--space-3)}.recurring-option-button{background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:var(--font-size-base)}.recurring-option-button:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.recurring-option-button.recurring-option-series{background-color:var(--color-primary-600);color:white;border-color:var(--color-primary-600)}.recurring-option-button.recurring-option-series:hover{background-color:var(--color-primary-700);border-color:var(--color-primary-700)}.modal-busy-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.7);z-index:10;pointer-events:all}.modal-busy-overlay,.modal-spinner-container{display:flex;align-items:center;justify-content:center}.modal-spinner-container{height:100%}.spinner{width:48px;height:48px;border:5px solid #e0e0e0;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}@media (max-width:768px){.shift-form{grid-template-columns:1fr;gap:var(--space-3)}.form-group-sp{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.form-label{min-width:auto;text-align:left}.date-range-container,.time-picker-container{flex-direction:column;align-items:stretch}}.form-group-sp .month-year-picker-container{max-width:250px}.form-group-sp .month-year-picker-dropdown{width:250px}.time-picker-label,label.day-checkbox-label,label.form-checkbox-label,label.form-label,label.location-checkbox-label{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.error-message{background-color:#fef2f2;color:#dc2626;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid #fecaca;margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.checkbox-container{display:flex;align-items:center;gap:var(--space-2);margin-bottom:0!important}.checkbox-container input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary-600);cursor:pointer}.checkbox-label{font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-help{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-1)}.filters-summary{background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-2)}.filter-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-700);margin-bottom:var(--space-1)}.filter-item:last-child{margin-bottom:0}.filter-item strong{min-width:80px;color:var(--color-gray-800)}.form-label-inline{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:400}.form-input-inline{width:60px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:white;font-size:var(--font-size-sm);text-align:center;transition:border-color .2s ease,box-shadow .2s ease}.form-input-inline:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.filters-container{width:100%}.filter-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.filter-column{flex:1 1;min-width:200px}@media (max-width:768px){.filter-row{flex-direction:column}.filter-column{min-width:unset}}.share-modal-content{display:flex;flex-direction:column;gap:1rem}.share-modal-description{margin:0;color:var(--color-gray-700);font-size:.9rem;line-height:1.5}.share-link-container{display:flex;align-items:center;gap:.5rem}.share-link-input{flex:1 1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:var(--color-gray-50);font-size:.875rem;font-family:monospace;color:var(--color-gray-800);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.share-link-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100);background-color:white}.share-modal-note{padding:var(--space-3);background-color:var(--color-blue-50);border:1px solid var(--color-blue-200);border-radius:var(--radius-md);margin-top:.5rem}.share-modal-note small{color:var(--color-blue-700);font-size:.8rem}.form-banner{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .75rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;line-height:1.35;border:1px solid transparent}.form-banner-error{background:rgba(220,53,69,.08);border-color:rgba(220,53,69,.3);color:#8a1c28}.form-banner-info{background:rgba(0,123,255,.08);border-color:rgba(0,123,255,.25);color:#1b4f8a}.data-grid{width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;height:100%;overflow:hidden}.data-grid__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);flex-shrink:0}.data-grid__header:has(.data-grid__title:empty):not(:has(.data-grid__add-btn)){display:none}.data-grid__title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-800);margin:0}.data-grid__add-btn{background-color:var(--color-primary-600);color:white;font-weight:500;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:none;cursor:pointer;transition:background-color .2s}.data-grid__add-btn:hover{background-color:var(--color-primary-700)}.data-grid__empty-state{background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);text-align:center;border:1px dashed var(--color-gray-300)}.data-grid__empty-text{color:var(--color-gray-600);font-size:var(--font-size-base)}.data-grid__table-wrapper{background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--color-gray-200);flex:1 1;min-height:0;overflow:hidden;margin-bottom:var(--space-8)}.data-grid__table-container{overflow-y:auto;overflow-x:auto;height:100%;width:100%}.data-grid__table{width:100%;border-collapse:collapse}.data-grid__table th,.data-grid__table thead tr{background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.data-grid__table th{position:-webkit-sticky;position:sticky;top:0;z-index:10;text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600)}.data-grid__table-row{border-bottom:1px solid var(--color-gray-100)}.data-grid__table-row:last-child{border-bottom:none}.data-grid__table tbody tr:hover{background-color:var(--color-gray-50)}.data-grid__table td{padding:var(--space-3) var(--space-4);vertical-align:top;line-height:1.5;white-space:normal;max-width:400px}.data-grid__actions-column{width:100px;text-align:center!important}.data-grid__actions-cell{text-align:right}.data-grid__actions{display:flex;gap:var(--space-2);justify-content:flex-end}.data-grid__edit-btn{background-color:var(--color-gray-100);color:var(--color-gray-700);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);border:none;cursor:pointer;transition:background-color .2s}.data-grid__edit-btn:hover{background-color:var(--color-gray-200)}.data-grid__delete-btn{background-color:var(--color-red-100);color:var(--color-red-700);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);border:none;cursor:pointer;transition:background-color .2s}.data-grid__delete-btn:hover{background-color:var(--color-red-200);color:var(--color-red-800)}.data-grid__delete-btn:disabled{cursor:not-allowed;opacity:.6}.data-grid__delete-btn:disabled,.data-grid__delete-btn:disabled:hover{background-color:var(--color-gray-100);color:var(--color-gray-400)}.data-grid__delete-guard{display:inline-flex}.data-grid__invite-btn{background-color:var(--color-blue-100);color:var(--color-blue-700);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);border:none;cursor:pointer;transition:background-color .2s}.data-grid__invite-btn:hover{background-color:var(--color-blue-200);color:var(--color-blue-800)}.data-grid__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.data-grid__spinner{width:40px;height:40px;border-top:4px solid var(--color-gray-200);border:4px solid var(--color-gray-200);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.data-grid__loading p{color:var(--color-gray-600);font-size:var(--font-size-base)}.data-grid__updating-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:var(--radius-lg)}.data-grid__updating-overlay .data-grid__spinner{margin-bottom:0}.data-grid__error{max-width:600px;margin:var(--space-8) auto;padding:var(--space-6);background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center}.data-grid__error h2{color:var(--color-red-600);margin-top:0}.data-grid__error p{margin-bottom:var(--space-4)}.data-grid__retry-btn{background-color:var(--color-primary-600);color:white;font-weight:500;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:none;cursor:pointer;transition:background-color .2s}.data-grid__retry-btn:hover{background-color:var(--color-primary-700)}@media (max-width:767px){.data-grid__table{display:block;overflow-x:auto}.data-grid__actions{flex-direction:column;gap:var(--space-1)}.data-grid__header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}@media (max-width:480px){.data-grid__actions-column{width:70px}.data-grid__table td,.data-grid__table th{padding:var(--space-2);font-size:var(--font-size-sm)}}button svg{max-width:24px;max-height:24px;width:auto;height:auto}.schedule-container{max-width:1200px;margin:0 auto;padding:0 var(--space-4);margin-top:-var(--space-4)}.schedule-header{position:-webkit-sticky;position:sticky;top:60px;z-index:30;background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);padding:var(--space-2) var(--space-2);background-color:rgba(249,250,251)}.schedule-header-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);max-width:1200px;margin:0 auto}.view-switcher-section{display:flex;justify-content:flex-start;align-items:center;gap:var(--space-1)}.view-switcher{display:flex;background-color:white;border-radius:var(--radius-lg);padding:var(--space-1);box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid var(--color-gray-200)}.view-switcher-btn{padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--color-gray-600);font-weight:500;font-size:var(--font-size-sm);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;white-space:nowrap;height:100%;display:flex;align-items:center;justify-content:center}.view-switcher-btn:hover{color:var(--color-gray-800);background-color:var(--color-gray-50)}.view-switcher-btn.active{background-color:var(--color-primary-600);color:white;box-shadow:0 1px 2px rgba(0,0,0,.1)}.view-switcher-btn svg{width:16px;height:16px;flex-shrink:0}.month-navigation-section{display:flex;justify-content:center}.month-navigation{display:flex;align-items:center;gap:var(--space-2)}.nav-arrow-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-gray-300);background-color:white;color:var(--color-gray-600);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-lg)}.nav-arrow-btn:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-gray-800)}.nav-arrow-btn:active{transform:scale(.95)}.current-month-btn{background:none;border:none;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all .2s ease;white-space:nowrap}.current-month-btn:hover{background-color:var(--color-gray-100);color:var(--color-primary-600)}.actions-section{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-1)}.action-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-gray-300);background-color:white;color:var(--color-gray-600);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-lg)}.action-icon-btn:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-gray-800)}.auto-assign-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;color:var(--color-gray-600);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:var(--font-size-base);padding:0}.auto-assign-btn:hover:not(:disabled){background-color:var(--color-primary-50);color:var(--color-primary-600)}.auto-assign-btn:disabled{opacity:.5;cursor:not-allowed;background-color:transparent;color:var(--color-gray-300)}.action-text-btn{background-color:var(--color-primary-600);color:white;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-text-btn:hover{background-color:var(--color-primary-700)}.action-text-btn:disabled{color:var(--color-gray-200);cursor:not-allowed;opacity:.6}.action-text-btn:disabled,.action-text-btn:disabled:hover{background-color:var(--color-gray-400)}.action-text-btn.secondary{background-color:var(--color-gray-600)}.action-text-btn.secondary:hover{background-color:var(--color-gray-700)}.action-text-btn.secondary:disabled{color:var(--color-gray-500);cursor:not-allowed;opacity:.6}.action-text-btn.secondary:disabled,.action-text-btn.secondary:disabled:hover{background-color:var(--color-gray-300)}.action-text-btn.secondary.active{background-color:var(--color-primary-600);color:white}.action-text-btn.secondary.active:hover{background-color:var(--color-primary-700)}.filters-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;min-height:2.5rem}.filters-btn:hover{background-color:#f1f5f9;border-color:#9ca3af}.filters-btn:focus{outline:none;box-shadow:0 0 0 2px rgba(59,130,246,.5)}.filters-btn.active{background-color:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.filters-btn.active:hover{background-color:#dbeafe;border-color:#2563eb}.filters-icon{font-size:1rem;color:#6b7280}.filters-btn.active .filters-icon{color:#1d4ed8}.filters-btn svg{width:16px;height:16px;flex-shrink:0}.schedule-overlay-spinner{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:31;border-radius:var(--radius-lg)}.schedule-overlay-spinner:after{content:"";width:40px;height:40px;border:4px solid var(--color-gray-300);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:var(--space-6);background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;margin:auto}.error-container h2{color:var(--color-error,#f44336);margin-bottom:var(--space-4)}.error-container p{color:var(--color-gray-700);margin-bottom:var(--space-6)}.error-actions{display:flex;gap:var(--space-2)}.retry-button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .2s;display:flex;align-items:center}.retry-button:hover{background-color:var(--color-primary-700)}.copy-delete-toolbar,.undo-redo-toolbar{display:flex;gap:2px;padding-right:var(--space-1);border-right:1px solid var(--color-gray-200)}.bulk-edit-btn,.copy-btn,.delete-btn,.deselect-btn,.redo-btn,.select-all-btn,.undo-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;color:var(--color-gray-600);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:var(--font-size-base);position:relative;padding:0}.copy-btn:not(:disabled):hover{background-color:var(--color-blue-50);color:var(--color-blue-600)}.bulk-edit-btn:not(:disabled):hover{background-color:var(--color-green-50);color:var(--color-green-600)}.delete-btn:not(:disabled):hover{background-color:var(--color-red-50);color:var(--color-red-600)}.select-all-btn:not(:disabled):hover{background-color:var(--color-green-50);color:var(--color-green-600)}.deselect-btn:not(:disabled):hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}.redo-btn:not(:disabled):hover,.undo-btn:not(:disabled):hover{background-color:var(--color-purple-50);color:var(--color-purple-600)}.bulk-edit-btn:disabled,.copy-btn:disabled,.delete-btn:disabled,.deselect-btn:disabled,.redo-btn:disabled,.select-all-btn:disabled,.undo-btn:disabled{cursor:not-allowed;background-color:transparent;color:var(--color-gray-300);opacity:.5}.bulk-edit-btn:disabled:hover,.copy-btn:disabled:hover,.delete-btn:disabled:hover,.deselect-btn:disabled:hover,.redo-btn:disabled:hover,.select-all-btn:disabled:hover,.undo-btn:disabled:hover{background-color:transparent;color:var(--color-gray-300)}.auto-assign-btn svg,.bulk-edit-btn svg,.copy-btn svg,.delete-btn svg,.deselect-btn svg,.redo-btn svg,.select-all-btn svg,.undo-btn svg{width:18px;height:18px;flex-shrink:0}@media (max-width:768px){.schedule-header-content{grid-template-columns:1fr;gap:var(--space-3);text-align:center}.actions-section,.month-navigation-section,.view-switcher-section{justify-content:center}.actions-section{gap:var(--space-1)}.action-text-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}}@media (max-width:640px){.schedule-header{padding:var(--space-2) var(--space-3)}.schedule-header-content{gap:var(--space-2)}.view-switcher-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.current-month-btn{font-size:var(--font-size-base);padding:var(--space-1) var(--space-2)}.action-icon-btn{width:32px;height:32px;font-size:var(--font-size-base)}.action-text-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}}.my-calendar-page{padding:var(--space-4)}.page-header{margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.5rem;font-weight:600;margin:0}.header-actions{display:flex;align-items:center;gap:1rem}.add-unavailability-button{background-color:var(--color-primary-600);color:white;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s;min-width:180px;white-space:nowrap}.add-unavailability-button:hover{background-color:var(--color-primary-700)}.add-unavailability-button:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-primary-600)}.calendar-container{margin-top:1rem}.error-container{margin:2rem auto;max-width:600px;padding:2rem;background-color:var(--color-red-50);border:1px solid var(--color-red-200);border-radius:var(--radius-md);text-align:center}.retry-button{margin-top:1rem;background-color:var(--color-primary-600);color:white;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500;cursor:pointer}.employee-calendar{background:var(--color-background-card);box-shadow:var(--shadow-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-gray-200)}.calendar-header{padding:var(--space-3) var(--space-4);background:var(--color-gray-50);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-gray-200)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--color-gray-200)}.calendar-day-header{background:var(--color-gray-100);padding:var(--space-2);text-align:center;font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);color:var(--color-gray-600);border-bottom:1px solid var(--color-gray-200);border-left:1px solid var(--color-gray-200)}.calendar-day-header:first-child{border-left:none}.calendar-day{min-height:120px;background:var(--color-background-card);padding:var(--space-2);position:relative;border-bottom:1px solid var(--color-gray-200);border-left:1px solid var(--color-gray-200);display:flex;flex-direction:column}.calendar-day:nth-child(7n+1){border-left:none}.calendar-day.empty{background-color:var(--color-gray-50)}.calendar-day-number{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-gray-700);margin-bottom:var(--space-1);text-align:left;width:auto;height:auto;border-radius:0}.calendar-day-content{margin-top:0;flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1)}.day-unavailable .calendar-day-number{color:var(--color-red-700)}.day-with-shift .calendar-day-number{color:var(--color-primary-700)}.day-with-conflict .calendar-day-number{color:var(--color-amber-700)}.calendar-item{border-radius:var(--radius-sm)}.calendar-item,.calendar-shift-item{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.calendar-shift-item{background:linear-gradient(135deg,var(--color-primary-50) 0,var(--color-primary-200) 100%);border:1px solid var(--color-primary-200);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.calendar-shift-item:hover{background:linear-gradient(135deg,var(--color-primary-100) 0,var(--color-primary-200) 100%)}.calendar-shift-item-virtual{background:none;border:1px solid #90caf9!important;border-left-width:5px!important}.calendar-unavailable-item{background:linear-gradient(135deg,var(--color-red-50) 0,var(--color-red-100) 100%);border:1px solid var(--color-red-200);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s ease}.calendar-unavailable-item:hover{background:linear-gradient(135deg,var(--color-red-100) 0,var(--color-red-200) 100%)}.calendar-conflict-item{background:linear-gradient(135deg,var(--color-amber-50) 0,var(--color-amber-100) 100%);border:1px solid var(--color-amber-300);border-left:4px solid var(--color-amber-500)}.timeoff-menu{background-color:white;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;min-width:120px}.timeoff-menu-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer;border-bottom:1px solid var(--color-gray-100)}.timeoff-menu-item:hover{background-color:var(--color-gray-50);color:var(--color-gray-900)}.shift-text{margin:0;line-height:1.3}.shift-text-bold{font-weight:var(--font-weight-medium);white-space:normal}.shift-text-muted{color:var(--color-gray-600);font-size:var(--font-size-xs);font-weight:400}.calendar-legend{padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.layout{min-height:100vh;background-color:var(--color-background-page)}.main{padding-top:60px;min-height:calc(100vh - 60px)}.day-toggle-container{display:flex;gap:var(--space-1);flex-wrap:wrap}.day-toggle{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);background-color:white;color:var(--color-gray-600);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);font-weight:500;min-width:48px;text-align:center}.day-toggle:hover:not(:disabled){border-color:var(--color-gray-400);background-color:var(--color-gray-50)}.day-toggle.active{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:white}.day-toggle.active:hover:not(:disabled){background-color:var(--color-primary-700);border-color:var(--color-primary-700)}.day-toggle.disabled,.day-toggle:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-gray-100);border-color:var(--color-gray-200);color:var(--color-gray-400)}.day-toggle.active.disabled,.day-toggle.active:disabled{background-color:var(--color-gray-400);border-color:var(--color-gray-400);color:white}