@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700;800&display=swap";:root{--bg-primary: #000000;--bg-secondary: #080b11;--bg-card: #0c1017;--bg-card-hover: #131923;--bg-elevated: #161c28;--bg-input: #0a0e14;--bg-sidebar: #05070a;--bg-modal-overlay: rgba(0, 0, 0, .85);--accent-primary: #a855f7;--accent-primary-rgb: 168, 85, 247;--accent-secondary: #00cc6a;--accent-gradient: linear-gradient(135deg, #7c3aed, #a855f7);--accent-gradient-hover: linear-gradient(135deg, #6d28d9, #9333ea);--accent-glow: 0 0 20px rgba(168, 85, 247, .25);--accent-glow-strong: 0 0 40px rgba(168, 85, 247, .4);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-tertiary: #475569;--text-accent: #00ff88;--border-color: rgba(255, 255, 255, .08);--border-color-hover: rgba(255, 255, 255, .15);--border-accent: rgba(168, 85, 247, .4);--status-success: #00ff88;--status-warning: #fbbf24;--status-error: #ff3366;--status-info: #0ea5e9;--status-processing: #a855f7;--brand-ebay: #e53238;--brand-psa: #c8102e;--brand-cgc: #ffd700;--brand-shopify: #96bf48;--brand-pokemon: #ffcb05;--brand-mtg: #8b4513;--brand-onepiece: #d4380d;--brand-stripe: #635bff;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--topbar-height: 64px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6}a{color:var(--text-accent);text-decoration:none}a:hover{color:var(--text-accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #a855f733}50%{box-shadow:0 0 20px #a855f780}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards}.animate-slide-in-right{animation:slideInRight .4s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.stagger-1{animation-delay:.05s;opacity:0}.stagger-2{animation-delay:.1s;opacity:0}.stagger-3{animation-delay:.15s;opacity:0}.stagger-4{animation-delay:.2s;opacity:0}.stagger-5{animation-delay:.25s;opacity:0}.glass{background:#11182799;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color)}.glass-strong{background:#111827d9;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--border-color)}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-normal);display:flex;flex-direction:column;overflow-x:auto}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.page-content{flex:1;padding:24px 32px 32px;max-width:1440px;width:100%;margin:0 auto}.page-content-wide{max-width:none;margin:0}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:100;display:flex;flex-direction:column;transition:width var(--transition-normal);overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-brand{padding:20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-color);min-height:64px}.sidebar-brand-icon{width:36px;height:36px;background:var(--accent-gradient);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;overflow:hidden;white-space:nowrap}.sidebar-brand-text h1{font-size:16px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.sidebar-brand-text span{font-size:11px;color:var(--text-tertiary);font-weight:400}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-title{display:none}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:16px 12px 6px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13.5px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;position:relative;overflow:hidden}.nav-item:hover{background:#ffffff0a;color:var(--text-primary)}.nav-item.active{background:#a855f71a;color:var(--text-accent)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--accent-gradient);border-radius:0 3px 3px 0}.nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:12px 10px;border-top:1px solid var(--border-color)}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-tertiary);font-size:13px;cursor:pointer;transition:all var(--transition-fast);width:100%}.sidebar-collapse-btn:hover{background:#ffffff0a;color:var(--text-secondary)}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#06080fcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:50}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-hamburger{display:none;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:var(--radius-sm)}.topbar-hamburger:hover{background:#ffffff0d}.topbar-title{font-size:18px;font-weight:600}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-btn{width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.topbar-btn:hover{background:#ffffff0a;color:var(--text-primary);border-color:var(--border-color-hover)}.topbar-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;cursor:pointer}.page-header{margin-bottom:28px}.page-header h2{font-size:24px;font-weight:700;margin-bottom:4px}.page-header p{color:var(--text-secondary);font-size:14px}.page-header-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:24px;transition:all var(--transition-normal)}.card:hover{border-color:var(--border-color-hover)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-accent)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:28px}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:24px;position:relative;overflow:hidden;transition:all var(--transition-normal)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-normal)}.stat-card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card:hover:before{opacity:1}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stat-card-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-card-icon.green{background:#10b9811f;color:#10b981}.stat-card-icon.blue{background:#3b82f61f;color:#3b82f6}.stat-card-icon.purple{background:#8b5cf61f;color:#8b5cf6}.stat-card-icon.orange{background:#f59e0b1f;color:#f59e0b}.stat-card-icon.red{background:#ef44441f;color:#ef4444}.stat-card-icon.cyan{background:#06b6d41f;color:#06b6d4}.stat-card-trend{font-size:12px;font-weight:600;padding:3px 8px;border-radius:var(--radius-full);display:flex;align-items:center;gap:3px}.stat-card-trend.up{background:#10b9811f;color:#10b981}.stat-card-trend.down{background:#ef44441f;color:#ef4444}.stat-card-value{font-family:var(--font-mono);font-size:34px;font-weight:800;line-height:1;margin-bottom:4px;letter-spacing:-.02em;animation:countUp .6s ease-out forwards}.stat-card-label{font-size:13px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.market-ticker{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:13px;overflow:hidden;white-space:nowrap;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.market-ticker-track{display:inline-flex;align-items:center;gap:0;padding:8px 0;animation:ticker-scroll 40s linear infinite}.market-ticker-track:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 24px;border-right:1px solid var(--border-color)}.ticker-symbol{color:var(--text-secondary);font-weight:600}.ticker-price{color:var(--text-primary);font-weight:500}.ticker-change{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}.ticker-change.up{background:#00ff8826;color:#0f8}.ticker-change.down{background:#ff336626;color:#f36}.pulse-green{animation:pulseGreen 2s infinite}@keyframes pulseGreen{0%{box-shadow:0 0 #a855f766}70%{box-shadow:0 0 0 6px #a855f700}to{box-shadow:0 0 #a855f700}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-family:var(--font-family);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none;white-space:nowrap}.btn svg{width:18px;height:18px}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 8px #a855f740}.btn-primary:hover{background:var(--accent-gradient-hover);box-shadow:0 4px 16px #a855f759;transform:translateY(-1px)}.btn-secondary{background:#ffffff0a;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff14;border-color:var(--border-color-hover)}.btn-danger{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:#ef444433}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:8px 12px}.btn-ghost:hover{background:#ffffff0a;color:var(--text-primary)}.btn-sm{padding:6px 14px;font-size:12px}.btn-lg{padding:14px 28px;font-size:15px}.btn-icon{padding:10px}.btn:disabled{opacity:.5;pointer-events:none}.data-table-wrap{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:14px 20px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#0003}.data-table tbody td{padding:14px 20px;font-size:13.5px;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.data-table.terminal-table tbody td{font-family:var(--font-mono);font-size:13px}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#ffffff05}.data-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600;letter-spacing:.02em}.badge-success{background:#10b9811f;color:#10b981}.badge-warning{background:#f59e0b1f;color:#f59e0b}.badge-error{background:#ef44441f;color:#ef4444}.badge-info{background:#3b82f61f;color:#3b82f6}.badge-processing{background:#8b5cf61f;color:#8b5cf6}.badge-neutral{background:#94a3b81f;color:#94a3b8}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.brand-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:700;letter-spacing:.03em}.brand-badge-ebay{background:#e532381f;color:var(--brand-ebay)}.brand-badge-psa{background:#c8102e1f;color:var(--brand-psa)}.brand-badge-cgc{background:#ffd7001f;color:var(--brand-cgc)}.brand-badge-shopify{background:#96bf481f;color:var(--brand-shopify)}.brand-badge-pokemon{background:#ffcb051f;color:var(--brand-pokemon)}.brand-badge-mtg{background:#8b451326;color:#c68642}.brand-badge-onepiece{background:#d4380d1f;color:var(--brand-onepiece)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:14px;transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #10b9811a}.form-input::placeholder{color:var(--text-tertiary)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-hint{font-size:12px;color:var(--text-tertiary);margin-top:4px}.modal-overlay{position:fixed;inset:0;background:var(--bg-modal-overlay);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.modal{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:scaleIn .25s ease-out}.modal-lg{max-width:800px}.modal-xl{max-width:1100px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:16px;font-weight:600}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:#ffffff0d;color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-color)}.drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:48px;text-align:center;transition:all var(--transition-normal);cursor:pointer;position:relative}.drop-zone:hover,.drop-zone.dragging{border-color:var(--accent-primary);background:#10b9810a}.drop-zone.dragging{box-shadow:inset 0 0 30px #10b98114}.drop-zone-icon{width:56px;height:56px;margin:0 auto 16px;background:#10b9811a;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-accent)}.drop-zone-text{font-size:14px;color:var(--text-secondary)}.drop-zone-text strong{color:var(--text-accent)}.drop-zone-hint{font-size:12px;color:var(--text-tertiary);margin-top:8px}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text-sm{height:10px;width:60%;margin-bottom:6px}.skeleton-heading{height:24px;width:40%;margin-bottom:16px}.skeleton-card{height:120px}.skeleton-stat{height:130px;border-radius:var(--radius-lg)}.skeleton-row{height:52px;margin-bottom:4px}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-image{width:100%;aspect-ratio:3/4;border-radius:var(--radius-md)}.progress-bar-wrap{width:100%;height:8px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent-gradient);border-radius:var(--radius-full);transition:width .5s ease-out;position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 1.5s infinite;background-size:200% 100%}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.tab{padding:10px 18px;font-size:13px;font-weight:600;color:var(--text-tertiary);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all var(--transition-fast);font-family:var(--font-family)}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--text-accent);border-bottom-color:var(--accent-primary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.card-grid-item{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-normal);cursor:pointer}.card-grid-item:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-grid-item-image{width:100%;aspect-ratio:2.5/3.5;object-fit:contain;background:var(--bg-elevated)}.card-grid-item-info{padding:12px}.card-grid-item-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-grid-item-sub{font-size:11px;color:var(--text-tertiary)}.card-grid-item-price{font-size:14px;font-weight:700;color:var(--text-accent);margin-top:6px}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{width:72px;height:72px;margin:0 auto 20px;background:#64748b14;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.empty-state h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.empty-state p{font-size:14px;color:var(--text-secondary);margin-bottom:20px;max-width:400px;margin-left:auto;margin-right:auto}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:28px}.quick-action{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;color:inherit}.quick-action:hover{border-color:var(--border-accent);background:var(--bg-card-hover);transform:translateY(-1px)}.quick-action-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-action-text h4{font-size:14px;font-weight:600;margin-bottom:2px}.quick-action-text p{font-size:12px;color:var(--text-tertiary)}.grade-report{display:grid;grid-template-columns:1fr 1fr;gap:24px}.centering-diagram{position:relative;width:240px;height:336px;margin:0 auto;border:2px solid var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.centering-inner{width:70%;height:70%;border:2px dashed var(--accent-primary);border-radius:var(--radius-sm);position:relative}.centering-label{position:absolute;font-size:11px;font-weight:600;color:var(--text-accent);background:var(--bg-card);padding:2px 6px;border-radius:var(--radius-sm)}.centering-label.top{top:-10px;left:50%;transform:translate(-50%)}.centering-label.bottom{bottom:-10px;left:50%;transform:translate(-50%)}.centering-label.left{left:-10px;top:50%;transform:translateY(-50%) rotate(-90deg)}.centering-label.right{right:-10px;top:50%;transform:translateY(-50%) rotate(90deg)}.grade-bar-wrap{display:flex;align-items:center;gap:12px;margin-bottom:12px}.grade-bar-label{font-size:13px;font-weight:500;color:var(--text-secondary);width:80px;flex-shrink:0}.grade-bar{flex:1;height:10px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden}.grade-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .8s ease-out}.grade-bar-fill.excellent{background:#10b981}.grade-bar-fill.good{background:#3b82f6}.grade-bar-fill.fair{background:#f59e0b}.grade-bar-fill.poor{background:#ef4444}.grade-bar-value{font-size:13px;font-weight:700;width:36px;text-align:right;flex-shrink:0}.defect-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.defect-badge{padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.plan-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:28px;transition:all var(--transition-normal);position:relative;overflow:hidden}.plan-card.featured{border-color:var(--accent-primary);box-shadow:var(--accent-glow)}.plan-card.featured:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient)}.plan-featured-badge{display:inline-block;padding:4px 12px;background:var(--accent-gradient);border-radius:var(--radius-full);font-size:11px;font-weight:700;color:#fff;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.plan-name{font-size:20px;font-weight:700;margin-bottom:8px}.plan-price{font-size:36px;font-weight:800;margin-bottom:4px}.plan-price span{font-size:14px;font-weight:500;color:var(--text-tertiary)}.plan-desc{font-size:13px;color:var(--text-secondary);margin-bottom:24px}.plan-features{list-style:none;margin-bottom:24px}.plan-features li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--text-secondary)}.plan-features li svg{width:16px;height:16px;color:var(--text-accent);flex-shrink:0}.connection-card{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:12px}.connection-left{display:flex;align-items:center;gap:16px}.connection-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.connection-info h4{font-size:15px;font-weight:600;margin-bottom:2px}.connection-info p{font-size:12px;color:var(--text-tertiary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-primary);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(16,185,129,.05) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(6,182,212,.05) 0%,transparent 50%);animation:float 20s ease-in-out infinite}.login-card{width:100%;max-width:420px;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-color);padding:40px;position:relative;z-index:1;animation:scaleIn .4s ease-out}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px;justify-content:center}.login-logo-icon{width:48px;height:48px;background:var(--accent-gradient);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;color:#fff}.login-logo h1{font-size:22px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-title{text-align:center;margin-bottom:28px}.login-title h2{font-size:20px;font-weight:700;margin-bottom:6px}.login-title p{color:var(--text-secondary);font-size:14px}.login-form .form-input{padding:12px 16px}.login-footer{text-align:center;margin-top:20px;font-size:13px;color:var(--text-tertiary)}.login-footer a{color:var(--text-accent);font-weight:600}.login-error{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:#f87171;font-size:13px;margin-bottom:16px}.steps-indicator{display:flex;align-items:center;gap:8px;margin-bottom:32px}.step-dot{display:flex;align-items:center;gap:8px}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid var(--border-color);color:var(--text-tertiary);transition:all var(--transition-normal)}.step-number.active{border-color:var(--accent-primary);background:#10b9811f;color:var(--text-accent)}.step-number.complete{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.step-connector{flex:1;height:2px;background:var(--border-color)}.step-connector.complete{background:var(--accent-primary)}.step-label{font-size:12px;color:var(--text-tertiary);margin-top:4px}@media(max-width:1024px){.page-content{padding:20px}.grade-report,.form-row{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{transform:translate(-100%);z-index:200;width:var(--sidebar-width)}.sidebar.mobile-open{transform:translate(0)}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:150}.main-content{margin-left:0!important}.topbar-hamburger{display:flex}.topbar{padding:0 16px}.page-content{padding:16px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card-value{font-size:24px}.quick-actions,.plans-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.login-card{padding:28px 20px}}[data-sonner-toaster]{font-family:var(--font-family)!important}[data-sonner-toast]{background:var(--bg-elevated)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important}.file-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.file-chip{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-full);font-size:12px;color:var(--text-accent)}.file-chip-remove{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a;cursor:pointer;border:none;color:var(--text-secondary);font-size:10px;transition:all var(--transition-fast)}.file-chip-remove:hover{background:#ef444433;color:#ef4444}.inline-edit{display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.inline-edit:hover{background:#ffffff0d}.inline-edit-input{background:var(--bg-input);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:inherit;padding:2px 8px;width:100px;outline:none}.toolbar{display:flex;align-items:center;gap:10px;padding:12px 0;flex-wrap:wrap}.toolbar-separator{width:1px;height:24px;background:var(--border-color)}.upload-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.upload-slot{height:160px;border:2px dashed var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;background:var(--bg-input)}.upload-slot:hover{border-color:var(--accent-primary)}.upload-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.upload-slot-label{font-size:11px;color:var(--text-tertiary);font-weight:500}.upload-slot-required{color:var(--text-accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.usage-bar-wrap{margin-bottom:24px}.usage-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;color:var(--text-secondary)}.usage-info strong{color:var(--text-primary)}
