:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--brand:#10b981;--brand-dark:#059669;--brand-darker:#047857;--brand-soft:#ecfdf5;--brand-softer:#d1fae5;--bg:var(--tg-theme-bg-color,#f4f4f5);--surface:var(--tg-theme-secondary-bg-color,#fff);--surface-muted:#f1f5f9;--text:var(--tg-theme-text-color,#0f172a);--text-soft:var(--tg-theme-hint-color,#64748b);--text-faint:#94a3b8;--line:#e2e8f0;--line-strong:#cbd5e1;--danger:#ef4444;--danger-soft:#fef2f2;--warning:#f59e0b;--warning-soft:#fffbeb;--shadow-sm:0 1px 3px #0f172a0a, 0 1px 2px #0f172a08;--shadow-md:0 4px 14px #0f172a0f;--shadow-lg:0 12px 28px #0f172a14;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--focus-ring:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);--nav-height:58px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#34d399;--brand-dark:#10b981;--brand-darker:#059669;--brand-soft:#052e2b;--brand-softer:#064e3b;--bg:var(--tg-theme-bg-color,#0e1621);--surface:var(--tg-theme-secondary-bg-color,#17212b);--surface-muted:#242f3d;--text:var(--tg-theme-text-color,#f5f5f5);--text-soft:var(--tg-theme-hint-color,#7f91a4);--text-faint:#4e5d6d;--line:#242f3d;--line-strong:#323e4d;--danger:#f87171;--danger-soft:#450a0a;--warning:#fbbf24;--warning-soft:#451a03;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 14px #00000040;--shadow-lg:0 12px 28px #0000004d}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);overscroll-behavior:none;min-width:320px;min-height:100%}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb, var(--brand) 50%, transparent);outline-offset:2px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}.app-shell{width:100%;max-width:480px;padding:0 16px;padding-top:calc(16px + var(--safe-top));padding-bottom:calc(var(--nav-height) + 28px + var(--safe-bottom));flex-direction:column;flex:1;margin:0 auto;transition:padding-top .2s;display:flex}.app-shell.has-impersonate-banner{padding-top:calc(76px + var(--safe-top))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.card-header{align-items:center;gap:12px;display:flex}.card-header .icon{background:var(--brand-soft);width:40px;height:40px;color:var(--brand-dark);border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.card-header .icon svg{width:20px;height:20px}.hero-balance{text-align:center;padding:20px 16px 16px}.hero-balance-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.75rem;font-weight:600}.hero-balance-amount{letter-spacing:-.03em;color:var(--text);font-size:2.25rem;font-weight:800;line-height:1.1}.hero-balance-trend{color:var(--brand-dark);align-items:center;gap:4px;margin-top:6px;font-size:.8125rem;font-weight:600;display:inline-flex}.action-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.action-grid-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;transition:transform .15s,background .15s;display:flex}.action-grid-btn:active{background:var(--surface-muted);transform:scale(.95)}.action-grid-icon{background:var(--brand-soft);width:42px;height:42px;color:var(--brand-dark);border-radius:50%;place-items:center;display:grid}.action-grid-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;font-weight:600;overflow:hidden}.group-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden}.group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);padding:12px 16px 8px;font-size:.75rem;font-weight:700}.group-list{flex-direction:column;display:flex}.group-item{border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;transition:background .15s;display:flex}.group-item:last-child{border-bottom:none}.group-item:active{background:var(--surface-muted)}.group-item-left{align-items:center;gap:12px;min-width:0;display:flex}.group-item-icon{background:var(--surface-muted);width:36px;height:36px;color:var(--text-soft);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.group-item-icon.brand{background:var(--brand-soft);color:var(--brand-dark)}.group-item-text{flex-direction:column;min-width:0;display:flex}.group-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.group-item-subtitle{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.group-item-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.group-item-chevron{color:var(--text-faint)}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px}.stat-card .stat-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.6875rem;font-weight:600}.stat-card .stat-value{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.8125rem,3.8vw,1.0625rem);font-weight:700;overflow:hidden}.stat-card .stat-value.brand,.stat-card .stat-value.success{color:var(--brand-dark)}.stat-card .stat-value.danger{color:var(--danger)}.stat-card .stat-value.muted{color:var(--text-soft)}.floating-nav-container{bottom:calc(12px + var(--safe-bottom));z-index:90;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;left:0;right:0}.floating-nav{pointer-events:auto;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);border-radius:999px;justify-content:center;align-items:center;gap:6px;width:auto;max-width:90vw;padding:5px 8px;display:flex}.floating-nav-item{min-width:44px;height:44px;color:var(--text-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.8125rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.floating-nav-item:not(.active){padding:0 10px}.floating-nav-item.active{background:var(--brand-dark);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--brand-dark) 40%, transparent);padding:0 16px}.floating-nav-label{font-size:.8125rem;font-weight:600;line-height:1}.floating-nav-item:active{transform:scale(.95)}.floating-nav-icon{align-items:center;display:flex}.search-box{margin-bottom:12px;position:relative}.search-input{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);padding:11px 14px 11px 38px;font-size:.875rem}.search-icon{color:var(--text-faint);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.chip-bar{scrollbar-width:none;gap:8px;margin-bottom:14px;padding-bottom:8px;display:flex;overflow-x:auto}.chip-bar::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text-soft);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:8px 16px;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.chip.active{background:var(--brand-soft);color:var(--brand-darker);border-color:var(--brand)}.badge{letter-spacing:.02em;text-transform:capitalize;border-radius:999px;align-items:center;padding:3px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.badge-on-hold{background:var(--warning-soft);color:var(--warning)}.badge-confirm{color:#3b82f6;background:#3b82f626}.badge-in-progress{color:#8b5cf6;background:#8b5cf626}.badge-completed{background:var(--brand-soft);color:var(--brand-darker)}.badge-cancelled{background:var(--danger-soft);color:var(--danger)}.badge-refunded{background:var(--surface-muted);color:var(--text-soft)}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000073;animation:.2s fadeIn;position:fixed;inset:0}.drawer-sheet{background:var(--surface);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);max-width:480px;padding:20px 16px calc(20px + var(--safe-bottom));z-index:101;box-shadow:var(--shadow-lg);margin:0 auto;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;position:fixed;bottom:0;left:0;right:0}.drawer-handle{background:var(--line-strong);border-radius:999px;width:36px;height:4px;margin:0 auto 16px}.drawer-title{text-align:center;margin-bottom:16px;font-size:1.0625rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 20px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--brand-dark);color:#fff}.btn-secondary{background:var(--surface-muted);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-outline-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.icon-button{width:44px;height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.icon-button:hover,.icon-button:active{background:var(--surface-muted);color:var(--text)}.form-group{margin-bottom:14px}.form-label{color:var(--text-soft);margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.form-input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);width:100%;height:46px;color:var(--text);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent)}input[type=date].form-input,select.form-input{appearance:none;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2064748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cline x1='16' x2='16' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='2' y2='6'/%3E%3Cline x1='3' x2='21' y1='10' y2='10'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:18px 18px;padding-right:40px}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.auth-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:400px;margin:0 auto;padding:24px 20px;display:flex}.auth-logo{background:var(--brand-soft);width:64px;height:64px;color:var(--brand-dark);border-radius:18px;place-items:center;margin-bottom:20px;display:grid}.auth-title{margin-bottom:6px;font-size:1.25rem;font-weight:700}.auth-subtitle{color:var(--text-soft);margin-bottom:28px;font-size:.875rem}.loading-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.spinner{border:2.5px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-soft);font-size:.8125rem}.text-center{text-align:center}.text-xs{font-size:.6875rem}.text-faint{color:var(--text-faint)}.mt-3{margin-top:12px}.mt-4{margin-top:16px}
