@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap);:root{--bg-page:#edf1f7;--bg-card:#fff;--bg-sidebar:#0b1736;--bg-sidebar-soft:#10214a;--bg-accent:#2c5be6;--bg-accent-dark:#1f48c2;--text-main:#1c2a44;--text-soft:#6e7f9f;--text-on-dark:#dbe6ff;--border-soft:#dce3ef;--shadow-soft:0 10px 30px #0f235514;--radius-lg:22px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}#root,body,html{margin:0;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 10% 10%,#f7f9ff 0,#0000 35%),radial-gradient(circle at 90% 90%,#e7ecfa 0,#0000 30%),#edf1f7;background:radial-gradient(circle at 10% 10%,#f7f9ff 0,#0000 35%),radial-gradient(circle at 90% 90%,#e7ecfa 0,#0000 30%),var(--bg-page);color:#1c2a44;color:var(--text-main);font-family:Manrope,sans-serif}button,input,select,textarea{font-family:inherit}.login-container{display:grid;min-height:100vh;padding:28px;place-items:center}.login-container form{animation:login-pop .4s ease;background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:30px 28px;text-align:left;width:min(460px,100%)}.login-container h2{color:var(--text-main);font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.login-container p{color:var(--text-soft);font-size:.95rem;margin:0 0 22px}.login-container .form-group{margin-bottom:16px}.login-container .form-group label{color:#3e4f73;display:block;font-size:.85rem;font-weight:700;margin-bottom:7px}.login-container .form-group input{background:#fff;border:1px solid #cfd8e8;border-radius:var(--radius-sm);color:var(--text-main);font-size:.95rem;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.login-container .form-group input:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be626;outline:none}.login-container button{background:linear-gradient(135deg,var(--bg-accent) 0,#3f76ff 100%);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;margin-top:6px;padding:12px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.login-container button:hover{background:linear-gradient(135deg,var(--bg-accent-dark) 0,#2f65f2 100%);box-shadow:0 10px 20px #2c5be647;transform:translateY(-1px)}.error{color:#cb2f50;font-size:.9rem}.login-mode-toggle{background:#eef2fb;border-radius:var(--radius-sm);display:flex;gap:4px;margin-bottom:20px;padding:4px}.login-mode-btn{background:#0000;border:none;border-radius:6px;color:var(--text-soft);cursor:pointer;flex:1 1;font-size:.88rem;font-weight:700;padding:9px 0;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.login-mode-btn.active{box-shadow:0 1px 4px #2c5be62e}.login-mode-btn.active,.login-mode-btn.active:hover{background:#fff;color:var(--bg-accent)}.login-mode-btn:not(.active):hover{background:#dde5f8;color:#1a3a8f}.login-hint{color:var(--text-soft);font-size:.82rem;margin:-6px 0 14px}@keyframes login-pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin:0 0 14px}.form-group input,.form-group select{border:1px solid #cfd8e8;border-radius:10px;padding:10px 12px;width:100%}.form-group select{appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%233f5276' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;color:#1f2f50;cursor:pointer;font-size:.9rem}.form-group input:focus,.form-group select:focus{border-color:#5a7fff;box-shadow:0 0 0 3px #5a7fff26;outline:none}.input-readonly{background:#f0f3fa!important;color:#6e82a8!important;cursor:not-allowed!important}.tools-multiselect{background:#f7f9ff;border:1px solid #cfd8e8;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;min-height:44px;padding:10px}.tool-checkbox{align-items:center;background:#fff;border:1px solid #c0cce4;border-radius:20px;color:#3f5276;cursor:pointer;display:inline-flex;font-size:.83rem;line-height:1;padding:6px 12px;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.tool-checkbox input[type=checkbox]{accent-color:#3b6ff5;accent-color:var(--bg-accent,#3b6ff5);cursor:pointer;flex-shrink:0;height:14px;margin:0 7px 0 0;padding:0;position:relative;top:-1px;vertical-align:middle;width:14px}.tool-checkbox.selected{background:#e8eeff;border-color:#3b6ff5;color:#1e3a8a;font-weight:600}.no-tools{color:#9aabcc;font-size:.83rem}.tools-list{display:flex;flex-wrap:wrap;gap:6px}.tool-tag{align-items:center;background:#ebf0ff;border-radius:15px;color:#2d4a89;display:inline-flex;gap:5px;padding:6px 10px}.tool-tag button{background:none;border:none;color:#be3151;cursor:pointer;font-size:15px}.form-actions button[type=submit]{background:linear-gradient(135deg,var(--bg-accent) 0,#4b7bff 100%)}.modal-overlay{align-items:center;background-color:#0a142d80;bottom:0;display:flex;justify-content:center;left:0;padding:14px;position:fixed;right:0;top:0;z-index:1000}.modal-content,.modal-overlay{-webkit-overflow-scrolling:touch;overflow-y:auto}.modal-content{background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:auto 0;max-height:90vh;max-width:90%;padding:22px;width:500px}.modal-content h2{color:#1f2f50;margin:0 0 10px}.modal-content p{color:#48618f;margin:0 0 8px}.form-group{margin-bottom:14px;text-align:left}.form-group label{color:#3f5276;display:block;font-size:.85rem;font-weight:700;margin-bottom:7px}.form-group input,.form-group select,.form-group textarea{border:1px solid #cfd8e8;border-radius:10px;padding:10px 12px;width:100%}.form-group textarea{resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-actions button{border:none;border-radius:10px;cursor:pointer;font-weight:700;padding:10px 20px}.form-actions button[type=submit]{background:#d23b58;color:#fff}.form-actions button[type=button]{background-color:#7889a9;color:#fff}.error{color:#c42f51;font-weight:600;margin-bottom:10px}.optional-tag{color:#8899b8;font-size:.78rem;font-weight:400;margin-left:4px}.image-upload-area{align-items:center;display:flex;gap:8px}.image-file-input{display:none}.image-upload-btn{background:#e8eef8;border:1.5px dashed #a0b4d4;border-radius:10px;color:#3f5276;cursor:pointer;display:inline-block;font-size:.85rem;font-weight:600;max-width:260px;overflow:hidden;padding:8px 14px;text-overflow:ellipsis;transition:background .2s;white-space:nowrap}.image-upload-btn:hover{background:#d4dff5}.image-clear-btn{background:#f5dde3;border:none;border-radius:8px;color:#c42f51;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 10px;white-space:nowrap}.image-clear-btn:hover{background:#f0c0cb}.image-preview-wrap{border:1px solid #cfd8e8;border-radius:10px;display:inline-block;margin-top:10px;overflow:hidden}.image-preview{display:block;max-height:160px;max-width:100%;object-fit:contain}.active-productions{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);margin-top:6px;padding:16px}.active-productions h2{color:#1f2f50;font-size:1.2rem;margin:0 0 14px}.active-productions table{border-collapse:collapse;font-size:.9rem;margin-top:0;width:100%}.active-productions table td,.active-productions table th{border-bottom:1px solid #e8edf6;color:#314567;padding:11px 10px;text-align:left}.active-productions table th{background-color:#f5f8ff;color:#5f7295;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.active-productions table tr:hover{background-color:#f7faff}.stop-btn{background-color:#d23b58;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:7px 14px}.stop-btn:hover{background-color:#b92946}.stop-na{color:#b0bcd4;font-size:1.2rem}@media (max-width:980px){.active-productions{overflow:auto}.active-productions table{min-width:760px}}.employee-dashboard{grid-gap:18px;box-sizing:border-box;display:grid;gap:18px;grid-template-columns:250px 1fr;height:100vh;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:hidden;padding:20px;width:100%}@media (max-width:1280px){.employee-dashboard{grid-template-columns:220px 1fr;padding:16px}}@media (max-width:980px){.employee-dashboard{grid-template-columns:1fr;height:auto;overflow:visible;padding:14px;position:relative}}.employee-dashboard .dashboard-sidebar{background:linear-gradient(180deg,var(--bg-sidebar) 0,#09112a 100%);border-radius:var(--radius-lg);box-shadow:0 12px 24px #0b173652;color:var(--text-on-dark);display:flex;flex-direction:column;height:calc(100vh - 40px);justify-content:space-between;overflow:hidden;padding:24px 18px;position:sticky;top:20px}@media (max-width:980px){.employee-dashboard .dashboard-sidebar{border-radius:14px;height:calc(100vh - 28px);left:14px;overflow:auto;padding:16px;position:fixed;top:14px;transform:translateX(-115%);transition:transform .22s ease;width:min(290px,calc(100vw - 28px));z-index:25}.employee-dashboard .dashboard-sidebar.open{transform:translateX(0)}}.employee-dashboard .sidebar-top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.employee-dashboard .sidebar-close-btn{display:none}@media (max-width:980px){.employee-dashboard .sidebar-close-btn{align-items:center;background:#ffffff1a;border:1px solid #ffffff59;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;height:30px;justify-content:center;line-height:1;width:30px}}.employee-dashboard .sidebar-brand{font-size:1.3rem;font-weight:800;margin:0}.employee-dashboard .sidebar-role{color:#95a9d4;font-size:.88rem;margin:5px 0 24px}.employee-dashboard .sidebar-nav{grid-gap:8px;display:grid;gap:8px}.employee-dashboard .sidebar-item{background:#0000;border:none;border-radius:10px;color:#a9bce6;cursor:pointer;font-size:.92rem;font-weight:600;padding:10px 12px;text-align:left;transition:background-color .2s ease,color .2s ease;width:100%}.employee-dashboard .sidebar-item:hover{background:#ffffff17;color:#fff}.employee-dashboard .sidebar-item.active{background:#2957dd;color:#fff}.employee-dashboard .logout-btn{background:#ffffff1c;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px;transition:background-color .2s ease;width:100%}.employee-dashboard .logout-btn:hover{background:#fff3}@media (max-width:980px){.employee-dashboard .dashboard-sidebar .logout-btn{display:none}}.employee-dashboard .dashboard-main{-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffbf;border:1px solid #d9e1f0;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);height:calc(100vh - 40px);min-width:0;overflow-x:auto;overflow-y:auto}@media (max-width:980px){.employee-dashboard .dashboard-main{height:auto;overflow:visible}}.employee-dashboard .mobile-header-actions{display:none}@media (max-width:980px){.employee-dashboard .mobile-header-actions{align-items:center;background:linear-gradient(180deg,var(--bg-sidebar) 0,#09112a 100%);border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 10px 20px #0a142d47;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px;padding:8px 10px}}.employee-dashboard .mobile-logout-btn,.employee-dashboard .sidebar-toggle-btn{align-items:center;border:1px solid #ffffff47;border-radius:10px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;padding:9px 10px}.employee-dashboard .sidebar-toggle-btn{background:#ffffff1f;flex-direction:column;gap:4px;height:38px;width:38px}.employee-dashboard .hamburger-line{background:#fff;border-radius:999px;height:2px;width:16px}.employee-dashboard .mobile-logout-btn{background:#ffffff24;color:#fff;font-size:.88rem}.employee-dashboard .mobile-logout-btn:hover{background:#ffffff38}.employee-dashboard .mobile-brand{color:#fff;font-size:.95rem;font-weight:800;letter-spacing:.01em}.employee-dashboard .sidebar-overlay{display:none}@media (max-width:980px){.employee-dashboard .sidebar-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#070e1e52;border:none;display:block;inset:0;position:fixed;z-index:20}}.employee-dashboard .dashboard-header{padding:26px 28px 12px}.employee-dashboard .dashboard-header-main{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.employee-dashboard .dashboard-header h1{color:#1f2e4d;font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0}.employee-dashboard .dashboard-header p{color:var(--text-soft);margin:8px 0 0}.employee-dashboard .dashboard-content{min-width:0;padding:0 28px 28px}.employee-dashboard .start-btn{background:linear-gradient(135deg,var(--bg-accent) 0,#4b7bff 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 16px;transition:background .2s ease;white-space:nowrap}.employee-dashboard .start-btn:hover{background:linear-gradient(135deg,var(--bg-accent-dark) 0,#386cf8 100%)}@media (max-width:1280px){.employee-dashboard .dashboard-sidebar{height:calc(100vh - 32px);top:16px}.employee-dashboard .dashboard-main{height:calc(100vh - 32px)}.employee-dashboard .dashboard-header{padding:22px 22px 10px}.employee-dashboard .dashboard-content{padding:0 22px 22px}}@media (max-width:980px){.employee-dashboard .dashboard-header{padding:18px 14px 10px}.employee-dashboard .dashboard-header h1{font-size:1.6rem}.employee-dashboard .dashboard-header-main{align-items:stretch;flex-direction:column}.employee-dashboard .start-btn{width:100%}.employee-dashboard .dashboard-content{padding:0 14px 16px}}@media (max-width:640px){.employee-dashboard .dashboard-header h1{font-size:1.35rem}.employee-dashboard .dashboard-header p{font-size:.85rem}}.dashboard-metrics{margin-bottom:18px}.dashboard-metrics h2{color:#1f2f50;font-size:1.2rem;margin:0 0 12px}.metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:16px}.metric-card h3{color:#7283a3;font-size:.78rem;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.metric-value{color:#1e2f50;font-size:1.9rem;font-weight:800}.metric-value.delayed{color:#d23b58}@media (max-width:980px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:1.55rem}}@media (max-width:640px){.metrics-grid{grid-template-columns:1fr}.metric-card{padding:14px}.metric-value{font-size:1.35rem}}.production-records{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);display:block;margin-top:12px;max-width:100%;overflow-x:auto;padding:10px}.production-records table{background:#fff;border-collapse:collapse;font-size:.82rem;min-width:860px;table-layout:auto;width:100%}.production-records td,.production-records th{border-bottom:1px solid #e8edf6;color:#314567;line-height:1.28;padding:8px 10px;text-align:left;vertical-align:middle}.production-records th{background-color:#f5f8ff;color:#5f7295;font-size:.74rem;font-weight:700;letter-spacing:.03em;position:sticky;text-transform:uppercase;top:0;white-space:nowrap}.production-records tr:hover{background-color:#f7faff}.production-records .status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:700;justify-content:center;letter-spacing:.03em;min-width:82px;padding:4px 10px;white-space:nowrap}.production-records .completed{background:#e9f9ef;color:#1f6d40}.production-records .active{background:#e8efff;color:#2c5be6}.production-records .empty-state{color:#6c7fa2;padding:18px;text-align:center}.production-records .col-employee{min-width:100px}.production-records .col-product{min-width:110px}.production-records .col-category{min-width:90px}.production-records .col-station{min-width:100px}.production-records .col-date{min-width:90px;white-space:nowrap}.production-records .col-duration{min-width:110px}.production-records .col-status{min-width:100px;white-space:nowrap}.production-records .col-quality{min-width:70px}.production-records .col-units{min-width:80px}.production-records .col-notes{min-width:120px}.production-records .col-delay{min-width:100px}.production-records .col-actions{min-width:90px;white-space:nowrap}.production-records .download-img-btn{background:#eef3fc;border:1px solid #a0b4d4;border-radius:8px;color:#2b4fa8;cursor:pointer;font-size:.75rem;font-weight:700;padding:4px 8px;transition:background .15s;white-space:nowrap}.production-records .download-img-btn:hover:not(:disabled){background:#d4e1f7}.production-records .download-img-btn:disabled{cursor:not-allowed;opacity:.6}.production-records .table-pagination{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.production-records .pagination-btn{background:#fff;border:1px solid #d2dbec;border-radius:8px;color:#2b4fa8;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 10px}.production-records .pagination-btn:disabled{color:#94a4c6;cursor:not-allowed}.production-records .pagination-text{color:#4a608e;font-size:.82rem;font-weight:600}@media (max-width:1200px){.production-records td:nth-child(11),.production-records td:nth-child(12),.production-records th:nth-child(11),.production-records th:nth-child(12){display:none}}@media (max-width:980px){.production-records table{table-layout:auto}.production-records td:nth-child(3),.production-records td:nth-child(7),.production-records th:nth-child(3),.production-records th:nth-child(7){display:none}}@media (max-width:760px){.production-records td:nth-child(4),.production-records td:nth-child(6),.production-records td:nth-child(9),.production-records th:nth-child(4),.production-records th:nth-child(6),.production-records th:nth-child(9){display:none}.production-records .table-pagination{justify-content:center}}.charts-section{margin-bottom:18px}.charts-section h2{color:#1f2f50;font-size:1.2rem;margin:0 0 12px}.charts-grid{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-container{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:16px}.chart-container h3{color:#2b3d5f;font-size:1rem;margin-bottom:14px;margin-top:0;text-align:left}.chart-canvas{height:290px;position:relative;width:100%}.chart-canvas--bar{height:300px}.chart-canvas--doughnut{height:300px;margin:0 auto;max-width:100%}.chart-canvas--line{height:290px}.chart-container.full-width{grid-column:1/-1}@media (max-width:980px){.charts-grid{grid-template-columns:1fr}.chart-container.full-width{grid-column:auto}.chart-canvas,.chart-canvas--bar,.chart-canvas--doughnut,.chart-canvas--line{height:260px}}@media (max-width:640px){.chart-container{padding:12px}.chart-container h3{font-size:.92rem;margin-bottom:10px}.chart-canvas,.chart-canvas--bar,.chart-canvas--doughnut,.chart-canvas--line{height:220px}}.master-management{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(280px,360px) minmax(0,1fr);min-width:0}@media (max-width:1200px){.master-management{grid-template-columns:1fr}}.master-form-card,.master-list-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:0;padding:16px}.master-form-card h2,.master-list-card h2{color:#1f2f50;font-size:1.1rem;margin:0}.master-form-card p,.master-list-card p{color:var(--text-soft);font-size:.88rem;margin:6px 0 14px}.master-alert{border-radius:10px;font-size:.86rem;font-weight:600;margin-bottom:12px;padding:10px 12px}.master-alert.success{background:#eaf9f0;border:1px solid #b9ebcf;color:#0d6b3d}.master-alert.error{background:#fff0f0;border:1px solid #f1c4c4;color:#9d1f1f}.master-form{grid-gap:12px;display:grid;gap:12px}.master-form label{grid-gap:6px;color:#334a74;display:grid;font-size:.88rem;font-weight:600;gap:6px}.master-form input,.master-form textarea{border:1px solid #d2dbec;border-radius:10px;box-sizing:border-box;color:#1f2f50;font-size:.9rem;padding:10px 12px;width:100%}.master-form input:focus,.master-form textarea:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be624;outline:none}.master-checkbox{align-items:center;display:flex!important;gap:8px}.master-checkbox input{width:auto}.master-form-actions{display:flex;gap:10px}.master-form-actions button{background:linear-gradient(135deg,var(--bg-accent) 0,#4b7bff 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px}.master-form-actions button.secondary{background:#eef3ff;color:#2b4fa8}.master-form-actions button:disabled{cursor:not-allowed;opacity:.75}.master-table-wrap{-webkit-overflow-scrolling:touch;max-height:500px;min-width:0;overflow-x:auto;overflow-y:hidden;width:100%}.master-list-controls{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(200px,1fr) minmax(140px,180px);margin-bottom:12px}.master-list-controls input,.master-list-controls select{border:1px solid #d2dbec;border-radius:10px;color:#1f2f50;font-size:.88rem;padding:9px 11px}.master-list-controls input:focus,.master-list-controls select:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be624;outline:none}.master-table{border-collapse:collapse;min-width:640px;table-layout:auto;width:100%}.master-table td,.master-table th{border-bottom:1px solid #e6edf8;color:#27395f;font-size:.88rem;padding:10px 8px;text-align:left}.master-table th{background:#f9fbff;color:#4a608e;font-weight:700}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;padding:4px 10px}.status-pill.active{background:#eaf9f0;color:#0d6b3d}.status-pill.inactive{background:#fff0f0;color:#9d1f1f}.master-row-actions{display:flex;gap:8px}.master-row-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:700;padding:7px 10px}.master-row-actions .action-edit{background:#eef3ff;color:#2b4fa8}.master-row-actions .action-delete{background:#fff0f0;color:#9d1f1f}.master-empty{border:1px dashed #cdd8ee;border-radius:10px;color:#5670a2;font-weight:600;padding:20px;text-align:center}.master-pagination{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.pagination-btn{background:#fff;border:1px solid #d2dbec;border-radius:8px;color:#2b4fa8;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 10px}.pagination-btn:disabled{color:#94a4c6;cursor:not-allowed}.pagination-text{color:#4a608e;font-size:.82rem;font-weight:600}@media (max-width:1180px){.master-management{grid-template-columns:1fr}}@media (max-width:640px){.master-form-card,.master-list-card{padding:12px}.master-list-controls{grid-template-columns:1fr}.master-pagination{flex-wrap:wrap;justify-content:center}.master-table{min-width:560px}}.emp-management{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.emp-form-card,.emp-list-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:16px}.emp-form-card h2,.emp-list-card h2{color:#1f2f50;font-size:1.1rem;margin:0}.emp-form-card p,.emp-list-card p{color:var(--text-soft);font-size:.88rem;margin:6px 0 14px}.emp-alert{border-radius:10px;font-size:.86rem;font-weight:600;margin-bottom:12px;padding:10px 12px}.emp-alert.success{background:#eaf9f0;border:1px solid #b9ebcf;color:#0d6b3d}.emp-alert.error{background:#fff0f0;border:1px solid #f1c4c4;color:#9d1f1f}.emp-form{grid-gap:12px;display:grid;gap:12px}.emp-form label{grid-gap:6px;color:#334a74;display:grid;font-size:.88rem;font-weight:600;gap:6px}.emp-form input,.emp-form select{background:#fff;border:1px solid #d2dbec;border-radius:10px;box-sizing:border-box;color:#1f2f50;font-size:.9rem;padding:10px 12px;width:100%}.emp-form input:focus,.emp-form select:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be624;outline:none}.emp-form-actions{display:flex;gap:10px}.emp-form-actions button{background:linear-gradient(135deg,var(--bg-accent) 0,#4b7bff 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px}.emp-form-actions button.secondary{background:#eef3ff;color:#2b4fa8}.emp-form-actions button:disabled{cursor:not-allowed;opacity:.75}.emp-list-controls{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(200px,1fr) minmax(140px,180px);margin-bottom:12px}.emp-list-controls input,.emp-list-controls select{background:#fff;border:1px solid #d2dbec;border-radius:10px;color:#1f2f50;font-size:.88rem;padding:9px 11px}.emp-list-controls input:focus,.emp-list-controls select:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be624;outline:none}.emp-table-wrap{overflow-x:auto;width:100%}.emp-table{border-collapse:collapse;min-width:480px;width:100%}.emp-table td,.emp-table th{border-bottom:1px solid #e6edf8;color:#27395f;font-size:.88rem;padding:10px 8px;text-align:left}.emp-table th{background:#f9fbff;color:#4a608e;font-weight:700}.emp-table tr.editing-row{background:#f0f5ff}.emp-role-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;padding:4px 10px}.emp-role-badge.admin{background:#fff3e0;color:#b45309}.emp-role-badge.employee{background:#eaf9f0;color:#0d6b3d}.emp-actions{display:flex;gap:8px}.emp-actions .action-edit{background:#eef3ff;color:#2b4fa8}.emp-actions .action-delete,.emp-actions .action-edit{border:none;border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:700;padding:7px 10px}.emp-actions .action-delete{background:#fff0f0;color:#9d1f1f}.emp-empty{border:1px dashed #cdd8ee;border-radius:10px;color:#5670a2;font-weight:600;padding:20px;text-align:center}.emp-pagination{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.emp-pagination button{background:#fff;border:1px solid #d2dbec;border-radius:8px;color:#2b4fa8;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 10px}.emp-pagination button:disabled{color:#94a4c6;cursor:not-allowed}.emp-pagination span{color:#4a608e;font-size:.82rem;font-weight:600}@media (max-width:1180px){.emp-management{grid-template-columns:1fr}}@media (max-width:640px){.emp-form-card,.emp-list-card{padding:12px}.emp-list-controls{grid-template-columns:1fr}.emp-pagination{flex-wrap:wrap;justify-content:center}}.admin-dashboard{grid-gap:18px;box-sizing:border-box;display:grid;gap:18px;grid-template-columns:250px 1fr;height:100vh;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:hidden;padding:20px;width:100%}@media (max-width:1200px){.admin-dashboard{grid-template-columns:1fr;padding:16px}.admin-dashboard .dashboard-sidebar{border-radius:0;display:none;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:1000}.admin-dashboard .dashboard-sidebar.open{display:flex}}.admin-dashboard .dashboard-sidebar{background:linear-gradient(180deg,var(--bg-sidebar) 0,#09112a 100%);border-radius:var(--radius-lg);box-shadow:0 12px 24px #0b173652;color:var(--text-on-dark);display:flex;flex-direction:column;height:calc(100vh - 40px);justify-content:space-between;overflow:hidden;padding:24px 18px;position:sticky;top:20px}.admin-dashboard .sidebar-brand{font-size:1.3rem;font-weight:800;margin:0}.admin-dashboard .sidebar-role{color:#95a9d4;font-size:.88rem;margin:5px 0 24px}.admin-dashboard .master-menu-wrapper,.admin-dashboard .sidebar-nav{grid-gap:8px;display:grid;gap:8px}.admin-dashboard .sidebar-item-master{align-items:center;display:flex;justify-content:space-between}.admin-dashboard .master-chevron{font-size:.95rem;transition:transform .2s ease}.admin-dashboard .master-chevron.expanded{transform:rotate(180deg)}.admin-dashboard .master-submenu{grid-gap:6px;border-left:2px solid #ffffff29;display:grid;gap:6px;padding-left:10px}.admin-dashboard .master-submenu-item{background:#ffffff08;border:none;border-radius:8px;color:#a9bce6;cursor:pointer;font-size:.86rem;font-weight:600;padding:8px 10px;text-align:left;transition:background-color .2s ease,color .2s ease;width:100%}.admin-dashboard .master-submenu-item:hover{background:#ffffff17;color:#fff}.admin-dashboard .master-submenu-item.active{background:#2957ddbf;color:#fff}.admin-dashboard .sidebar-top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.admin-dashboard .sidebar-close-btn{display:none}.admin-dashboard .sidebar-item{background:#0000;border:none;border-radius:10px;color:#a9bce6;cursor:pointer;font-size:.92rem;font-weight:600;padding:10px 12px;text-align:left;transition:background-color .2s ease,color .2s ease;width:100%}.admin-dashboard .sidebar-item:hover{background:#ffffff17;color:#fff}.admin-dashboard .sidebar-item.active{background:#2957dd;color:#fff}.admin-dashboard .dashboard-main{-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffbf;border:1px solid #d9e1f0;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);height:calc(100vh - 40px);min-width:0;overflow-x:auto;overflow-y:auto}@media (max-width:1200px){.admin-dashboard .dashboard-main{border-radius:0;height:100vh}}.admin-dashboard .dashboard-header{padding:26px 28px 12px}.admin-dashboard .mobile-header-actions{display:none}.admin-dashboard .mobile-logout-btn,.admin-dashboard .sidebar-toggle-btn{align-items:center;border:1px solid #ffffff47;border-radius:10px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;padding:9px 10px}.admin-dashboard .sidebar-toggle-btn{background:#ffffff1f;flex-direction:column;gap:4px;height:38px;width:38px}.admin-dashboard .hamburger-line{background:#fff;border-radius:999px;height:2px;width:16px}.admin-dashboard .mobile-logout-btn{background:#ffffff24;color:#fff}.admin-dashboard .mobile-brand{color:#fff;font-size:.95rem;font-weight:800;letter-spacing:.01em}.admin-dashboard .sidebar-overlay{display:none}.admin-dashboard .dashboard-header h1{color:#1f2e4d;font-size:2rem;letter-spacing:-.03em;line-height:1.1;margin:0}.admin-dashboard .dashboard-header p{color:var(--text-soft);margin:8px 0 0}.admin-dashboard .dashboard-header-main{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.admin-dashboard .date-range-controls{align-items:flex-end;display:flex;gap:10px}.admin-dashboard .date-range-controls label{grid-gap:4px;color:#4b5f85;display:grid;font-size:.78rem;font-weight:700;gap:4px}.admin-dashboard .date-range-controls input{border:1px solid #d2dbec;border-radius:10px;color:#2a3b5e;font-size:.86rem;min-width:150px;padding:8px 10px}.admin-dashboard .date-range-controls input:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be624;outline:none}.admin-dashboard .logout-btn{background:#ffffff1c;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px;width:100%}.admin-dashboard .logout-btn:hover{background:#fff3}.admin-dashboard .dashboard-content{min-width:0;padding:0 28px 28px}.admin-dashboard .filters-section{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);margin:0 0 18px;min-width:0;padding:18px}.admin-dashboard .filters-section h2{color:#1f2f50;font-size:1.2rem;margin:0}.admin-dashboard .filters-section p{color:var(--text-soft);font-size:.9rem;margin:4px 0 14px}.admin-dashboard .filters{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(140px,1fr))}.admin-dashboard .filters input,.admin-dashboard .filters select{border:1px solid #d2dbec;border-radius:10px;color:#2a3b5e;min-width:0;padding:10px 12px;width:100%}.admin-dashboard .filters input:focus,.admin-dashboard .filters select:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #2c5be624;outline:none}.admin-dashboard .export-btn{background:linear-gradient(135deg,var(--bg-accent) 0,#4b7bff 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 16px;width:100%}.admin-dashboard .export-btn:hover{background:linear-gradient(135deg,var(--bg-accent-dark) 0,#386cf8 100%)}@media (max-width:1280px){.admin-dashboard{grid-template-columns:220px 1fr;padding:16px}.admin-dashboard .dashboard-sidebar{height:calc(100vh - 32px);top:16px}.admin-dashboard .dashboard-main{height:calc(100vh - 32px)}.admin-dashboard .dashboard-header{padding:22px 22px 10px}.admin-dashboard .dashboard-content{padding:0 22px 22px}.admin-dashboard .filters{grid-template-columns:repeat(2,minmax(160px,1fr))}.admin-dashboard .dashboard-header-main{align-items:stretch;flex-direction:column}.admin-dashboard .date-range-controls{justify-content:flex-start}}@media (max-width:980px){.admin-dashboard{grid-template-columns:1fr;height:auto;overflow:visible;padding:14px;position:relative}.admin-dashboard .dashboard-sidebar{border-radius:14px;gap:16px;height:calc(100vh - 28px);left:14px;overflow:auto;padding:16px;position:fixed;top:14px;transform:translateX(-115%);transition:transform .22s ease;width:min(290px,calc(100vw - 28px));z-index:25}.admin-dashboard .dashboard-sidebar.open{transform:translateX(0)}.admin-dashboard .sidebar-close-btn{align-items:center;background:#ffffff1a;border:1px solid #ffffff59;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;height:30px;justify-content:center;line-height:1;width:30px}.admin-dashboard .dashboard-main{height:auto;overflow:visible}.admin-dashboard .sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard .master-submenu{padding-left:8px}.admin-dashboard .dashboard-content{padding:0 14px 16px}.admin-dashboard .dashboard-header{padding:18px 14px 10px}.admin-dashboard .mobile-header-actions{align-items:center;background:linear-gradient(180deg,var(--bg-sidebar) 0,#09112a 100%);border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 10px 20px #0a142d47;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px;padding:8px 10px}.admin-dashboard .dashboard-sidebar .logout-btn{display:none}.admin-dashboard .dashboard-header h1{font-size:1.6rem}.admin-dashboard .filters{grid-template-columns:1fr 1fr}.admin-dashboard .sidebar-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#070e1e52;border:none;display:block;inset:0;position:fixed;z-index:20}}@media (max-width:640px){.admin-dashboard .sidebar-nav{grid-template-columns:1fr}.admin-dashboard .master-submenu{border-left:none;padding-left:0}.admin-dashboard .dashboard-header h1{font-size:1.35rem}.admin-dashboard .dashboard-header p{font-size:.85rem}.admin-dashboard .filters{grid-template-columns:1fr}.admin-dashboard .date-range-controls{align-items:stretch;flex-direction:column}.admin-dashboard .date-range-controls input{min-width:0;width:100%}.admin-dashboard .filters-section{padding:14px}}.App{min-height:100vh}
/*# sourceMappingURL=main.0e527608.css.map*/