:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ekko-green:#19c37d;--ekko-green-dark:#34d399;--ekko-green-light:#2ee59d;--ekko-green-bg:#19c37d24;--navy:#070c0f;--navy-2:#0e1a20;--bg:#0a1013;--card:#111a1f;--card-2:#16222a;--text:#e7eff1;--muted:#8ca0a8;--border:#223038;--danger:#ff6b61;--danger-bg:#ff6b6124;--info:#6aa8ff;--info-bg:#6aa8ff24;--warn:#f5c451;--warn-bg:#f5c4511f;--radius:12px;--radius-lg:16px;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 10px #00000059;--shadow-md:0 10px 28px #00000073;--shadow-lg:0 24px 60px #0009;--ease:cubic-bezier(.4, 0, .2, 1);--input-bg:#0c151a;--thead-bg:#0e171c;--hover-bg:#ffffff08;--chip-bg:#ffffff12;--on-accent:var(--on-accent);--body-bg:radial-gradient(900px circle at 80% -10%, #19c37d12, transparent 55%), #0a1013;--topbar-bg:#0a1013d1}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ekko-green:#0fa968;--ekko-green-dark:#0b7a4c;--ekko-green-light:#16c77e;--ekko-green-bg:#e4f7ee;--bg:#f2f6f5;--card:#fff;--card-2:#fff;--text:#16241f;--muted:#667b76;--border:#e1e8e6;--danger:#d8433a;--danger-bg:#fdebe9;--info:#2e7be0;--info-bg:#e9f1fe;--warn:#8a6d00;--warn-bg:#fff6dc;--shadow-xs:0 1px 2px #0f231e0f;--shadow-sm:0 2px 8px #0f231e12, 0 1px 2px #0f231e0d;--shadow-md:0 8px 24px #0f231e1a, 0 2px 6px #0f231e0f;--shadow-lg:0 20px 48px #0b1f2a2e, 0 6px 16px #0b1f2a14;--input-bg:#fff;--thead-bg:#f3f7f5;--hover-bg:#0f231e09;--chip-bg:#0f231e12;--on-accent:#04241a;--body-bg:#f2f6f5;--topbar-bg:#ffffffe0}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#ffffff42}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}#shell{min-height:100vh;position:relative}.sidebar{border-right:1px solid var(--border);color:#fff;width:260px;max-width:82vw;height:100vh;box-shadow:var(--shadow-lg);z-index:30;transition:transform .25s var(--ease);background:linear-gradient(#0a1317 0%,#0d181d 100%);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;left:0;transform:translate(0)}.sidebar.collapsed{transform:translate(-100%)}.sidebar-backdrop{z-index:25;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#04100c73;position:fixed;inset:0}.sidebar-toggle{top:calc(14px + env(safe-area-inset-top,0px));z-index:35;border:1px solid var(--border);background:var(--card);width:42px;height:42px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-md,var(--shadow-sm));transition:background-color .15s var(--ease), transform .15s var(--ease);border-radius:11px;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed;left:14px}.sidebar-toggle:hover{background:var(--card-2);transform:translateY(-1px)}.sidebar-toggle:active{transform:scale(.94)}.brand{padding:calc(22px + env(safe-area-inset-top,0px)) 18px 22px;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--ekko-green-light), var(--ekko-green-dark));color:#03231a;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex;box-shadow:0 4px 12px #0fa96859}.brand-text{letter-spacing:-.01em;font-size:17px;font-weight:800}.brand-sub{color:#9fb8b2;font-size:11px}nav.side-nav{flex:1;padding:12px 10px;overflow-y:auto}.nav-item{cursor:pointer;color:#9db3ba;transition:background-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease);border-radius:10px;align-items:center;gap:10px;margin-bottom:3px;padding:10px 12px;font-size:13.5px;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg, var(--ekko-green-light), var(--ekko-green));color:var(--on-accent);font-weight:700;box-shadow:0 4px 14px #19c37d47}.sidebar-foot{color:#8fa8a2;border-top:1px solid #ffffff14;padding:14px 18px;font-size:11px}.sidebar-foot button{color:#fff;cursor:pointer;width:100%;transition:background-color .15s var(--ease);background:#ffffff14;border:1px solid #ffffff1a;border-radius:8px;margin-top:8px;padding:9px;font-size:12px}.sidebar-foot button:hover{background:#ffffff29}#main{width:100%;min-width:0}#topbar{background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--border);padding:calc(16px + env(safe-area-inset-top,0px)) 26px 16px;z-index:5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}#topbar h1{letter-spacing:-.01em;margin:0;font-size:18.5px}#topbar .meta{color:var(--muted);margin-top:2px;font-size:12px}#content{padding:22px 26px 60px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);animation:fadeInUp .25s var(--ease);transition:box-shadow .2s var(--ease), transform .2s var(--ease);margin-bottom:16px;padding:18px 20px}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=1000px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease);padding:17px 19px;position:relative;overflow:hidden}.stat:before{content:"";background:linear-gradient(90deg, var(--ekko-green-light), var(--ekko-green));height:3px;position:absolute;top:0;left:0;right:0}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.stat .value{letter-spacing:-.01em;margin-top:6px;font-size:23px;font-weight:800}table{border-collapse:collapse;width:100%;font-size:12.8px}thead th{text-align:left;background:var(--thead-bg);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:11px 12px;font-size:10.8px;font-weight:700}tbody td{border-bottom:1px solid var(--border);padding:10px 12px}tbody tr{transition:background-color .12s var(--ease)}tbody tr:hover{background:var(--hover-bg)}tbody tr:last-child td{border-bottom:none}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:var(--card);overflow-x:auto}.table-wrap table{border:none}.badge{border-radius:20px;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge.green{background:var(--ekko-green-bg);color:var(--ekko-green-dark)}.badge.yellow{background:var(--warn-bg);color:var(--warn)}.badge.red{background:var(--danger-bg);color:var(--danger)}.badge.blue{background:var(--info-bg);color:var(--info)}.badge.grey{background:var(--chip-bg);color:var(--muted)}.btn{background:linear-gradient(135deg, var(--ekko-green-light), var(--ekko-green));color:var(--on-accent);cursor:pointer;transition:transform .12s var(--ease), box-shadow .12s var(--ease), background .15s var(--ease);border:none;border-radius:9px;align-items:center;gap:6px;padding:9px 16px;font-size:12.8px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #19c37d40}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #19c37d59}.btn:active{transform:translateY(0)scale(.98);box-shadow:0 2px 6px #19c37d47}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.small{border-radius:7px;padding:6px 11px;font-size:11.5px}.btn.outline{color:var(--ekko-green-dark);box-shadow:none;background:0 0;border:1.5px solid #19c37d8c}.btn.outline:hover{background:var(--ekko-green-bg);box-shadow:var(--shadow-xs)}.btn.danger{background:linear-gradient(135deg, #ed5b51, var(--danger));color:#fff;box-shadow:0 2px 8px #e0483e47}.btn.danger:hover{box-shadow:0 6px 16px #e0483e61}.btn.block{justify-content:center;width:100%}.form-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}@media (width<=900px){.form-grid{grid-template-columns:repeat(2,1fr)}}.field label{color:var(--muted);letter-spacing:.01em;margin-bottom:5px;font-size:11.5px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:12.8px}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--ekko-green);outline:none;box-shadow:0 0 0 3.5px #19c37d33}.field input:disabled,.field select:disabled{color:var(--muted);cursor:not-allowed;background:#0a1115}.empty{text-align:center;color:var(--muted);border-radius:var(--radius);background:repeating-linear-gradient(-45deg,#19c37d08 0 10px,#0000 10px 20px);padding:32px 24px;font-size:12.8px}.error-text{color:var(--danger);margin-top:8px;font-size:12.5px;font-weight:600}.hint-text{color:var(--muted);margin-top:6px;font-size:11px}#toastHost{z-index:999;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#fff;box-shadow:var(--shadow-lg);max-width:320px;animation:fadeInUp .22s var(--ease);background:#1b2a32;border:1px solid #ffffff14;border-radius:11px;padding:13px 18px;font-size:13px}.low-stock-banner{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius);box-shadow:var(--shadow-xs);border:1px solid #f5c4514d;margin-bottom:14px;padding:11px 15px;font-size:12.5px}.centered-screen{background:radial-gradient(600px circle at 15% 20%, #19c37d47, transparent 55%), radial-gradient(700px circle at 85% 80%, #6aa8ff29, transparent 55%), linear-gradient(180deg, var(--navy), var(--navy-2));justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-card{border-radius:var(--radius-lg);width:380px;max-width:100%;box-shadow:var(--shadow-lg);z-index:1;animation:modalPop .3s var(--ease);border:1px solid var(--border);background:#111a1ff5;padding:38px 34px;position:relative}.auth-card h2{letter-spacing:-.02em;margin:0 0 4px;font-size:22px}.auth-card p{color:var(--muted);margin:0 0 22px;font-size:13px}.auth-card input,.auth-card select{border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:10px;margin-bottom:14px;padding:11px 13px;font-family:inherit;font-size:13.5px}.auth-card input:focus,.auth-card select:focus{border-color:var(--ekko-green);outline:none;box-shadow:0 0 0 3.5px #19c37d33}.auth-card label{color:var(--muted);margin-bottom:5px;font-size:11.5px;font-weight:700;display:block}.rider-shell{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.rider-header{background:linear-gradient(135deg, var(--navy-2), var(--navy));color:#fff;padding:calc(20px + env(safe-area-inset-top,0px)) 20px 22px;z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative;box-shadow:0 4px 16px #0b1f2a40}.rider-content{animation:fadeIn .25s var(--ease);flex:1;padding:18px 18px 96px}.rider-tabbar{-webkit-backdrop-filter:saturate(180%)blur(14px);border-top:1px solid var(--border);width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom,0px);background:#0c1317eb;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 20px #0006}.rider-tab{text-align:center;color:var(--muted);cursor:pointer;transition:color .15s var(--ease), transform .15s var(--ease);background:0 0;border:none;flex:1;padding:10px 0 8px;font-size:10.8px;font-weight:600;text-decoration:none}.rider-tab.active{color:var(--ekko-green-dark);font-weight:800;transform:translateY(-2px)}.rider-tab .glyph{transition:transform .15s var(--ease);margin-bottom:3px;font-size:19px;display:block}.rider-tab.active .glyph{transform:scale(1.15)}.balance-card{background:linear-gradient(135deg, var(--navy-2), var(--navy));color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:none;margin-bottom:14px;padding:22px;position:relative;overflow:hidden}.balance-card:after{content:"";background:radial-gradient(circle,#0fa96859,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-40%;right:-20%}.balance-card .label{color:#9fb8b2;text-transform:uppercase;font-size:11px;font-weight:700;position:relative}.balance-card .value{letter-spacing:-.01em;margin-top:4px;font-size:30px;font-weight:800;position:relative}.qr-frame{border-radius:var(--radius-lg);border:1px solid var(--border);width:240px;height:240px;box-shadow:var(--shadow-md);background:#fff;justify-content:center;align-items:center;margin:0 auto;display:flex}.qr-frame img{width:210px;height:210px}.type-chip-row{flex-wrap:wrap;gap:8px;display:flex}.type-chip{border:1.5px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s var(--ease);background:0 0;border-radius:20px;padding:9px 16px;font-size:13px;font-weight:700}.type-chip.active{background:linear-gradient(135deg, var(--ekko-green-light), var(--ekko-green));border-color:var(--ekko-green);color:var(--on-accent);box-shadow:var(--shadow-sm)}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tab{cursor:pointer;color:var(--muted);transition:color .15s var(--ease), border-color .15s var(--ease);background:0 0;border:none;border-bottom:2.5px solid #0000;padding:10px 16px;font-size:13px;font-weight:700}.tab:hover{color:var(--ekko-green-dark)}.tab.active{color:var(--ekko-green-dark);border-bottom-color:var(--ekko-green)}.modal-overlay{-webkit-backdrop-filter:blur(3px);z-index:100;animation:fadeIn .18s var(--ease);background:#020608b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:85vh;box-shadow:var(--shadow-lg);animation:modalPop .22s var(--ease);padding:24px;overflow-y:auto}.modal-box.wide{max-width:900px}.modal-box h3{letter-spacing:-.01em;margin:0 0 16px;font-size:16px}.modal-close{float:right;cursor:pointer;color:var(--muted);width:30px;height:30px;transition:background-color .15s var(--ease), color .15s var(--ease);background:#ffffff12;border:none;border-radius:50%;font-size:20px;line-height:1}.modal-close:hover{background:var(--danger-bg);color:var(--danger)}.chart-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}@media (width<=900px){.chart-grid{grid-template-columns:1fr}}.chart-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:15px 17px}.chart-box h3{margin:0 0 10px;font-size:13.5px;font-weight:700}.model-tabs{flex-wrap:wrap;gap:6px;padding:4px 0 14px;display:flex}.model-tab{border:1.5px solid var(--border);cursor:pointer;color:var(--muted);transition:all .15s var(--ease);background:0 0;border-radius:20px;align-items:center;gap:5px;padding:6px 15px;font-size:12.5px;font-weight:700;display:inline-flex}.model-tab:hover,.model-tab.active{background:linear-gradient(135deg, var(--ekko-green-light), var(--ekko-green));border-color:var(--ekko-green);color:var(--on-accent)}.model-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.pills{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.pill{border:1.5px solid var(--border);cursor:pointer;color:var(--muted);transition:all .15s var(--ease);background:0 0;border-radius:20px;padding:5px 13px;font-size:12px;font-weight:700}.pill:hover,.pill.active{background:linear-gradient(135deg, var(--ekko-green-light), var(--ekko-green));border-color:var(--ekko-green);color:var(--on-accent)}.date-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.date-bar label{color:var(--muted);font-size:12.5px;font-weight:700}.date-bar select{border:1.5px solid var(--border);background:var(--input-bg);color:var(--text);transition:border-color .15s var(--ease);border-radius:9px;padding:8px 13px;font-size:12.8px}.search-wrap{max-width:360px;margin-bottom:12px;position:relative}.search-wrap input{border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:20px;padding:9px 13px 9px 32px;font-size:12.8px}.search-wrap input:focus{border-color:var(--ekko-green);outline:none;box-shadow:0 0 0 3.5px #19c37d33}.search-wrap:before{content:"🔍";opacity:.6;font-size:12px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.util-bar-wrap{align-items:center;gap:5px;display:flex}.util-bar-bg{background:#ffffff1a;border-radius:4px;width:68px;height:7px;overflow:hidden}.util-bar-fill{height:100%;transition:width .3s var(--ease)}.audit-item{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--ekko-green);box-shadow:var(--shadow-xs);transition:box-shadow .15s var(--ease);border-radius:12px;margin-bottom:9px;padding:13px 16px}.audit-item:hover{box-shadow:var(--shadow-sm)}.audit-item .who{font-size:13px;font-weight:700}.audit-item .when{color:var(--muted);font-size:11.5px}.audit-item .detail{color:var(--muted);margin-top:5px;font-size:12px}.audit-item .changes{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.ch-tag{color:var(--muted);background:#ffffff12;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.ch-tag.ch-added{background:var(--ekko-green-bg);color:var(--ekko-green-dark)}.ch-tag.ch-changed{background:var(--warn-bg);color:var(--warn)}.ch-tag.ch-removed{background:var(--danger-bg);color:var(--danger)}.upload-zone{border-radius:var(--radius);text-align:center;cursor:pointer;transition:all .18s var(--ease);background:#ffffff05;border:2px dashed #2c4049;margin-bottom:14px;padding:28px 20px}.upload-zone:hover,.upload-zone.over{border-color:var(--ekko-green);background:var(--ekko-green-bg);transform:translateY(-1px)}.upload-zone .icon{margin-bottom:6px;font-size:27px}.upload-zone p{color:var(--muted);margin:0;font-size:12.8px}.heatmap-scroll{max-height:65vh;overflow:auto}.hm-table{border-collapse:collapse;font-size:11px}.hm-table th,.hm-table td{text-align:center;white-space:nowrap;padding:3px 6px}.hm-table thead th{background:var(--thead-bg);color:#fff;z-index:2;font-weight:600;position:sticky;top:0}.hm-table .vl{text-align:left;background:var(--card);z-index:1;border-right:1px solid var(--border);padding-right:8px;font-weight:600;position:sticky;left:0}.hm-table .ml{text-align:left;background:var(--card);z-index:1;color:var(--muted);border-right:1px solid var(--border);font-size:11px;position:sticky;left:100px}.hm-table thead th:first-child,.hm-table thead th:nth-child(2){z-index:3;position:sticky}.hm-table thead th:first-child{left:0}.hm-table thead th:nth-child(2){left:100px}.c-hi{color:var(--ekko-green-dark);background:#19c37d29;font-weight:600}.c-z{color:#5f7179;background:#ffffff0a}.c-bd{color:var(--danger);background:#ff6b6129}.c-id{background:var(--warn-bg);color:var(--warn)}.c-mis{color:var(--info);background:#6aa8ff29}.gate-pass-doc{color:#000;background:#fff;max-width:780px;margin:0 auto;padding:26px;font-family:Arial,sans-serif;font-size:11.5px;line-height:1.4}.gate-pass-doc .gp-tp{border-bottom:2.5px double #000;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:10px;display:flex}.gate-pass-doc .gp-co{font-size:16px;font-weight:900}.gate-pass-doc .gp-ca{color:#555;margin-top:2px;font-size:9.5px}.gate-pass-doc .gp-tr{text-align:right}.gate-pass-doc .gp-dt{letter-spacing:3px;font-size:18px;font-weight:900}.gate-pass-doc .gp-pno{color:#555;margin-top:2px;font-size:11px}.gate-pass-doc .gp-gr{grid-template-columns:1fr 1fr;display:grid}.gate-pass-doc .gp-f{border:1px solid #ccc;margin:-1px 0 0 -1px;padding:4px 7px}.gate-pass-doc .gp-fl{color:#777;text-transform:uppercase;font-size:8.5px;font-weight:700}.gate-pass-doc .gp-fv{min-height:15px;font-size:11.5px;font-weight:600}.gate-pass-doc .gp-fv.big{font-size:14px;font-weight:900}.gate-pass-doc .gp-sh{text-transform:uppercase;background:#eee;border:1px solid #ccc;margin-top:10px;padding:4px 7px;font-size:10.5px;font-weight:700}.gate-pass-doc table{border-collapse:collapse;width:100%;margin-top:8px;font-size:10.5px}.gate-pass-doc th{text-align:left;background:#eee;border:1px solid #ccc;padding:4px 6px;font-weight:700}.gate-pass-doc td{border:1px solid #ddd;padding:4px 6px}.gate-pass-doc tr.tot td{background:#f7f7f7;font-weight:700}.gate-pass-doc .gp-sd{border:1px solid #ccc;min-height:44px;margin-top:8px;padding:5px 7px;font-size:10.5px}.gate-pass-doc .gp-sg{grid-template-columns:1fr 1fr 1fr 1fr;margin-top:18px;display:grid}.gate-pass-doc .gp-si{text-align:center;border:1px solid #ccc;margin:-1px 0 0 -1px;padding:7px}.gate-pass-doc .gp-stmp{color:#bbb;border:1px dashed #bbb;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:3px auto;font-size:8.5px;display:flex}.gate-pass-doc .gp-sl{color:#555;border-top:1px solid #000;margin-top:26px;padding-top:3px;font-size:8.5px}.gate-pass-doc .gp-bs{color:#666;border-top:1px solid #ccc;justify-content:space-between;margin-top:8px;padding:6px 0;font-size:9.5px;font-style:italic;display:flex}.gate-pass-doc .gp-gb{border:2px solid #000;margin-top:12px;padding:9px 13px}.gate-pass-doc .gp-gt{text-align:center;text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid #ccc;margin-bottom:7px;padding-bottom:5px;font-size:13px;font-weight:900}.gate-pass-doc .gp-gg{grid-template-columns:1fr 1fr 1fr;gap:7px;display:grid}.gate-pass-doc .gp-gf{font-size:10.5px}.gate-pass-doc .gp-gf span{border-bottom:1px solid #aaa;min-height:16px;padding:2px 0;font-weight:600;display:block}.gate-pass-doc .gp-ck{align-items:center;gap:4px;margin-bottom:2px;font-size:10.5px;display:flex}.gate-pass-doc .gp-cb{border:1px solid #555;flex-shrink:0;justify-content:center;align-items:center;width:11px;height:11px;font-size:8.5px;display:inline-flex}body{background:var(--body-bg);background-attachment:fixed}.card{background:linear-gradient(180deg, var(--card-2), var(--card))}.card>h3,.card-title{color:var(--text)}.stat{background:linear-gradient(180deg, var(--card-2), var(--card))}#topbar h1{font-size:20px}.table-wrap{box-shadow:var(--shadow-sm)}tbody td{vertical-align:middle}select,input[type=date],input[type=text],input[type=number],input[type=search],input[type=email],input[type=tel],textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=file]){background-color:var(--input-bg);color:var(--text);border:1.5px solid var(--border);border-radius:9px}select:not(.field select),.toolbar select{padding:8px 10px;font-size:12.8px}a{color:var(--ekko-green-dark)}.nav-item{font-size:13.5px}.sidebar-foot{color:#7f949b}.empty{border:1px dashed var(--border)}.hint-text{color:var(--muted)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .toolbar-date{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.form-grid.two{grid-template-columns:repeat(2,1fr)}.branch-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.branch-name{font-weight:700}.link-btn{color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.link-btn.muted{color:var(--muted);font-size:12px;text-decoration:underline}.link-btn:hover .move-chip{filter:brightness(1.2)}.move-chip{border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.move-chip.from{background:var(--chip-bg);color:var(--muted)}.move-chip.to{background:var(--ekko-green-bg);color:var(--ekko-green-dark)}.move-chip.empty-chip{border:1px dashed var(--border);color:var(--muted);background:0 0}.move-arrow{color:var(--muted);margin:0 6px}.move-preview{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff05;justify-content:center;align-items:center;margin-bottom:14px;padding:18px;font-size:14px;display:flex}.move-preview .move-chip{padding:5px 14px;font-size:13px}.timeline{border-left:2px solid var(--border);margin:0;padding:0 0 0 16px;list-style:none}.timeline li{padding:0 0 16px 14px;position:relative}.timeline li:before{content:"";background:var(--ekko-green);width:10px;height:10px;box-shadow:0 0 0 4px var(--ekko-green-bg);border-radius:50%;position:absolute;top:4px;left:-23px}#topbar h1{letter-spacing:-.02em;color:var(--ekko-green-dark);font-size:22px;font-weight:800}.card>h3{align-items:center;gap:10px;display:flex;margin:0 0 14px!important;font-size:15px!important}.card>h3:before{content:"";background:var(--ekko-green);border-radius:3px;flex-shrink:0;width:4px;height:18px}.form-section{margin-bottom:14px;padding-bottom:6px}.form-section h4{color:var(--text);align-items:center;gap:8px;margin:0 0 10px;font-size:13px;display:flex}.form-section h4:before{content:"";background:var(--ekko-green);border-radius:2px;width:3px;height:14px}.stat-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}@media (width<=900px){.stat-row{grid-template-columns:repeat(2,1fr)}}.stat-row .stat{text-align:center;padding:16px 12px 14px}.stat-row .stat .value{font-size:28px}.stat-row .stat .label{font-size:10.5px}.stat-row .stat:first-child:before{background:#4c8dff}.stat-row .stat:nth-child(2):before{background:var(--ekko-green)}.stat-row .stat:nth-child(3):before{background:#f5b942}.stat-row .stat:nth-child(4):before{background:#ff6b61}.action-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.toolbar-spacer{flex:1}.toolbar select{min-width:150px}.nav-item .nav-ico{text-align:center;filter:saturate(.9);flex-shrink:0;width:22px;font-size:15px}.nav-item.active{box-shadow:inset 3px 0 #ffffff59,0 4px 14px #19c37d38}.theme-toggle{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:9px;font-size:12px;display:flex}.theme-toggle:hover{background:#ffffff29}html[data-theme=light] .sidebar-toggle{box-shadow:var(--shadow-md)}html[data-theme=light] .card,html[data-theme=light] .stat{background:var(--card)}html[data-theme=light] thead th{color:var(--muted)}html[data-theme=light] ::-webkit-scrollbar-thumb{background:#0b1f2a2e}html[data-theme=light] .modal-overlay{background:#0b141273}html[data-theme=light] .toast{background:var(--navy-2)}html[data-theme=light] .hm-table thead th{color:#fff;background:var(--navy)}html[data-theme=light] .upload-zone{background:#fafcfb;border-color:#c7d6d1}
