/* BACKLINE CSS: black/white punk theme and desktop component skin. */
:root{--bg:#050505;--panel:#090909;--panel2:#101010;--line:#444;--text:#f4f4ef;--muted:#a9a9a2;--accent:#f5f5ef;--ok:#72e29a;--warn:#f0d36f;--danger:#ff8e8e;--shadow:0 14px 36px rgba(0,0,0,.5);}
html{background:#050505;}
body{background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px),
    radial-gradient(circle at 20% 0%,#171717 0,#090909 31%,#050505 72%);font-family:"Courier New",ui-monospace,monospace;}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.13;background-image:repeating-radial-gradient(circle at 0 0,rgba(255,255,255,.14) 0 1px,transparent 1px 4px);mix-blend-mode:overlay;}
.app{max-width:1280px;padding:18px 22px 28px;}
.topbar{align-items:stretch;}
.brand h1{margin:0 0 4px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;line-height:.95;text-transform:uppercase;color:#f2f2ed;text-shadow:2px 2px 0 #303030;}
.brand p{display:inline-block;}
.source{min-width:265px;padding:12px 14px;border:0;border-left:1px solid #686868;border-radius:0;background:repeating-linear-gradient(135deg,#111 0,#111 5px,#0a0a0a 5px,#0a0a0a 10px);color:#fff;display:flex;flex-direction:column;justify-content:center;}
.source b{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.source span{color:#c7c7bf;font-size:10px;}
.player-strip{height:58px;margin:0 0 10px;padding:8px 12px;border:1px solid #666;background:#080808;display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,360px) auto;gap:14px;align-items:center;box-shadow:inset 0 0 0 2px #111;}
.player-kicker{display:block;font-size:9px;color:#aaa;letter-spacing:.18em;}
.player-id strong{display:block;margin-top:2px;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.08em;font-size:17px;}
.eq-bars{height:33px;display:flex;align-items:flex-end;gap:3px;border:1px solid #333;padding:4px 6px;background:#020202;}
.eq-bars i{display:block;width:7%;min-width:4px;background:#efefea;}
.eq-bars i:nth-child(1){height:25%;}
.eq-bars i:nth-child(2){height:55%;}
.eq-bars i:nth-child(3){height:83%;}
.eq-bars i:nth-child(4){height:48%;}
.eq-bars i:nth-child(5){height:92%;}
.eq-bars i:nth-child(6){height:66%;}
.eq-bars i:nth-child(7){height:36%;}
.eq-bars i:nth-child(8){height:74%;}
.eq-bars i:nth-child(9){height:58%;}
.eq-bars i:nth-child(10){height:30%;}
.eq-bars i:nth-child(11){height:45%;}
.eq-bars i:nth-child(12){height:20%;}
.player-state{font-size:10px;white-space:nowrap;font-weight:900;letter-spacing:.08em;}
.player-dot{display:inline-block;width:7px;height:7px;background:#72e29a;margin-right:6px;border-radius:50%;}
.grid{grid-template-columns:335px 1fr;gap:10px;}
.card{border:1px solid #555;border-radius:2px;background:#080808;box-shadow:4px 4px 0 #000;}
.sidebar{padding:12px;top:10px;}
.main{padding:12px;}
.section-title{margin:0 0 7px;padding:5px 7px;background:#e7e7e1;color:#090909;font-family:Impact,"Arial Narrow",sans-serif;font-size:12px;letter-spacing:.12em;}
.genre-list,.venue-list{gap:4px;}
.genre,.venue{min-height:38px;padding:7px 8px;border:1px solid #353535;border-radius:2px;background:#0d0d0d;gap:8px;transition:none;}
.genre:hover,.venue:hover{transform:none;border-color:#aaa;background:#151515;}
.genre:has(input:checked),.venue:has(input:checked){background:#ecece7;color:#070707;border-color:#fff;}
.genre input,.venue input{width:15px;height:15px;accent-color:#fff;}
.genre .label{font-size:12px;}
.venue .label{font-size:11px;line-height:1.15;min-width:0;overflow-wrap:anywhere;}
.genre .count,.venue .count{flex:0 0 auto;min-width:24px;padding:2px 4px;border:1px solid #444;background:#050505;color:#d5d5ce;text-align:center;font-size:9px;}
.genre:has(input:checked) .count,.venue:has(input:checked) .count{background:#111;color:#fff;border-color:#111;}
.actions{margin-top:6px;}
.actions button,.view-btn,.nav-btn,.venue-quick button{border:1px solid #666;background:#0a0a0a;color:#eee;border-radius:2px;padding:7px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:inset 0 0 0 1px #171717;}
.actions button:hover,.view-btn:hover,.nav-btn:hover,.venue-quick button:hover{border-color:#eee;background:#171717;}
.view-btn.active{background:#efefe9;color:#060606;border-color:#fff;}
.venue-section{margin-top:11px;padding-top:9px;border-top:1px solid #555;}
.venue-search{margin-bottom:5px;padding:7px 8px;border:1px solid #555;border-radius:2px;background:#030303;color:#fff;font-size:10px;text-transform:uppercase;}
.venue-search:focus{border-color:#fff;}
.venue-quick{grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:5px;}
.venue-quick button:first-child{grid-column:auto;}
.venue-quick button{padding:6px 4px;font-size:8px;}
.venue-auto{margin:5px 0 8px;padding:5px 6px;border:1px solid #292929;background:#0b0b0b;font-size:9px;color:#aaa;}
.venue-auto input{accent-color:#fff;}
.venue-group-title{margin:9px 0 4px;padding:4px 6px;background:#1a1a1a;border-left:4px solid #e7e7e1;color:#eee;font-family:Impact,"Arial Narrow",sans-serif;font-size:10px;letter-spacing:.1em;}
.venue-group-title span{color:#aaa;font-family:"Courier New",monospace;font-size:9px;}
.collapsible-title,.venue-group-title.collapsible-title{width:100%;border:0;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.collapsible-title .collapse-left{display:flex;align-items:center;gap:7px;min-width:0;}
.collapse-arrow{width:12px;flex:0 0 12px;font-family:"Courier New",monospace;font-size:11px;}
.collapse-count{margin-left:auto;font-family:"Courier New",monospace;font-size:9px;font-weight:700;}
.venue-row{display:grid;grid-template-columns:17px minmax(0,1fr) 26px auto;align-items:center;}
.venue-row input{margin:0;}
.venue-fav-btn{padding:0;border:1px solid #444;background:#080808;color:#888;font-family:"Courier New",monospace;line-height:1;cursor:pointer;}
.venue-fav-btn:hover{border-color:#eee;color:#eee;}
.venue-fav-btn.active{background:#efefe9;color:#050505;border-color:#fff;}
.favorite-group .venue{border-color:#696969;}
.favorite-group-title{background:#e7e7e1;color:#080808;border-left-color:#fff;}
.favorite-group-title span{color:#333;}
.venue-list.calm-venues{gap:4px;}
.venue-list.calm-venues .venue{border-radius:0;min-height:46px;padding:8px 9px;transition:none;}
.venue-list.calm-venues .venue .label{font-family:"Courier New",monospace;font-size:13px;font-weight:900;line-height:1.2;letter-spacing:.01em;}
.venue-list.calm-venues.favorite-group .venue{background:#efefe9;color:#050505;border:1px solid #fff;}
.venue-list.calm-venues.favorite-group .venue .label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;width:max-content;max-width:100%;padding:5px 8px;background:#050505;color:#fff;line-height:1.05;}
.venue-list.calm-venues.favorite-group .venue .new-badge{color:#050505;}
.venue-list.calm-venues.favorite-group .venue input{accent-color:#050505;}
.venue-list.calm-venues.all-venues .venue .label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;width:max-content;max-width:100%;padding:5px 8px;background:#efefe9;line-height:1.05;}
.venue-list.calm-venues.favorite-group .venue .count{background:#050505;color:#fff;border-color:#050505;}
.venue-list.calm-venues.favorite-group .venue .venue-fav-btn{background:#050505;color:#fff;border-color:#050505;}
.venue-list.calm-venues.all-venues .venue{background:#090909;color:#f1f1ec;border:1px solid #484848;}
.venue-list.calm-venues.all-venues .venue .label{color:#050505;}
.venue-list.calm-venues.all-venues .venue .new-badge{color:#f1f1ec;}
.venue-list.calm-venues.all-venues .venue input{accent-color:#fff;}
.venue-list.calm-venues.all-venues .venue .count{background:#050505;color:#ddd;border-color:#555;}
.venue-list.calm-venues.all-venues .venue .venue-fav-btn{background:#111;color:#eee;border-color:#666;}
.venue-list.calm-venues .venue:hover{transform:none;}
.venue-list.calm-venues.favorite-group .venue:hover{background:#fff;}
.venue-list.calm-venues.all-venues .venue:hover{background:#171717;}
.venue-fav-btn{width:28px;height:28px;font-size:17px;}
.venue-list.calm-venues .count{min-width:25px;padding:3px 5px;font-size:9px;}
.venue-prio-badge{display:inline-block;margin-left:6px;padding:1px 4px;border:1px solid currentColor;font-size:7px;font-weight:900;letter-spacing:.06em;vertical-align:1px;opacity:.72;}
.venue-list.calm-venues.favorite-group .venue .venue-prio-badge{color:#fff;border-color:#fff;opacity:.72;flex:0 0 auto;}
.venue-list.calm-venues.all-venues .venue .venue-prio-badge{color:#050505;border-color:#050505;opacity:.72;flex:0 0 auto;}
.venue-list-divider{margin:5px 0 4px;padding:4px 7px;border-left:4px solid #e7e7e1;background:#1a1a1a;color:#aaa;font-family:Impact,"Arial Narrow",sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;}
.big-watch-section{margin:0 0 12px;border:1px solid #666;background:#050505;}
.big-watch-head{width:100%;padding:8px 10px;border:0;border-bottom:1px solid #555;background:#e7e7e1;color:#060606;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-family:Impact,"Arial Narrow",sans-serif;font-size:13px;letter-spacing:.09em;text-transform:uppercase;}
.big-watch-head .watch-head-left{display:flex;align-items:center;gap:7px;}
.big-watch-head .watch-count{font-family:"Courier New",monospace;font-size:9px;font-weight:900;}
.big-watch-body{padding:7px;display:grid;gap:7px;}
.big-watch-empty{padding:12px 10px;color:#999;font-size:10px;text-align:center;}
.big-watch-section .big-card{margin:0;}
.big-list-label{margin:9px 0 7px;padding:5px 7px;background:#1a1a1a;border-left:4px solid #e7e7e1;color:#eee;font-family:Impact,"Arial Narrow",sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
.venue.new-venue{border-style:solid;}
.venue .new-badge{background:transparent;color:inherit;border:1px solid currentColor;border-radius:1px;padding:1px 3px;font-size:7px;letter-spacing:.06em;}
.filter-help{margin-top:8px;border:1px solid #333;background:#070707;color:#a8a8a1;font-size:9px;}
.filter-help summary{cursor:pointer;padding:6px 7px;color:#e2e2dc;font-weight:900;letter-spacing:.08em;}
.filter-help div{padding:0 7px 8px;line-height:1.45;}
.sidebar>.info{display:none;}
.toolbar{margin-bottom:8px;padding:6px;border:1px solid #444;background:#050505;}
.month-title{font-family:Impact,"Arial Narrow",sans-serif;font-size:20px;letter-spacing:.05em;text-transform:uppercase;}
.summary{gap:5px;margin-bottom:8px;}
.pill{border:1px solid #444;background:#080808;border-radius:2px;padding:5px 7px;font-size:9px;text-transform:uppercase;letter-spacing:.03em;}
.update-panel{margin-bottom:8px;padding:8px 9px;border:1px solid #555;border-radius:2px;background:#050505;}
.update-title{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.04em;text-transform:uppercase;}
.update-meta{font-size:9px;}
.calendar-refresh-btn,.refresh-btn,.source-btn,.social-btn{border:1px solid #777;border-radius:2px;background:#111;color:#eee;}
.calendar-refresh-btn:hover,.refresh-btn:hover,.source-btn:hover,.social-btn:hover{background:#eee;color:#050505;}
.update-badge,.engine-connection{border-radius:1px;font-size:8px;padding:2px 4px;}
.calendar{border:1px solid #555;border-radius:2px;background:#050505;}
.weekday{background:#e5e5df;color:#090909;border-color:#555;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.08em;}
.day{border-color:#363636;background:#080808;}
.day.today .date-num{background:#efefe9;color:#050505;border-radius:1px;}
.date-num{border-radius:1px;}
.event-mini{margin-top:4px;padding:5px 6px;border-radius:1px;background:#111;border:1px solid #4b4b4b;border-left:4px solid #eee;}
.event-mini:hover{background:#1b1b1b;}
.event-mini .name{font-family:"Arial Narrow",Arial,sans-serif;font-weight:900;}
.event-row,.big-card,.big-controls,.big-genre-box,.big-rules{border-radius:2px;background:#080808;border-color:#505050;}
.tag,.friend-chip,.ticket-state,.venue-badge{border-radius:1px;background:#111;border-color:#444;}
.match-tag{background:#e6e6df;color:#090909;border-color:#fff;}
.ticket,.big-ticket,.watch-btn{border-radius:2px;}
.big-ticket{background:#efefe9;color:#050505;border-color:#fff;}
.modal-card,.time-box,.band-about,.friend-person{border-radius:2px;background:#080808;border-color:#555;}
.statusbar{border-radius:2px;background:#050505;border-color:#444;}
.engine-diag,.diag-grid{font-family:"Courier New",monospace;}
.diag-item{border-radius:1px;background:#050505;border-color:#444;}
@media (max-width:850px){
  .player-strip{grid-template-columns:1fr auto;}
  .eq-bars{display:none;}
  .grid{grid-template-columns:1fr;}
  .sidebar{position:static;}
}
@media (max-width:560px){
  .app{padding:8px;}
  .topbar{display:block;}
  .source{border-left:0;border-top:1px solid #686868;text-align:left;}
  .player-strip{height:auto;grid-template-columns:1fr auto;}
  .genre-list{grid-template-columns:1fr 1fr;}
  .venue-quick{grid-template-columns:1fr 1fr;}
  .venue-quick button:first-child{grid-column:1/-1;}
}
