:root{--bg:#f4f5f7;--surface:#fff;--text:#222;--text-muted:#666;--border:#ddd;--border-strong:#ccc;--primary:#06c;--primary-hover:#0052a3;--danger:#dc3545;--danger-hover:#c82333;--success:#28a745;--focus-ring:0 0 0 2px #fff,0 0 0 4px #06c;--radius:4px;--shadow-sm:0 1px 2px #0000000f}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#f4f5f7;background-color:var(--bg);color:#222;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}code{font-family:Courier New,Courier,monospace;font-size:.875rem}:focus-visible{outline:2px solid #06c;outline:2px solid var(--primary);outline-offset:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.App{background:var(--bg);min-height:100vh}.app-chrome{position:-webkit-sticky;position:sticky;top:0;z-index:100}.App-header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);padding:.5rem 1rem}.header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;max-width:100%;width:100%}.header-left{align-items:baseline;display:flex;flex-shrink:1;gap:.75rem;min-width:0}.App-header h1{color:var(--text);font-size:1.125rem;font-weight:600;margin:0}.header-subtitle{color:var(--text-muted);font-size:.875rem;font-weight:400}.header-right{align-items:center;display:flex;flex-shrink:1;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;min-width:0}.header-link{border:1px solid #0000;border-radius:var(--radius);color:var(--text);font-size:.875rem;padding:.4rem .7rem;text-decoration:none;transition:background-color .12s,border-color .12s;white-space:nowrap}.header-link:hover{background-color:#f5f5f5;border-color:var(--border)}.header-link.active{background-color:#eef4fb;border-color:#c5daf0;color:var(--primary);font-weight:600}.header-username-btn{background:#0000;border:1px solid #0000;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;display:inline-block;font-size:.8125rem;font-style:italic;margin-left:.15rem;padding:.4rem .7rem;text-decoration:none;transition:background-color .12s,border-color .12s;white-space:nowrap}.header-username-btn:hover{background-color:#f5f5f5;border-color:var(--border);color:var(--text)}.header-username-btn.active{background-color:#f0f0f0;border-color:var(--border-strong);color:var(--text);font-weight:500}.btn-header,button.btn.btn-header{background:#fff!important;border:1px solid var(--border);border-radius:var(--radius);color:#000!important;cursor:pointer;flex-shrink:0!important;font-size:.8125rem!important;font-weight:500!important;line-height:1.5!important;padding:.4rem .75rem;white-space:nowrap}.btn-header:hover,button.btn.btn-header:hover{background:#f5f5f5!important;border-color:var(--border-strong);color:#000!important}.App-main{margin:0 auto;max-width:1600px;padding:.75rem 1rem 1.25rem}.btn{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);box-sizing:border-box;color:var(--text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;justify-content:center;line-height:1.4;padding:.375rem .85rem;text-decoration:none;transition:background-color .12s,border-color .12s;white-space:nowrap;width:auto}.btn-block{display:flex;width:100%}.btn:hover:not(:disabled){background:#f0f0f0}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:#e8e8e8;border-color:var(--border-strong)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(.92)}.btn-sm{font-size:.75rem;line-height:1.2;min-height:1.9rem;padding:.3rem .6rem}.btn-header-action{align-items:center;box-sizing:border-box;display:inline-flex;font-size:.875rem;height:2.5rem;justify-content:center;padding:.25rem .75rem}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.75rem;padding:.25rem 0}.page-header h2{color:#333;font-size:1.25rem;margin:0}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.modal-actions{border-top:1px solid #eee;display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:.75rem;padding:.75rem;width:100%}.card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.card-header h2{color:var(--text);font-size:1.125rem;margin:0}.card-header h3{color:#555;font-size:1rem;margin:0}.form-group{margin-bottom:.65rem}.form-group label{color:var(--text);display:block;font-size:.875rem;font-weight:500;margin-bottom:.3rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);font-size:.875rem;padding:.4rem .55rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0066cc26;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:.5rem}.text-right{margin-top:.5rem;text-align:right}.badge{border:1px solid;border-radius:999px;display:inline-block;font-size:.75rem;font-weight:500;padding:.2rem .5rem;text-transform:capitalize}.badge-active{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.badge-terminated{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.list-item{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.75rem}.list-item:last-child{border-bottom:none}.list-item:hover{background-color:#f8f9fa}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.loading{color:var(--text-muted);padding:3rem 1.5rem}.mt-2{margin-top:1rem}.mb-2{margin-bottom:1rem}.text-center{text-align:center}@media (max-width:720px){.header-content{align-items:flex-start;flex-direction:column}.header-right{justify-content:flex-start;width:100%}.App-main{padding:.5rem}.header-subtitle{display:none}}.employees-table,.spreadsheet-table{background:#fff;border:1px solid #ddd;border-collapse:collapse;font-size:.875rem;width:100%}.employees-table.limited-view{width:100%}.employees-table thead,.spreadsheet-table thead{background-color:#f0f0f0}.employees-table th,.spreadsheet-table th{background-color:#f0f0f0;border:1px solid #ddd;border-bottom:2px solid #ccc;color:#333;font-weight:600;padding:.5rem;text-align:left;vertical-align:middle;white-space:nowrap}.employees-table th:last-child{border-right:none}.employees-table td,.spreadsheet-table td{border:1px solid #ddd;padding:.5rem;vertical-align:middle}.spreadsheet-table td{word-wrap:break-word;vertical-align:top}.employees-table td:nth-of-type(2){word-wrap:break-word}.employees-table td:last-child,.employees-table th:last-child{border-right:none;white-space:nowrap;width:1%}.employees-table tbody tr input[type=text],.employees-table tbody tr select{font-family:inherit}.employees-table tbody tr input[type=text]:focus,.employees-table tbody tr select:focus{background-color:#f9f9f9}.employees-table tr:nth-child(2n),.spreadsheet-table tbody tr:nth-child(2n){background-color:#fafafa}.spreadsheet-table tbody tr:nth-child(2n){background-color:#f9f9f9}.employees-table tr:hover,.spreadsheet-table tbody tr:hover{background-color:#f0f0f0}.spreadsheet-table tbody tr{background-color:#fff}.employees-table tr.row-selected{background-color:#fff3cd!important}.employees-table tr.row-selected:hover{background-color:#ffeaa7!important}.action-buttons,.document-actions,.request-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.action-buttons .btn,.document-actions .btn,.request-actions .btn{flex:0 0 auto}.modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 8px 28px #0000002e;max-height:90vh;max-width:640px;overflow-y:auto;padding:1rem 1.25rem;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.modal-header h3{font-size:1.125rem;margin:0}.modal-close{align-items:center;background:none;border:1px solid #ccc;color:#333;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.25rem;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.modal-close:hover{background:#f0f0f0}.loading{color:#666;font-size:1rem;padding:2rem;text-align:center}.empty-state{padding:3rem 2rem;text-align:center}.empty-state-content{margin:0 auto;max-width:500px}.empty-state-title{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.empty-state-message{color:#666;font-size:.9375rem;line-height:1.6;margin:0}.btn-link{display:inline;font-family:inherit;font-size:inherit;white-space:normal;width:auto}.btn-link:hover{text-decoration:none}.login-container{align-items:center;background:radial-gradient(ellipse at top,#0066cc0f,#0000 55%),#f4f5f7;background:radial-gradient(ellipse at top,#0066cc0f,#0000 55%),var(--bg,#f4f5f7);display:flex;justify-content:center;min-height:calc(100vh - 3.5rem);padding:1.25rem}.login-card{background:#fff;border:1px solid #ddd;border:1px solid var(--border,#ddd);border-radius:8px;box-shadow:0 6px 24px #0000000f;max-width:400px;padding:2rem;width:100%}.login-card h2{color:#222;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.login-footer{margin-top:1.25rem;text-align:center}.login-submit{font-weight:600;margin-top:.25rem;padding:.55rem .85rem;width:100%}.required-mark{color:#dc3545}.error-message{border-radius:4px;padding:.5rem}.login-error{background:#fff5f5;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:1rem;padding:.75rem}.login-error-message{color:#721c24;font-size:.875rem;line-height:1.5;margin-bottom:0}.success-message{border-radius:4px;padding:.65rem .75rem}.change-password-container{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:2rem 1rem}.change-password-card{background:#fff;border:1px solid #ddd;max-width:500px;padding:2rem;width:100%}.change-password-card h2{color:#333;font-size:1.5rem;margin:0 0 1rem;text-align:center}.change-password-message{background:#fff3cd;border:1px solid #ffc107;color:#856404;font-size:.875rem;margin-bottom:1.5rem;padding:.75rem;text-align:center}.change-password-card .form-group{margin-bottom:1rem}.change-password-card .form-group label{color:#333;display:block;font-weight:500;margin-bottom:.25rem}.change-password-card .form-group input{border:1px solid #ddd;font-size:.875rem;padding:.5rem;width:100%}.change-password-card .form-group input:focus{border-color:#06c;outline:none}.change-password-card .form-group small{display:block;margin-top:.25rem}.change-password-card .error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.5rem}.change-password-card .btn{font-size:1rem;font-weight:500;padding:.75rem;width:100%}.forgot-password-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.forgot-password-card{background:#fff;border:1px solid #ddd;max-width:400px;padding:1.5rem;width:100%}.forgot-password-card h2{color:#333;font-size:1.5rem;margin:0 0 1rem}.forgot-password-footer{margin-top:1rem;text-align:center}.forgot-password-card .btn{font-weight:600;padding:.55rem .85rem;width:100%}.btn-link{background:none;border:none;color:#06c;cursor:pointer;font-size:.875rem;padding:0;text-decoration:underline}.btn-link:hover{color:#0052a3}.success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.error-message,.success-message{font-size:.875rem;margin-bottom:1rem;padding:.75rem}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.info-box{background:#fff3cd;border:1px solid #ffc107;color:#856404;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.error-modal{animation:errorModalSlideIn .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;width:90%;z-index:10001}@keyframes errorModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.error-modal-header h3{color:#b02a37;font-size:1.25rem;font-weight:600;margin:0}.error-modal-body{padding:1.5rem}.error-modal-body p{color:#555;font-size:.9375rem;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.error-modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.error-modal-overlay.modal-overlay{animation:errorOverlayFadeIn .2s ease-out;background:#00000080;z-index:10000}@keyframes errorOverlayFadeIn{0%{opacity:0}to{opacity:1}}.error-modal .modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.error-modal .modal-close:hover{background-color:#f0f0f0;color:#333}.permission-preview-banner{align-items:center;background:#fff8e6;border-bottom:1px solid #e6d19a;color:#5c4a12;display:flex;font-size:.8125rem;gap:.75rem;justify-content:space-between;line-height:1.4;padding:.5rem 1rem}.permission-preview-banner-text{align-items:baseline;display:flex;flex-wrap:wrap;gap:.35rem .6rem;min-width:0}.permission-preview-banner-text strong{color:#3d320c;font-weight:700}.permission-preview-banner-text em{font-style:normal;font-weight:600}.permission-preview-exit{background:#fff;border:1px solid #c4a84a;color:#3d320c;flex-shrink:0}.permission-preview-exit:hover{background:#fff3cc;border-color:#a88b2e}@media (max-width:640px){.permission-preview-banner{align-items:stretch;flex-direction:column}.permission-preview-exit{align-self:flex-end}}
/*# sourceMappingURL=main.792523c5.css.map*/