.tab-btn{background:var(--bg3);border:1px solid var(--border);color:var(--gray);padding:7px 16px;border-radius:3px;cursor:pointer;font-family:"Bebas Neue",sans-serif;font-size:15px;letter-spacing:1.5px;transition:all .2s;white-space:nowrap}.tab-btn:hover{border-color:var(--gray);color:var(--white)}.tab-btn.active{background:var(--red);border-color:var(--red);color:#fff}.tab-btn .count{font-family:"IBM Plex Mono",monospace;font-size:10px;opacity:.8;margin-left:4px}.month-section{display:none}.month-section.visible{display:block}.month-header{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border)}.month-title{font-family:"Bebas Neue",sans-serif;font-size:48px;letter-spacing:4px;color:var(--white)}.month-count{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--gray)}.artist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.artist-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:all .18s ease;position:relative;overflow:hidden}.artist-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border);transition:background .18s}.artist-card.priority::before{background:var(--gold)}.artist-card:hover{background:var(--card-hover);border-color:#333;transform:translateY(-1px)}.artist-card.priority{border-color:rgba(245,197,24,.2)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.artist-name{font-family:"Bebas Neue",sans-serif;font-size:20px;letter-spacing:1.5px;color:var(--white);line-height:1.1;flex:1}.priority-badge{font-family:"IBM Plex Mono",monospace;font-size:9px;color:var(--gold);border:1px solid var(--gold);padding:2px 6px;border-radius:2px;white-space:nowrap;flex-shrink:0}.artist-region{font-size:12px;color:var(--gray);font-family:"IBM Plex Mono",monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.region-icon{margin-right:4px}.popularity-bar{height:2px;background:var(--border);border-radius:2px;overflow:hidden}.popularity-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--red),var(--gold))}.ticket-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.ticket-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:3px;font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.5px;text-decoration:none;transition:all .15s;white-space:nowrap}.ticket-btn.songkick{background:rgba(240,80,60,.12);border:1px solid rgba(240,80,60,.4);color:#f0503c}.ticket-btn.songkick:hover{background:rgba(240,80,60,.22);border-color:#f0503c}.ticket-btn.ticketmaster{background:rgba(0,174,239,.1);border:1px solid rgba(0,174,239,.35);color:#00aeef}.ticket-btn.ticketmaster:hover{background:rgba(0,174,239,.2);border-color:#00aeef}.ticket-btn.custom{background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.35);color:var(--gold)}.ticket-btn.custom:hover{background:rgba(245,197,24,.2)}.no-results{text-align:center;padding:80px 0;color:var(--gray)}.no-results h2{font-family:"Bebas Neue",sans-serif;font-size:42px;letter-spacing:3px;opacity:.4}@media (max-width:768px){.artist-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.artist-grid{grid-template-columns:1fr}}.artist-card.hidden{display:none}