@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-void:#05050a;--bg-primary:#08081a;--bg-surface:#0e0e24;--bg-surface-elevated:#141432;--bg-surface-hover:#1a1a40;--bg-surface-active:#20204a;--accent-primary:#a855f7;--accent-primary-soft:#a855f726;--accent-primary-glow:#a855f766;--accent-secondary:#06b6d4;--accent-secondary-soft:#06b6d426;--accent-tertiary:#ec4899;--accent-tertiary-soft:#ec489926;--accent-gold:#f59e0b;--accent-gold-soft:#f59e0b26;--gradient-brand:linear-gradient(135deg, #a855f7 0%, #06b6d4 50%, #ec4899 100%);--gradient-brand-diagonal:linear-gradient(145deg, #a855f7 0%, #06b6d4 100%);--gradient-warm:linear-gradient(135deg, #ec4899 0%, #f59e0b 100%);--gradient-cool:linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-surface:linear-gradient(180deg, #0e0e24f2 0%, #08081afa 100%);--gradient-mesh:radial-gradient(ellipse at 20% 0%, #a855f714 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, #06b6d40f 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, #ec48990a 0%, transparent 60%);--color-success:#10b981;--color-success-soft:#10b98126;--color-danger:#ef4444;--color-danger-soft:#ef444426;--color-warning:#f59e0b;--color-warning-soft:#f59e0b26;--color-info:#3b82f6;--color-info-soft:#3b82f626;--text-primary:#f0f0ff;--text-secondary:#a0a0c8;--text-tertiary:#6a6a8e;--text-ghost:#3a3a5e;--border-subtle:#ffffff0a;--border-light:#ffffff14;--border-medium:#ffffff1f;--border-focus:#a855f780;--border-glow:#a855f74d;--shadow-xs:0 2px 4px #0000004d;--shadow-sm:0 4px 12px -2px #00000080;--shadow-md:0 8px 24px -4px #0009, 0 0 12px #a855f708;--shadow-lg:0 16px 40px -8px #000000b3, 0 0 20px #a855f70f;--shadow-xl:0 24px 64px -12px #000c, 0 0 40px #a855f714;--shadow-glow-purple:0 0 40px #a855f759;--shadow-glow-cyan:0 0 40px #06b6d44d;--shadow-glow-pink:0 0 40px #ec48994d;--shadow-inset:inset 0 1px 0 #ffffff0d;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s var(--ease-out);--transition-base:.25s var(--ease-out);--transition-slow:.4s var(--ease-out);--sidebar-width:280px;--sidebar-collapsed:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--bg-void);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");position:fixed;inset:0}body:after{content:"";background:var(--gradient-mesh);pointer-events:none;z-index:-1;position:fixed;inset:0}::selection{color:#fff;background:#a855f74d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a855f74d;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#a855f780}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-weight:700;line-height:1.15}h1{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800}h2{font-size:clamp(1.4rem,2vw,2rem)}h3{font-size:clamp(1.1rem,1.5vw,1.35rem)}h4{font-size:1.1rem}.text-gradient{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-subtle{color:var(--text-secondary)}.text-ghost{color:var(--text-tertiary)}.text-mono{font-family:var(--font-mono)}.app-container{min-height:100vh;display:block}.sidebar{-webkit-backdrop-filter:blur(24px)saturate(1.5);border-right:1px solid var(--border-light);width:var(--sidebar-width);z-index:100;height:100vh;transition:width var(--transition-slow);background:#08081aeb;flex-direction:column;padding:1.75rem 1.25rem;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar:before{content:"";background:linear-gradient(180deg, var(--accent-primary) 0%, transparent 30%, transparent 70%, var(--accent-secondary) 100%);opacity:.3;width:1px;height:100%;position:absolute;top:0;right:0}.brand{border-bottom:1px solid var(--border-subtle);margin-bottom:2rem;padding-bottom:1.5rem}.brand-icon{background:var(--gradient-brand);border-radius:var(--radius-md);width:48px;height:48px;box-shadow:var(--shadow-glow-purple);justify-content:center;align-items:center;margin-bottom:.75rem;font-size:1.5rem;animation:3s ease-in-out infinite pulse-glow;display:flex}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #a855f74d}50%{box-shadow:0 0 35px #a855f780,0 0 60px #06b6d433}}.brand h2{letter-spacing:-.02em;font-size:1.15rem;font-weight:700;line-height:1.3}.brand-subtitle{color:var(--text-tertiary);letter-spacing:2px;text-transform:uppercase;margin-top:4px;font-size:.7rem;font-weight:500}.nav-menu{flex-direction:column;flex-grow:1;gap:3px;list-style:none;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.65rem;padding:.7rem .85rem;font-size:.88rem;font-weight:500;display:flex;position:relative}.nav-item svg{opacity:.7;width:18px;height:18px;transition:opacity var(--transition-fast);flex-shrink:0}.nav-item:hover{color:var(--text-primary);border-color:var(--border-subtle);background:#a855f70f}.nav-item:hover svg{opacity:1}.nav-item.active{color:var(--text-primary);background:linear-gradient(135deg,#a855f71f 0%,#06b6d414 100%);border-color:#a855f740;font-weight:600;box-shadow:0 0 20px #a855f71a}.nav-item.active svg{opacity:1;color:var(--accent-primary)}.nav-item.active:before{content:"";background:var(--gradient-brand);border-radius:0 4px 4px 0;width:3px;height:20px;position:absolute;top:50%;left:-1.25rem;transform:translateY(-50%)}.sidebar-footer{border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:1rem}.sidebar-stats-box{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);text-align:center;background:#a855f70d;padding:.85rem}.sidebar-stats-box .label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.5px;font-size:.68rem}.sidebar-stats-box .value{font-family:var(--font-display);background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:2px;font-size:1.2rem;font-weight:700}.main-content{margin-left:var(--sidebar-width);min-height:100vh;padding:2rem 2.5rem 3rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.page-header h1{margin-bottom:.25rem}.page-header .subtitle{color:var(--text-secondary);max-width:600px;font-size:.95rem}.card{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);background:#0e0e24d9;padding:1.5rem;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-no-hover:hover{box-shadow:var(--shadow-md);transform:none}.card h3{margin-bottom:.5rem;font-size:1.05rem}.card .card-subtitle{color:var(--text-tertiary);margin-bottom:1.25rem;font-size:.82rem}.card-accent-purple:after{content:"";background:var(--gradient-brand-diagonal);height:2px;position:absolute;top:0;left:0;right:0}.card-accent-cyan:after{content:"";background:var(--gradient-cool);height:2px;position:absolute;top:0;left:0;right:0}.card-accent-warm:after{content:"";background:var(--gradient-warm);height:2px;position:absolute;top:0;left:0;right:0}.dashboard-grid{grid-template-columns:repeat(12,1fr);gap:1.25rem;margin-bottom:1.75rem;display:grid}.col-span-12{grid-column:span 12}.col-span-9{grid-column:span 9}.col-span-8{grid-column:span 8}.col-span-7{grid-column:span 7}.col-span-6{grid-column:span 6}.col-span-5{grid-column:span 5}.col-span-4{grid-column:span 4}.col-span-3{grid-column:span 3}.stat-card{flex-direction:column;gap:.35rem;display:flex;position:relative}.stat-card .stat-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:.5rem;font-size:1.1rem;display:flex}.stat-card .stat-icon.purple{background:var(--accent-primary-soft)}.stat-card .stat-icon.cyan{background:var(--accent-secondary-soft)}.stat-card .stat-icon.pink{background:var(--accent-tertiary-soft)}.stat-card .stat-icon.gold{background:var(--accent-gold-soft)}.stat-card .stat-icon.green{background:var(--color-success-soft)}.stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.stat-value{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1}.stat-value.gradient{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-change{align-items:center;gap:3px;font-size:.78rem;font-weight:600;display:inline-flex}.stat-change.positive{color:var(--color-success)}.stat-change.neutral{color:var(--text-tertiary)}.table-container{width:100%;overflow-x:auto}table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}th{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-light);z-index:2;background:#a855f708;padding:.75rem 1rem;font-size:.72rem;font-weight:700;position:sticky;top:0}td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);transition:background var(--transition-fast);padding:.65rem 1rem;font-size:.9rem}tr:hover td{color:var(--text-primary);background:#a855f708}td strong{color:var(--text-primary);font-weight:600}.badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;align-items:center;padding:.2rem .65rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--accent-primary-soft);color:var(--accent-primary);border:1px solid #a855f74d}.badge-secondary{background:var(--accent-secondary-soft);color:var(--accent-secondary);border:1px solid #06b6d44d}.badge-tertiary{background:var(--accent-tertiary-soft);color:var(--accent-tertiary);border:1px solid #ec48994d}.badge-success{background:var(--color-success-soft);color:var(--color-success);border:1px solid #10b9814d}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #f59e0b4d}.badge-ghost{color:var(--text-secondary);border:1px solid var(--border-light);background:#ffffff0a}.badge-live{color:var(--color-success);background:#10b9811a;border:1px solid #10b98140;gap:6px}.badge-live:before{content:"";background:var(--color-success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.7;box-shadow:0 0 0 4px #10b98100}}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);font-size:.88rem;font-weight:600;font-family:var(--font-sans);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;display:inline-flex}.btn-primary{background:var(--gradient-brand-diagonal);color:#fff;box-shadow:0 4px 15px #a855f74d}.btn-primary:hover{box-shadow:var(--shadow-glow-purple);transform:translateY(-2px)scale(1.02)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-light);background:#ffffff0d}.btn-secondary:hover{border-color:var(--border-medium);background:#ffffff14}.btn-ghost{color:var(--text-secondary);background:0 0;padding:.5rem .75rem}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0a}.chip-group{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-base);border:1px solid var(--border-light);color:var(--text-secondary);-webkit-user-select:none;user-select:none;background:#ffffff08;padding:.4rem .85rem;font-size:.82rem;font-weight:500}.chip:hover{color:var(--text-primary);background:#a855f70f;border-color:#a855f74d}.chip.active{background:var(--accent-primary-soft);color:var(--accent-primary);border-color:#a855f766;font-weight:600;box-shadow:0 0 12px #a855f726}.progress-bar{border-radius:var(--radius-pill);background:#ffffff0f;height:6px;position:relative;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-pill);background:var(--gradient-brand-diagonal);height:100%;transition:width 1s var(--ease-out);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:2s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-ring-container{justify-content:center;align-items:center;display:inline-flex;position:relative}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#ffffff0f}.progress-ring-fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1.5s var(--ease-out)}.progress-ring-text{font-family:var(--font-display);text-align:center;font-weight:800;position:absolute}.insight-box{border-radius:var(--radius-md);border-left:3px solid;padding:1rem 1.25rem;position:relative}.insight-box.purple{border-color:var(--accent-primary);background:#a855f70f}.insight-box.cyan{border-color:var(--accent-secondary);background:#06b6d40f}.insight-box.pink{border-color:var(--accent-tertiary);background:#ec48990f}.insight-box.gold{border-color:var(--accent-gold);background:#f59e0b0f}.insight-box.green{border-color:var(--color-success);background:#10b9810f}.insight-box h4{align-items:center;gap:8px;margin-bottom:.35rem;font-size:.9rem;display:flex}.insight-box p{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.skill-bar-row{align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.skill-bar-row .label{min-width:100px;color:var(--text-secondary);text-align:right;font-size:.85rem;font-weight:500}.skill-bar-row .bar-track{border-radius:var(--radius-pill);background:#ffffff0a;flex-grow:1;height:8px;overflow:hidden}.skill-bar-row .bar-fill{border-radius:var(--radius-pill);height:100%;transition:width 1s var(--ease-out)}.skill-bar-row .value{min-width:45px;font-size:.82rem;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.search-input{border-radius:var(--radius-sm);border:1px solid var(--border-light);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-base);background:#ffffff0a;outline:none;padding:.65rem 1rem .65rem 2.5rem;font-size:.88rem}.search-input::placeholder{color:var(--text-ghost)}.search-input:focus{border-color:var(--border-focus);background:#a855f70a;box-shadow:0 0 0 3px #a855f71a}.search-wrapper{position:relative}.search-wrapper svg{color:var(--text-ghost);width:16px;height:16px;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.tab-bar{border-bottom:1px solid var(--border-light);gap:0;margin-bottom:1.5rem;display:flex}.tab-item{color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-base);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:500}.tab-item:hover{color:var(--text-secondary)}.tab-item.active{color:var(--text-primary);border-bottom-color:var(--accent-primary);font-weight:600}.chart-wrapper{width:100%;height:350px;position:relative}.chart-wrapper.short{height:250px}.chart-wrapper.tall{height:450px}.chart-wrapper.xtall{height:550px}.mini-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.mini-grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.mini-grid-4{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.divider{background:linear-gradient(90deg, transparent, var(--border-light), transparent);height:1px;margin:1.5rem 0}.skill-selector-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.skill-toggle{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);border:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;color:var(--text-secondary);background:#ffffff05;align-items:center;gap:8px;padding:.5rem .75rem;font-size:.85rem;display:flex}.skill-toggle:hover{background:#a855f70a;border-color:#a855f740}.skill-toggle.selected{color:var(--accent-primary);background:#a855f71a;border-color:#a855f766;font-weight:600}.skill-toggle input[type=checkbox]{display:none}.skill-toggle .check-icon{border:2px solid var(--border-medium);width:16px;height:16px;transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-toggle.selected .check-icon{background:var(--accent-primary);border-color:var(--accent-primary)}.skill-toggle.selected .check-icon:after{content:"✓";color:#fff;font-size:10px;font-weight:800}.report-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0e0e2466;margin-bottom:1rem;padding:1.5rem}.report-section h4{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:.75rem;font-size:1rem;display:flex}.report-section ul{flex-direction:column;gap:.5rem;padding-left:1.25rem;display:flex}.report-section li{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.report-section li strong{color:var(--text-primary)}.combo-card{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);transition:all var(--transition-base);background:#ffffff05;padding:.85rem}.combo-card:hover{border-color:var(--border-light);background:#a855f708}.combo-card .pair-name{color:var(--text-primary);margin-bottom:.3rem;font-size:.88rem;font-weight:600}.combo-card .pair-meta{color:var(--text-tertiary);align-items:center;gap:1rem;font-size:.78rem;display:flex}.combo-card .pair-salary{color:var(--color-success);font-weight:700;font-family:var(--font-mono)}.rank-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:800;display:inline-flex}.rank-badge.gold{color:var(--accent-gold);background:#f59e0b33}.rank-badge.silver{color:var(--text-secondary);background:#a0a0c826}.rank-badge.bronze{color:#cd7f32;background:#cd7f3226}.rank-badge.default{color:var(--text-tertiary);background:#ffffff0d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fade-in{animation:fadeInUp .5s var(--ease-out) forwards;opacity:0}.animate-scale-in{animation:fadeInScale .4s var(--ease-out) forwards;opacity:0}.animate-slide-in{animation:slideInLeft .5s var(--ease-out) forwards;opacity:0}.delay-50{animation-delay:50ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-250{animation-delay:.25s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.section-title{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.section-title .icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.section-title h3{margin-bottom:0}@media (width<=1200px){.col-span-8,.col-span-7,.col-span-5,.col-span-4{grid-column:span 12}.col-span-3{grid-column:span 6}.mini-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.app-container{grid-template-columns:1fr}.sidebar{display:none}.main-content{margin-left:0;padding:1.5rem}.col-span-6,.col-span-3,.col-span-9{grid-column:span 12}.mini-grid-3{grid-template-columns:1fr 1fr}.mini-grid-2{grid-template-columns:1fr}}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-accent{color:var(--accent-primary)}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.capitalize{text-transform:capitalize}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-surface-elevated);color:var(--text-primary);border-radius:var(--radius-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);box-shadow:var(--shadow-md);border:1px solid var(--border-light);z-index:1000;padding:.4rem .75rem;font-size:.78rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}[data-tooltip]:hover:after{opacity:1}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.empty-state .icon{opacity:.4;margin-bottom:1rem;font-size:3rem}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.1rem}.empty-state p{color:var(--text-tertiary);font-size:.88rem}
