*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #273548;--border: #334155;--border-light: #475569;--primary: #6366f1;--primary-hover:#4f46e5;--primary-light:#818cf8;--accent: #8b5cf6;--text: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--sidebar-w: 240px;--bottom-nav-h: 64px;--header-h: 60px;--radius: 10px;--radius-lg: 16px;--radius-sm: 6px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 12px 40px rgba(0,0,0,.6);--glow: 0 0 24px rgba(99,102,241,.25);--t-fast: .15s ease;--t-base: .22s ease;--t-slow: .35s ease}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:Inter,SF Pro Text,system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;letter-spacing:-.02em;color:var(--text)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}p{color:var(--text-muted)}a{color:var(--primary-light);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all var(--t-fast);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--glow);transform:translateY(-1px);color:#fff}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border);border-color:var(--border-light);color:var(--text)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-lg)}.btn-sm{padding:6px 14px;font-size:.8rem;border-radius:var(--radius-sm)}.btn-full{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:border-color var(--t-base)}.card:hover{border-color:var(--border-light)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em}.badge-primary{background:#6366f126;color:var(--primary-light)}.badge-success{background:#10b98126;color:#34d399}.badge-warning{background:#f59e0b26;color:#fbbf24}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.input{width:100%;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input::placeholder{color:var(--text-subtle)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.divider{display:flex;align-items:center;gap:12px;color:var(--text-subtle);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);background-image:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(99,102,241,.12) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 80% 80%,rgba(139,92,246,.08) 0%,transparent 50%);padding:24px}.auth-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg)}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px;text-decoration:none}.auth-logo-icon{width:36px;height:36px;background:var(--primary);border-radius:9px;display:flex;align-items:center;justify-content:center}.auth-logo-text{font-size:1.15rem;font-weight:700;color:var(--text);letter-spacing:-.03em}.auth-title{font-size:1.6rem;font-weight:700;color:var(--text);margin-bottom:6px}.auth-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:28px}.auth-footer{text-align:center;margin-top:24px;font-size:.875rem;color:var(--text-muted)}.cl-rootBox,.cl-card{background:transparent!important;box-shadow:none!important;border:none!important}.cl-headerTitle,.cl-headerSubtitle,.cl-bodyText,.cl-footerActionText{color:var(--text-muted)!important}.cl-formButtonPrimary{background:var(--primary)!important;transition:all var(--t-fast)!important}.cl-formButtonPrimary:hover{background:var(--primary-hover)!important}.cl-formFieldInput{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text)!important}.cl-formFieldInput:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #6366f133!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform var(--t-base);overflow-y:auto}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--border);text-decoration:none}.sidebar-logo-icon{width:32px;height:32px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-text{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.03em}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);padding:12px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:all var(--t-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:#6366f126;color:var(--primary-light)}.nav-item.active .nav-icon{color:var(--primary-light)}.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.8}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}.nav-item-badge{margin-left:auto;background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:9999px;min-width:20px;text-align:center}.sidebar-footer{padding:12px 10px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);transition:background var(--t-fast);cursor:pointer}.sidebar-user:hover{background:var(--surface-2)}.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{min-width:0}.sidebar-user-name{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-plan{font-size:.7rem;color:var(--text-muted)}.main-content{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}.page-header{padding:24px 32px 0;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9}.page-header-inner{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;gap:16px}.page-title{font-size:1.25rem;font-weight:700}.page-subtitle{font-size:.85rem;color:var(--text-muted);margin-top:2px}.page-body{padding:28px 32px;flex:1}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-h);background:var(--surface);border-top:1px solid var(--border);z-index:50;padding:0 8px}.bottom-nav-items{display:flex;height:100%;align-items:center;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 16px;border-radius:var(--radius);color:var(--text-subtle);text-decoration:none;font-size:.7rem;font-weight:500;transition:color var(--t-fast);cursor:pointer;border:none;background:none}.bottom-nav-item.active{color:var(--primary-light)}.bottom-nav-item svg{width:22px;height:22px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;transition:border-color var(--t-base),box-shadow var(--t-base)}.stat-card:hover{border-color:var(--border-light);box-shadow:var(--shadow)}.stat-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-indigo{background:#6366f126;color:var(--primary-light)}.stat-icon-green{background:#10b98126;color:#34d399}.stat-icon-amber{background:#f59e0b26;color:#fbbf24}.stat-icon-violet{background:#8b5cf626;color:#a78bfa}.stat-label{font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text);line-height:1.1;letter-spacing:-.03em}.stat-change{font-size:.75rem;color:var(--success);margin-top:4px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:1rem;font-weight:600}.activity-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.activity-item{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background var(--t-fast)}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--surface-2)}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-text{flex:1;font-size:.875rem;color:var(--text)}.activity-time{font-size:.75rem;color:var(--text-muted)}.welcome-banner{background:linear-gradient(135deg,#6366f11f,#8b5cf614);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome-text h2{font-size:1.3rem;margin-bottom:4px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:40px}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:24px;position:relative;transition:all var(--t-base)}.pricing-card.featured{border-color:var(--primary);box-shadow:var(--glow)}.pricing-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow)}.pricing-card.featured:hover{border-color:var(--primary-light);box-shadow:0 0 32px #6366f159}.featured-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 16px;border-radius:9999px;white-space:nowrap}.pricing-plan{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);margin-bottom:8px}.pricing-price{display:flex;align-items:flex-end;gap:4px;margin-bottom:6px}.pricing-amount{font-size:3rem;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.04em}.pricing-currency{font-size:1.3rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}.pricing-period{font-size:.85rem;color:var(--text-muted);margin-bottom:4px}.pricing-desc{font-size:.85rem;color:var(--text-muted)}.pricing-features{list-style:none;display:flex;flex-direction:column;gap:10px;flex:1}.pricing-feature{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;color:var(--text-muted)}.pricing-feature svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:var(--success)}.pricing-feature strong{color:var(--text)}.current-plan-indicator{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 0;font-size:.8rem;font-weight:600;color:var(--success)}.sync-notice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;display:flex;align-items:flex-start;gap:14px}.sync-notice-icon{width:36px;height:36px;background:#6366f11f;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-light)}.sync-notice-text h4{font-size:.9rem;margin-bottom:4px}.sync-notice-text p{font-size:.82rem}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.main-content{margin-left:0;padding-bottom:var(--bottom-nav-h)}.bottom-nav{display:block}.page-header{padding:16px 16px 0}.page-body{padding:20px 16px}.page-header-inner{padding-bottom:16px}.welcome-banner{flex-direction:column;align-items:flex-start}.billing-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.auth-card{padding:28px 24px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.quick-actions .btn{font-size:.82rem;padding:8px 14px}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:var(--radius)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp var(--t-slow) ease both}.fade-up-1{animation-delay:50ms}.fade-up-2{animation-delay:.1s}.fade-up-3{animation-delay:.15s}.fade-up-4{animation-delay:.2s}
