:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root{height:100%;margin:0}.dashboard-container{width:100%;min-height:100vh;padding:40px 80px;box-sizing:border-box}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}.card{background:#ffffff1a;padding:35px;border-radius:16px}.card h3{color:#ffb703;margin-bottom:12px}.value{font-size:32px;font-weight:800}.actions{display:flex;gap:20px;margin-top:30px}.actions button{background:#ff4c29;color:#fff;padding:14px 22px;border:none;border-radius:10px;font-weight:700;cursor:pointer}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.info-card{background:#ffffff14;padding:35px;border-radius:16px}.info-card h2{color:#ffb703;margin-bottom:20px}.partners{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.partner{background:#00000059;padding:15px;border-radius:12px;width:160px;text-align:center}.partner img{max-width:100%;max-height:50px;margin-bottom:8px}.empty{opacity:.6}.add-btn{margin-top:20px;padding:12px 20px;border-radius:10px;background:#ff4c29;color:#fff;border:none;cursor:pointer;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center}.modal-card{background:#111827;padding:35px;border-radius:18px;width:400px}.modal-card h3{color:#ffb703;margin-bottom:20px}.modal-card input{width:100%;padding:10px;margin-bottom:15px;border-radius:6px;border:none}.modal-card button{width:100%;padding:12px;border-radius:8px;border:none;font-weight:700;cursor:pointer}.cancel{background:#374151;margin-top:10px}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{font-family:Segoe UI,Arial,sans-serif;background:#f4f6f8;padding:20px;margin:0}nav{display:flex;justify-content:center;gap:20px;background:#0009;padding:15px;border-radius:8px;margin-bottom:16px}nav a{color:#fff;text-decoration:none;font-weight:600;padding:8px 16px;border-radius:6px;transition:.3s;justify-content:center}.container{max-width:100%;margin:auto;background:#fff;padding:18px;border-radius:10px;box-shadow:0 6px 20px #00000014}h2{text-align:center;margin:10px 0 14px}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.controls input{padding:8px;width:280px;max-width:100%;border:1px solid #cbd5e1;border-radius:6px}button{padding:10px 15px;border:none;border-radius:6px;cursor:pointer;font-weight:600}.add{background:#2563eb;color:#fff}.save{background:#16a34a;color:#fff}.print{background:#0f766e;color:#fff}.table-wrapper{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}#attendanceTable,#overtimeTable{width:100%;min-width:1050px;border-collapse:collapse;table-layout:fixed;font-size:13px}#attendanceTable th,#attendanceTable td,#overtimeTable th,#overtimeTable td{border:1px solid #cbd5e1;padding:7px 6px;text-align:center;vertical-align:middle}#attendanceTable th,#overtimeTable th{background:#e5e7eb;font-size:12px}#attendanceTable thead th,#overtimeTable thead th{position:sticky;top:0;z-index:5}#attendanceTable th:first-child,#attendanceTable td:first-child,#overtimeTable th:first-child,#overtimeTable td:first-child{position:sticky;left:0;background:#fff;z-index:6;min-width:170px;text-align:left;padding-left:10px}#attendanceTable tbody tr:hover,#overtimeTable tbody tr:hover{background:#f8fafc}#attendanceTable td:first-child,#overtimeTable td:first-child{white-space:normal;word-break:break-word;line-height:1.35}td[contenteditable]{background:#fafafa}td[contenteditable]:focus{background:#eef3ff;outline:none}#attendanceTable input[type=time],#overtimeTable input[type=time]{width:100%;height:28px;padding:2px 6px;box-sizing:border-box;font-size:12px;border:1px solid #cbd5e1;border-radius:5px}input[type=number]{width:100%;max-width:90px;height:30px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;padding:2px 6px}td.weekday,td.overtime,td.total,td.otTotal{font-weight:800;background:#eef2ff}.section-title{margin:16px 0 10px;font-size:16px;font-weight:700;color:#111827}@media print{body *{visibility:hidden}.container,.container *{visibility:visible}nav,.controls{display:none!important}.container{box-shadow:none}}.time-cell{display:flex;flex-direction:column;gap:4px}.time-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.time-row label{font-size:11px;font-weight:600}.time-row input{width:100px}.ot-wrapper{display:flex;justify-content:center;margin-top:20px}.overtime-table{width:80%;max-width:1000px;border-collapse:collapse;table-layout:fixed}.overtime-table th,.overtime-table td{padding:10px;text-align:center}.overtime-table th:first-child,.overtime-table td:first-child{width:220px;text-align:left}.payslip-page{width:100%;min-height:100vh;background:#f3f4f6;padding:20px 0;display:flex;justify-content:center;font-family:Segoe UI,Arial,sans-serif}.payslip{width:880px;background:#fff;padding:20px 30px;border-radius:6px;box-shadow:0 3px 15px #0000000f;color:#111827}.payslip,.payslip td,.payslip th,.payslip span,.payslip div,.payslip h3{color:#111827}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.partner-logo{width:120px;height:80px;border:2px dashed #cbd5e1;border-radius:6px;background:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.partner-logo input{display:none}.logo-text{font-size:12px;color:#6b7280;text-align:center;pointer-events:none}.partner-logo img{width:100%;height:100%;object-fit:contain}.powered-by{display:flex;align-items:center;gap:10px}.powered-by span{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.powered-by img{max-height:60px;object-fit:contain}h3{margin:12px 0 6px;font-size:15px;font-weight:700;color:#111827}table{width:100%;border-collapse:collapse;font-size:13px}td{padding:4px 6px;color:#111827}th{padding:5px 6px;font-weight:600;font-size:12.5px;background:#111827;color:#fff;text-align:left}input,input[type=number],input[type=text],input[type=date]{width:100%;padding:4px 6px;border:1px solid #1e293b;border-radius:4px;background:#fff;color:#111827;font-size:13px;font-weight:600;outline:none}input:focus{border-color:#ff4c29;box-shadow:0 0 3px #ff4c294d}.data-table th,.data-table td{border:1px solid #d1d5db;padding:5px 6px}.totals td{padding:6px;font-weight:600}.net-pay td{font-size:15px;font-weight:700}.footer{text-align:center;margin-top:10px;font-size:11px;color:#475569}button{background:#ff4c29;color:#fff;padding:7px 14px;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:12px}:root{--bg-gradient: linear-gradient(135deg,#0f2027,#203a43,#2c5364);--text-color: #ffffff;--header-text: #ffb703;--section-bg: rgba(255,255,255,.12);--border-color: rgba(255,255,255,.2);--button-bg: #ff4c29;--button-text: #ffffff;--button-hover-opacity: .9}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg-gradient);color:var(--text-color)}table{width:100%;border-collapse:collapse}th,td{padding:8px;border-bottom:1px solid var(--border-color);font:16px;text-color:#ffffff}th{text-align:left;color:var(--header-text)}.section{background:var(--section-bg);font-weight:700}.total{font-weight:800;border-top:2px solid var(--border-color)}.btn{background:var(--button-bg);color:var(--button-text);border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}.btn:hover{opacity:var(--button-hover-opacity)}table,td,th{color:#fff}.meta{display:flex;gap:15px;margin-bottom:20px}.meta input{padding:8px;border-radius:6px;border:none}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{padding:8px;border-bottom:1px solid rgba(255,255,255,.2)}th{text-align:left;color:#ffb703}.amount{text-align:right}input.amount{width:140px;padding:6px;text-align:right;border-radius:6px;border:none}.section{background:#ffffff1f;font-weight:700}.total{font-weight:800;border-top:2px solid rgba(255,255,255,.4)}.btn{background:#ff4c29;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);color:#fff}header{padding:20px 40px;background:#0006}nav{display:flex;justify-content:center;gap:15px;background:#0009;padding:12px}nav a{color:#fff;text-decoration:none;padding:8px 14px;border-radius:6px;font-weight:600}nav a:hover{background:#ff4c29}.container{max-width:900px;margin:30px auto;background:#ffffff14;padding:25px;border-radius:14px}.row{display:flex;justify-content:space-between;margin:10px 0}label{font-weight:600}input,select{padding:8px;border-radius:6px;border:none;width:200px}.total{font-weight:800;border-top:1px solid rgba(255,255,255,.3);padding-top:10px;margin-top:15px}.actions{display:flex;gap:15px;margin-top:20px}button{padding:10px 18px;border:none;border-radius:8px;background:#ff4c29;color:#fff;font-weight:700;cursor:pointer}button.secondary{background:#374151}
