:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #0f172a);--hint: var(--tg-theme-hint-color, #94a3b8);--accent: var(--tg-theme-button-color, #2563eb);--accent-text: var(--tg-theme-button-text-color, #ffffff);--sec-bg: var(--tg-theme-secondary-bg-color, #f1f5f9);--border: #e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Roboto,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.app{display:flex;flex-direction:column;min-height:100vh}.content{flex:1;padding:12px 16px 84px}.center{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:24px}.muted{color:var(--hint)}.small{font-size:13px}.strong{font-weight:600}.big{font-size:30px;font-weight:700;color:var(--accent)}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:18px;background:var(--bg);border-bottom:1px solid var(--border)}.link{background:none;border:none;color:var(--accent);font-size:24px;cursor:pointer}.card{background:var(--sec-bg);border-radius:16px;padding:18px;margin:10px 0 14px}.row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.catrow{padding:12px 0;border-bottom:1px solid var(--border)}.catrow.clickable{cursor:pointer}.catrow-top{display:flex;justify-content:space-between;align-items:center}.bar{height:8px;border-radius:4px;background:var(--sec-bg);overflow:hidden;margin:6px 0}.bar-fill{height:8px;border-radius:4px}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-around;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:72px;padding:4px 0;background:none;border:none;color:var(--hint);cursor:pointer;transition:color .15s}.tabbar button span{font-size:11px;font-weight:500;letter-spacing:.2px}.tabbar button.active{color:var(--accent)}.tabbar .scan{min-width:0;width:56px;height:56px;border-radius:28px;background:var(--accent);color:var(--accent-text);align-items:center;justify-content:center;margin-top:-22px;box-shadow:0 6px 16px #2563eb73}.tabbar .scan:active{transform:scale(.94)}.tabbar .scan[disabled]{opacity:.6}.toast{position:fixed;bottom:84px;left:16px;right:16px;background:#111827;color:#fff;padding:12px 16px;border-radius:12px;text-align:center;z-index:10}.clickable{cursor:pointer}.center-text{text-align:center}.mono{font-family:ui-monospace,monospace}.cap{text-transform:capitalize}.gear{background:none;border:none;font-size:20px;cursor:pointer;margin-left:auto;color:var(--text)}.section-label{color:var(--hint);font-size:13px;text-transform:uppercase;margin:16px 0 8px}.card.tight{padding:0}.srow{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer}.srow .check{color:var(--accent);font-weight:700}.divider{height:1px;background:var(--border);margin-left:16px}.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0}.chip{flex:0 0 auto;padding:7px 14px;border:none;border-radius:18px;background:var(--sec-bg);color:var(--text);cursor:pointer}.chip-active{background:var(--accent);color:var(--accent-text);font-weight:600}.navrow{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.daterow{display:flex;gap:12px;padding:8px 0}.daterow label{flex:1;display:flex;flex-direction:column;font-size:12px;color:var(--hint);gap:4px}.daterow input{padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:15px}.danger-btn{width:100%;margin-top:20px;padding:14px;border:none;border-radius:12px;background:none;color:#dc2626;font-size:16px;font-weight:600;cursor:pointer}.link[disabled]{opacity:.3}.paywall{text-align:center;padding:48px 24px}.paywall-icon{font-size:56px}.paywall h3{margin:12px 0 6px}.unlock-btn{margin-top:20px;padding:14px 24px;border:none;border-radius:12px;background:var(--accent);color:var(--accent-text);font-size:16px;font-weight:600;cursor:pointer}.unlock-btn[disabled]{opacity:.5}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
