:root{--teal: #0F6E56;--teal-light: #E1F5EE;--teal-mid: #1D9E75;--purple: #3C3489;--purple-light: #EEEDFE;--amber: #854F0B;--amber-light: #FAEEDA;--coral: #993C1D;--coral-light: #FAECE7;--blue: #185FA5;--blue-light: #E6F1FB;--gray: #444441;--gray-light: #F1EFE8;--gray-mid: #B4B2A9;--green: #0F6E56;--red: #A32D2D;--white: #FFFFFF;--border: #D3D1C7;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);font-size:14px;color:var(--gray);background:#f7f6f3;min-height:100vh}.app-loading,.app-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:12px;color:var(--gray)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.employee-picker{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.picker-card{background:var(--white);border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:40px 32px;max-width:380px;width:100%;text-align:center}.app-logo{font-size:40px;margin-bottom:12px}.picker-card h1{font-size:24px;color:var(--teal);margin-bottom:8px}.picker-subtitle{color:var(--gray-mid);margin-bottom:28px;font-size:14px}.picker-list{display:flex;flex-direction:column;gap:10px}.picker-btn{width:100%;padding:14px 20px;border:2px solid var(--teal-light);border-radius:var(--radius);background:var(--white);color:var(--teal);font-size:15px;font-weight:500;cursor:pointer;transition:all .15s}.picker-btn:hover{background:var(--teal-light);border-color:var(--teal)}.picker-empty{color:var(--gray-mid);margin-top:16px;font-size:13px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;background:var(--teal);color:var(--white);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px}.app-icon{font-size:20px}.header-employee{display:flex;align-items:center;gap:10px;font-size:14px}.btn-switch{background:#fff3;border:none;color:#fff;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:14px}.btn-switch:hover{background:#ffffff4d}.tab-bar{display:flex;gap:0;background:var(--white);border-bottom:1px solid var(--border);padding:0 20px}.tab-btn{padding:12px 20px;border:none;background:none;color:var(--gray-mid);font-size:14px;cursor:pointer;border-bottom:3px solid transparent;transition:all .15s}.tab-btn.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:500}.manager-approval-tab{display:flex;flex-direction:column;gap:12px}.manager-subtab-bar{display:inline-flex;align-items:center;gap:8px;padding:6px;margin-bottom:16px;background:var(--white);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow)}.manager-subtab-btn{border:none;background:transparent;color:var(--gray);font:inherit;font-weight:500;padding:10px 16px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.manager-subtab-btn:hover{background:#f7f7f5}.manager-subtab-btn.active{background:var(--teal);color:var(--white);box-shadow:0 1px 2px #00000014}.entry-tab,.history-tab{padding:20px;max-width:1100px;margin:0 auto;width:100%}.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;background:var(--white);border-radius:var(--radius);padding:10px 16px;box-shadow:var(--shadow)}.week-nav-label{font-weight:500;font-size:15px;display:flex;align-items:center;gap:12px}.btn-week-nav{background:none;border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--gray)}.btn-week-nav:hover{background:var(--gray-light)}.btn-today{font-size:12px;padding:3px 8px;background:var(--teal-light);color:var(--teal);border:1px solid var(--teal);border-radius:4px;cursor:pointer}.timesheet-grid{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.week-title{font-size:16px;font-weight:600;color:var(--gray)}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-draft{background:var(--gray-light);color:var(--gray)}.status-submitted{background:var(--blue-light);color:var(--blue)}.status-approved{background:var(--teal-light);color:var(--teal)}.status-returned{background:var(--amber-light);color:var(--amber)}.status-locked{background:var(--gray-light);color:var(--gray-mid)}.manager-comment{background:var(--amber-light);border-left:4px solid var(--amber);padding:10px 14px;border-radius:0 var(--radius) var(--radius) 0;font-size:13px;margin-bottom:12px}.deadline-banner{padding:8px 12px;border-radius:var(--radius);font-size:13px;margin-bottom:12px}.deadline-banner.green{background:var(--teal-light);color:var(--teal)}.deadline-banner.amber{background:var(--amber-light);color:var(--amber)}.ot-banner{background:var(--amber-light);color:var(--amber);border:1px solid #FAC775;border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:500;margin-bottom:12px}.validation-errors{background:var(--coral-light);border:1px solid #F09595;border-radius:var(--radius);padding:12px 16px;margin-bottom:12px;font-size:13px}.validation-errors strong{color:var(--red);display:block;margin-bottom:6px}.validation-errors ul{list-style:disc;padding-left:20px}.validation-errors li{margin:3px 0}.validation-warnings{background:var(--amber-light);border:1px solid #FAC775;border-radius:var(--radius);padding:12px 16px;margin-bottom:12px;font-size:13px}.validation-warnings strong{color:var(--amber);display:block;margin-bottom:6px}.validation-warnings ul{list-style:disc;padding-left:20px}.grid-scroll{overflow-x:auto}.timesheet-table{width:100%;border-collapse:collapse;font-size:13px;min-width:800px}.timesheet-table th{background:var(--teal);color:var(--white);padding:8px 6px;text-align:center;font-weight:500;font-size:12px}.timesheet-table th.col-label{text-align:left;padding-left:12px;width:220px}.timesheet-table th.col-holiday{background:#0b5a47}.col-date{font-size:10px;font-weight:400;opacity:.8}.holiday-label{font-size:9px;background:#fff3;border-radius:3px;padding:1px 4px}.section-header td{background:var(--gray-light);color:var(--gray-mid);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px}.timesheet-table td{padding:4px;border:1px solid var(--border);text-align:center;vertical-align:middle}.timesheet-table tr:hover td{background:#fafaf8}.row-label{text-align:left!important;padding:4px 8px!important;font-size:12px;display:flex;align-items:center;gap:6px;min-height:32px}.code-badge{background:var(--teal-light);color:var(--teal);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;flex-shrink:0}.project-num{font-weight:600;color:var(--teal);flex-shrink:0;font-size:12px}.project-name{color:var(--gray);font-size:12px;flex:1}.btn-remove-row{background:none;border:none;color:var(--gray-mid);cursor:pointer;font-size:14px;padding:0 4px;flex-shrink:0}.btn-remove-row:hover{color:var(--red)}.cell-readonly{color:var(--gray-mid);background:#fafaf8}.cell-editable{padding:2px!important}.cell-protected-leave{background:var(--teal-light)!important;color:var(--teal);font-weight:600}.cell-system-holiday{background:#fafaf8!important;color:var(--gray-mid)}.cell-submitted-request{background:var(--amber-light)!important}.hours-input{width:52px;border:none;border-radius:4px;padding:4px;text-align:center;font-size:13px;background:transparent}.hours-input:focus{outline:2px solid var(--teal);background:var(--white)}.hours-input::placeholder{color:var(--gray-mid)}.km-input{width:52px;border:1px solid var(--border);border-radius:4px;padding:4px;text-align:center;font-size:13px}.km-input:focus{outline:2px solid var(--teal)}.expense-cell-wrapper{display:flex;flex-direction:column}.expense-cell{display:flex;align-items:center;gap:4px;padding:0 4px}.expense-receipt-list{display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-alt);border:1px dashed var(--border);border-top:none;font-size:11px}.expense-receipt-item{display:flex;justify-content:space-between;align-items:center}.receipt-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px;color:var(--teal)}.btn-remove-receipt{background:none;border:none;color:var(--danger, #d32f2f);cursor:pointer;font-size:10px;padding:0 4px}.btn-remove-receipt:hover{background:var(--gray-light);border-radius:4px}.expense-input{width:60px;border:1px solid var(--border);border-radius:4px;padding:4px;font-size:12px}.expense-input:focus{outline:2px solid var(--teal)}.btn-receipt{background:none;border:1px solid var(--border);border-radius:4px;padding:3px 6px;cursor:pointer;font-size:12px;color:var(--gray-mid)}.btn-receipt.has-files{color:var(--teal);border-color:var(--teal);background:var(--teal-light)}.btn-receipt:disabled{opacity:.4;cursor:default}.receipt-link-manager{display:flex;flex-direction:column;gap:2px;margin-top:4px}.receipt-link-manager a{font-size:11px;color:var(--teal);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.receipt-link-manager a:hover{text-decoration:underline}.receipt-no-url{font-size:11px;color:var(--gray-mid)}.col-total{font-weight:600;color:var(--gray);background:var(--gray-light)}.col-km,.col-exp{min-width:80px}.day-totals-row td{background:var(--purple-light);font-weight:600;font-size:13px}.day-totals-row .high{background:var(--amber-light);color:var(--amber)}.day-totals-row .over{background:var(--coral-light);color:var(--red)}.add-project-row td{padding:8px 12px;border:none}.btn-add-project{background:none;border:1px dashed var(--teal);color:var(--teal);border-radius:var(--radius);padding:8px 16px;cursor:pointer;font-size:13px}.btn-add-project:hover{background:var(--teal-light)}.project-search{display:flex;flex-direction:column;gap:8px;position:relative}.project-search-input{border:2px solid var(--teal);border-radius:var(--radius);padding:8px 12px;font-size:13px;width:320px}.project-dropdown{position:absolute;top:100%;left:0;width:320px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:50}.dropdown-item{display:flex;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px}.dropdown-item:hover{background:var(--teal-light)}.dropdown-empty{padding:12px;color:var(--gray-mid);font-size:13px}.action-buttons{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.btn-save{padding:10px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--gray);cursor:pointer;font-size:14px}.btn-save:hover:not(:disabled){background:var(--gray-light)}.btn-save:disabled{opacity:.4;cursor:default}.btn-submit{padding:10px 24px;border:none;border-radius:var(--radius);background:var(--teal);color:var(--white);cursor:pointer;font-size:14px;font-weight:500}.btn-submit:hover:not(:disabled){background:var(--teal-mid)}.btn-submit:disabled{opacity:.6;cursor:default}.btn-cancel-request{padding:7px 16px;border:1px solid var(--coral);border-radius:var(--radius);background:var(--white);color:var(--coral);cursor:pointer;font-size:13px;font-weight:500}.btn-cancel-request:hover:not(:disabled){background:var(--coral-light)}.btn-cancel-request:disabled{opacity:.4;cursor:default}.btn-cancel-confirm{padding:10px 24px;border:none;border-radius:var(--radius);background:var(--coral);color:var(--white);cursor:pointer;font-size:14px;font-weight:500}.btn-cancel-confirm:hover:not(:disabled){background:#7d3118}.btn-cancel-confirm:disabled{opacity:.6;cursor:default}.btn-cancel-approve{padding:10px 24px;border:none;border-radius:var(--radius);background:var(--coral);color:var(--white);cursor:pointer;font-size:14px;font-weight:500}.btn-cancel-approve:hover:not(:disabled){background:#7d3118}.btn-cancel-approve:disabled{opacity:.6;cursor:default}.unsaved-note{text-align:right;font-size:11px;color:var(--gray-mid);margin-top:8px}.history-view{display:flex;flex-direction:column;gap:16px}.history-title{font-size:18px;font-weight:600;color:var(--gray);margin-bottom:8px}.history-loading,.history-empty{padding:40px;text-align:center;color:var(--gray-mid)}.period-group{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.period-header{padding:10px 16px;background:var(--purple);color:var(--white);font-size:13px;font-weight:500}.history-row{border-bottom:1px solid var(--border)}.history-row:last-child{border-bottom:none}.history-summary{display:flex;align-items:center;gap:16px;padding:12px 16px;cursor:pointer;transition:background .1s}.history-summary:hover{background:var(--gray-light)}.history-dates{font-size:13px;font-weight:500;flex:1}.history-hours{font-size:13px;color:var(--gray);min-width:80px}.ot-badge{color:var(--amber);font-size:11px;font-weight:600}.history-status{font-size:12px;font-weight:500;min-width:80px}.late-badge{background:var(--coral-light);color:var(--coral);border-radius:3px;padding:1px 4px;font-size:10px}.history-expand{color:var(--gray-mid);font-size:11px}.returned-comment{padding:8px 16px;background:var(--amber-light);font-size:12px;border-left:3px solid var(--amber)}.history-detail{padding:12px 16px;background:#fafaf8}.detail-loading,.detail-empty{padding:16px;text-align:center;color:var(--gray-mid);font-size:13px}.expanded-grid-wrapper{overflow-x:auto}.expanded-grid{width:100%;border-collapse:collapse;font-size:12px;min-width:700px}.expanded-grid th{background:var(--teal);color:#fff;padding:6px;text-align:center;font-weight:500;font-size:11px}.expanded-grid th:first-child{text-align:left;padding-left:10px}.expanded-grid td{border:1px solid var(--border);padding:5px 6px;text-align:center}.expanded-grid .row-label{text-align:left;padding-left:10px}.expanded-grid .col-total{background:var(--gray-light);font-weight:600}.expanded-grid .day-totals-row td{background:var(--purple-light);font-weight:600}.expanded-grid .day-totals-row .high{background:var(--amber-light)}.receipt-links{display:inline-flex;gap:4px;margin-left:4px}.receipt-links a{font-size:12px}.timeoff-view{display:flex;flex-direction:column;gap:16px}.timeoff-summary-shell{width:100%;max-width:1100px;margin:24px auto 0;display:flex;flex-direction:column;gap:16px}.timeoff-summary-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.timeoff-summary-header-left{display:flex;flex-direction:column;align-items:center;gap:6px}.timeoff-summary-title{margin:0;font-size:18px;font-weight:600;color:var(--gray);line-height:1.2}.timeoff-summary-subtitle{font-size:13px;color:var(--gray-mid)}.timeoff-year-nav{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.timeoff-year-btn{border:1px solid var(--border);background:var(--white);color:var(--gray);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.timeoff-year-btn:hover{background:var(--gray-light)}.timeoff-year-pill{min-width:56px;text-align:center;font-weight:600;font-size:14px;color:var(--gray)}.timeoff-table-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 14px 12px}.timeoff-table-wrap{overflow-x:auto}.timeoff-table.refined{width:100%;border-collapse:collapse;font-size:13px;min-width:980px;margin:0 auto}.timeoff-table.refined thead th{background:var(--teal);color:var(--white);padding:8px 6px;text-align:center;font-weight:500;font-size:12px}.timeoff-table.refined th,.timeoff-table.refined td{border:1px solid var(--border);padding:7px 6px;text-align:center;white-space:nowrap;background:var(--white)}.timeoff-sticky-col{position:sticky;left:0;z-index:2;background:var(--white);text-align:left!important;padding-left:10px!important}.timeoff-table.refined thead .timeoff-sticky-col{background:var(--teal);color:var(--white);z-index:3}.timeoff-table.refined tbody .timeoff-sticky-col{background:#fafaf8}.timeoff-type-cell{width:auto;min-width:180px;padding-right:16px!important}.timeoff-type-badge-row{display:flex;align-items:center;gap:10px}.timeoff-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;border-radius:4px;background:var(--teal-light);color:var(--teal);font-size:10px;font-weight:600;padding:0 5px}.timeoff-type-label{font-weight:500;color:var(--gray);white-space:nowrap}.timeoff-number-cell{color:var(--gray)}.timeoff-table.refined td{padding:7px 8px}.timeoff-total-cell,.timeoff-total-used-cell,.timeoff-leftover-cell{font-weight:600;background:var(--gray-light)!important}.timeoff-informational{color:var(--gray-mid)}.timeoff-legend{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--gray-mid)}.timeoff-legend-item{line-height:1.45}.timeoff-state-card{max-width:1100px;margin:0 auto;padding:24px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}.timeoff-error-card h2{margin:0 0 8px}@media (max-width: 900px){.timeoff-summary-shell{max-width:100%}.timeoff-summary-title{font-size:17px}.timeoff-year-nav{gap:8px}.timeoff-table-card{padding:10px}}.timeoff-action-row{display:flex;justify-content:center}.btn-request-timeoff{padding:10px 18px;border:none;border-radius:var(--radius);background:var(--teal);color:var(--white);cursor:pointer;font-size:14px;font-weight:500}.btn-request-timeoff:hover{background:var(--teal-mid)}.timeoff-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.timeoff-modal{width:100%;max-width:760px;background:var(--white);border-radius:12px;box-shadow:0 20px 60px #0000002e;overflow:hidden}.timeoff-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.timeoff-modal-title{margin:0;font-size:18px;font-weight:600;color:var(--gray)}.timeoff-modal-subtitle{margin-top:4px;font-size:13px;color:var(--gray-mid)}.timeoff-modal-close{border:none;background:transparent;color:var(--gray-mid);font-size:24px;line-height:1;cursor:pointer;padding:0 4px}.timeoff-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:16px}.timeoff-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.timeoff-form-field{display:flex;flex-direction:column;gap:6px}.timeoff-form-field label{font-size:13px;font-weight:500;color:var(--gray)}.timeoff-form-field select,.timeoff-form-field input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;font-family:var(--font);background:var(--white);color:var(--gray)}.timeoff-placeholder-box{border:1px dashed var(--border);background:#fafaf8;border-radius:10px;padding:24px;color:var(--gray-mid);font-size:13px;text-align:center}.timeoff-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px 18px;border-top:1px solid var(--border)}@media (max-width: 760px){.timeoff-form-grid{grid-template-columns:1fr}.timeoff-modal{max-width:100%}}.timeoff-form-error{background:var(--coral-light);border:1px solid #f0b4a2;color:var(--coral);border-radius:var(--radius);padding:10px 12px;font-size:13px}.timeoff-request-preview{display:flex;flex-direction:column;gap:12px}.timeoff-request-preview-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.timeoff-request-preview-title{font-size:14px;font-weight:600;color:var(--gray)}.timeoff-request-preview-total{font-size:13px;color:var(--gray)}.timeoff-request-preview-table-wrap{overflow-x:auto}.timeoff-request-preview-table{width:100%;border-collapse:collapse;min-width:520px;font-size:13px}.timeoff-request-preview-table th{background:var(--teal);color:var(--white);padding:8px 10px;text-align:left;font-size:12px;font-weight:500}.timeoff-request-preview-table td{border:1px solid var(--border);padding:10px;background:var(--white)}.timeoff-preview-code-cell{display:flex;align-items:center;gap:8px}.timeoff-hours-select{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:13px;font-family:var(--font);background:var(--white);color:var(--gray)}.timeoff-form-note{background:var(--amber-light);border:1px solid #f3d49d;color:var(--amber);border-radius:var(--radius);padding:10px 12px;font-size:13px;display:flex;flex-direction:column;gap:4px}.timeoff-validation-box{background:var(--amber-light);border:1px solid #f3d49d;color:var(--amber);border-radius:var(--radius);padding:10px 12px;font-size:13px}.timeoff-validation-box strong{display:block;margin-bottom:6px}.timeoff-validation-box ul{margin:0;padding-left:18px}.timeoff-validation-box li{margin:3px 0}.timeoff-payload-note{margin-top:10px;font-size:12px;color:var(--gray-mid)}.timeoff-balance-note{background:var(--blue-light);border:1px solid #c7dcf5;color:var(--blue);border-radius:var(--radius);padding:10px 12px;font-size:13px}.timeoff-submit-error{background:var(--coral-light);border:1px solid #f0b4a2;color:var(--coral);border-radius:var(--radius);padding:10px 12px;font-size:13px}.timeoff-submit-success{background:var(--teal-light);border:1px solid #b9e7d8;color:var(--teal);border-radius:var(--radius);padding:10px 12px;font-size:13px}.timeoff-duplicate-error{background:var(--amber-light);border:1px solid #f3d49d;color:var(--amber);border-radius:var(--radius);padding:10px 12px;font-size:13px}.timeoff-history-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.timeoff-history-header{margin-bottom:12px}.timeoff-history-title{font-size:16px;font-weight:600;color:var(--gray);margin:0 0 4px}.timeoff-history-subtitle{font-size:13px;color:var(--gray-mid)}.timeoff-history-empty{padding:18px 4px;color:var(--gray-mid);font-size:13px}.timeoff-history-list{display:flex;flex-direction:column;gap:10px}.timeoff-history-row{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fafaf8}.timeoff-history-main{display:flex;flex-direction:column;gap:6px}.timeoff-history-id-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.timeoff-history-request-id{font-weight:600;color:var(--gray)}.timeoff-history-status{font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;border:1px solid transparent}.timeoff-history-status.status-submitted{background:var(--blue-light);color:var(--blue)}.timeoff-history-status.status-approved{background:var(--teal-light);color:var(--teal)}.timeoff-history-status.status-returned{background:var(--amber-light);color:var(--amber)}.timeoff-history-status.status-cancelled,.timeoff-history-status.status-cancel-requested{background:var(--gray-light);color:var(--gray)}.timeoff-history-status.status-draft{background:var(--gray-light);color:var(--gray-mid)}.timeoff-history-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--gray);font-size:13px}.timeoff-history-submitted{font-size:12px;color:var(--gray-mid)}.timeoff-history-comment{background:var(--amber-light);border-left:3px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;padding:8px 10px;font-size:12px;color:var(--gray)}.manager-timeoff-shell{display:flex;justify-content:center}.manager-timeoff-card{width:720px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.manager-timeoff-header{margin-bottom:12px}.manager-timeoff-row{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fafaf8}.manager-timeoff-id-row{display:flex;justify-content:space-between}.manager-timeoff-status{padding:4px 10px;border-radius:999px;font-size:12px}.manager-timeoff-meta{font-size:13px;display:flex;gap:6px;flex-wrap:wrap}.manager-timeoff-shell{padding:20px;max-width:1200px;margin:0 auto;width:100%}.manager-timeoff-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.manager-timeoff-header{margin-bottom:14px}.manager-timeoff-header h3{margin:0 0 4px;font-size:18px;color:var(--gray)}.manager-timeoff-subtitle{font-size:13px;color:var(--gray-mid)}.manager-timeoff-layout{display:grid;grid-template-columns:420px 1fr;gap:16px;align-items:start}.manager-timeoff-list{display:flex;flex-direction:column;gap:10px}.manager-timeoff-row{width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fafaf8;cursor:pointer}.manager-timeoff-row.selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal-light);background:var(--teal-light)}.manager-timeoff-main{display:flex;flex-direction:column;gap:6px}.manager-timeoff-id-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.manager-timeoff-request-id{font-weight:600;color:var(--gray)}.manager-timeoff-status{font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;border:1px solid transparent}.manager-timeoff-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--gray)}.manager-timeoff-submitted{font-size:12px;color:var(--gray-mid)}.manager-timeoff-detail{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--white);min-height:320px}.manager-timeoff-detail-empty{color:var(--gray-mid);font-size:13px;padding:8px 0}.manager-timeoff-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.manager-timeoff-detail-id{font-size:18px;font-weight:700;color:var(--gray);margin-bottom:6px}.manager-timeoff-detail-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--gray)}.manager-timeoff-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#fafaf8;border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:14px;font-size:13px}.manager-timeoff-lines-wrap{overflow-x:auto;margin-bottom:14px}.manager-timeoff-lines-table{width:100%;border-collapse:collapse;min-width:420px;font-size:13px}.manager-timeoff-lines-table th{background:var(--teal);color:var(--white);padding:8px 10px;text-align:left;font-size:12px;font-weight:500}.manager-timeoff-lines-table td{border:1px solid var(--border);padding:10px;background:var(--white)}.manager-timeoff-lines-empty{text-align:center;color:var(--gray-mid)}.manager-timeoff-comment-box{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.manager-timeoff-comment-box label{font-size:13px;font-weight:500;color:var(--gray)}.manager-timeoff-comment-box textarea{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;font-family:var(--font);resize:vertical;min-height:96px}.manager-timeoff-actions{display:flex;gap:12px;justify-content:flex-end}.manager-timeoff-error{background:var(--coral-light);border:1px solid #f0b4a2;color:var(--coral);border-radius:var(--radius);padding:10px 12px;font-size:13px;margin-top:10px}.manager-timeoff-success{background:var(--teal-light);border:1px solid #b9e7d8;color:var(--teal);border-radius:var(--radius);padding:10px 12px;font-size:13px;margin-top:10px}.manager-timeoff-returned-comment{margin-top:12px;background:var(--amber-light);border-left:4px solid var(--amber);padding:10px 12px;border-radius:0 var(--radius) var(--radius) 0;font-size:13px}@media (max-width: 980px){.manager-timeoff-layout,.manager-timeoff-detail-summary{grid-template-columns:1fr}}.manager-timesheet-headerbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;color:var(--gray)}.status-late{color:var(--amber);font-weight:600}.manager-summary-row td{background:#fafaf8;font-weight:600}.manager-status-group{display:inline-flex;align-items:center;gap:8px}.manager-resubmitted-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff4e5;color:#b26a00;font-size:12px;font-weight:600}.manager-timesheet-left{display:flex;flex-direction:column;gap:12px}.manager-filter-bar{display:flex;flex-direction:column;gap:10px}.manager-filter-statuses{display:flex;flex-wrap:wrap;gap:8px}.manager-filter-chip{border:1px solid var(--border);background:var(--white);color:var(--gray);font:inherit;font-weight:500;padding:8px 12px;border-radius:999px;cursor:pointer}.manager-filter-chip.active{background:var(--teal);color:var(--white);border-color:var(--teal)}.manager-filter-row{display:flex;flex-wrap:wrap;gap:8px}.manager-filter-row select,.btn-clear-filters{border:1px solid var(--border);background:var(--white);color:var(--ink);font:inherit;padding:9px 12px;border-radius:10px}.btn-clear-filters{cursor:pointer}
