:root{--bg: #0e1116;--surface: #181d25;--surface-2: #232a35;--text: #e6edf3;--muted: #8b949e;--accent: #2f81f7;--success: #2da44e;--warning: #d29922;--danger: #f85149;--border: #30363d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}a,a:link,a:visited,a:hover{color:var(--accent)}a.card,a.card:link,a.card:visited,a.card:hover{color:var(--text)}a.btn,a.btn:link,a.btn:visited,a.btn:hover{color:#fff}body{background:var(--bg);color:var(--text);font-size:16px;line-height:1.4}.app{display:flex;flex-direction:column;min-height:100vh;max-width:720px;margin:0 auto}header.topbar{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:max(12px,env(safe-area-inset-top)) 16px 12px;display:flex;align-items:center;justify-content:space-between;z-index:10}header.topbar h1{font-size:18px;margin:0}button.active-pill{display:flex;align-items:center;gap:6px;background:#2da44e26;color:var(--success);border:1px solid var(--success);border-radius:999px;padding:4px 10px;font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent}.active-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}main{flex:1;padding:16px}nav.tabs{display:flex;background:var(--surface);border-top:1px solid var(--border);position:sticky;bottom:0;padding-bottom:env(safe-area-inset-bottom)}nav.tabs a{flex:1;text-align:center;padding:14px 4px;color:var(--text);text-decoration:none;font-size:15px;font-weight:600;letter-spacing:.02em}nav.tabs a.active{color:var(--accent);font-weight:700;border-top:2px solid var(--accent);padding-top:12px}nav.tabs a.account-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px}nav.tabs a.account-tab.active{padding-top:6px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;text-transform:uppercase}.avatar-lg{width:48px;height:48px;font-size:20px}button,.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 16px;font-size:16px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}button.secondary:disabled{color:var(--muted);border-color:var(--border)}button.danger{background:var(--danger)}button.danger-link{background:none;border:none;color:var(--muted);padding:0;font-size:13px;cursor:pointer;text-decoration:underline;-webkit-tap-highlight-color:transparent}button.danger-link:hover,button.danger-link:active{color:var(--danger)}button.danger-link:disabled{opacity:.5}button.success{background:var(--success)}button.full{width:100%}input,select,textarea{width:100%;padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:16px}label{display:block;margin:12px 0 4px;color:var(--muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px}a.card{display:block;position:relative;padding-right:32px;transition:background .1s}a.card:after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:22px;line-height:1}a.card:active{background:var(--surface-2)}.row{display:flex;gap:8px;align-items:center}.spacer{flex:1}.muted{color:var(--muted);font-size:14px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--surface-2)}.badge.green{background:#2da44e33;color:var(--success)}.badge.amber{background:#d2992233;color:var(--warning)}.badge.red{background:#f8514933;color:var(--danger)}.list{display:flex;flex-direction:column;gap:8px}.scanner{aspect-ratio:1;background:#000;border-radius:12px;overflow:hidden}.error{color:var(--danger);margin:8px 0}.info{color:var(--success);margin:8px 0}.loading{color:var(--muted);padding:24px;text-align:center}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton-line{background:var(--surface-2);border-radius:4px;animation:skeleton-pulse 1.4s ease-in-out infinite}button.link{background:none;border:none;color:var(--accent, #2f80ed);padding:0;font-size:14px;cursor:pointer;text-decoration:underline}button.chip{background:var(--surface-2);color:var(--accent);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button.chip:active{background:var(--surface)}button.chip:disabled{opacity:.5}button.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}button.back-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;width:36px;height:36px;padding:0;margin:0 0 8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent;transition:background .1s}button.back-btn:active{background:#ffffff29}.segmented{display:flex;background:var(--surface-2);border-radius:8px;padding:2px;gap:0}.segmented button{flex:1;background:transparent;color:var(--muted);border:none;padding:8px 12px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}.segmented button.segmented-on{background:var(--accent);color:#fff}button.ios-toggle{position:relative;width:48px;height:28px;border-radius:999px;background:#555;border:none;padding:0;flex-shrink:0;cursor:pointer;transition:background .15s}button.ios-toggle[data-on=true]{background:var(--success)}button.ios-toggle:disabled{opacity:.5;cursor:not-allowed}.ios-toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s}button.ios-toggle[data-on=true] .ios-toggle-thumb{transform:translate(20px)}.toast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));transform:translate(-50%);background:#2d333b;color:#fff;padding:12px 16px;border-radius:999px;display:flex;align-items:center;box-shadow:0 4px 12px #0000004d;z-index:100;max-width:calc(100vw - 32px)}button.link:disabled{opacity:.5;cursor:default}.landing{max-width:960px;margin:0 auto;padding:0 16px 48px}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.landing-nav .brand{font-weight:700;font-size:18px}.hero{text-align:center;padding:48px 0 32px}.hero h1{font-size:34px;line-height:1.15;margin:0 0 12px}.hero p.sub{font-size:18px;color:var(--muted);max-width:560px;margin:0 auto 28px}.hero .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.section-title{text-align:center;font-size:24px;margin:48px 0 8px}.section-sub{text-align:center;color:var(--muted);margin:0 0 24px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.feature-grid .card h3{margin:0 0 6px;font-size:17px}.feature-grid .card p{margin:0;color:var(--muted);font-size:14px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;align-items:stretch}.price-card{display:flex;flex-direction:column}.price-card.featured{border-color:var(--accent)}.price-card .plan-name{font-weight:700;font-size:18px}.price-card .price{font-size:30px;font-weight:700;margin:8px 0 2px}.price-card .price small{font-size:14px;font-weight:400;color:var(--muted)}.price-card ul{list-style:none;padding:0;margin:14px 0;flex:1}.price-card li{padding:5px 0;font-size:14px;color:var(--text)}.landing-footer{border-top:1px solid var(--border);margin-top:48px;padding:24px 0;display:flex;gap:18px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:14px}.landing-footer a{color:var(--muted)}.legal{max-width:720px;margin:0 auto;padding:0 16px 48px}.legal h1{font-size:26px}.legal h2{font-size:18px;margin-top:28px}.legal p,.legal li{color:var(--text);font-size:15px;line-height:1.6}.legal .muted{font-size:13px}.agree-row{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--text);font-size:14px;line-height:1.4}.agree-row input[type=checkbox]{width:auto;margin-top:3px;flex-shrink:0}
