.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.auth-card h2{color:#333;font-size:24px;font-weight:600;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;font-size:14px;margin-bottom:8px}.form-group input{font-size:14px;padding:12px}.form-group input:focus{box-shadow:0 0 0 3px #667eea1a}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:transform .2s;width:100%}.btn-submit:hover:not(:disabled){transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.error-message{color:#dc3545}.error-message,.success-message{font-size:14px;margin-top:5px;text-align:center}.success-message{color:#28a745}.auth-links{font-size:14px;margin-top:20px;text-align:center}.auth-links a{color:#667eea;font-weight:500;text-decoration:none}.auth-links a:hover{text-decoration:underline}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;display:inline-block;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:slideIn .3s ease-out}@media (max-width:600px){.auth-card{padding:30px 20px}.auth-card h2{font-size:20px;margin-bottom:20px}.form-group{margin-bottom:15px}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;max-width:400px;padding:2rem;width:100%}.login-form h1{color:#333;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.btn-login{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:opacity .3s;width:100%}.btn-login:hover{opacity:.9}.dashboard-container{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-container h1{color:#333;margin-bottom:2rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;transition:transform .2s}.card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.card h3{color:#666;font-size:.95rem;margin-bottom:1rem}.stat{color:#1890ff;font-size:2.5rem;font-weight:700}.employees-container{margin:0 auto;max-width:1200px;padding:2rem}.employees-container h1{color:#333;margin-bottom:2rem}.payslip-renderer-sheet{background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;color:#111827;height:297mm;margin:0 auto;padding:20mm;width:210mm}@media screen{.payslip-renderer-sheet{height:auto;min-height:1040px;width:820px}}@media (max-width:900px){.payslip-renderer-sheet{padding:16px;width:100%}}.payslip-renderer-field,.payslip-renderer-zone{box-sizing:border-box}.payslip-renderer-value{box-sizing:border-box;display:flex;gap:8px;line-height:1.4}.payslip-renderer-value span{color:inherit}.payslip-renderer-value strong{color:inherit;font-weight:700}.payslip-renderer-logo{align-items:center;border:1px solid #d1d5db;box-sizing:border-box;color:#6b7280;display:flex;justify-content:center;overflow:hidden}.payslip-renderer-logo img{height:100%;object-fit:contain;width:100%}.payslip-renderer-columns{grid-gap:16px;box-sizing:border-box;display:grid;gap:16px;width:100%}.payslip-renderer-column{min-width:0;position:relative}.payslip-renderer-table{border-collapse:collapse;table-layout:fixed;width:100%}.payslip-renderer-table td,.payslip-renderer-table th{border:1px solid #d1d5db;overflow-wrap:anywhere;padding:8px;vertical-align:top}.payslip-renderer-table th{background:#f3f4f6;font-weight:700;text-align:left}.payslip-renderer-table td:last-child,.payslip-renderer-table th:last-child{text-align:right}.payslip-renderer-table.no-border td,.payslip-renderer-table.no-border th{border:0}.payslip-renderer-empty{background:#fff;border:1px dashed #d1d5db;color:#6b7280;padding:32px;text-align:center}.payslip-renderer-custom-text{word-wrap:break-word;line-height:1.5;overflow-wrap:break-word;text-align:left;white-space:pre-wrap}@page{size:A4;margin:0}@media print{body,html{background:#fff!important;margin:0!important;min-height:297mm;padding:0!important;width:210mm}body *{visibility:hidden}.payslip-print-area,.payslip-print-area *{visibility:visible}.payslip-print-area{align-items:flex-start;background:#fff;display:flex!important;height:auto!important;inset:0;justify-content:center;min-height:297mm!important;overflow:visible!important;padding:0!important;position:absolute;width:210mm!important}.payslip-print-area>div{background:#fff!important;margin:0!important;width:210mm!important}.payslip-renderer-sheet{border:0;box-shadow:none;height:auto;margin:0 auto;min-height:297mm;padding:12mm;print-color-adjust:exact;-webkit-print-color-adjust:exact;width:210mm!important}}.payroll-management{width:100%}.payslip-preview{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:20px}.payslip-header{border-bottom:2px solid #333;margin-bottom:20px;padding-bottom:20px}.payslip-header h2{font-size:20px;font-weight:700;margin:10px 0 5px}.payslip-header p{color:#666;font-size:14px;margin:0}.logo-placeholder{align-items:center;background-color:#f0f0f0;border:2px dashed #999;color:#666;display:flex;font-size:12px;font-weight:700;height:100px;justify-content:center;width:100px}.payslip-preview .ant-card{background-color:#fff;margin-bottom:16px}.payslip-preview p{font-size:13px;margin-bottom:8px}.payslip-preview strong{color:#333;font-weight:600}.payslip-print-area{display:none}@media print{.payslip-print-area{display:block}}.payslip-template-builder{padding:20px}.payslip-template-builder .template-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.payslip-template-builder .template-header h1{margin:0}.payslip-template-builder .available-fields{max-height:600px;overflow-y:auto}.builder-workspace{align-items:flex-start}.payslip-template-builder .designer-scroll-column{max-height:66vh;overflow-y:auto;padding-right:8px}.payslip-template-builder .designer-scroll-column::-webkit-scrollbar{width:8px}.payslip-template-builder .designer-scroll-column::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.payslip-template-builder .header-template-tool{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin-bottom:14px;padding:10px}.payslip-template-builder .available-fields .field-item{align-items:center;background:#eef6ff;border:1px solid #9bc7f5;border-radius:4px;cursor:move;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px;padding:8px}.payslip-template-builder .available-fields .field-item:hover{background:#dcefff;border-color:#4f9fdd}.payslip-template-builder .template-zone{background:#fafafa;border:2px dashed #d9d9d9;border-radius:4px;margin-bottom:16px;min-height:120px;padding:12px}.payslip-template-builder .template-zone.drag-over{background:#f0f5ff;border-color:#1890ff}.payslip-template-builder .zone-field{align-items:center;background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;padding:8px}.payslip-template-builder .designer-item{margin-bottom:10px;position:relative}.payslip-template-builder .designer-item-delete{position:absolute;right:6px;top:6px;z-index:1}.payslip-template-builder .zone-field:hover{background:#fafafa}.payslip-template-builder .zone-field.selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.payslip-template-builder .drag-handle{color:#8c8c8c;cursor:move}.payslip-template-builder .field-type-tag{font-size:10px;margin-left:6px}.payslip-template-builder .always-preview,.payslip-template-builder .field-options,.payslip-template-builder .section-options{position:sticky;top:0}.payslip-template-builder .section-options{margin-top:16px;top:320px}.payslip-template-builder .option-label{color:#595959;font-size:12px;font-weight:600;margin:0 0 6px}.payslip-template-builder .template-preview-sheet{background:#fff;border:1px solid #d9d9d9;box-shadow:0 4px 18px #0f172a14;color:#262626;font-size:12px;margin:0 auto;max-width:920px;min-height:520px;padding:24px}.payslip-template-builder .preview-zone{border-bottom:1px solid #f0f0f0;padding:8px 0}.payslip-template-builder .preview-zone:last-child{border-bottom:0}.payslip-template-builder .preview-zone-header{text-align:center}.payslip-template-builder .preview-field{margin-bottom:8px}.payslip-template-builder .preview-column-container{grid-gap:18px;align-items:start;display:grid;gap:18px}.payslip-template-builder .preview-column{min-width:0}.payslip-template-builder .preview-logo{align-items:center;background:#eef6ff;border:1px solid #8fb8df;border-radius:4px;color:#1f5d99;display:inline-flex;justify-content:center;letter-spacing:0;overflow:hidden}.payslip-template-builder .preview-logo.has-image{background:#0000;border-color:#0000;color:inherit}.payslip-template-builder .preview-logo img{display:block;height:100%;object-fit:contain;width:100%}.payslip-template-builder .preview-value{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(90px,1fr) minmax(120px,1.3fr);min-width:0}.payslip-template-builder .preview-value span{color:#6b7280}.payslip-template-builder .preview-value strong{color:#111827;font-size:inherit;overflow-wrap:anywhere}.payslip-template-builder .preview-table{border-collapse:collapse;margin-top:4px;table-layout:fixed;width:100%}.payslip-template-builder .preview-table td,.payslip-template-builder .preview-table th{border:1px solid #d9d9d9;overflow-wrap:anywhere;padding:5px;vertical-align:top}.payslip-template-builder .preview-table.no-border td,.payslip-template-builder .preview-table.no-border th{border-color:#0000}.payslip-template-builder .preview-table th{background:#f5f7fa;color:#374151}.payslip-template-builder .preview-empty{color:#bfbfbf;font-size:11px;text-align:center;text-transform:capitalize}.payslip-template-builder .preview-muted{color:#bfbfbf}.payslip-template-builder .bottom-preview{margin-top:16px}.payslip-template-builder .field-chip{min-width:0;width:100%}.payslip-template-builder .field-chip span{overflow-wrap:anywhere}.payslip-template-builder .column-container,.payslip-template-builder .designer-table-wrap{background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;padding:10px}.payslip-template-builder .column-container.selected,.payslip-template-builder .designer-table-wrap.selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.payslip-template-builder .column-container-title,.payslip-template-builder .designer-table-title{align-items:center;color:#4b5563;display:flex;font-size:12px;font-weight:600;gap:8px;margin-bottom:10px;padding-right:28px}.payslip-template-builder .column-container-grid{grid-gap:10px;align-items:stretch;display:grid;gap:10px}.payslip-template-builder .column-drop-zone{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:4px;min-height:88px;padding:8px}.payslip-template-builder .column-label{color:#64748b;font-size:11px;margin-bottom:8px}.payslip-template-builder .drop-placeholder{color:#94a3b8;display:block;font-size:12px;padding:12px 4px;text-align:center}.payslip-template-builder .nested-field,.payslip-template-builder .table-cell-field{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin-bottom:6px;padding:6px}.payslip-template-builder .nested-field.selected,.payslip-template-builder .table-cell-field.selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.payslip-template-builder .designer-table{border-collapse:collapse;table-layout:fixed;width:100%}.payslip-template-builder .designer-table td{background:#f8fafc;border:1px dashed #cbd5e1;min-height:64px;padding:8px;vertical-align:top}.payslip-template-builder .designer-table.no-border td{background:#fff;border-color:#0000}.payslip-template-builder .table-cell-field{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:0}.payslip-template-builder .template-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.payslip-template-builder .template-card{border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;transition:all .3s ease}.payslip-template-builder .template-card:hover{box-shadow:0 2px 8px #00000026}.payslip-template-builder .template-card-cover{align-items:center;background:#f0f2f5;color:#666;display:flex;font-size:12px;height:200px;justify-content:center}.payslip-template-builder .template-card-content{padding:12px}.payslip-template-builder .template-card-title{font-weight:700;margin-bottom:4px}.payslip-template-builder .template-card-desc{color:#999;font-size:12px}.payslip-template-builder .category-title{color:#666;font-size:12px;font-weight:700;margin-bottom:8px;text-transform:uppercase}.payslip-template-builder .empty-state{color:#999;padding:40px 20px;text-align:center}.payslip-template-builder .modal-builder{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr}@media (max-width:768px){.payslip-template-builder .modal-builder{grid-template-columns:1fr}.payslip-template-builder .template-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.payslip-template-builder .always-preview,.payslip-template-builder .field-options,.payslip-template-builder .section-options{position:static}.payslip-template-builder .designer-scroll-column{max-height:none;overflow:visible;padding-right:0}.payslip-template-builder .column-container-grid,.payslip-template-builder .preview-column-container{grid-template-columns:1fr!important}}body{background:#f4f7fb;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0}#root,.app-shell{min-height:100vh}.app-shell{background:radial-gradient(circle at top left,#0ea5e924,#0000 28%),linear-gradient(180deg,#f8fbff,#eef4f8)}.app-shell__sider.ant-layout-sider{background:linear-gradient(180deg,#0f172a,#162033);display:flex;flex-direction:column;padding:24px 18px}.app-shell__brand{align-items:center;display:flex;gap:14px;margin-bottom:20px}.app-shell__brand-mark{align-items:center;background:linear-gradient(135deg,#22c55e,#0ea5e9);border-radius:14px;color:#fff;display:flex;font-size:20px;height:48px;justify-content:center;width:48px}.app-shell__brand-title.ant-typography,.app-shell__section-title.ant-typography,.app-shell__user-name.ant-typography{color:#fff;margin:0}.app-shell__brand-subtitle.ant-typography{color:#ffffffb8}.app-shell__user{background:#ffffff0f;border-radius:16px;margin-bottom:20px;padding:14px 16px}.app-shell__section{margin-bottom:18px}.app-shell__menu.ant-menu{background:#0000;border-inline-end:none}.app-shell__menu .ant-menu-item{border-radius:12px;color:#ffffffe0;height:auto;line-height:1.2;margin-block:8px;padding-bottom:10px;padding-top:10px}.app-shell__menu .ant-menu-item-selected{background:#0ea5e92e}.app-shell__menu .ant-menu-item .ant-menu-title-content{overflow:visible}.app-shell__nav-item{align-items:center;display:flex;gap:10px;justify-content:space-between}.app-shell__crud-tag{font-size:11px;margin-inline-end:0}.app-shell__section--access{flex:1 1;min-height:0}.app-shell__access-list{background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;padding:10px 12px}.app-shell__access-row{align-items:center;border-bottom:1px solid #ffffff12;display:flex;gap:12px;justify-content:space-between;padding:8px 0}.app-shell__access-row:last-child{border-bottom:none}.app-shell__access-label{color:#ffffffe0;font-size:13px}.app-shell__logout{border-radius:12px;margin-top:12px}.app-shell__main.ant-layout{background:#0000}.app-shell__header.ant-layout-header{align-items:center;background:#0000;display:flex;height:82px;justify-content:space-between;line-height:normal;padding:20px 28px 0}.app-shell__header-spacer{flex:1 1}.app-shell__profile-trigger{align-items:center;background:#ffffffe0;border:0;border-radius:18px;box-shadow:0 10px 24px #0f172a14;cursor:pointer;display:inline-flex;gap:12px;padding:8px 14px}.app-shell__profile-meta{align-items:flex-start;display:flex;flex-direction:column}.app-shell__profile-name{color:#0f172a;font-size:14px;font-weight:600}.app-shell__profile-role{color:#64748b;font-size:11px;letter-spacing:.08em}.app-shell__content{min-height:100vh;padding:0 0 24px}.roles-matrix{width:100%}.roles-matrix__scroll{border-top:1px solid #e5e7eb;overflow-x:auto;overflow-y:hidden}.roles-matrix__table{border-collapse:initial;border-spacing:0;min-width:1120px;width:100%}.roles-matrix__table thead th{background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#2f3640;font-size:18px;font-weight:700;padding:20px;text-align:left}.roles-matrix__table tbody td{background:#fff;border-bottom:1px solid #e5e7eb;padding:18px 20px;vertical-align:top}.roles-matrix__role-col{left:0;min-width:220px;position:sticky;z-index:2}.roles-matrix__role-cell{background:#fff;left:0;min-width:220px;position:sticky;z-index:1}.roles-matrix__role-cell--module{color:#2f3640;font-weight:600}.roles-matrix__module-col{min-width:220px}.roles-matrix__action-col{min-width:120px;text-align:center!important}.roles-matrix__module-cell{min-width:220px}.roles-matrix__role-name{color:#2f3640;font-size:18px;font-weight:600;margin-bottom:10px}.roles-matrix__role-meta{display:flex;flex-wrap:wrap;gap:8px}.roles-matrix__crud-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.roles-matrix__cell{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:14px;color:#64748b;display:inline-flex;font-size:15px;gap:8px;min-width:70px;padding:10px 14px}.roles-matrix__cell--active{background:#effef3;border-color:#86efac;color:#166534}.roles-matrix__empty{color:#667085;padding:32px!important;text-align:center}.roles-matrix__form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.roles-matrix--editor .roles-matrix__table{min-width:720px}.roles-matrix--editor .roles-matrix__role-cell,.roles-matrix--editor .roles-matrix__role-col{min-width:220px}.roles-matrix__editor-checkbox{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:14px;display:flex;justify-content:center;padding:10px 14px;width:100%}.roles-matrix__editor-checkbox.ant-checkbox-wrapper-checked{background:#effef3;border-color:#86efac;color:#166534}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1rem}
/*# sourceMappingURL=main.eb9cd587.css.map*/