@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap";.dashboard-container{margin:0 auto;margin-bottom:2rem;padding-left:16px;padding-right:16px;box-sizing:border-box;width:100%}.dashboard-title{font-size:1.5rem;font-weight:600;color:#0f1823;margin-bottom:1.5rem}.table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-top:1rem;display:flex;flex-direction:column;height:calc(100vh - 150px);max-width:100%}.filter-container{padding:16px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;position:sticky;top:0;z-index:20}.filter-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:flex-end}.filter-item{display:flex;flex-direction:column;min-width:150px}.filter-item label{font-size:.75rem;font-weight:600;margin-bottom:4px;color:#495057}.filter-input{padding:6px 8px;border-radius:4px;border:1px solid #dee2e6;font-size:.875rem}.filter-input:focus{border-color:#be521c;outline:none;box-shadow:0 0 0 2px #be521c33}.export-button-container{margin-top:8px}.table-container{overflow:auto}.dashboard-header{position:sticky;top:0;z-index:10;background-color:#f8f9fa;color:#495057;font-weight:600;text-align:left;padding:1rem;cursor:pointer;border-bottom:2px solid #dee2e6}.dashboard-row{transition:background-color .2s ease}.dashboard-row:hover{background-color:#f8f9fa}.dashboard-cell{padding:1rem;border-bottom:1px solid #dee2e6;color:#212529}.status-draft{color:#666;font-style:italic}.status-submitted{color:#f90;font-weight:700}.status-approved{color:#0a0;font-weight:700}.status-pay_approved{color:#06c;font-weight:700}.status-rejected{color:#d00;font-weight:700}.MuiTabs-root{background-color:#fff;margin-bottom:1rem}.MuiTab-root{text-transform:none!important;font-weight:500!important}.Mui-selected{color:#be521c!important}.MuiTabs-indicator{background-color:#be521c!important}.export-button{padding:.5rem 1rem;background-color:#be521c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.export-button:hover{background-color:#9d4216}.action-buttons{display:flex;gap:8px;flex-wrap:wrap;opacity:0;transition:opacity .2s ease}.action-buttons.visible{opacity:1}.group-action-buttons{display:flex;gap:8px;flex-wrap:wrap;opacity:0;transition:opacity .2s ease}.group-action-buttons.visible,.row-hovered .action-buttons,.row-hovered .group-action-buttons{opacity:1}.group-button{padding:2px 6px;border:none;border-radius:4px;cursor:pointer;background:none}.group-button.grouped{background-color:#be521c;color:#fff}.grouped-row{background-color:#f8f9fa;font-weight:500;cursor:pointer}.grouped-row:hover{background-color:#f0f0f0}.date-picker-container{display:flex;gap:12px;width:100%}.date-range-filter{min-width:300px;flex-grow:1;max-width:500px}.MuiInputBase-root.MuiOutlinedInput-root{font-size:.875rem;border-radius:4px}.MuiInputBase-root.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#be521c}.MuiInputBase-root.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#be521c;border-width:2px}.dashboard-cell.row-number{width:50px;text-align:center;color:#666;font-size:.8rem;background-color:#f8f9fa}.dashboard-header.row-number{width:50px;text-align:center}.table-info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.row-count{font-weight:500;color:#555}.expand-button{background:none;border:none;cursor:pointer;padding:4px;margin-right:8px;display:flex;align-items:center;justify-content:center;color:#be521c}.expand-button:hover{background-color:#be521c1a;border-radius:50%}.group-header{font-weight:700;color:#be521c}.expanded-row{background-color:#f8f9fa}.expanded-content{padding:16px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.expanded-details{padding:12px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.expanded-details h4{margin-top:0;margin-bottom:12px;color:#be521c;font-size:1rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:.75rem;color:#666;margin-bottom:4px}.detail-value{font-weight:500}.nested-group{margin-left:20px;border-left:2px solid #e0e0e0}.group-actions{display:flex;gap:8px;margin-left:16px}.action-button{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .2s ease;display:flex;align-items:center;gap:4px}.action-button.approve{background-color:#28a745;color:#fff}.action-button.approve:hover{background-color:#218838}.action-button.pay-approve{background-color:#06c;color:#fff}.action-button.pay-approve:hover{background-color:#0052a3}.action-button.reject{background-color:#dc3545;color:#fff}.action-button.reject:hover{background-color:#c82333}.status-mixed-approval{color:#9c27b0;font-weight:700}.status-partially-submitted{color:#ff9800;font-weight:700}.status-mixed{color:#607d8b;font-weight:700}.employee-name{font-weight:600;color:#333;display:inline-block}.grouped-value .employee-name{color:#be521c;font-size:1.1em}.employee-cell{display:flex;flex-direction:column}.employee-indicator{display:inline-block;width:12px;height:12px;margin-right:8px;background-color:#be521c;border-radius:50%;vertical-align:middle}.employee-info{display:flex;flex-direction:column}.employee-email{font-size:.75rem;color:#666;margin-top:2px}.timesheet-form-container,.carpenter-timesheet-page{max-width:800px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;min-height:100vh}.timesheet-container{padding-top:2rem;padding-bottom:2rem}.timesheet-header{text-align:center;margin-bottom:30px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.header-logo{max-width:120px;height:auto;margin-bottom:10px}.header-title{color:#be521c;margin:0;font-size:24px;font-weight:600}.timesheet-title{color:#be521c;margin:0 0 10px;font-size:24px;font-weight:600}.timesheet-subtitle{color:#666;margin:0;font-size:16px}.timesheet-paper{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.form-title{color:#be521c;margin:0 0 20px;font-size:20px;font-weight:600;text-align:center}.employee-info{background:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:20px;border-left:4px solid #be521c}.employee-info p{margin:0;color:#333;font-size:16px}.form-control{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-select{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:14px;background-color:#fff;color:#333;transition:border-color .2s ease,box-shadow .2s ease}.form-select:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.form-select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;min-height:44px}.form-input:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.form-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;resize:vertical;min-height:44px}.form-textarea:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.info-box{padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.4}.info-box.info-primary{background-color:#e3f2fd;border:1px solid #2196f3;color:#1565c0}.info-box.info-success{background-color:#e8f5e8;border:1px solid #4caf50;color:#2e7d32}.info-icon{flex-shrink:0;font-size:16px}.timesheet-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.section-title{margin:0 0 20px;color:#be521c;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.section-description{color:#666;margin:0 0 20px;font-size:14px;line-height:1.4}.date-picker-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.date-picker-field{margin-bottom:15px}.date-picker-label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.date-picker-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s ease;min-height:44px}.date-picker-input:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.date-info{margin-top:8px}.text-muted{color:#666;font-size:14px}.timesheet-count-message{color:#666;font-size:14px;margin-top:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #be521c}.allowances-section{margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.spinner-small{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #be521c;border-radius:50%;animation:spin 1s linear infinite}.allowances-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24pxpx;margin-bottom:20px}.allowance-item{padding:15px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;transition:border-color .3s ease}.allowance-item:hover{border-color:#be521c}.switch-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#333;gap:12px}.switch-input{width:18px;height:18px;accent-color:#be521c;cursor:pointer}.allowance-option{display:flex;align-items:center;padding:15px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background:#fff;min-height:44px}.allowance-option:hover{border-color:#be521c;background-color:#f8f9fa}.allowance-option.checked{border-color:#be521c;background-color:#fdf2e9}.allowance-checkbox{margin-right:12px;width:18px;height:18px;accent-color:#be521c}.allowance-label{font-weight:500;color:#333;cursor:pointer}.mileage-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;margin-top:10px;transition:border-color .3s ease;min-height:44px}.mileage-input:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.refresh-allowances-btn{width:100%;padding:12px;background-color:#be521c;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease;margin-top:15px;min-height:44px}.refresh-allowances-btn:hover:not(:disabled){background-color:#9d4216}.refresh-allowances-btn:focus{outline:none;box-shadow:0 0 0 3px #be521c4d}.refresh-allowances-btn:disabled{background-color:#ccc;cursor:not-allowed}.no-date-message{text-align:center;color:#666;font-style:italic;padding:40px 20px}.section-footer{margin-top:15px}.operation-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;border-radius:8px}.equipment-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.equipment-select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s ease;min-height:44px}.equipment-select:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.timesheet-entry-form{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-select,.form-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;min-height:44px}.form-select:focus,.form-input:focus{outline:none;border-color:#be521c;box-shadow:0 0 0 3px #be521c1a}.form-select-multiple{min-height:120px}.btn-small{padding:4px 8px!important;font-size:12px!important;min-height:auto!important;line-height:1.2!important;border-radius:4px!important}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268;border-color:#545b62}.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;opacity:.6;cursor:not-allowed}.selected-projects,.selected-equipment{margin-top:12px;padding:12px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px}.selected-title{margin:0;font-size:14px;font-weight:600;color:#495057}.project-chips,.equipment-chips{display:flex;flex-wrap:wrap;gap:8px}.project-chip,.equipment-chip{display:inline-flex;align-items:center;padding:4px 8px;background-color:#be521c;color:#fff;border-radius:4px;font-size:12px;font-weight:500;gap:6px}.project-chip-text{line-height:1.2}.project-chip-delete{background:none;border:none;color:#fff;font-size:14px;font-weight:700;cursor:pointer;padding:0;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;line-height:1}.project-chip-delete:hover{background-color:#fff3}.project-chip-delete:focus{outline:none;background-color:#ffffff4d}.form-textarea{min-height:80px;resize:vertical}.form-section{background:#f8f9fa;border-radius:6px;padding:15px;margin-bottom:15px}.form-section-title{margin:0 0 15px;color:#be521c;font-size:16px;font-weight:600}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}.btn:focus{outline:none;box-shadow:0 0 0 3px #be521c4d}.btn-primary{background-color:#be521c;color:#fff}.btn-primary:hover:not(:disabled){background-color:#9d4216}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-full-width{width:100%}.btn-small{padding:8px 16px;font-size:14px;min-height:36px}.submit-button{background-color:#be521c;color:#fff;padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease;width:100%;min-height:44px}.submit-button:hover{background-color:#9d4216}.submit-button:focus{outline:none;box-shadow:0 0 0 3px #be521c4d}.timesheet-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.timesheet-item{position:relative;border-radius:8px;overflow:hidden}.timesheet-list-item{padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.timesheet-pill{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .3s ease;position:relative}.timesheet-pill:hover{box-shadow:0 4px 12px #0000001a;border-color:#be521c}.timesheet-pill.staged{border-left:4px solid #ff9800}.timesheet-pill.submitted{border-left:4px solid #4caf50}.timesheet-pill-content{display:flex;flex-direction:column;gap:8px}.timesheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.timesheet-date{font-weight:600;color:#333;font-size:14px}.status-chip{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-pending,.status-submitted{background-color:#fff3cd;color:#856404}.status-approved{background-color:#d4edda;color:#155724}.status-pay_approved{background-color:#cce5ff;color:#004085}.status-rejected{background-color:#f8d7da;color:#721c24}.status-draft{background-color:#f8f9fa;color:#6c757d}.timesheet-detail{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#666}.timesheet-detail strong{color:#333;margin-right:8px}.delete-button{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;background:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1}.delete-button:hover{background:#c82333;transform:scale(1.1)}.delete-button:focus{outline:none;box-shadow:0 0 0 3px #dc35454d}.delete-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.divider{height:1px;background:#e0e0e0;margin:30px 0;border:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-spinner,.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #be521c;border-radius:50%;animation:spin 1s linear infinite}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.overlay-content{background:#fff;padding:40px;border-radius:8px;text-align:center;box-shadow:0 4px 20px #0000004d;max-width:300px;width:90%}.overlay-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #be521c;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:12px 24px;border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:10000;animation:slideUp .3s ease;max-width:90%;text-align:center}.snackbar.success{background:#4caf50}.snackbar.error{background:#f44336}.snackbar.warning{background:#ff9800}.snackbar.info{background:#2196f3}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.carpenter-container{max-width:800px;margin:0 auto;padding:20px;background-color:#f5f5f5;min-height:100vh}.carpenter-paper{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.carpenter-title{color:#be521c;margin:0 0 20px;font-size:20px;font-weight:600;text-align:center}.carpenter-form{display:flex;flex-direction:column;gap:20px}.staged-timesheets-container,.existing-timesheets-container{margin-top:2rem;padding:1.5rem}.staged-entry,.queued-entries-section,.submitted-entries-section{margin-bottom:20px}.MuiTooltip-tooltip{background-color:#333!important}.MuiChip-root{margin:2px!important}@media (max-width: 768px){.carpenter-timesheet-page,.timesheet-form-container{padding:15px}.timesheet-paper{padding:20px}.form-row{grid-template-columns:1fr;gap:10px}.allowances-grid{grid-template-columns:1fr}.timesheet-header{padding:15px}.header-title,.timesheet-title{font-size:20px}.timesheet-subtitle{font-size:14px}.staged-timesheets-container,.existing-timesheets-container{padding:1rem}.btn{padding:10px 20px;font-size:14px;min-height:40px}.form-select,.form-input,.form-textarea{font-size:16px;min-height:44px}.timesheet-detail{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 600px){.carpenter-container{padding:12px}.carpenter-paper{padding:16px}.timesheet-pill-content{padding:12px}.project-chips,.equipment-chips{gap:6px}.project-chip,.equipment-chip{font-size:11px;padding:3px 6px}.project-chip-delete{width:14px;height:14px;font-size:12px}}@media (max-width: 480px){.carpenter-timesheet-page,.timesheet-form-container{padding:10px}.timesheet-section,.timesheet-paper{padding:15px}.btn{padding:10px 20px;font-size:14px;min-height:44px}.header-logo{max-width:100px}.header-title{font-size:18px}.snackbar{bottom:10px;left:10px;right:10px;transform:none;max-width:none}}@media (prefers-contrast: high){.form-select,.form-input,.form-textarea{border-width:3px}.btn{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--text-dark: #111822;--paragraph-text: #565969;--primary: #be531c;--orange-secondary: #ffa67c;--primary-light: #dfd3e833;--dark-blue: #111822;--light-green: #16474a;--white: white;--dropdown-text: #999;--light-gray: #f9f9fa;--gray: #e9e9e9;--paragraph-white: #fdfdff91;--dark-gray-50: #afafaf80;--faq-text: #649296;--footer-s-bottom: #16203a}html,body,#root,.app,.content{height:100%;width:100%;font-family:Source Sans Pro,sans-serif}body{margin:0}.Mui-selected{color:var(--primary)!important}.app{display:flex;position:relative}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#e0e0e0}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#555}:root{--color-primary: #be521c;--color-primary-dark: #9d4216;--color-primary-light: rgba(190, 82, 28, .1);--color-primary-focus: rgba(190, 82, 28, .3);--color-success: #4caf50;--color-success-light: #d4edda;--color-success-dark: #155724;--color-warning: #ff9800;--color-warning-light: #fff3cd;--color-warning-dark: #856404;--color-error: #f44336;--color-error-light: #f8d7da;--color-error-dark: #721c24;--color-info: #2196f3;--color-info-light: #e3f2fd;--color-info-dark: #1565c0;--color-white: #ffffff;--color-gray-50: #f8f9fa;--color-gray-100: #f5f5f5;--color-gray-200: #e0e0e0;--color-gray-300: #ddd;--color-gray-400: #999;--color-gray-500: #666;--color-gray-600: #495057;--color-gray-700: #333;--color-gray-800: #212529;--color-gray-900: #000000;--color-secondary: #6c757d;--color-secondary-dark: #545b62;--color-status-pending: var(--color-warning);--color-status-submitted: var(--color-info);--color-status-approved: var(--color-success);--color-status-rejected: var(--color-error);--color-status-draft: var(--color-gray-500);--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-secondary: Arial, sans-serif;--font-size-xs: .7rem;--font-size-sm: .75rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-base: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 4px 20px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 10000;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--input-height: 44px;--input-padding: var(--spacing-3);--input-border-width: 2px;--button-height: 44px;--button-padding-x: var(--spacing-6);--button-padding-y: var(--spacing-3)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{line-height:var(--line-height-normal);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-700);background-color:var(--color-gray-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-gray-800);margin-bottom:var(--spacing-4)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-4);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}ul,ol{margin-bottom:var(--spacing-4);padding-left:var(--spacing-5)}li{margin-bottom:var(--spacing-1)}.container{width:100%;max-width:800px;margin:0 auto;padding:var(--spacing-5);background-color:var(--color-gray-100);min-height:100vh}.page-wrapper{max-width:800px;margin:0 auto;padding:var(--spacing-5);font-family:var(--font-family-primary);background-color:var(--color-gray-100);min-height:100vh}.paper,.card{background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-8);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-5)}.section{background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-5);margin-bottom:var(--spacing-5);box-shadow:var(--shadow-md)}.header{text-align:center;margin-bottom:var(--spacing-8);padding:var(--spacing-5);background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.header-logo{max-width:120px;height:auto;margin-bottom:var(--spacing-3)}.header-title{color:var(--color-primary);margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.header-subtitle{color:var(--color-gray-500);margin:0;font-size:var(--font-size-base)}.section-title{margin:0 0 var(--spacing-5) 0;color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-3)}.section-description{color:var(--color-gray-500);margin:0 0 var(--spacing-5) 0;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.form-group,.form-control{margin-bottom:var(--spacing-5)}.form-label,.label{display:block;margin-bottom:var(--spacing-2);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);font-size:var(--font-size-sm)}.form-input,.form-select,.form-textarea,.input,.select,.textarea{width:100%;padding:var(--input-padding);border:var(--input-border-width) solid var(--color-gray-200);border-radius:var(--radius-base);font-size:var(--font-size-base);font-family:inherit;background-color:var(--color-white);color:var(--color-gray-700);transition:border-color var(--transition-slow),box-shadow var(--transition-slow);min-height:var(--input-height)}.form-input:focus,.form-select:focus,.form-textarea:focus,.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,.input:disabled,.select:disabled,.textarea:disabled{background-color:var(--color-gray-100);color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.form-textarea,.textarea{resize:vertical;min-height:80px}.form-select-multiple{min-height:120px;resize:vertical}.btn,.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--button-padding-y) var(--button-padding-x);border:none;border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;text-decoration:none;cursor:pointer;transition:all var(--transition-slow);min-height:var(--button-height);gap:var(--spacing-2);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:focus,.button:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-focus)}.btn:disabled,.button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-warning{background-color:var(--color-warning);color:var(--color-white)}.btn-error,.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-small,.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);min-height:36px}.btn-large,.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg);min-height:52px}.btn-full-width,.btn-block{width:100%}.status{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.status-pending,.status-submitted{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.status-approved{background-color:var(--color-success-light);color:var(--color-success-dark)}.status-pay_approved{background-color:var(--color-info-light);color:var(--color-info-dark)}.status-rejected{background-color:var(--color-error-light);color:var(--color-error-dark)}.status-draft{background-color:var(--color-grey-light);color:var(--color-grey-dark)}.info-box{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-base);margin-bottom:var(--spacing-4);display:flex;align-items:flex-start;gap:var(--spacing-2);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.info-box.info-primary{background-color:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info-dark)}.info-box.info-success{background-color:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success-dark)}.info-box.info-warning{background-color:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning-dark)}.info-box.info-error{background-color:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error-dark)}.info-icon{flex-shrink:0;font-size:var(--font-size-base)}.alert{padding:var(--spacing-4);border-radius:var(--radius-base);margin-bottom:var(--spacing-4);border-left:4px solid;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.alert-primary{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-muted{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.bg-white{background-color:var(--color-white)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.border{border:1px solid var(--color-gray-200)}.border-t{border-top:1px solid var(--color-gray-200)}.border-b{border-bottom:1px solid var(--color-gray-200)}.border-l{border-left:1px solid var(--color-gray-200)}.border-r{border-right:1px solid var(--color-gray-200)}.rounded{border-radius:var(--radius-base)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow-base)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.spinner{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.spinner-small{width:20px;height:20px;border:2px solid var(--color-gray-200);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-16) var(--spacing-5);gap:var(--spacing-4)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slideUp .3s ease-out}@media (max-width: 768px){.container,.page-wrapper{padding:var(--spacing-4)}.paper,.card,.section{padding:var(--spacing-5)}.header{padding:var(--spacing-4)}.header-title{font-size:var(--font-size-xl)}.header-subtitle{font-size:var(--font-size-sm)}.btn,.button{padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm);min-height:40px}.form-input,.form-select,.form-textarea,.input,.select,.textarea{font-size:var(--font-size-base);min-height:var(--input-height)}.hidden-mobile{display:none}}@media (max-width: 600px){.container,.page-wrapper{padding:var(--spacing-3)}.paper,.card,.section{padding:var(--spacing-4)}}@media (max-width: 480px){.container,.page-wrapper{padding:var(--spacing-2)}.paper,.card,.section{padding:var(--spacing-4)}.btn,.button{padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm);min-height:var(--input-height)}.header-logo{max-width:100px}.header-title{font-size:var(--font-size-lg)}}@media (min-width: 769px){.hidden-desktop{display:none}}@media (prefers-contrast: high){.form-input,.form-select,.form-textarea,.input,.select,.textarea{border-width:3px}.btn,.button{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner,.spinner-small{animation:none}}@supports selector(:focus-visible){.btn:focus,.button:focus,.form-input:focus,.form-select:focus,.form-textarea:focus,.input:focus,.select:focus,.textarea:focus{outline:none}.btn:focus-visible,.button:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--color-primary-focus);outline-offset:2px}}
