@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary-red:#e30613;--primary-blue:#0047b8;--text-primary:#1e293b;--text-secondary:#64748b;--bg-app:#f8fafc;--bg-sidebar:#0f172a;--border-color:#e2e8f0;--red-light:#e3061314;--blue-light:#0047b814;--font-family:"Inter", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0047b80a, 0 4px 6px -4px #0047b80a;--shadow-premium:0 20px 25px -5px #0047b80f, 0 8px 10px -6px #0047b80a;--radius-sm:6px;--radius-md:12px;--radius-lg:18px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.premium-card{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background:#fff;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.premium-card:hover{box-shadow:var(--shadow-premium);transform:translateY(-2px)}.table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;box-shadow:var(--shadow-sm);background:#fff;margin-top:1rem;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);background-color:#f1f5f9;padding:1rem 1.5rem;font-size:.85rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1rem 1.5rem;font-size:.9rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background-color:#f8fafc}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out forwards fadeIn}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.resp-grid-1-2{grid-template-columns:1fr 2fr;gap:1.5rem;display:grid}.resp-shift-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.25rem;display:grid}.resp-bank-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;font-size:.8rem;display:grid}.resp-nav-header{border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.resp-tabs-container{background-color:#f1f5f9;border-radius:8px;flex-wrap:wrap;gap:.5rem;padding:.25rem;display:flex}.resp-date-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.resp-payslip-modal{background-color:#fff;border:2px solid #cbd5e1;border-top:6px solid #4c1d95;padding:2rem;animation:.3s fadeIn}.resp-payslip-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.payslip-scroll-wrapper{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;width:100%;padding:1rem;overflow-x:auto}.calendar-cell-status{opacity:.85;margin-top:2px;font-size:.55rem;font-weight:500}@media (width<=1024px){.resp-grid-1-2{grid-template-columns:1fr}}@media (width<=768px){.resp-nav-header{flex-direction:column;align-items:stretch;gap:1rem}.resp-tabs-container{justify-content:flex-start}.resp-shift-grid{grid-template-columns:repeat(2,1fr)}.resp-bank-grid{grid-template-columns:1fr}.resp-payslip-modal{padding:1rem}.resp-payslip-header{flex-direction:column;align-items:stretch;gap:.75rem}}@media (width<=500px){.premium-card{padding:1rem!important}.resp-shift-grid,.resp-date-grid{grid-template-columns:1fr}.calendar-cell-status{display:none}}.login-split-container{background-color:#f8fafc;width:100%;min-height:100vh;display:flex}.login-left-panel{background-color:#fff;flex:1;justify-content:center;align-items:center;min-width:0;padding:2.5rem;display:flex}.login-form-wrapper{width:100%;max-width:440px;margin:auto;animation:.4s ease-out fadeIn}.login-form-wrapper-wide{max-width:680px}.login-right-panel{color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.login-hero-image{object-fit:contain;border-radius:16px;max-width:85%;max-height:50vh;margin-bottom:2rem;animation:6s ease-in-out infinite floatImage;box-shadow:0 20px 40px #00000026}.login-hero-title{text-align:center;letter-spacing:-.02em;text-shadow:0 2px 4px #0000001a;max-width:500px;margin-bottom:.75rem;font-family:Outfit,Inter,sans-serif;font-size:2.2rem;font-weight:800}.login-hero-desc{text-align:center;opacity:.9;text-shadow:0 1px 2px #0000001a;max-width:480px;font-size:1rem;line-height:1.6}@keyframes floatImage{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}@media (width<=1024px){.login-right-panel{display:none!important}.login-left-panel{background-color:#f8fafc}.login-form-wrapper{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2.5rem 2rem;box-shadow:0 10px 25px -5px #0000000d}}@media (width<=480px){.login-left-panel{padding:1rem}.login-form-wrapper{border-radius:12px;padding:1.5rem 1rem}}.login-left-panel{background-color:#fff;background-image:radial-gradient(#e2e8f0 1px,#0000 1px);background-size:20px 20px;flex:1;justify-content:center;align-items:center;min-width:0;padding:2.5rem;display:flex;position:relative}.login-input-group{flex-direction:column;gap:.4rem;display:flex}.login-input-label{color:#475569;font-size:.825rem;font-weight:600}.login-input-wrapper{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.login-input-wrapper:focus-within{border-color:var(--theme-accent,#0047b8);box-shadow:0 0 0 4px rgba(var(--theme-accent-rgb,0, 71, 184), .12)}.login-input-icon{color:#94a3b8;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:12px}.login-input-field{color:#1e293b;background:0 0;border:none;outline:none;width:100%;padding:.75rem 2.5rem;font-family:inherit;font-size:.9rem}.login-input-field::placeholder{color:#94a3b8}.login-password-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute;right:12px}.login-password-toggle:hover{color:#475569;background-color:#f1f5f9}.role-grid-container{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.5rem;display:grid}.role-card-btn{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.85rem .5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.role-card-btn:hover{color:#475569;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.role-card-btn.active{background:rgba(var(--theme-accent-rgb,0, 71, 184), .05);border-color:var(--theme-accent,#0047b8);color:var(--theme-accent,#0047b8);box-shadow:0 4px 12px rgba(var(--theme-accent-rgb,0, 71, 184), .08);font-weight:700}.role-card-icon{font-size:1.35rem;transition:transform .2s}.role-card-btn.active .role-card-icon{transform:scale(1.15)}.role-card-label{font-size:.75rem;font-weight:600}.login-submit-btn{background-color:var(--theme-accent,#0047b8);color:#fff;cursor:pointer;box-shadow:0 4px 10px rgba(var(--theme-accent-rgb,0, 71, 184), .2);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.85rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.login-submit-btn:hover{filter:brightness(1.05);box-shadow:0 8px 20px rgba(var(--theme-accent-rgb,0, 71, 184), .3);transform:translateY(-1px)}.login-submit-btn:active{transform:translateY(0)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.wizard-progress-bar-container{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:.25rem;margin-bottom:2rem;padding-bottom:.75rem;font-size:.725rem;font-weight:700;display:flex;overflow-x:auto}.wizard-progress-step{color:#94a3b8;white-space:nowrap;border-bottom:2px solid #0000;padding-bottom:.25rem;transition:all .2s}.wizard-progress-step.active{color:var(--theme-accent,#0047b8);border-bottom-color:var(--theme-accent,#0047b8)}.wizard-progress-step.completed{color:#10b981}.wizard-step-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;animation:.3s ease-out fadeIn;box-shadow:0 4px 6px -1px #0000000d}.wizard-step-title{color:#0f172a;border-bottom:1px solid #f1f5f9;margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;font-weight:700}.mockup-window{aspect-ratio:1.5;background:#0f172a;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;width:100%;max-width:500px;animation:6s ease-in-out infinite floatImage;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a}.mockup-header{background:#ffffff05;border-bottom:1px solid #ffffff14;align-items:center;gap:.4rem;height:36px;padding:0 .85rem;display:flex}.mockup-dots{gap:.35rem;display:flex}.mockup-dot{background:#fff3;border-radius:50%;width:8px;height:8px}.mockup-dot:first-child{background:#ef4444}.mockup-dot:nth-child(2){background:#f59e0b}.mockup-dot:nth-child(3){background:#10b981}.mockup-title-bar{color:#ffffff59;margin-left:.75rem;font-family:monospace;font-size:.65rem}.mockup-body{background:#090d16;flex:1;display:flex}.mockup-sidebar{border-right:1px solid #ffffff0f;flex-direction:column;gap:.6rem;width:100px;padding:.85rem .4rem;display:flex}.mockup-sidebar-item{background:#ffffff14;border-radius:3px;width:75%;height:7px}.mockup-sidebar-item.active{background:var(--theme-accent,#0047b8);width:85%}.mockup-content{color:#cbd5e1;flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow:hidden}.mockup-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.mockup-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:.25rem;padding:.5rem .65rem;display:flex}.mockup-card-title{text-transform:uppercase;letter-spacing:.05em;color:#fff6;font-size:.55rem;font-weight:700}.mockup-card-value{color:#fff;font-size:.95rem;font-weight:700}.mockup-pulse-dot{background-color:#10b981;border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse;box-shadow:0 0 #10b981b3}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 4px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.mockup-badge{color:#10b981;background:#10b9811f;border-radius:4px;align-items:center;gap:.25rem;width:fit-content;padding:.15rem .35rem;font-size:.55rem;font-weight:700;display:inline-flex}.mockup-badge.warning{color:#f59e0b;background:#f59e0b1f}.mockup-badge.neutral{color:#94a3b8;background:#ffffff14}.mockup-progress-bar{background:#ffffff14;border-radius:1.5px;height:3px;margin-top:.15rem;overflow:hidden}.mockup-progress-fill{background:var(--theme-accent,#0047b8);height:100%}.mockup-list{flex-direction:column;gap:.35rem;display:flex}.mockup-list-item{background:#ffffff05;border:1px solid #ffffff05;border-radius:4px;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.6rem;display:flex}.mockup-list-item-title{color:#fffc;white-space:nowrap;text-overflow:ellipsis;max-width:130px;overflow:hidden}.mockup-list-item-status{font-size:.55rem;font-weight:700}.mockup-geofence-visualizer{background:#ffffff03;border:1px dashed #ffffff26;border-radius:6px;justify-content:center;align-items:center;height:55px;display:flex;position:relative;overflow:hidden}.mockup-geofence-circle{border:1px solid rgba(var(--theme-accent-rgb,0, 71, 184), .4);background:rgba(var(--theme-accent-rgb,0, 71, 184), .08);border-radius:50%;width:36px;height:36px;animation:2s ease-out infinite radar;position:absolute}@keyframes radar{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.mockup-geofence-pin{background:var(--theme-accent,#0047b8);z-index:1;border-radius:50%;width:6px;height:6px}.mockup-terminal{color:#10b981;background:#05070a;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;gap:.15rem;height:55px;padding:.4rem;font-family:Consolas,Courier New,monospace;font-size:.55rem;display:flex;overflow:hidden}
