:root{--primary:#005cff;--primary-hover:#0046cc;--primary-soft:#005cff1f;--primary-ring:#005cff38;--success:#10b981;--success-soft:#10b9811f;--warning:#f59e0b;--warning-soft:#f59e0b24;--danger:#ef4444;--danger-soft:#ef44441f;--info:#06b6d4;--info-soft:#06b6d424;--sidebar-bg:linear-gradient(180deg, #0a1a3a 0%, #071226 48%, #041830 100%);--sidebar-border:#60a5fa29;--sidebar-text:#9ec4ff;--sidebar-text-strong:#eef6ff;--sidebar-hover:#38bdf81f;--sidebar-active:linear-gradient(180deg, #3d8bff 0%, #005cff 100%);--sidebar-w:268px;--topbar-h:64px;--page-bg:#e8f0ff;--surface:#fff;--text-main:#0f172a;--text-muted:#475569;--border-color:#cfe0ff;--border-strong:#93c5fd;--shadow-sm:0 1px 0 #ffffffe6 inset, 0 6px 16px #0f46a014;--shadow-md:0 1px 0 #fff inset, 0 14px 32px #0f46a024;--radius:16px;--lip:#003db3}.app-shell,.dashboard-wrapper{width:100%;min-height:100vh;color:var(--text-main);background:radial-gradient(900px 480px at -8% -12%,#005cff2e,#0000 55%),radial-gradient(720px 420px at 108% -8%,#06b6d429,#0000 50%),radial-gradient(640px 360px at 92% 108%,#10b9811f,#0000 52%),linear-gradient(#eef4ff 0%,#e7f0ff 40%,#eefaf6 100%);display:flex}.app-body{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--sidebar-bg);height:100vh;color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);z-index:60;flex-direction:column;gap:.75rem;padding:1.1rem .85rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:10px 0 36px #00287847}.app-sidebar::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.brand-lockup{border-bottom:1px solid var(--sidebar-border);align-items:center;gap:.75rem;margin-bottom:.35rem;padding:.35rem .6rem .85rem;display:flex}.brand-lockup img{object-fit:contain;filter:brightness(1.08);width:auto;height:36px}.brand-meta{flex-direction:column;min-width:0;display:flex}.brand-meta strong{color:#fff;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.brand-meta span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:600}.nav-section{flex-direction:column;gap:.2rem;margin-bottom:.55rem;display:flex}.nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:#64748b;padding:.45rem .75rem .25rem;font-size:.65rem;font-weight:700}.nav-item{text-align:left;cursor:pointer;white-space:nowrap;align-items:center;gap:.7rem;width:100%;transition:background .15s,color .15s;box-shadow:none!important;color:var(--sidebar-text)!important;background:0 0!important;border:none!important;border-radius:10px!important;padding:.58rem .8rem!important;font-size:.84rem!important;font-weight:550!important;display:flex!important}.nav-item svg{opacity:.9;flex-shrink:0;width:1rem!important;height:1rem!important}.nav-item:hover{background:var(--sidebar-hover)!important;color:var(--sidebar-text-strong)!important}.nav-item.is-active,.nav-item.active{transform:translateY(-1px);color:#fff!important;background:linear-gradient(#4da3ff 0%,#005cff 70%)!important;border-top:1px solid #fff6!important;border-bottom:3px solid #003db3!important;box-shadow:0 8px 18px #005cff73,inset 0 1px #ffffff59!important}.nav-badge{color:#fff;background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:0 .35rem;font-size:.65rem;font-weight:700;display:inline-flex}.nav-item.is-active .nav-badge{background:#0000002e}.sidebar-user{border-top:1px solid var(--sidebar-border);align-items:center;gap:.7rem;margin-top:auto;padding:.85rem .65rem .25rem;display:flex}.user-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(#67e8f9,#005cff);border-bottom:3px solid #003db3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.15rem;height:2.15rem;font-size:.72rem;font-weight:700;display:flex;box-shadow:0 6px 12px #005cff59}.sidebar-user .user-copy{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user .user-copy strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.sidebar-user .user-copy span{color:#67e8f9;text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;font-weight:700}.icon-btn{cursor:pointer;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;color:#fca5a5!important;box-shadow:none!important;background:#ffffff0f!important;border:1px solid #ffffff14!important;border-radius:8px!important;display:inline-flex!important}.icon-btn:hover{color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.app-topbar{z-index:40;min-height:var(--topbar-h);-webkit-backdrop-filter:blur(18px);background:linear-gradient(#ffffffeb,#ecf6ffd1);border-bottom:1px solid #93c5fd8c;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #0f46a014}.app-topbar-titles{min-width:0}.app-topbar-titles h1{letter-spacing:-.03em;color:var(--text-main);font-size:1.05rem;font-weight:750;line-height:1.2;font-family:var(--font-poppins), system-ui, sans-serif;margin:0}.app-topbar-titles p{color:var(--text-muted);margin:.15rem 0 0;font-size:.78rem}.app-topbar-actions{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.session-select{min-width:180px;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-sm)!important;color:var(--text-main)!important;background:#fff!important;border-radius:9px!important;padding:.45rem .7rem!important;font-size:.78rem!important;font-weight:650!important}.status-chip{background:var(--success-soft);color:var(--success);border:1px solid #05966926;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-chip.is-offline{background:var(--warning-soft);color:#92400e;border-color:#d9770633}.status-dot{background:currentColor;border-radius:99px;width:7px;height:7px}.app-main{flex-direction:column;flex:1;gap:1.25rem;width:100%;min-width:0;padding:1.35rem 1.5rem 2rem;display:flex}.mobile-menu-btn{border:1px solid var(--border-color);width:2.35rem;height:2.35rem;color:var(--text-main);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;display:none}.sidebar-overlay{display:none}.app-shell .glass-card,.app-container .glass-card,.glass-card,.dashboard-card{color:var(--text-main);padding:1.35rem;border-radius:var(--radius)!important;background:linear-gradient(#fff 0%,#f3f8ff 100%)!important;border:1px solid #fffffff2!important;border-bottom:3px solid #b7d0f5!important;box-shadow:inset 0 1px #fff,0 10px 24px #0f46a01a,0 2px 4px #0f172a0a!important}.app-shell .glass-card:hover,.app-container .glass-card:hover,.glass-card:hover{transform:translateY(-2px);border-color:#93c5fd!important;box-shadow:inset 0 1px #fff,0 16px 32px #0f46a029!important}.kpi-card{align-items:center;gap:1rem;display:flex}.kpi-icon{border-top:1px solid #ffffffe6;border-radius:12px;justify-content:center;align-items:center;min-width:2.75rem;display:flex;background:linear-gradient(#e8f2ff,#c5dcff)!important;border-bottom:3px solid #6aa8ff!important;width:2.75rem!important;height:2.75rem!important;box-shadow:0 8px 16px #005cff38!important}.kpi-icon svg{width:1.2rem!important;height:1.2rem!important}.kpi-value{letter-spacing:-.03em;font-size:1.35rem;font-weight:800;line-height:1.15;color:var(--text-main)!important}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-heading h1,.page-heading h2{letter-spacing:-.03em;margin:0 0 .2rem;font-size:1.35rem}.inset-panel{border-radius:14px;padding:1rem 1.1rem;box-shadow:inset 2px 3px 8px #0f46a014;background:linear-gradient(#eaf2ff,#f8fbff)!important;border:1px solid #c5d9f8!important}.meter-track{background:#e2e8f0;border-radius:99px;width:100%;height:8px;overflow:hidden}.meter-fill{border-radius:99px;height:100%}.form-group{flex-direction:column;gap:.4rem;margin:0;display:flex}.form-label{color:#334155;letter-spacing:.01em;font-size:.78rem;font-weight:700;display:block}.form-input,.form-select,.app-shell .form-input,.app-shell .form-select,.app-container .form-input,.app-container .form-select,.auth-shell .form-input,.auth-shell .form-select,.app-shell input:not([type=checkbox]):not([type=radio]):not(.modern-input),.app-shell select,.app-shell textarea,.app-container input:not([type=checkbox]):not([type=radio]):not(.modern-input),.app-container select,.app-container textarea,.auth-shell textarea{outline:none;width:100%;transition:border-color .15s,box-shadow .15s,transform .1s;color:var(--text-main)!important;background:linear-gradient(#eef4ff,#fff)!important;border:1px solid #b7d0f5!important;border-radius:12px!important;padding:.62rem .85rem!important;font-size:.875rem!important;font-weight:550!important;box-shadow:inset 2px 3px 7px #0f46a01a,inset 0 -1px #fffc!important}.app-shell textarea,.app-container textarea,.auth-shell textarea{resize:vertical;min-height:88px}.form-input:focus,.form-select:focus,.app-shell .form-input:focus,.app-shell .form-select:focus,.app-container .form-input:focus,.app-container .form-select:focus,.auth-shell .form-input:focus,.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus,.app-container input:focus,.app-container select:focus,.app-container textarea:focus,.auth-shell textarea:focus{background:#fff!important;border-color:#005cff!important;box-shadow:inset 1px 2px 5px #0f46a014,0 0 0 4px #005cff2e!important}.app-shell .form-input:disabled,.app-shell .form-select:disabled,.app-shell input:disabled,.app-container input:disabled{cursor:not-allowed;color:#64748b!important;background:#f1f5f9!important}.form-hint{color:var(--text-muted);font-size:.75rem;line-height:1.45}.credit-split-row{grid-template-columns:minmax(240px,1fr) 7.25rem auto;align-items:center;gap:.5rem;display:grid}.app-shell .credit-split-row .credit-customer-select,.app-shell .credit-split-row select.credit-customer-select{width:100%!important;min-width:240px!important;max-width:none!important}.app-shell .credit-split-row .credit-split-amount,.app-shell .credit-split-row input.credit-split-amount{flex:none!important;width:7.25rem!important;min-width:7.25rem!important}@media (max-width:640px){.credit-split-row{grid-template-columns:1fr auto;grid-template-areas:"customer customer""amount remove"}.credit-split-row .credit-customer-select{grid-area:customer;min-width:0!important}.credit-split-row .credit-split-amount{grid-area:amount}.credit-split-row .credit-split-remove{grid-area:remove}}.app-shell .btn,.app-container .btn{cursor:pointer;justify-content:center;align-items:center;gap:.4rem;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;border:1px solid #0000!important;border-radius:12px!important;padding:.55rem 1rem!important;font-size:.84rem!important;font-weight:700!important}.app-shell .btn:active,.app-container .btn:active{transform:translateY(3px)!important}.app-shell .btn-primary,.app-container .btn-primary{color:#fff!important;background:linear-gradient(#4da3ff 0%,#005cff 68%)!important;border-top:1px solid #9cccff!important;border-bottom:4px solid #003db3!important;border-left:1px solid #3d8bff!important;border-right:1px solid #0046cc!important;box-shadow:0 8px 18px #005cff61!important}.app-shell .btn-primary:hover,.app-container .btn-primary:hover{filter:brightness(1.06)}.app-shell .btn-primary:active,.app-container .btn-primary:active{border-bottom-width:1px!important;box-shadow:0 2px 6px #005cff4d!important}.app-shell .btn-secondary,.app-container .btn-secondary{color:#1e3a8a!important;background:linear-gradient(#fff,#eef4ff)!important;border-top:1px solid #fff!important;border-bottom:3px solid #9ec0ee!important;border-left:1px solid #e0ecff!important;border-right:1px solid #c5d8f6!important;box-shadow:0 6px 14px #0f46a01a!important}.app-shell .btn-secondary:hover,.app-container .btn-secondary:hover{background:linear-gradient(#fff,#e4efff)!important}.app-shell .btn-danger,.app-container .btn-danger{color:#fff!important;background:linear-gradient(#fb7185,#ef4444)!important;border-top:1px solid #fda4af!important;border-bottom:4px solid #b91c1c!important;box-shadow:0 8px 16px #ef444452!important}.app-shell .btn-success,.app-container .btn-success{color:#fff!important;background:linear-gradient(#34d399,#059669)!important;border-top:1px solid #6ee7b7!important;border-bottom:4px solid #047857!important;box-shadow:0 8px 16px #10b98152!important}.app-shell .btn-ghost{color:var(--text-muted)!important;background:0 0!important;border-color:#0000!important}.ops-grid{grid-template-columns:repeat(4,1fr);gap:.85rem;display:grid}.ops-tile{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.45rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;background:linear-gradient(#fff,#eef6ff)!important;border:1px solid #fff!important;border-bottom:4px solid #8ec0ff!important;border-radius:16px!important;padding:1rem 1.05rem!important;box-shadow:0 10px 22px #005cff1f!important}.ops-tile:hover{transform:translateY(-4px);border-bottom-color:#005cff!important;box-shadow:0 16px 28px #005cff33!important}.ops-tile strong{color:var(--text-main);font-size:.86rem}.ops-tile span{color:var(--text-muted);font-size:.7rem;font-weight:500}.ops-icon{border-radius:10px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.segmented{border:1px solid var(--border-color);background:#eef2f7;border-radius:12px;flex-wrap:wrap;gap:.35rem;padding:.3rem;display:flex}.segmented-item{cursor:pointer;align-items:center;gap:.45rem;box-shadow:none!important;color:#475569!important;background:0 0!important;border:none!important;border-radius:9px!important;padding:.55rem .9rem!important;font-size:.8rem!important;font-weight:650!important;display:inline-flex!important}.segmented-item.is-active{color:#fff!important;background:linear-gradient(#4da3ff,#005cff)!important;border-bottom:3px solid #003db3!important;box-shadow:0 6px 14px #005cff4d!important}.choice-pills{flex-wrap:wrap;gap:.5rem;display:flex}.choice-pill{cursor:pointer;flex:1;min-width:8rem;border:1px solid var(--border-color)!important;color:#475569!important;box-shadow:none!important;background:#fff!important;border-radius:10px!important;padding:.7rem .75rem!important;font-size:.78rem!important;font-weight:650!important}.choice-pill.is-active{background:var(--primary-soft)!important;color:var(--primary)!important;border-color:#93c5fd!important}.choice-pill.is-success.is-active{background:var(--success-soft)!important;color:var(--success)!important;border-color:#6ee7b7!important}.choice-pill.is-danger.is-active{background:var(--danger-soft)!important;color:var(--danger)!important;border-color:#fca5a5!important}.alert{border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.85rem;font-weight:600;display:flex}.alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.18rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.table-container{background:#fff;border:1px solid #cfe0ff;border-radius:14px;overflow-x:auto;box-shadow:inset 0 1px #fff,0 8px 18px #0f46a00f}.custom-table{border-collapse:collapse;width:100%;font-size:.84rem}.custom-table thead{background:linear-gradient(#eef6ff,#dcecff)}.custom-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.8rem 1rem;font-size:.68rem;font-weight:700}.custom-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.8rem 1rem}.custom-table tbody tr:hover{background:#f8fafc}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);background:#fff;border-radius:16px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 24px 64px #0f172a2e}.modal-header,.modal-footer{justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.modal-header{border-bottom:1px solid var(--border-color)}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end}.modal-body{padding:1.15rem 1.25rem}.progress-bar-container{background:#e2e8f0;border-radius:99px;width:100%;height:3px;margin-bottom:.85rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary), #22c55e, var(--primary));background-size:200% 100%;width:40%;height:100%;animation:1.4s linear infinite progressSlide}.auth-shell{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100dvh;display:grid}.auth-shell-wide{grid-template-columns:.85fr 1.15fr}.auth-mobile-brand{align-items:center;gap:.65rem;margin-bottom:1.25rem;display:none}.auth-mobile-brand img{object-fit:contain;width:auto;height:40px}.auth-mobile-brand strong{color:#0f172a;font-size:1.05rem}.auth-brand{color:#e2e8f0;background:radial-gradient(circle at 18% 18%,#4da3ff73,#0000 42%),radial-gradient(circle at 88% 78%,#10b98147,#0000 40%),radial-gradient(circle at 70% 12%,#06b6d447,#0000 36%),linear-gradient(165deg,#071833 0%,#042047 55%,#02314a 100%);flex-direction:column;justify-content:space-between;padding:3rem;display:flex;position:relative;overflow:hidden}.auth-brand h1{color:#fff;margin:1.25rem 0 .85rem;font-size:clamp(2rem,3.4vw,3rem);line-height:1.1}.auth-brand p{color:#94a3b8;max-width:28rem}.auth-panel{background:#f8fafc;justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}.auth-card{background:linear-gradient(#fff,#f3f8ff);border:1px solid #fff;border-bottom:4px solid #8ec0ff;border-radius:22px;width:100%;max-width:440px;padding:2rem;box-shadow:inset 0 1px #fff,0 18px 40px #0046b429}.auth-card-wide{max-width:820px}.modern-input{border:1px solid var(--border-color)!important;box-shadow:var(--shadow-sm)!important;color:var(--text-main)!important;background:#fff!important;font-weight:550!important}.modern-input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 4px var(--primary-ring)!important}.modern-btn{color:#fff!important;background:linear-gradient(#4da3ff,#005cff)!important;border:none!important;border-top:1px solid #9cccff!important;border-bottom:4px solid #003db3!important;font-weight:700!important;box-shadow:0 10px 22px #005cff59!important}.modern-btn:hover{filter:brightness(1.05)}.modern-btn:active{border-bottom-width:1px!important;transform:translateY(3px)!important}.app-container{min-height:100vh;color:var(--text-main);background:radial-gradient(900px 480px at -8% -12%,#005cff29,#0000 55%),linear-gradient(#eef4ff 0%,#e7f0ff 100%);display:flex}.app-container .sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);width:var(--sidebar-w);min-width:var(--sidebar-w);box-shadow:10px 0 36px #00287847}.app-container .sidebar nav button,.app-container .sidebar .btn-secondary{justify-content:flex-start;box-shadow:none!important;color:var(--sidebar-text)!important;background:0 0!important;border:none!important}.app-container .sidebar nav button:hover,.app-container .sidebar .btn-secondary:hover{background:var(--sidebar-hover)!important;color:#fff!important}.app-container .main-content{flex:1;max-width:none;padding:1.5rem 1.75rem 2rem}.mobile-header{display:none}.mobile-close-btn{color:#fff;cursor:pointer;background:0 0;border:none;display:none}@media (max-width:1100px){.ops-grid{grid-template-columns:repeat(2,1fr)}.auth-shell,.auth-shell-wide{grid-template-columns:1fr!important}.auth-brand{display:none!important}}@media (max-width:768px){.auth-shell,.auth-shell-wide{background:#f8fafc;flex-direction:column;display:flex!important}.auth-panel{flex:1;align-items:stretch;padding:1rem .85rem 1.75rem!important}.auth-card,.auth-card-wide{border-radius:16px;max-width:100%!important;padding:1.15rem!important}.auth-mobile-brand{display:flex}.auth-card h2,.auth-card-wide h2{font-size:1.35rem!important}.auth-shell textarea,.auth-card textarea{min-height:72px}.app-shell,.app-shell.dashboard-wrapper,.app-container{flex-direction:row!important}.mobile-menu-btn,.mobile-header,.mobile-close-btn{display:flex}.mobile-header{z-index:70;border-bottom:1px solid var(--border-color);background:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 1rem;position:sticky;top:0}.app-sidebar,.app-container .sidebar{height:100vh;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:24px 0 48px #0f172a47}.app-sidebar.is-open,.app-container .sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{z-index:55;background:#0f172a73;display:block;position:fixed;inset:0}.app-topbar{padding:.75rem 1rem}.app-main,.app-container .main-content{padding:1rem}.session-select{min-width:0;max-width:140px}.ops-grid{grid-template-columns:1fr}}@media (max-width:640px){.app-topbar-titles p{display:none}}
