:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-elevated: #1a1f35;--surface: #151b2e;--surface-hover: #1e2540;--text-primary: #ffffff;--text-secondary: #94a3b8;--text-tertiary: #64748b;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-glow: rgba(99, 102, 241, .25);--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--error: #ef4444;--border: rgba(148, 163, 184, .12);--border-strong: rgba(148, 163, 184, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 8px 32px var(--accent-glow);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#0a0e1a 0%,#050810 100%);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{min-height:100dvh;display:flex;flex-direction:column;position:relative}.app-main{flex:1}.app-header{position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:rgba(10,14,26,.85);border-bottom:1px solid var(--border);padding:16px 20px;box-shadow:0 1px 3px #0003}.app-header h1{font-size:20px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-logout-btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);border-radius:10px;padding:8px 12px;cursor:pointer}label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-secondary)}.app-content{flex:1;padding:24px 20px 120px;max-width:800px;width:100%;margin:0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(17,24,39,.95);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--border);padding:8px 0 max(8px,env(safe-area-inset-bottom));z-index:100;box-shadow:0 -4px 16px #0000004d}.bottom-nav__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;color:var(--text-tertiary);text-decoration:none;font-size:11px;font-weight:600;transition:var(--transition);position:relative}.bottom-nav__link:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:var(--accent-primary);border-radius:0 0 3px 3px;opacity:0;transition:var(--transition)}.bottom-nav__link.is-active{color:var(--text-primary)}.bottom-nav__link.is-active:before{opacity:1}.stack{display:flex;flex-direction:column}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.text-center{text-align:center}.muted{color:var(--text-secondary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card h3{font-size:18px;font-weight:700;letter-spacing:-.3px;margin-bottom:8px}.card>p{color:var(--text-secondary);font-size:14px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;min-height:48px;padding:0 20px;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.1);opacity:0;transition:var(--transition)}.btn:hover:before{opacity:1}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--full{width:100%}.btn--primary{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;box-shadow:var(--shadow-accent)}.btn--primary:hover{box-shadow:var(--shadow-accent),0 0 0 2px var(--accent-glow)}.btn--secondary{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary)}.btn--secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn--ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.btn--danger{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.35);color:#fff}.btn--danger:hover{background:rgba(239,68,68,.2);border-color:#ef44448c}.section-title h2{font-size:28px;font-weight:800;letter-spacing:-.8px;margin-bottom:6px;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title p{color:var(--text-secondary);font-size:15px;line-height:1.5}.input{width:100%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-md);min-height:48px;padding:0 16px;font-size:15px;transition:var(--transition)}.input::placeholder{color:var(--text-tertiary)}.input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.plan-card{position:relative;cursor:pointer;transition:var(--transition)}.plan-card:hover{transform:translateY(-2px)}.plan-card--selected{border-color:var(--accent-primary);background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.05));box-shadow:0 0 0 2px var(--accent-glow),var(--shadow-md)}.plan-badge{position:absolute;right:16px;top:16px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:100px;font-size:11px;font-weight:700;padding:6px 12px;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-accent)}.plan-price{font-size:32px;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-price span{font-size:16px;color:var(--text-secondary);font-weight:600}.plan-total{font-weight:700;font-size:16px}.plan-discount{color:#60a5fa;font-weight:600}.plan-bonus{color:#a3e635;font-weight:600}.device-picker{display:flex;flex-wrap:wrap;gap:10px}.device-pill{border:1px solid var(--border);border-radius:100px;background:var(--bg-elevated);color:var(--text-primary);min-width:48px;height:40px;padding:0 16px;cursor:pointer;font-weight:600;font-size:14px;transition:var(--transition)}.device-pill:hover{border-color:var(--border-strong);background:var(--surface-hover)}.device-pill.is-active{border-color:var(--accent-primary);background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(139,92,246,.2));color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding-left:28px;position:relative;margin-bottom:10px;color:var(--text-secondary);font-size:14px;line-height:1.6}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:700;font-size:16px}.chip{display:inline-flex;align-items:center;border-radius:100px;font-size:12px;padding:6px 12px;width:fit-content;font-weight:700;letter-spacing:.3px}.chip--success{background:var(--success-bg);color:var(--success)}.chip--warning{background:var(--warning-bg);color:var(--warning)}.subscription-notice{border-radius:var(--radius-md);padding:10px 12px;margin:0 0 14px;font-size:14px;line-height:1.45;border:1px solid transparent}.subscription-notice--warning{background:rgba(245,158,11,.12);border-color:#f59e0b66;color:#fbbf24}.subscription-notice--error{background:rgba(239,68,68,.12);border-color:#ef44446b;color:#fca5a5}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-tile{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--bg-elevated);transition:var(--transition)}.stat-tile:hover{border-color:var(--border-strong);background:var(--surface-hover)}.stat-tile span{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-tile strong{font-size:24px;font-weight:800;letter-spacing:-.5px}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,rgba(148,163,184,.08),rgba(148,163,184,.15),rgba(148,163,184,.08));background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.05);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px}.error-state h3{font-size:18px;font-weight:700;color:var(--error)}.error-state p{color:var(--text-secondary);line-height:1.6}.radio-row{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;background:var(--bg-elevated);cursor:pointer;transition:var(--transition)}.radio-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.radio-row input[type=radio]{width:20px;height:20px;accent-color:var(--accent-primary)}.radio-row span{flex:1;font-weight:500;font-size:15px}.url-preview{display:block;white-space:pre-wrap;word-break:break-all;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;font-size:13px;color:var(--text-secondary);font-family:SF Mono,Monaco,Courier New,monospace;line-height:1.6}.qr-card{align-items:center;text-align:center}.qr-card img{max-width:240px;width:100%;border-radius:var(--radius-md);border:1px solid var(--border);padding:16px;background:white;box-shadow:var(--shadow-md)}.toast{position:fixed;left:50%;bottom:76px;transform:translate(-50%);z-index:9999;max-width:min(520px,calc(100% - 32px));padding:12px 14px;border-radius:999px;background:rgba(0,0,0,.75);color:#fff;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px;line-height:1.2;text-align:center}.device-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.device-row{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg-elevated);transition:var(--transition)}.device-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.device-row strong{font-size:16px;font-weight:600}.device-uuid{display:inline-flex;width:fit-content;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);color:var(--accent-primary);font-size:12px;padding:6px 10px;font-family:SF Mono,Monaco,Courier New,monospace}.device-actions{display:flex;flex-direction:column;gap:8px;width:100%}@media (min-width: 768px){.app-content{padding:32px 24px 120px}.section-title h2{font-size:32px}.card{padding:24px}.device-row{flex-direction:row;justify-content:space-between;align-items:center}.device-actions{flex-direction:row;width:auto;min-width:280px}.bottom-nav__link{font-size:12px}}@media (min-width: 1024px){.app-main{display:flex;align-items:flex-start;gap:12px;max-width:1200px;width:100%;margin:0 auto}.bottom-nav{position:sticky;top:88px;left:auto;right:auto;bottom:auto;width:220px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);margin:24px 0 0 20px;padding:8px;background:rgba(17,24,39,.72)}.bottom-nav__link{min-height:44px;border-radius:12px;padding:10px 12px 10px 16px;align-items:flex-start;justify-content:center;font-size:13px}.bottom-nav__link:before{top:50%;left:0;transform:translateY(-50%);width:3px;height:24px;border-radius:0 3px 3px 0}.app-content{max-width:none;margin:24px 20px 24px 0;padding:0 0 24px}.section-title h2{font-size:36px}}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}
