.app-container,.sidebar{display:flex}.sb-logo img,.sidebar{background:var(--surface)}.sb-item:hover,.sb-logo img{box-shadow:var(--shadow-xs)}.sb-item,.sb-logo-text h1,.sb-logo-text p,.sb-user-info p{text-transform:uppercase}.sb-user-info p,.sb-user-info span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-container,.main-panel,body{min-height:100vh}.sb-logo-text p,.sb-user-info span,.top-token-badge{font-family:var(--font-mono)}.mini-stat,.rank-empty,.sb-item i{text-align:center}:root{--bg:#FFFDF5;--surface:#FFFFFF;--ink:#111111;--text-muted:#4A4A4A;--primary:#FF5C00;--secondary:#2563FF;--accent:#FFE600;--success:#00E0A4;--danger:#FF3366;--warning:#FFB800;--border-width:3px;--shadow-xs:2px 2px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--shadow-md:4px 4px 0 var(--ink);--shadow-lg:6px 6px 0 var(--ink);--shadow-xl:8px 8px 0 var(--ink);--font-body:'Outfit',-apple-system,sans-serif;--font-mono:'JetBrains Mono',monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);background-image:linear-gradient(rgba(17,17,17,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.04) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font-family:var(--font-body);overflow-x:hidden}.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;border-right:var(--border-width) solid var(--ink);box-shadow:4px 0 0 var(--ink);z-index:100;transition:transform 150ms ease-out;flex-direction:column}.sb-item,.sb-logo{display:flex;align-items:center;color:var(--ink);text-decoration:none}.sb-logo{padding:1.25rem;border-bottom:var(--border-width) solid var(--ink);gap:12px;background:var(--accent)}.sb-logo img{width:42px;height:42px;border:var(--border-width) solid var(--ink)}.sb-logo-text h1{font-size:1.1rem;font-weight:900;letter-spacing:-.02em}.sb-logo-text p{font-size:.7rem;font-weight:700;color:var(--ink);letter-spacing:.04em}.sb-nav{flex:1;padding:1rem .85rem;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.sb-item{gap:12px;padding:10px 14px;border:2px solid transparent;font-size:.9rem;font-weight:800;letter-spacing:.02em;transition:transform .1s ease-out,background .1s ease-out,box-shadow .1s ease-out;cursor:pointer}.sb-item:hover{background:#fffdf0;border-color:var(--ink);transform:translate(-1px,-1px)}.sb-item.active{background:var(--accent);border:2px solid var(--ink);box-shadow:var(--shadow-sm);transform:translate(-2px,-2px);font-weight:900}.sb-active-indicator{margin-left:auto;background:var(--ink);color:#fff;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;border:1.5px solid var(--ink);box-shadow:1px 1px 0 var(--ink)}.sb-item i{width:20px;font-size:1rem}.sb-user img,.sb-user-icon{width:36px;height:36px}.sb-bottom{padding:1rem;border-top:var(--border-width) solid var(--ink);background:var(--bg)}.sb-user{display:flex;align-items:center;gap:10px;padding:.85rem;background:var(--surface);border:2.5px solid var(--ink);box-shadow:var(--shadow-xs)}.sb-logout-btn,.sb-user img,.sb-user-icon{border:2px solid var(--ink)}.sb-user-icon{background:var(--accent);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:1rem;font-weight:900}.menu-toggle,.sb-logout-btn,.topbar{background:var(--surface)}.sb-user-info{flex:1;min-width:0}.sb-user-info p{font-size:.82rem;font-weight:900}.sb-user-info span{font-size:.68rem;color:var(--text-muted);display:block;font-weight:600}.sb-logout-btn{color:var(--ink);cursor:pointer;font-size:.95rem;padding:6px 8px;box-shadow:1px 1px 0 var(--ink);transition:.1s}.sb-logout-btn:hover{background:var(--danger);color:#fff;transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink)}.main-panel{flex:1;margin-left:270px;display:flex;flex-direction:column;transition:margin-left 150ms ease-out}.topbar{height:72px;border-bottom:var(--border-width) solid var(--ink);box-shadow:0 4px 0 var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:50}.menu-toggle,.top-token-badge{border:2.5px solid var(--ink);color:var(--ink)}.menu-toggle{box-shadow:var(--shadow-xs);cursor:pointer;font-size:1.1rem;display:none;padding:6px 10px}.page-title{font-weight:900;font-size:1.25rem;letter-spacing:-.02em;text-transform:uppercase}.tab-btn,.top-token-badge{font-size:.85rem;font-weight:800;text-transform:uppercase;cursor:pointer;display:flex}.topbar-right{display:flex;align-items:center;gap:15px}.top-token-badge{align-items:center;gap:8px;background:var(--accent);box-shadow:var(--shadow-sm);padding:8px 16px;text-decoration:none;white-space:nowrap;transition:transform .1s,box-shadow .1s}.glass-card,.tab-btn{border:var(--border-width) solid var(--ink)}.top-token-badge:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.tab-btn.active,.tab-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-sm)}.content{flex:1;padding:2rem;max-width:900px;width:100%;margin:0 auto}.glass-card{background:var(--surface);box-shadow:var(--shadow-lg);padding:2rem;margin-bottom:25px}.btn-refresh,.tab-btn{box-shadow:var(--shadow-xs);color:var(--ink);font-family:var(--font-mono)}.mode-tabs{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.tab-btn{background:var(--bg);padding:10px 18px;transition:transform .1s,box-shadow .1s,background .1s;align-items:center;gap:8px}.btn-refresh,.filter-btn{font-weight:800;transition:.1s;text-transform:uppercase;cursor:pointer}.tab-btn:hover{background:#fffdf0}.tab-btn.active{background:var(--accent)}.btn-refresh:hover,.filter-btn.active,.filter-btn:hover{transform:translate(-1px,-1px)}.btn-refresh{background:var(--surface);border:2.5px solid var(--ink);padding:10px 16px;font-size:.82rem;margin-left:auto}.btn-refresh:hover{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-sm)}.mini-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.mini-stat{background:var(--bg);border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-sm);padding:14px}.mini-stat p{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);text-transform:uppercase;font-weight:800;letter-spacing:.05em;margin-bottom:6px}.deposit-info h4,.mini-stat h4{font-weight:900;font-family:var(--font-mono)}.mini-stat h4{font-size:1.4rem;color:var(--ink)}.filter-row{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.filter-btn{background:var(--bg);border:2px solid var(--ink);box-shadow:1px 1px 0 var(--ink);color:var(--ink);padding:6px 14px;font-family:var(--font-mono);font-size:.78rem}.deposit-card,.history-term{border:var(--border-width) solid var(--ink)}.filter-btn:hover{background:#fffdf0}.filter-btn.active{background:var(--ink);color:var(--accent)}.history-term{background:#0a0b0e;box-shadow:var(--shadow-md);max-height:480px;overflow-y:auto;font-family:var(--font-mono);font-size:.8rem;line-height:1.65;padding:18px;color:#f0f0f0}.tl{margin-bottom:6px;white-space:pre-wrap;word-break:break-all}.tl.positive{color:var(--success);font-weight:700}.tl.negative{color:var(--danger);font-weight:700}.tl.neutral{color:#a0a0a0}.deposit-card{background:var(--bg);box-shadow:var(--shadow-sm);padding:16px 18px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.deposit-info h4{font-size:1.05rem;color:var(--ink);margin-top:4px}.deposit-info p{font-size:.78rem;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono);font-weight:700}.deposit-info span.date{display:block;font-size:.72rem;color:var(--text-muted);margin-top:4px;font-weight:600}.badge-status{display:inline-block;font-family:var(--font-mono);font-size:.72rem;font-weight:800;padding:4px 10px;border:2px solid var(--ink);box-shadow:1px 1px 0 var(--ink);text-transform:uppercase}.badge-status.unpaid{background:var(--warning);color:var(--ink)}.badge-status.paid{background:var(--success);color:var(--ink)}.badge-status.cancelled,.legend-dot.usage{background:var(--danger)}.badge-status.cancelled{color:#fff}.retention-banner{background:#fffdf0;border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-sm);padding:12px 16px;margin-bottom:22px;display:flex;align-items:center;gap:14px}.analytics-stat-card,.chart-box{background:var(--surface);border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-sm)}.retention-banner i{font-size:1.4rem;color:var(--primary);flex-shrink:0}.chart-box,.rank-list{flex-direction:column}.retention-banner strong{display:block;font-family:var(--font-mono);font-size:.82rem;text-transform:uppercase;margin-bottom:2px;letter-spacing:.02em}.retention-banner p{font-size:.74rem;color:var(--text-muted);line-height:1.35;margin:0}.analytics-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.analytics-stat-card{padding:14px 12px;text-align:center;transition:transform .1s}.analytics-stat-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.analytics-stat-card p{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em;margin-bottom:6px}.analytics-stat-card h4,.chart-header h3{font-weight:900;font-family:var(--font-mono)}.analytics-stat-card h4{font-size:1.2rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:25px}.chart-box{padding:16px;display:flex}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;border-bottom:2px solid var(--ink);padding-bottom:8px}.chart-header h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:6px}.chart-legend{display:flex;gap:8px;font-family:var(--font-mono);font-size:.65rem;font-weight:800}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:9px;height:9px;border:1.5px solid var(--ink);display:inline-block}.rank-info,.rank-item,.rank-label,.rank-list,.toast,.toast-wrap,.trend-bars,.trend-col{display:flex}.legend-dot.topup{background:var(--success)}.chart-body-trend{display:flex;align-items:flex-end;justify-content:space-around;height:150px;padding:15px 4px 0;gap:6px;background:#fffdf8;border:2px dashed #e0dcd0}.trend-col{flex:1;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.trend-bars{align-items:flex-end;gap:3px;width:100%;max-width:28px;height:115px;justify-content:center}.trend-bar{flex:1;min-width:7px;background:#ccc;border:1.5px solid var(--ink);transition:height .3s;position:relative;cursor:pointer}.trend-bar.usage{background:var(--danger)}.trend-bar.topup{background:var(--success)}.trend-bar:hover::after{content:attr(data-val);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-family:var(--font-mono);font-size:.65rem;padding:2px 6px;white-space:nowrap;z-index:10;border:1px solid #fff;margin-bottom:4px;pointer-events:none}.trend-date{font-family:var(--font-mono);font-size:.65rem;font-weight:800;color:var(--text-muted);margin-top:6px}.rank-list{gap:8px;flex:1;justify-content:center}.rank-item{flex-direction:column;gap:3px}.rank-info{justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.74rem;font-weight:800}.rank-label{align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-badge{background:var(--ink);color:#fff;font-size:.62rem;padding:1px 4px;border-radius:2px;flex-shrink:0}.rank-count,.rank-empty{color:var(--text-muted)}.rank-count{font-size:.7rem;flex-shrink:0}.rank-bar-bg{background:#f0eee4;border:1.5px solid var(--ink);height:9px;width:100%;overflow:hidden}.rank-bar-fill{height:100%;transition:width .4s}.rank-bar-fill.bot{background:var(--secondary)}.rank-bar-fill.number{background:var(--primary)}.rank-bar-fill.cmd{background:var(--success)}.rank-empty{font-family:var(--font-mono);font-size:.75rem;padding:24px 0;font-weight:700}.toast-wrap{position:fixed;bottom:24px;right:24px;flex-direction:column;gap:10px;z-index:9999}.toast{background:var(--surface);border:var(--border-width) solid var(--ink);border-left:8px solid var(--primary);box-shadow:var(--shadow-md);padding:14px 20px;font-size:.88rem;font-weight:800;color:var(--ink);align-items:center;gap:12px;transform:translateX(120%);transition:transform .2s ease-out}.toast.show{transform:translateX(0)}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}@media (max-width:768px){.sidebar{width:250px;box-shadow:4px 0 0 var(--ink);transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sb-logo{padding:12px 14px;gap:8px}.sb-logo img{width:32px;height:32px}.sb-logo-text h1{font-size:.95rem}.sb-logo-text p{font-size:.62rem}.sb-nav{padding:8px 10px;gap:4px}.sb-item{padding:7px 10px;font-size:.78rem;gap:8px}.sb-item.active{background:var(--accent);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.sb-active-indicator{width:17px;height:17px;font-size:.6rem}.sb-item i{width:16px;font-size:.85rem}.sb-bottom{padding:8px 10px}.sb-user{padding:6px 8px;gap:8px}.sb-user img,.sb-user-icon{width:28px;height:28px;font-size:.82rem}.sb-user-info p{font-size:.75rem}.sb-user-info span{font-size:.62rem}.sb-logout-btn{padding:4px 6px;font-size:.82rem}.main-panel{margin-left:0}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:.88rem}.topbar{height:50px;padding:0 10px}.page-title{font-size:.88rem;gap:6px}.top-token-badge{padding:4px 8px;font-size:.7rem;gap:4px}.content{padding:10px 8px}.retention-banner{padding:8px 10px;gap:8px;margin-bottom:12px}.retention-banner i{font-size:1.1rem}.retention-banner strong{font-size:.72rem}.retention-banner p{font-size:.65rem}.analytics-grid-4{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.analytics-stat-card{padding:8px 6px}.analytics-stat-card p{font-size:.58rem}.analytics-stat-card h4{font-size:.95rem}.analytics-charts-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.history-tabs,.mini-stats-grid{gap:6px;margin-bottom:12px}.chart-box{padding:12px 10px}.chart-body-trend{height:125px}.trend-bars{height:90px}.tab-btn{padding:8px 6px;font-size:.78rem}.mini-stats-grid{grid-template-columns:repeat(3,1fr)}.mini-stat{padding:8px 4px}.mini-stat p{font-size:.58rem}.mini-stat h4{font-size:1.05rem}.filter-row{gap:4px;margin-bottom:10px}.filter-btn{padding:4px 8px;font-size:.68rem}.history-term{padding:10px 8px;font-size:.7rem;max-height:280px}.deposit-card{padding:10px 8px;margin-bottom:8px}.deposit-info h4{font-size:.85rem}.deposit-info p{font-size:.68rem}}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(17,17,17,.6);z-index:99}.sidebar-overlay.show{display:block}