:root{--primary-color: #2196F3;--secondary-color: #FFC107;--accent-color: #FF5722;--success-color: #4CAF50;--warning-color: #FF9800;--error-color: #f44336;--info-color: #00BCD4;--background-color: #f5f5f5;--surface-color: #ffffff;--text-primary: rgba(0, 0, 0, .87);--text-secondary: rgba(0, 0, 0, .6);--text-disabled: rgba(0, 0, 0, .38);--divider-color: rgba(0, 0, 0, .12);--shadow-color: rgba(0, 0, 0, .2);--hover-color: rgba(0, 0, 0, .04);--card-background: #ffffff;--input-background: #ffffff;--input-border: rgba(0, 0, 0, .23);--table-header-bg: #f5f5f5;--table-hover-bg: #f5f5f5}[data-theme=dark]{--background-color: #121212;--surface-color: #1e1e1e;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--text-disabled: rgba(255, 255, 255, .38);--divider-color: rgba(255, 255, 255, .12);--shadow-color: rgba(0, 0, 0, .5);--hover-color: rgba(255, 255, 255, .08);--card-background: #1e1e1e;--input-background: #2a2a2a;--input-border: rgba(255, 255, 255, .23);--table-header-bg: #2a2a2a;--table-hover-bg: #2a2a2a;--primary-color: #64B5F6;--secondary-color: #FFD54F;--accent-color: #FF7043;--success-color: #66BB6A;--warning-color: #FFA726;--error-color: #EF5350;--info-color: #26C6DA}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.container{max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.container{padding:1rem}}@media (max-width: 480px){.container{padding:.5rem}}.card{background:var(--card-background);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:2rem;margin-bottom:2rem;transition:background-color .3s ease}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;background-color:var(--input-background);color:var(--text-primary);transition:border-color .3s ease,background-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-group .error{color:#d32f2f;font-size:.875rem;margin-top:.25rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s;min-height:44px;touch-action:manipulation}@media (max-width: 768px){.btn{padding:1rem 1.5rem;font-size:1.1rem}}.btn.btn-primary{background-color:var(--primary-color);color:#fff}.btn.btn-primary:hover{filter:brightness(.9)}.btn.btn-secondary{background-color:var(--text-secondary);color:#fff}.btn.btn-secondary:hover{filter:brightness(.9)}.btn.btn-danger{background-color:var(--error-color);color:#fff}.btn.btn-danger:hover{filter:brightness(.9)}.btn:disabled{opacity:.6;cursor:not-allowed}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert.alert-success{background-color:#c8e6c9;color:#2e7d32}.alert.alert-error{background-color:#ffcdd2;color:#c62828}.table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid var(--divider-color)}@media (max-width: 768px){.table-container{margin:0 -1rem;border-radius:0;border-left:none;border-right:none}}@media (max-width: 480px){.table-container{margin:0 -.5rem}}table{width:100%;border-collapse:collapse}table th,table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--divider-color);color:var(--text-primary)}table th{background-color:var(--table-header-bg);font-weight:600;color:var(--text-primary)}table tr:hover{background-color:var(--hover-color)}.table-container table,.stats-table-container table{min-width:600px}@media (max-width: 768px){.table-container table,.stats-table-container table{min-width:800px}}.table-container table th,.table-container table td,.stats-table-container table th,.stats-table-container table td{white-space:nowrap}@media (max-width: 768px){.table-container table th,.table-container table td,.stats-table-container table th,.stats-table-container table td{padding:.5rem;font-size:.875rem}}.table-container table th,.stats-table-container table th{position:sticky;top:0;z-index:1;background-color:#f5f5f5}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;overflow:hidden;touch-action:none}.modal .modal-content{background:var(--card-background);border-radius:8px;color:var(--text-primary);padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}@media (max-width: 768px){.modal .modal-content{width:100%;height:100%;max-height:100%;padding:0;border-radius:0;position:fixed;inset:0;margin:0;overflow:hidden;display:flex;flex-direction:column;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:auto;overscroll-behavior:none}}.modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0}.modal .modal-header h2{margin:0}.modal .modal-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer}@media (max-width: 768px){.modal .modal-header{padding:1rem;margin-bottom:0;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10}}.modal form{flex:1;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.modal form{padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;position:relative}.modal form:before{content:"";position:fixed;top:-1px;left:0;right:0;height:1px;background:#fff;z-index:1}.modal form::-webkit-scrollbar{display:none}}@media (max-width: 768px){.modal .button-group{margin-top:1rem;padding:0 1rem 1rem}.modal .button-group .btn{padding:.5rem 1rem;font-size:.875rem}}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.card{padding:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea,.form-group select{font-size:16px;padding:1rem}table{font-size:.875rem}table th,table td{padding:.5rem}.fc-toolbar{flex-direction:column;gap:.5rem}.fc-toolbar .fc-toolbar-chunk{justify-content:center}.fc-button{padding:.5rem 1rem!important;font-size:.875rem!important}.fc-event{font-size:.75rem!important}.fc-daygrid-event{margin:1px 0!important}}@media (max-width: 480px){.container{padding:.25rem}.card{border-radius:0;padding:.75rem}.btn{width:100%;margin-bottom:.5rem}.modal .modal-content{width:100%;height:100%;border-radius:0;padding:1rem}}
