body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px;text-align:center}.App-header{background-color:#282c34;border-radius:8px;color:#fff;margin-bottom:30px;min-height:80px;padding:20px;position:relative}.header-main{justify-content:space-between;margin:0 auto;max-width:1200px;padding-right:60px}.header-info,.header-main{align-items:center;display:flex}.header-info{flex:1 1;gap:20px}.leave-stats{display:flex;flex-direction:column;gap:5px}.monthly-stats,.yearly-stats{color:#bdc3c7;font-size:.9rem}.hamburger-menu{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;height:30px;justify-content:space-around;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;z-index:1000}.hamburger-menu span{background-color:#fff;border-radius:2px;height:3px;transition:all .3s ease;width:25px}.hamburger-menu.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:300px;min-width:250px;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden;z-index:999}.dropdown-menu.open{opacity:1;transform:translateY(0);visibility:visible}.menu-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:15px 20px}.menu-header h3{color:#333;font-size:1.1rem;margin:0}.close-menu-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;padding:0;transition:background-color .3s ease;width:30px}.close-menu-btn:hover{background-color:#e9ecef}.menu-items{padding:10px 0}.menu-item{background:none;border:none;border-radius:0;color:#333;cursor:pointer;display:block;font-size:14px;padding:12px 20px;text-align:left;transition:background-color .3s ease;width:100%}.menu-item:hover{background-color:#f8f9fa}.employee-management-item{color:#17a2b8}.export-calendar-item,.export-item{color:#28a745}.import-item{color:#ffc107}.menu-import-container{display:block;margin:0;width:100%}.menu-import-container .menu-item{background:none;border:none;border-radius:0;color:#ffc107;cursor:pointer;font-size:14px;padding:12px 20px;text-align:left;transition:background-color .3s ease;width:100%}.menu-import-container .menu-item:hover{background-color:#f8f9fa}.clear-item{color:#e74c3c}.App-header h1{font-size:2.5rem;margin:0}.header-controls{align-items:center;display:flex;gap:20px}.data-count{color:#bdc3c7;font-size:1.1rem}.apply-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.apply-btn:hover{background:#218838}.clear-data-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.clear-data-btn:hover{background:#c0392b}main{margin:0 auto;max-width:1400px}.leave-application-form{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:40px;padding:30px;text-align:left}.leave-application-form h2{color:#333;font-size:1.8rem;margin-bottom:25px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e1e5e9;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90e2;outline:none}.submit-btn{background:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 30px;transition:background-color .3s ease;width:100%}.submit-btn:hover{background:#357abd}.leave-calendar{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.calendar-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.calendar-header h2{color:#333;font-size:1.5rem;margin:0}.loading-indicator{color:#6c757d;font-size:.9rem;font-style:italic;margin-left:10px}.employee-leave-list-modal{display:flex!important;flex-direction:column!important;height:90vh!important;max-height:90vh!important;max-width:1000px!important;overflow:hidden!important;overscroll-behavior:contain;position:relative;transform:translateZ(0);width:95%!important;will-change:auto}.modal-content-horizontal{display:flex;flex:1 1;gap:20px;min-height:0;min-width:900px;overflow:hidden;padding:20px}.leave-summary-section{background:#f8f9fa;border-radius:8px;flex:0 0 400px;height:-webkit-fit-content;height:fit-content;padding:20px}.summary-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px}.summary-row{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:12px 0}.summary-row:last-child{border-bottom:none}.summary-row .summary-label{color:#495057;font-size:.9rem;font-weight:600;margin:0}.summary-row .summary-value{color:#333;font-size:1rem;font-weight:700;margin:0}.summary-row .summary-value.requirement-status{color:#ff8c00}.leave-summary-content{max-width:100%}.summary-header h4{color:#333;font-size:1.1rem;margin:0 0 15px;text-align:center}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.summary-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px;text-align:center}.summary-label{color:#6c757d;font-size:.8rem;font-weight:600;margin-bottom:8px}.summary-value{color:#333;font-size:1.2rem;font-weight:700}.summary-value.met{color:#28a745}.summary-item.requirement-status .summary-value{color:#ff8c00}.breakdown-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px}.breakdown-title{color:#333;font-size:.9rem;font-weight:600;margin-bottom:10px;text-align:center}.breakdown-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.breakdown-item{background:#f8f9fa;border-radius:6px;padding:10px;text-align:center}.breakdown-list{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:10px}.breakdown-row{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:10px 0}.breakdown-row:last-child{border-bottom:none}.breakdown-row .type-label{color:#495057;font-size:.9rem;font-weight:600;margin:0}.breakdown-row .type-count{color:#333;font-size:1rem;font-weight:700;margin:0}.breakdown-row .type-note{color:#6c757d;font-size:.75rem;font-style:italic;margin-left:8px}.type-label{color:#6c757d;display:block;font-size:.8rem;margin-bottom:5px}.type-count{color:#333;display:block;font-size:1rem;font-weight:700}.type-note{color:#6c757d;display:block;font-size:.7rem;font-style:italic;margin-top:3px}.leave-list{max-height:400px;overflow-y:auto}.leave-item{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:10px;margin-bottom:10px;padding:15px}.leave-item-header{align-items:center;display:flex;justify-content:space-between;width:100%}.leave-item-footer{display:flex;justify-content:flex-end;width:100%}.leave-list-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:20px}.leave-list-header h4{color:#333;font-size:1.1rem;margin:0 0 15px}.leave-table-container{-webkit-overflow-scrolling:touch;border:1px solid #e9ecef;border-radius:8px;flex:1 1;height:100%;min-height:0;overflow-x:auto;overflow-y:auto;position:relative;touch-action:pan-y;transform:translateZ(0);z-index:1}.leave-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.leave-table-header{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#495057;font-size:.8rem;font-weight:600;padding:12px 15px;text-align:left}.leave-table-header:first-child{max-width:120px;min-width:120px}.leave-table-header:nth-child(2){max-width:60px;min-width:60px;text-align:center}.leave-table-header:nth-child(3){max-width:150px;min-width:100px}.leave-table-header:nth-child(4){max-width:80px;min-width:80px;text-align:center}.leave-table-row{border-bottom:1px solid #f1f3f4}.leave-table-row:last-child{border-bottom:none}.leave-table-row:hover{background-color:#f8f9fa}.leave-table-cell{font-size:.8rem;padding:12px 15px;vertical-align:middle}.leave-table-cell.leave-date{color:#333;font-weight:600;max-width:120px;min-width:120px}.leave-table-cell.leave-type{color:#333;max-width:60px;min-width:60px;text-align:center}.leave-table-cell.leave-remarks{word-wrap:break-word;color:#333;max-width:150px;min-width:100px}.leave-table-cell.leave-actions{max-width:80px;min-width:80px;text-align:center}.leave-table-cell .cancel-btn{border-radius:3px;font-size:12px;padding:6px 12px}.leave-table-cell.leave-type .leave-type-badge{background:#0000;border:1px solid #e9ecef;color:#333}.leave-date{color:#333;flex:1 1;font-weight:600}.leave-remarks{color:#6c757d;flex:1 1;font-size:.9rem;margin:5px 0}.no-leaves{color:#6c757d;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.employee-leave-list-modal{margin:10px;width:95%}.leave-item{gap:10px}.leave-item,.leave-item-header{align-items:flex-start;flex-direction:column}.leave-item-header{gap:8px}.leave-item-footer{justify-content:flex-start}.leave-table-container{overflow-x:auto}.leave-table-cell,.leave-table-header{font-size:.85rem;padding:10px 12px}.leave-table-cell.leave-date{min-width:120px}.leave-table-cell.leave-type{min-width:70px}.leave-table-cell.leave-remarks{max-width:150px;min-width:100px}.leave-table-cell.leave-actions{min-width:80px}.leave-date,.leave-remarks{flex:none;width:100%}.summary-grid{gap:10px;grid-template-columns:1fr}.modal-content-horizontal{flex-direction:column;gap:15px;min-width:auto;padding:15px}.leave-summary-section{flex:none;width:100%}.leave-list-section{width:100%}.summary-row{align-items:flex-start;flex-direction:column;gap:8px}.summary-row .summary-label{font-size:.85rem}.summary-row .summary-value{font-size:.95rem}.breakdown-grid{gap:8px;grid-template-columns:1fr}.breakdown-row{align-items:flex-start;flex-direction:column;gap:5px}.breakdown-row .type-label{font-size:.85rem}.breakdown-row .type-count{font-size:.95rem}.breakdown-row .type-note{font-size:.7rem;margin-left:0;margin-top:2px}.employee-management-modal{margin:10px;max-height:95vh;width:95%}.employee-management-modal .modal-body{max-height:calc(95vh - 120px);padding:15px}.sortable-list{min-height:150px;padding:12px}.employee-item{min-height:48px;padding:10px 12px}.drag-handle{font-size:18px;padding:6px}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.preview-list{max-height:80px}.template-info ul{padding-left:15px}.header-main{flex-direction:column;gap:15px}.header-info{flex-direction:column;gap:10px}.hamburger-menu{margin-top:10px;position:static}.dropdown-menu{left:50%;max-width:300px;position:fixed;top:50%;width:90%}.dropdown-menu,.dropdown-menu.open{transform:translate(-50%,-50%)}}.employee-management-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.employee-management-modal .modal-body{max-height:calc(90vh - 120px);overflow-y:auto;padding:20px}.csv-import-section{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;margin-bottom:30px;padding:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.section-header h4{color:#1565c0;font-size:1.1rem;margin:0}.toggle-btn{background:#1565c0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:background-color .3s ease}.toggle-btn:hover{background:#0d47a1}.import-content{border-top:1px solid #bbdefb;padding-top:15px}.template-section{margin-bottom:20px}.template-section p{color:#1565c0;font-size:.9rem;margin:0 0 15px}.template-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:15px;padding:10px 20px;transition:background-color .3s ease}.template-btn:hover{background:#388e3c}.template-info{background:#fff;border:1px solid #bbdefb;border-radius:6px;padding:15px}.template-info h5{color:#1565c0;font-size:1rem;margin:0 0 10px}.template-info ul{color:#424242;font-size:.9rem;margin:0;padding-left:20px}.template-info li{margin-bottom:5px}.file-upload-section{margin-bottom:20px;text-align:center}.file-input{display:none}.file-input-label{background:#ff9800;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:12px 24px;transition:background-color .3s ease}.file-input-label:hover{background:#f57c00}.selected-file{color:#1565c0;display:block;font-size:.9rem;font-weight:600;margin-top:10px}.import-preview{background:#fff;border:1px solid #bbdefb;border-radius:6px;padding:15px}.import-preview h5{color:#1565c0;font-size:1rem;margin:0 0 15px}.preview-list{background:#f5f5f5;border-radius:4px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;max-height:120px;overflow-y:auto;padding:10px}.preview-item{background:#e8f5e8;border:1px solid #c8e6c9;border-radius:4px;color:#2e7d32;font-size:.8rem;padding:4px 8px}.import-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px;transition:background-color .3s ease;width:100%}.import-btn:hover{background:#388e3c}.add-employee-section{background-color:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.add-employee-section h4{color:#333;font-size:1.1rem;margin:0 0 15px}.add-employee-form{align-items:center;display:flex;gap:10px}.employee-input{border:2px solid #e1e5e9;border-radius:6px;flex:1 1;font-size:14px;padding:10px;transition:border-color .3s ease}.employee-input:focus{border-color:#4a90e2;outline:none}.add-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .3s ease}.add-btn:hover:not(:disabled){background:#218838}.add-btn:disabled{background:#6c757d;cursor:not-allowed}.employee-list-section{margin-bottom:20px}.employee-list-section h4{color:#333;font-size:1.1rem;margin:0 0 15px}.employee-list{max-height:300px;overflow-y:auto}.employee-item{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:10px;padding:15px}.employee-display{align-items:center;display:flex;justify-content:space-between}.employee-name-text{color:#333;font-size:1rem;font-weight:600}.employee-actions{display:flex;gap:8px}.edit-btn{background:#ffc107;border:none;border-radius:4px;color:#212529;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s ease}.edit-btn:hover{background:#e0a800}.delete-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s ease}.delete-btn:hover{background:#c82333}.edit-form{align-items:center;display:flex;gap:8px}.save-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s ease}.save-btn:hover:not(:disabled){background:#218838}.save-btn:disabled{background:#6c757d;cursor:not-allowed}.cancel-edit-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s ease}.cancel-edit-btn:hover{background:#5a6268}.no-employees{color:#6c757d;font-style:italic;padding:20px;text-align:center}.employee-management-btn{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin:0 10px;padding:10px 20px;transition:background-color .3s ease}.employee-management-btn:hover{background:#138496}.export-data-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin:0 10px;padding:10px 20px;transition:background-color .3s ease}.export-data-btn:hover{background:#218838}.import-data-container{display:inline-block;margin:0 10px}.import-data-input{display:none}.import-data-btn{background:#ffc107;border:none;border-radius:6px;color:#212529;cursor:pointer;display:inline-block;font-size:14px;padding:10px 20px;transition:background-color .3s ease}.import-data-btn:hover{background:#e0a800}.calendar-header button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;padding:10px 15px;transition:background-color .3s ease}.calendar-header button:hover{background:#5a6268}.calendar-container{max-width:100%;overflow-x:auto;position:relative}.calendar-table{border-collapse:collapse;min-width:500px;width:100%}.calendar-table td,.calendar-table th{border:1px solid #e9ecef;padding:3px 1px;text-align:center;vertical-align:middle}.employee-header{box-shadow:2px 0 5px #0000001a;left:0;max-width:80px;min-width:80px;position:-webkit-sticky;position:sticky;z-index:10}.date-header,.employee-header{background:#f8f9fa;color:#333;font-weight:600}.date-header{max-width:35px;min-width:35px;transition:background-color .1s ease}.date-header.today{background-color:#d4edda!important;color:#155724}.date-header.today .date-number,.date-header.today .day-of-week{color:#155724;font-weight:700}.date-number{font-size:11px;font-weight:700;line-height:1.1}.day-of-week{color:#666;font-size:9px;line-height:1;margin-top:1px}.day-of-week.saturday{color:#3498db;font-weight:600}.day-of-week.holiday,.day-of-week.sunday,.holiday-name{color:#e74c3c;font-weight:600}.holiday-name{font-size:7px;line-height:1;margin-top:1px}.employee-name{background:#f8f9fa;box-shadow:2px 0 5px #0000001a;font-weight:600;left:0;max-width:80px;min-width:80px;padding-left:8px;padding-right:8px;position:-webkit-sticky;position:sticky;text-align:left;transition:background-color .1s ease;z-index:5}.employee-name-main{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:8px}.work-hours-alert{color:#dc3545;cursor:help;font-size:16px}.work-hours-summary{font-size:10px;line-height:1.2}.work-hours-info{color:#6c757d;margin-bottom:2px}.work-hours-warning{color:#dc3545;font-weight:700}.leave-summary{font-size:11px;line-height:1.2}.leave-days{color:#28a745;font-size:12px;font-weight:700;margin-bottom:4px}.leave-breakdown{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.leave-type-count{color:#6c757d;font-size:9px}.requirement-status{border-radius:3px;font-size:9px;font-weight:700;padding:2px 4px;text-align:center}.requirement-met{background-color:#d4edda;color:#155724}.requirement-warning{background-color:#fff3cd;color:#856404}.employee-name.clickable{cursor:pointer;transition:background-color .2s ease}.employee-name.clickable:hover{background-color:#e9ecef}.calendar-cell{height:50px;max-width:35px;min-width:35px;position:relative;transition:background-color .1s ease}.calendar-cell:hover{background-color:#f8f9fa}.calendar-cell.has-leave{font-weight:600}.calendar-cell.holiday,.calendar-cell.saturday,.calendar-cell.sunday{background-color:#f8f9fa;color:#6c757d}.calendar-cell.today{background-color:#d4edda!important;color:#155724;font-weight:700}.calendar-cell.today:hover{background-color:#c3e6cb!important}.calendar-cell.holiday:hover,.calendar-cell.saturday:hover,.calendar-cell.sunday:hover{background-color:#e9ecef}.calendar-cell.hovered{background-color:#fff9c4!important}.calendar-cell.has-leave,.calendar-cell.has-leave.hovered{background-color:inherit!important}.calendar-cell.has-leave{background-color:var(--leave-color,inherit)!important}.calendar-cell.current-hovered{background-color:#ffeb3b!important;position:relative;z-index:5}.employee-name.hovered{background-color:#fff9c4!important}.employee-name.current-hovered{background-color:#ffeb3b!important;z-index:15}.date-header.hovered{background-color:#fff9c4!important}.date-header.current-hovered{background-color:#ffeb3b!important;z-index:10}.leave-indicator{font-size:12px;font-weight:700}.modal-backdrop{-webkit-overflow-scrolling:touch;align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.modal-backdrop,.modal-content{touch-action:none;transform:translateZ(0);will-change:auto}.modal-content{-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:80vh;max-width:90%;overflow-y:auto;overscroll-behavior:contain;width:500px}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;font-size:1.4rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .3s ease;width:30px}.close-button:hover{background:#f8f9fa}.modal-body{padding:20px}.detail-row{align-items:center;display:flex;margin-bottom:15px}.detail-row label{color:#555;font-weight:600;margin-right:15px;min-width:100px}.detail-row span{color:#333;flex:1 1}.leave-type-badge{border-radius:20px;color:#333;font-size:14px;padding:4px 12px}.modal-footer{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:center;padding:20px;text-align:center}.cancel-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.cancel-btn:hover{background:#c0392b}.close-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;transition:background-color .3s ease}.close-btn:hover{background:#5a6268}.cancelled-notice{background:#f8f9fa;border-left:4px solid #e74c3c;border-radius:6px;padding:10px}.cancelled-badge{background:#e74c3c;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:4px 12px}.application-modal{margin:10px;max-height:90vh;max-width:600px;overscroll-behavior:contain;position:relative;touch-action:none;transform:translateZ(0);width:95%;will-change:auto}.application-modal .modal-body{padding:15px}.application-modal .form-group{margin-bottom:20px}.application-modal .form-group label{color:#555;display:block;font-weight:600;margin-bottom:8px}.application-modal .form-group input,.application-modal .form-group select,.application-modal .form-group textarea{border:2px solid #e1e5e9;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.application-modal .form-group input:focus,.application-modal .form-group select:focus,.application-modal .form-group textarea:focus{border-color:#4a90e2;outline:none}.application-modal .submit-btn{background:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .3s ease}.application-modal .submit-btn:hover{background:#357abd}@media (max-width:768px){.App{padding:10px}.App-header{align-items:center;display:flex;justify-content:center;min-height:60px;padding:15px 20px;position:relative}.header-main{display:none}.App-header h1{flex:1 1;font-size:1.5rem;margin:0;padding-right:50px;text-align:center}.leave-stats{display:none}.hamburger-menu{height:30px;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px}.hamburger-menu span{height:3px;width:24px}.leave-application-form{padding:20px}.calendar-header{padding:15px}.calendar-header h2{font-size:1.2rem}.calendar-table td,.calendar-table th{font-size:12px;padding:4px}.date-header{font-size:10px;max-width:35px;min-width:35px}.date-header .date-number{font-size:12px;font-weight:700}.date-header .day-of-week{font-size:8px;margin-top:2px}.date-header .holiday-name{font-size:6px;line-height:1;margin-top:1px}.employee-header{z-index:10}.employee-header,.employee-name{font-size:10px;left:0;max-width:80px;min-width:80px;position:-webkit-sticky;position:sticky}.employee-name{padding-left:4px;padding-right:4px;z-index:5}.calendar-cell{height:40px;max-width:35px;min-width:35px}.calendar-table{min-width:400px}.holiday-name{font-size:8px;margin-top:1px}.modal-content{margin:10px;max-height:85vh;width:95%}.application-modal{margin:5px;max-height:90vh;max-width:95%;overscroll-behavior:contain;position:relative;touch-action:none;transform:translateZ(0);width:95%;will-change:auto}.application-modal .modal-body{-webkit-overflow-scrolling:touch;max-height:calc(90vh - 120px);overflow-y:auto;overscroll-behavior:contain;padding:15px}.application-modal .form-group{margin-bottom:15px}.application-modal .form-group input,.application-modal .form-group select,.application-modal .form-group textarea{font-size:16px;padding:10px;touch-action:manipulation}.application-modal .modal-footer{flex-direction:column;gap:10px;padding:15px}.application-modal .cancel-btn,.application-modal .submit-btn{font-size:16px;padding:12px;touch-action:manipulation;width:100%}.employee-leave-list-modal{-webkit-overflow-scrolling:touch;display:flex!important;flex-direction:column!important;height:90vh;margin:5px;max-height:90vh;max-width:95%;overflow:hidden;overscroll-behavior:contain;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0);width:95%;will-change:auto}.leave-list-section,.modal-content-horizontal{flex:1 1;min-height:0;overflow:hidden}.leave-list-section{display:flex;flex-direction:column}.leave-table-container{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;touch-action:pan-y}}@supports (-webkit-touch-callout:none){.employee-leave-list-modal{display:flex!important;flex-direction:column!important;height:90vh!important;overflow:hidden!important}.leave-list-section,.modal-content-horizontal{flex:1 1!important;min-height:0!important;overflow:hidden!important}.leave-list-section{display:flex!important;flex-direction:column!important}.leave-table-container{-webkit-overflow-scrolling:touch!important;flex:1 1!important;min-height:0!important;overflow-y:scroll!important;transform:translateZ(0)}}@media (max-width:480px){.App-header h1{padding-right:45px}.date-header{font-size:9px;max-width:30px;min-width:30px}.date-header .date-number{font-size:11px}.date-header .day-of-week{font-size:7px}.date-header .holiday-name{font-size:5px}.employee-header,.employee-name{font-size:9px;max-width:70px;min-width:70px}.employee-name{padding-left:2px;padding-right:2px}.calendar-cell{height:35px;max-width:30px;min-width:30px}.calendar-table{min-width:350px}.calendar-table td,.calendar-table th{font-size:10px;padding:2px}.App-header{min-height:55px;padding:12px 15px}.App-header h1{font-size:1.3rem}.hamburger-menu{height:28px;right:15px;width:28px}.hamburger-menu span{height:2px;width:22px}}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;height:50vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#666;font-size:1.1rem;margin:0}.sortable-list{-webkit-overflow-scrolling:touch;background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:8px;min-height:200px;padding:16px;touch-action:manipulation}.sortable-item{-webkit-touch-callout:none;cursor:grab;touch-action:none;transition:all .2s ease;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.sortable-item:active{box-shadow:0 4px 12px #00000026;cursor:grabbing;transform:scale(1.02)}.employee-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;min-height:44px;padding:12px 16px;transition:all .2s ease}.employee-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.drag-handle{border-radius:4px;color:#666;cursor:grab;font-size:16px;padding:4px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.drag-handle:hover{background-color:#f0f0f0}.employee-name{color:#333;flex:1 1;font-weight:500}.sortable-item[data-dragging=true]{opacity:.5;transform:rotate(5deg)}.sortable-container{background:#fafafa;border:2px dashed #ddd;border-radius:8px;margin:16px 0;padding:16px;transition:border-color .2s ease}.sortable-container:hover{border-color:#007bff}.sort-controls{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.sort-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s ease}.sort-button:hover{background:#0056b3}.sort-button.secondary{background:#6c757d}.sort-button.secondary:hover{background:#545b62}@media (max-width:768px){.sortable-list{padding:12px}.employee-item{padding:10px 12px}.sort-controls{align-items:center;flex-direction:column}.sort-button{max-width:200px;width:100%}}
/*# sourceMappingURL=main.40226d7c.css.map*/