@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600&display=swap";:root{--bg: #080808;--bg2: #0e0e0e;--bg3: #161616;--border: #1f1f1f;--border2: #2a2a2a;--text: #e8e8e8;--text-dim: #666;--text-faint: #333;--green: #1dff8c;--green-dim: rgba(29, 255, 140, .12);--amber: #ffb020;--amber-dim: rgba(255, 176, 32, .15);--red: #ff3355;--red-dim: rgba(255, 51, 85, .12);--blue: #3b9eff;--blue-dim: rgba(59, 158, 255, .1);--dim: #2a2a2a;--font-sans: "Syne", sans-serif;--font-mono: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text);font-family:var(--font-mono)}body{min-height:100vh}button{cursor:pointer;font-family:var(--font-mono)}.app{max-width:1400px;margin:0 auto;padding:0 24px 80px}.header{display:flex;align-items:center;justify-content:space-between;padding:28px 0 20px;border-bottom:1px solid var(--border2);margin-bottom:0}.header-left{display:flex;align-items:center;gap:16px}.logo-mark{font-family:var(--font-sans);font-size:11px;font-weight:800;letter-spacing:.3em;color:var(--bg);background:var(--text);padding:4px 8px;line-height:1}.header-title{display:flex;flex-direction:column;gap:2px}.title-main{font-family:var(--font-sans);font-size:18px;font-weight:700;letter-spacing:.15em;color:var(--text);line-height:1}.title-sub{font-size:10px;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase}.header-right{display:flex;align-items:center;gap:20px}.sync-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.sync-label{font-size:9px;letter-spacing:.2em;color:var(--text-faint)}.sync-time{font-size:11px;color:var(--text-dim)}.sync-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border2);color:var(--text-dim);font-size:10px;letter-spacing:.15em;padding:8px 14px;transition:all .2s}.sync-btn:hover:not(:disabled){border-color:var(--green);color:var(--green)}.sync-btn:disabled{opacity:.4}.sync-btn.syncing .sync-icon{display:inline-block;animation:spin 1s linear infinite}.sync-icon{font-size:14px;line-height:1}@keyframes spin{to{transform:rotate(360deg)}}.stats-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--border);margin-bottom:40px}.stats-left{display:flex;align-items:center;gap:32px}.stat{display:flex;flex-direction:column;gap:3px}.stat-val{font-family:var(--font-sans);font-size:28px;font-weight:700;line-height:1;color:var(--text)}.stat-key{font-size:8px;letter-spacing:.2em;color:var(--text-faint)}.stat-complete .stat-val{color:var(--green)}.stat-missing .stat-val{color:var(--amber)}.stat-critical .stat-val{color:var(--red)}.stat-hold .stat-val{color:var(--text-dim)}.progress-wrap{display:flex;align-items:center;gap:10px}.progress-bar{width:120px;height:2px;background:var(--border2);position:relative}.progress-fill{position:absolute;left:0;top:0;height:100%;background:var(--green);transition:width .6s ease}.progress-pct{font-size:11px;color:var(--green)}.filter-tabs{display:flex;gap:2px}.filter-tab{background:transparent;border:1px solid var(--border);color:var(--text-faint);font-size:9px;letter-spacing:.15em;padding:6px 12px;transition:all .15s}.filter-tab:hover{border-color:var(--border2);color:var(--text-dim)}.filter-tab.active{border-color:var(--text);color:var(--text);background:var(--bg3)}.main{display:flex;flex-direction:column;gap:48px}.month-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.month-label{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--text-dim);white-space:nowrap}.month-rule{flex:1;height:1px;background:var(--border)}.shows-grid{display:flex;flex-direction:column;gap:2px}.show-card{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--border);padding:16px 20px;cursor:pointer;transition:all .15s;position:relative}.show-card:hover{border-color:var(--border2);background:var(--bg3)}.show-card.complete{border-left-color:var(--green)}.show-card.incomplete{border-left-color:var(--amber)}.show-card.urgent{border-left-color:var(--red);background:#ff335508}.show-card.unclear{border-left-color:var(--text-dim)}.card-top{display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:20px}.card-date{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.card-dayname{font-size:9px;letter-spacing:.15em;color:var(--text-faint)}.card-daynum{font-family:var(--font-sans);font-size:26px;font-weight:700;color:var(--text);line-height:1}.card-info{display:flex;flex-direction:column;gap:4px;min-width:0}.card-location{display:flex;align-items:center;gap:8px}.card-flag{font-size:14px}.card-city{font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--text);letter-spacing:.02em}.card-country{font-size:10px;color:var(--text-faint);letter-spacing:.1em}.card-venue{font-size:11px;color:var(--text-dim);letter-spacing:.05em}.card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.card-fee{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.03em}.card-badge{font-size:8px;letter-spacing:.15em;padding:2px 6px;font-weight:600}.badge-critical{background:var(--red-dim);color:var(--red);border:1px solid var(--red)}.badge-unclear{background:var(--dim);color:var(--text-dim);border:1px solid var(--border2)}.card-status-icons{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.status-pill{display:flex;align-items:center;gap:5px;font-size:9px;letter-spacing:.1em;padding:3px 8px;border:1px solid;white-space:nowrap}.status-pill.ok{border-color:var(--green);color:var(--green);background:var(--green-dim)}.status-pill.missing{border-color:var(--red);color:var(--red);background:var(--red-dim)}.status-pill.promoter{border-color:var(--border2);color:var(--text-faint)}.card-detail{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.detail-section{display:flex;flex-direction:column;gap:8px}.detail-label{font-size:9px;letter-spacing:.2em;color:var(--text-faint)}.detail-covered{font-size:11px;color:var(--text-dim);font-style:italic}.detail-crew{display:flex;flex-direction:column;gap:4px}.crew-row{display:flex;align-items:center;gap:12px;padding:4px 8px;font-size:11px}.crew-row.crew-ok{background:var(--green-dim)}.crew-row.crew-missing{background:var(--red-dim)}.crew-name{font-size:9px;letter-spacing:.15em;font-weight:600;min-width:80px;color:var(--text)}.crew-detail{color:var(--text-dim)}.crew-detail-missing{color:var(--red);font-style:italic}.detail-notes{font-size:10px;color:var(--text-faint);letter-spacing:.05em;padding:6px 8px;border-left:2px solid var(--border2);font-style:italic}.hold-card{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--amber)}.hold-date{font-size:10px;color:var(--text-faint);min-width:90px}.hold-city{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--text);min-width:140px}.hold-venue{font-size:11px;color:var(--text-dim);flex:1}.hold-fee{font-size:11px;color:var(--amber)}.empty{text-align:center;padding:60px;font-size:12px;letter-spacing:.15em;color:var(--text-faint)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2)}@media (max-width: 900px){.card-top{grid-template-columns:40px 1fr auto}.card-status-icons{display:none}.stats-left{gap:16px;flex-wrap:wrap}.progress-wrap{display:none}.header{flex-direction:column;gap:16px;align-items:flex-start}}
