body.light-mode{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);color:var(--dark)}body.light-mode .theme-toggle{background:var(--white);color:var(--dark)}.toast{background:rgba(15,23,42,.95);border:2px solid var(--primary);border-radius:12px;padding:15px 20px;min-width:300px;box-shadow:0 10px 30px rgba(0,0,0,.3);animation:slideIn .3s ease,slideOut .3s ease 2.7s;display:flex;align-items:center;gap:10px}.toast.success{border-color:var(--success)}.toast.warning{border-color:var(--warning)}.toast.error{border-color:var(--danger)}.main-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:40px}.data-table th.sorted-asc::after{content:" ▲";opacity:1}.data-table th.sorted-desc::after{content:" ▼";opacity:1}.data-table td{padding:15px;border-bottom:1px solid rgba(139,92,246,.1);font-size:14px;color:var(--gray)}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:rgba(139,92,246,.15)}.city-card{background:rgba(15,23,42,.8);backdrop-filter:blur(10px);border:2px solid var(--border);border-radius:16px;padding:25px;transition:all .3s ease;cursor:pointer}.city-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 15px 40px var(--shadow)}.city-card.selected{border-color:var(--success);background:rgba(16,185,129,.1)}.city-name{font-size:24px;font-weight:700;margin-bottom:15px;color:var(--white)}.city-stats{display:flex;flex-direction:column;gap:10px}.city-stat-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.city-stat-label{font-size:13px;color:var(--gray)}.city-stat-value{font-size:14px;font-weight:600;color:var(--primary)}.highlight-badge{display:inline-block;padding:4px 12px;background:rgba(139,92,246,.2);border:1px solid var(--primary);border-radius:20px;font-size:12px;font-weight:600;color:var(--primary)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary);border-radius:50%;font-size:12px;font-weight:700;color:var(--white)}.rank-badge.top3{background:linear-gradient(135deg,#ffd700,#ffa500)}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--white);animation:spin .8s linear infinite}body.light-mode .data-table-section,body.light-mode .mega-stat-card,body.light-mode .chart-card,body.light-mode .city-card{background:var(--white);color:var(--dark)}body.light-mode .section-title,body.light-mode .mega-stat-value,body.light-mode .city-name,body.light-mode .chart-title{color:var(--dark)}body.light-mode .data-table th{color:var(--dark)}