:root{--bg-primary: #070b19;--bg-secondary: #0c122c;--bg-card: rgba(16, 24, 48, .65);--bg-card-hover: rgba(22, 34, 68, .8);--color-primary: #a855f7;--color-primary-rgb: 168, 85, 247;--color-secondary: #06b6d4;--color-secondary-rgb: 6, 182, 212;--color-accent: #f43f5e;--color-success: #10b981;--color-warning: #f59e0b;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dark: #0f172a;--border-glass: rgba(255, 255, 255, .06);--border-glow: rgba(168, 85, 247, .25);--border-glow-cyan: rgba(6, 182, 212, .25);--shadow-neon-purple: 0 0 15px rgba(168, 85, 247, .25);--shadow-neon-cyan: 0 0 15px rgba(6, 182, 212, .25);--font-body: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);overflow-x:hidden;min-height:100vh;background-image:radial-gradient(at 10% 20%,rgba(168,85,247,.08) 0px,transparent 50%),radial-gradient(at 90% 80%,rgba(6,182,212,.08) 0px,transparent 50%);background-attachment:fixed}h1,h2,h3,h4,h5,h6,.display-number{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}a{color:var(--color-secondary);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--color-primary);text-shadow:0 0 8px rgba(168,85,247,.4)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#a855f74d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.glass-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:12px;padding:24px;transition:var(--transition-smooth)}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-glow);box-shadow:var(--shadow-neon-purple)}.glass-card.cyan-theme:hover{border-color:var(--border-glow-cyan);box-shadow:var(--shadow-neon-cyan)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:var(--font-body);font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);border:1px solid transparent;outline:none}.btn-primary{background:var(--color-primary);color:var(--text-main);box-shadow:0 4px 12px #a855f733}.btn-primary:hover{background:#b86bfb;box-shadow:0 0 15px #a855f780;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-main);border:1px solid var(--border-glass)}.btn-secondary:hover{background:#ffffff0d;border-color:var(--color-secondary);box-shadow:var(--shadow-neon-cyan);transform:translateY(-2px)}.btn-danger{background:var(--color-accent);color:var(--text-main)}.btn-danger:hover{background:#f45e77;box-shadow:0 0 15px #f43f9480;transform:translateY(-2px)}.btn-success{background:var(--color-success);color:var(--text-main)}.btn-success:hover{background:#18d395;box-shadow:0 0 15px #10b98180;transform:translateY(-2px)}.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.form-label{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.form-input,.form-select,.form-textarea{background:#0c1226cc;border:1px solid var(--border-glass);border-radius:8px;padding:12px 16px;color:var(--text-main);font-family:var(--font-body);font-size:14px;transition:var(--transition-smooth)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:var(--shadow-neon-cyan);background:#0c1226f2}.table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-glass);background:var(--bg-card)}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background:#0c122699;padding:16px;font-family:var(--font-display);font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-glass)}.custom-table td{padding:16px;font-size:14px;border-bottom:1px solid var(--border-glass);color:var(--text-main)}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background:#ffffff05}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;border-radius:9999px;text-transform:uppercase;border-width:1px;border-style:solid}.badge-success{background:#10b98114;border-color:#10b9814d;color:var(--color-success)}.badge-warning{background:#f59e0b14;border-color:#f59e0b4d;color:var(--color-warning)}.badge-danger{background:#f43f5e14;border-color:#f43f5e4d;color:var(--color-accent)}.badge-info{background:#06b6d414;border-color:#06b6d44d;color:var(--color-secondary)}.badge-orange{background:#f9731614;border-color:#f973164d;color:#f97316}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-title{font-size:28px;color:var(--text-main);background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-title-accent{background:linear-gradient(to right,#a855f7,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#030712cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#0f152d;border:1px solid rgba(168,85,247,.3);box-shadow:0 0 30px #a855f726;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;padding:30px;position:relative;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:20px;font-family:var(--font-display)}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.modal-close:hover{color:var(--text-main)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pulse-online{display:inline-block;width:8px;height:8px;background:var(--color-success);border-radius:50%;box-shadow:0 0 8px var(--color-success);margin-right:8px}.pulse-offline{display:inline-block;width:8px;height:8px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 8px var(--color-accent);margin-right:8px}.pulse-unknown{display:inline-block;width:8px;height:8px;background:var(--text-muted);border-radius:50%;margin-right:8px}.sidebar-tooltip{position:relative}.sidebar-tooltip:after{content:attr(data-tooltip);position:absolute;left:80px;top:50%;transform:translateY(-50%) scale(.9);background:#0f152d;color:var(--text-main);padding:6px 12px;border-radius:6px;border:1px solid var(--border-glow);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease;z-index:1000;box-shadow:var(--shadow-neon-purple)}.sidebar-tooltip:hover:after{opacity:1;transform:translateY(-50%) scale(1)}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-loading{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite linear;border-radius:4px}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}input,button,select,textarea,a{-webkit-tap-highlight-color:transparent}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:16px!important}}@media (max-width: 767px){body{padding-bottom:calc(75px + var(--safe-bottom))!important;padding-top:calc(60px + var(--safe-top))!important}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px!important}.page-header .btn{width:100%}.page-title{font-size:22px!important}.form-group{margin-bottom:16px!important}.dashboard-grid{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:20px!important}.table-container{border:none!important;background:transparent!important;overflow-x:visible!important;margin-bottom:20px}.custom-table{display:block!important;width:100%!important;border:none!important}.custom-table thead{display:none!important}.custom-table tbody,.custom-table tr,.custom-table td{display:block!important;width:100%!important;box-sizing:border-box}.custom-table tr{background:var(--bg-card)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass)!important;border-radius:12px!important;margin-bottom:14px!important;padding:12px 16px!important;box-shadow:0 4px 10px #0003;transition:var(--transition-smooth)}.custom-table tr:hover{background:var(--bg-card-hover)!important;border-color:var(--border-glow)!important;box-shadow:var(--shadow-neon-purple)!important}.custom-table td{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:8px 0!important;border-bottom:1px dashed rgba(255,255,255,.05)!important;font-size:13px!important;text-align:right!important;min-height:38px;background:transparent!important}.custom-table td:last-child{border-bottom:none!important;margin-top:8px;justify-content:flex-end!important}.custom-table td input[type=checkbox]{margin:0;width:16px;height:16px}.attendance-table td:before,.employees-table td:before,.leaves-table td:before,.payroll-table td:before,.org-setup-table td:before,.shifts-table td:before,.devices-table td:before{font-family:var(--font-display);font-size:11px;color:var(--text-muted);text-transform:uppercase;font-weight:600;text-align:left;margin-right:12px;display:inline-block}.custom-table td:before{content:attr(data-label)!important;font-family:var(--font-display);font-size:11px;color:var(--text-muted);text-transform:uppercase;font-weight:600;text-align:left;margin-right:12px;display:inline-block}.attendance-table td[data-label="Log ID"],.attendance-table td[data-label=Employee],.attendance-table td[data-label="Source Terminal"],.attendance-table td[data-label=Device],.attendance-table td[data-label=Notes],.attendance-table td[data-label="Auditor Notes"],.payroll-table td[data-label="Employee Name"]{display:none!important}.weekly-schedule-table{min-width:800px!important;table-layout:fixed!important;display:table!important}.weekly-schedule-table thead{display:table-header-group!important}.weekly-schedule-table tbody{display:table-row-group!important}.weekly-schedule-table tr{display:table-row!important;background:transparent!important;border:none!important;border-bottom:1px solid var(--border-glass)!important}.weekly-schedule-table td{display:table-cell!important;text-align:center!important;padding:10px 6px!important;border-bottom:1px solid var(--border-glass)!important;background:transparent!important;font-size:12px!important;white-space:normal!important}.weekly-schedule-table td:first-child{text-align:left!important;font-weight:600!important;position:sticky!important;left:0!important;background:#070b19!important;z-index:2;border-right:1px solid var(--border-glass)!important}.weekly-schedule-table td:before{display:none!important}.grid-3col-mobile{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-bottom:20px!important}.grid-3col-mobile .glass-card{padding:12px 6px!important;text-align:center!important}.grid-3col-mobile .glass-card div[style*=balHeader],.grid-3col-mobile .glass-card div[style*=cardHeader],.grid-3col-mobile .glass-card span[style*=cardTitle]{font-size:10px!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;margin-bottom:4px!important}.grid-3col-mobile .glass-card .display-number,.grid-3col-mobile .glass-card div[style*=balValue],.grid-3col-mobile .glass-card div[style*=cardValue]{font-size:16px!important;margin-bottom:0!important}.grid-3col-mobile .glass-card div[style*=cardSubText],.grid-3col-mobile .glass-card div[style*=fontSize]{font-size:8px!important}.grid-3col-mobile .glass-card svg{display:none!important}.page-header .btn{width:auto!important}.page-header .btn-primary{width:100%!important}.attendance-filters-card{padding:12px 14px!important;margin-bottom:16px!important}.attendance-filters-card div[style*=filtersGrid]{gap:8px!important;display:grid!important;grid-template-columns:1fr 1fr!important}.attendance-filters-card div[style*=filtersGrid] .form-group:first-child{grid-column:span 2}.attendance-filters-card div[style*=filtersGrid] button[type=submit]{grid-column:span 2;height:38px!important;padding:8px 16px!important;width:100%!important}.attendance-filters-card div[style*=filtersGrid] .form-input,.attendance-filters-card div[style*=filtersGrid] .form-select{padding:8px 12px!important;font-size:13px!important}.attendance-filters-card div[style*=filtersGrid] .form-label{font-size:10px!important}.notifications-grid{grid-template-columns:1fr!important;gap:16px!important}.notifications-header-actions{width:100%!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}.notifications-header-actions button{width:100%!important}.notification-card{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.notification-card .mark-read-btn{align-self:flex-end!important;width:auto!important;padding:6px 12px!important;font-size:12px!important}}.mobile-header{position:fixed;top:0;left:0;right:0;height:60px;background:#070b19bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-glass);display:flex;align-items:center;justify-content:space-between;padding:0 16px;padding-top:var(--safe-top);height:calc(60px + var(--safe-top));z-index:999;box-shadow:0 2px 10px #00000026}.mobile-logo-text{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.08em}.mobile-header-actions{display:flex;align-items:center;gap:16px}.mobile-avatar-btn{width:32px;height:32px;border-radius:50%;background:#a855f726;border:1px solid rgba(168,85,247,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:var(--transition-smooth)}.mobile-avatar-btn:active{transform:scale(.9)}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:65px;background:#070b19cc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border-glass);display:flex;justify-content:space-around;align-items:center;padding-bottom:var(--safe-bottom);height:calc(65px + var(--safe-bottom));z-index:999;box-shadow:0 -4px 20px #0000004d}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-decoration:none;font-size:10px;font-weight:500;font-family:var(--font-body);gap:4px;width:60px;height:100%;cursor:pointer;background:transparent;border:none;transition:all .2s ease}.mobile-nav-item.active{color:var(--color-primary);text-shadow:0 0 10px rgba(168,85,247,.2)}.mobile-nav-item.active svg{transform:translateY(-2px);color:var(--color-primary)}.mobile-nav-item svg{transition:transform .2s ease,color .2s ease}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-center-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:-20px;box-shadow:0 0 15px #a855f780;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1000}.mobile-nav-center-btn:active{transform:scale(.9) translateY(4px);box-shadow:0 0 8px #a855f74d}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#03071299;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1001;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease-out}.bottom-sheet{width:100%;max-width:500px;background:#0d122c;border-top:1px solid var(--border-glow);box-shadow:0 -10px 30px #a855f726;border-top-left-radius:24px;border-top-right-radius:24px;padding:24px 20px;padding-bottom:calc(24px + var(--safe-bottom));box-sizing:border-box;animation:slideUpMobile .3s cubic-bezier(.16,1,.3,1);max-height:85vh;overflow-y:auto}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer-drag-handle{width:40px;height:5px;background:#ffffff26;border-radius:10px;margin:0 auto 16px}.mobile-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.mobile-menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff08;border:1px solid var(--border-glass);border-radius:12px;padding:12px 6px;cursor:pointer;color:var(--text-muted);text-decoration:none;font-size:11px;font-weight:500;text-align:center;gap:8px;transition:var(--transition-smooth)}.mobile-menu-item:active{background:#a855f714;border-color:var(--border-glow);color:var(--text-main);transform:scale(.95)}.mobile-menu-item svg{color:var(--color-primary)}.mobile-menu-item.danger-item svg{color:var(--color-accent)}.mobile-clock-widget{text-align:center;padding:24px 16px;background:#a855f70d;border:1px dashed var(--border-glow);border-radius:16px;margin-bottom:24px}.mobile-clock-timer{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:.05em;color:var(--text-main);text-shadow:0 0 10px rgba(6,182,212,.3)}.mobile-clock-date{font-size:13px;color:var(--text-muted);margin-top:4px;margin-bottom:16px}.mobile-punch-btn{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.05em;margin:0 auto;border:none;color:#fff;cursor:pointer;position:relative;transition:all .3s ease;box-shadow:0 0 25px #a855f74d}.mobile-punch-btn.clocked-out{background:radial-gradient(circle,var(--color-success) 0%,#0c7a52 100%);box-shadow:0 0 25px #10b98166}.mobile-punch-btn.clocked-in{background:radial-gradient(circle,var(--color-accent) 0%,#a81c33 100%);box-shadow:0 0 25px #f43f5e66}.mobile-punch-btn:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%;border:1px solid rgba(255,255,255,.1);animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.05);opacity:.4}to{transform:scale(1.15);opacity:0}}.mobile-only{display:none!important}.desktop-only,.mobile-block{display:inline!important}@media (max-width: 767px){.mobile-only{display:inline!important}.desktop-only{display:none!important}.mobile-block{display:block!important}.dashboard-header{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:8px!important;margin-bottom:15px!important}.weekly-schedule-table th:first-child{position:sticky!important;left:0!important;background:#070b19!important;z-index:3;border-right:1px solid var(--border-glass)!important}.payroll-table td[data-label="Receipt ID"]{display:none!important}.grid-3col-mobile .glass-card span[style*=cardTitle]{font-size:10px!important;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;margin-bottom:4px!important;display:inline-block}}.hover-glow-card:hover{transform:translateY(-2px);border-color:#a855f766!important;box-shadow:0 0 10px #a855f733;background:#ffffff05!important}@keyframes slideDownPicker{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.datepicker-dropdown{animation:slideDownPicker .2s cubic-bezier(.4,0,.2,1) forwards}@keyframes datepickerGridFade{0%{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.datepicker-grid-transition{animation:datepickerGridFade .25s cubic-bezier(.4,0,.2,1) forwards}
