:root{--bg-primary: #f8fafc;--bg-primary-rgb: 248, 250, 252;--bg-secondary: #ffffff;--bg-secondary-rgb: 255, 255, 255;--bg-card: rgba(255, 255, 255, .7);--bg-card-hover: rgba(255, 255, 255, .95);--color-primary: #7c3aed;--color-primary-rgb: 124, 58, 237;--color-secondary: #0891b2;--color-secondary-rgb: 8, 145, 178;--color-accent: #e11d48;--color-success: #059669;--color-warning: #d97706;--text-main: #0f172a;--text-muted: #475569;--text-dark: #0f172a;--border-glass: rgba(15, 23, 42, .08);--border-glow: rgba(124, 58, 237, .15);--border-glow-cyan: rgba(8, 145, 178, .15);--shadow-neon-purple: 0 8px 30px rgba(124, 58, 237, .06);--shadow-neon-cyan: 0 8px 30px rgba(8, 145, 178, .06);--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);--bg-gradient-1: rgba(124, 58, 237, .04);--bg-gradient-2: rgba(8, 145, 178, .04)}:root.dark-mode{--bg-primary: #070b19;--bg-primary-rgb: 7, 11, 25;--bg-secondary: #0c122c;--bg-secondary-rgb: 12, 18, 38;--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);--bg-gradient-1: rgba(168, 85, 247, .08);--bg-gradient-2: rgba(6, 182, 212, .08)}*{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%,var(--bg-gradient-1) 0px,transparent 50%),radial-gradient(at 90% 80%,var(--bg-gradient-2) 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:rgba(var(--bg-secondary-rgb),.8);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:rgba(var(--bg-secondary-rgb),.95)}.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:rgba(var(--bg-secondary-rgb),.6);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;text-transform:uppercase;letter-spacing:.5px}.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:1100;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;overflow:visible!important}.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:1010;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}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;justify-content:center}.align-center{display:flex;align-items:center}.justify-end{display:flex;justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-1-1-450{flex:1 1 450px}.flex-1-1-400{flex:1 1 400px}.flex-1-1-300{flex:1 1 300px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-15{gap:15px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.grid-2col{display:grid;grid-template-columns:repeat(2,1fr)}.grid-3col{display:grid;grid-template-columns:repeat(3,1fr)}.grid-4col{display:grid;grid-template-columns:repeat(4,1fr)}@media (max-width: 767px){.grid-2col,.grid-3col,.grid-4col{grid-template-columns:1fr!important}}.w-full{width:100%}.h-full{height:100%}.m-auto{margin:0 auto}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.p-0{padding:0!important}.p-10{padding:10px}.p-12{padding:12px}.p-16{padding:16px}.p-20{padding:20px}.p-24{padding:24px}.p-30{padding:30px}.pb-10{padding-bottom:10px}.pb-12{padding-bottom:12px}.pb-14{padding-bottom:14px}.py-10{padding-top:10px;padding-bottom:10px}.py-14{padding-top:14px;padding-bottom:14px}.py-20{padding-top:20px;padding-bottom:20px}.px-10{padding-left:10px;padding-right:10px}.px-16{padding-left:16px;padding-right:16px}.px-20{padding-left:20px;padding-right:20px}.max-w-320{max-width:320px;width:100%}.max-w-400{max-width:400px;width:100%}.max-w-420{max-width:420px;width:100%}.max-w-450{max-width:450px;width:100%}.max-w-460{max-width:460px;width:100%}.max-w-500{max-width:500px;width:100%}.max-w-1100{max-width:1100px;width:100%}.max-w-1120{max-width:1120px;width:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-main{color:var(--text-main)}.text-muted{color:var(--text-muted)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.lh-1-5{line-height:1.5}.italic{font-style:italic}.fs-10{font-size:10px}.fs-11{font-size:11px}.fs-12{font-size:12px}.fs-13{font-size:13px}.fs-14{font-size:14px}.fs-15{font-size:15px}.fs-16{font-size:16px}.fs-18{font-size:18px}.fs-20{font-size:20px}.fs-24{font-size:24px}.fs-28{font-size:28px}.fs-32{font-size:32px}.fs-36{font-size:36px}.border-glass{border:1px solid var(--border-glass)}.border-bottom{border-bottom:1px solid var(--border-glass)}.border-dashed-primary{border:1px dashed var(--border-glow)}.border-dashed-glass{border:1px dashed rgba(255,255,255,.05)}.text-accent-primary{color:var(--color-primary)}.text-accent-secondary{color:var(--color-secondary)}.text-accent-danger{color:var(--color-accent)}.text-accent-success{color:var(--color-success)}.text-accent-warning{color:var(--color-warning)}.app-layout{display:flex;min-height:100vh}.app-sidebar{background:#090d1f;border-right:1px solid var(--border-glass);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);position:fixed;height:100vh;z-index:1000;box-sizing:border-box}.sidebar-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border-glass)}.logo-text{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.1em;white-space:nowrap;overflow:hidden}.collapse-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.collapse-btn:hover{color:var(--text-main);background:#ffffff0d}.profile-box{padding:20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-glass);height:76px;box-sizing:border-box;overflow:hidden}.avatar{width:36px;height:36px;border-radius:10px;background:#a855f71a;display:flex;align-items:center;justify-content:center;border:1px solid rgba(168,85,247,.2);flex-shrink:0}.profile-info{display:flex;flex-direction:column;overflow:hidden;white-space:nowrap}.profile-name{font-size:14px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-badge{font-size:9px;padding:2px 6px;align-self:flex-start;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sidebar-nav{flex:1;padding:16px 8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;font-size:14px;font-weight:500;border-left:3px solid transparent;transition:all .2s ease;white-space:nowrap;overflow:hidden}.nav-link:hover{background:#ffffff08;color:var(--text-main)}.logout-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:12px;padding:20px;border-top:1px solid var(--border-glass);width:100%;font-family:var(--font-body);font-size:14px;transition:all .2s ease;white-space:nowrap;overflow:hidden}.logout-btn:hover{background:#f43f5e0d;color:var(--text-main)}.main-content{flex:1;min-height:100vh;display:flex;flex-direction:column;transition:padding-left .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.top-header{height:70px;border-bottom:1px solid var(--border-glass);display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#070b1980;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:990}.connection-status,.header-right{display:flex;align-items:center}.app-container{flex:1;padding:30px;overflow-y:auto}.loader-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.loader-card{text-align:center;padding:40px;border-radius:16px}.tabs-container{display:flex;border-bottom:1px solid var(--border-glass);margin-bottom:20px;gap:10px;overflow-x:auto;padding-bottom:1px}.tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-body);font-weight:500;font-size:13px;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;transition:var(--transition-smooth)}.tab-btn:hover{color:var(--text-main);border-bottom-color:#a855f766}.tab-btn.active{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary);text-shadow:0 0 10px rgba(168,85,247,.2)}.pill-tab-btn{background:transparent;border:none;color:var(--text-muted);padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition-smooth);border-radius:6px}.pill-tab-btn:hover{color:var(--text-main);background:#ffffff05}.pill-tab-btn.active{background:#a855f71a;border:none;color:var(--color-primary);font-weight:600;box-shadow:0 0 10px #a855f726}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.input-field{width:100%;padding-left:42px}.submit-btn{width:100%;padding:12px;font-size:15px;margin-top:8px;gap:8px}.cursor-pointer{cursor:pointer}.schedule-badge{padding:6px 8px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;box-shadow:0 2px 4px #0000000d;transition:var(--transition-smooth)}.scroll-list{border:1px solid var(--border-glass);border-radius:8px;background-color:rgba(var(--bg-secondary-rgb),.6);max-height:180px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.scroll-list-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:var(--transition-smooth)}.scroll-list-item:hover{background:#ffffff05}.scroll-list-item.active{background:#a855f714}.checkbox-box{width:14px;height:14px;border-radius:3px;border:1px solid var(--color-primary);display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.col-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:100;background:#0f152d;border:1px solid rgba(168,85,247,.3);border-radius:10px;padding:14px 18px;min-width:190px;box-shadow:0 8px 32px #00000080,0 0 0 1px #a855f71a}.search-container{position:relative;display:flex;align-items:center;max-width:500px;flex:1}.search-icon{position:absolute;left:14px;color:var(--text-muted)}.search-input{width:100%;padding-left:42px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;margin-top:16px;flex-wrap:wrap;gap:10px}.page-size-select{background:var(--bg-input, #2a2a3e);border:1px solid var(--border-glass);border-radius:6px;color:var(--text-main);padding:4px 8px;font-size:13px;cursor:pointer}.table-actions{display:flex;gap:8px}.table-action-btn{padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-content-extended{width:800px;max-width:800px;min-height:560px}.modal-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-secondary);border-bottom:1px dashed var(--border-glass);padding-bottom:6px;margin-top:10px;margin-bottom:4px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;min-height:420px;align-content:start}.grid-span-2{grid-column:span 2}.info-box{display:flex;gap:12px;align-items:center;margin-bottom:24px;border:1px solid rgba(6,182,212,.2);padding:16px 20px;border-radius:8px;background:#06b6d408}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.device-card{display:flex;flex-direction:column;justify-content:space-between}.device-card-header{display:flex;justify-content:space-between;align-items:flex-start}.device-card-title-box{display:flex;gap:12px;align-items:center}.device-name{font-size:16px;font-weight:700}.device-ip{font-size:12px;color:var(--text-muted);margin-top:2px}.device-meta{display:flex;flex-direction:column;gap:10px;flex-grow:1}.device-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.device-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.feedback-alert{margin-top:16px;border:1px solid transparent;border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;line-height:1.4}.feedback-alert.success{background:#10b98114;border-color:#10b98133}.feedback-alert.error{background:#f43f5e14;border-color:#f43f5e33}.device-action-btn{padding:8px 12px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px}.filters-card{padding:16px 24px;margin-bottom:24px;border:1px solid var(--border-glass)}.filters-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.filter-btn{padding:11px 20px;height:44px}.bal-header{font-size:13px;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.08em;margin-bottom:10px}.bal-value{font-size:28px;font-weight:700}.lists-container{display:flex;flex-direction:column;gap:30px}.section-title{font-size:14px;font-family:var(--font-display);letter-spacing:.1em;border-bottom:1px solid var(--border-glass);padding-bottom:12px;margin-bottom:20px;color:var(--text-muted)}.process-summary{padding:14px;border-radius:8px;background:#ffffff05;border:1px solid var(--border-glass);font-size:13px;line-height:1.7;margin-bottom:20px}.warning-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:20px}.receipt-modal{max-width:520px}.receipt-container{padding:10px;color:var(--text-main)}.receipt-title-block{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:16px}.receipt-company{font-size:18px;letter-spacing:.1em;margin-top:8px;font-weight:700}.receipt-doc-type{font-size:12px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}.receipt-hr{border:0;border-top:1px solid var(--border-glass);margin:16px 0}.receipt-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.receipt-meta-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.receipt-meta-value{font-size:14px;font-weight:500;margin-top:2px}.receipt-breakdown{margin-top:10px}.receipt-breakdown-title{font-size:12px;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;letter-spacing:.05em}.receipt-breakdown-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}.receipt-amount-value{font-family:var(--font-display)}.receipt-footer{text-align:center;margin-top:30px;font-size:11px;color:var(--text-muted);line-height:1.6}.border-bottom-glass{border-bottom:1px solid var(--border-glass)}
