/* BACKLINE CSS: responsive mobile shell and agenda. */
.brand-kicker{margin-bottom:5px;color:#8d8d87;font-size:8px;font-weight:900;letter-spacing:.22em;}
.brand-byline{margin-top:7px;color:#8f8f89;font-size:9px;letter-spacing:.09em;}
.brand h1{font-size:clamp(38px,6vw,68px);letter-spacing:.025em;}
.brand p{text-transform:none;font-size:12px;letter-spacing:.04em;color:#f0f0eb;}
.view-icon{display:none;}
.mobile-filter-head,.mobile-filter-trigger,.mobile-drawer-backdrop{display:none;}
@media (max-width:680px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  body{padding-bottom:env(safe-area-inset-bottom,0);}
  body.drawer-open{overflow:hidden;}
  .app{width:100%;max-width:none;padding:7px 7px calc(78px + env(safe-area-inset-bottom,0));}
  .brand{position:relative;overflow:hidden;}
  .brand:after{content:"";position:absolute;right:-24px;top:8px;width:105px;height:1px;background:#d7d7d1;box-shadow:0 7px 0 #555,0 14px 0 #272727;transform:rotate(-9deg);}
  .brand-kicker{font-size:7px;margin-bottom:4px;}
  .brand h1{font-size:44px;line-height:.84;letter-spacing:.04em;text-shadow:2px 2px 0 #262626;}
  .brand p{margin-top:7px;font-size:10px;letter-spacing:.025em;}
  .brand-byline{font-size:8px;margin-top:4px;}
  .source{display:none;}
  .real-player{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:61px;height:auto;margin-bottom:7px;padding:6px 7px;gap:5px 8px;border-color:#555;box-shadow:0 3px 0 #000;}
  .player-id{gap:7px;}
  .player-artwork{width:42px;height:42px;flex:0 0 42px;}
  .player-kicker{font-size:7px;letter-spacing:.13em;}
  .player-id strong{margin-top:1px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .player-track-meta{font-size:7px;margin-top:2px;}
  .player-links{grid-column:2;grid-row:1;align-items:flex-end;gap:2px;max-width:68px;}
  .player-state{font-size:7px;}
  .player-dot{width:5px;height:5px;margin-right:3px;}
  .player-external{font-size:6px;padding:2px 3px;}
  .player-center{grid-column:1/-1;grid-row:2;grid-template-columns:31px 1fr auto;gap:5px;}
  .player-control{width:31px;height:27px;font-size:13px;}
  .eq-bars{display:flex;height:24px;padding:3px 4px;gap:2px;}
  .player-time{font-size:7px;}
  .grid{display:block;}
  .main{padding:7px;border-color:#464646;box-shadow:none;}
  .sidebar{display:block;position:fixed;z-index:80;top:0;left:0;bottom:0;width:min(91vw,390px);height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px 9px calc(22px + env(safe-area-inset-bottom,0));border:0;border-right:1px solid #777;border-radius:0;box-shadow:18px 0 45px rgba(0,0,0,.72);transform:translateX(-104%);transition:transform .18s ease-out;}
  .sidebar.mobile-open{transform:translateX(0);}
  .mobile-drawer-backdrop{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.78);backdrop-filter:blur(2px);}
  .mobile-drawer-backdrop.show{display:block;}
  .mobile-filter-head{display:flex;position:sticky;top:-8px;z-index:4;align-items:center;justify-content:space-between;margin:-1px -1px 8px;padding:8px 7px;background:#050505;border-bottom:1px solid #777;}
  .mobile-filter-head span{display:block;color:#888;font-size:7px;letter-spacing:.18em;}
  .mobile-filter-head strong{display:block;margin-top:2px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:16px;letter-spacing:.08em;}
  .mobile-filter-head button{width:38px;height:38px;border:1px solid #777;background:#111;color:#eee;font-size:25px;line-height:1;}
  .genre-list{grid-template-columns:1fr 1fr;gap:4px;}
  .genre{min-height:36px;padding:6px;}
  .venue-row{grid-template-columns:20px minmax(0,1fr) 30px auto;}
  .venue-list.calm-venues .venue{min-height:48px;padding:9px 8px;}
  .venue-list.calm-venues .venue .label{font-size:14px;}
  .venue-list.calm-venues.favorite-group .venue .label,.venue-list.calm-venues.all-venues .venue .label{padding:6px 8px;}
  .venue-fav-btn{width:29px;height:29px;font-size:17px;}
  .big-watch-body{padding:5px;}
  .genre .label{font-size:10px;}
  .venue .label{font-size:10px;}
  .friends-demo{padding-bottom:10px;}
  .toolbar{display:grid;grid-template-columns:1fr;gap:6px;padding:0 0 6px;margin:0 0 6px;border:0;background:transparent;}
  .mobile-filter-trigger{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #777;background:#e9e9e3;color:#050505;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:13px;letter-spacing:.08em;cursor:pointer;}
  .mobile-filter-trigger span{font-family:"Courier New",monospace;font-size:16px;}
  .month-nav{width:100%;display:grid;grid-template-columns:42px 1fr 42px;gap:4px;align-items:center;border:1px solid #4a4a4a;background:#050505;padding:3px;}
  .month-title{min-width:0;font-size:18px;line-height:1;}
  .nav-btn{height:34px;padding:0;font-size:18px;}
  .summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-bottom:5px;}
  .pill{min-width:0;padding:5px 3px;text-align:center;font-size:7px;line-height:1.25;}
  .pill b{display:block;margin-top:2px;font-size:12px;}
  .update-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:6px;margin-bottom:6px;}
  .update-title{font-size:10px;}
  .update-meta{max-height:28px;overflow:hidden;font-size:7px;line-height:1.3;}
  .calendar-refresh-btn{align-self:stretch;padding:5px 7px;font-size:8px;white-space:normal;max-width:86px;}
  .update-result{grid-column:1/-1;font-size:8px;}
  .engine-connection{display:none;}
  .update-badge{font-size:6px;}
  .view-switch{position:fixed;z-index:60;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:4px 4px calc(5px + env(safe-area-inset-bottom,0));background:#050505;border-top:1px solid #777;box-shadow:0 -8px 28px rgba(0,0,0,.75);}
  .view-btn{min-height:51px;padding:4px 2px;border:0;border-right:1px solid #282828;background:#050505;color:#9b9b95;box-shadow:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:7px;letter-spacing:.06em;}
  .view-btn:last-child{border-right:0;}
  .view-btn.active{background:#eeeeE8;color:#050505;border-color:#eee;}
  .view-icon{display:block;font-family:"Courier New",monospace;font-size:20px;line-height:18px;}
  .view-label{display:block;}
  .my-tab-count{position:absolute;margin:0 0 26px 25px;background:#050505;color:#eee;border-color:#eee;font-size:7px;}
  .view-btn.active .my-tab-count{background:#050505;color:#fff;}
  .mobile-agenda{display:grid;gap:7px;}
  .mobile-day{border:1px solid #4c4c4c;background:#070707;}
  .mobile-day-head{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding:5px 7px;background:#e5e5df;color:#070707;}
  .mobile-day-num{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:28px;line-height:.9;text-align:center;}
  .mobile-day-copy strong{display:block;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
  .mobile-day-copy span{font-size:8px;text-transform:uppercase;}
  .mobile-day-count{min-width:28px;padding:3px 5px;border:1px solid #111;font-size:8px;font-weight:900;text-align:center;}
  .mobile-day-events{display:grid;}
  .mobile-agenda-event{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 15px;gap:7px;align-items:center;padding:8px 7px;border:0;border-top:1px solid #333;background:#090909;color:#eee;text-align:left;cursor:pointer;}
  .mobile-agenda-event:first-child{border-top:0;}
  .mobile-agenda-event:active{background:#1a1a1a;}
  .mobile-event-time{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:14px;letter-spacing:.04em;text-align:center;}
  .mobile-event-main{min-width:0;}
  .mobile-event-title{font-family:"Arial Narrow",Arial,sans-serif;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mobile-event-meta{margin-top:2px;color:#a7a7a0;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mobile-event-arrow{color:#aaa;font-size:15px;}
  .list{gap:6px;}
  .event-row{grid-template-columns:48px minmax(0,1fr);gap:7px;padding:7px;}
  .datebox{padding-right:6px;}
  .datebox b{font-size:20px;}
  .datebox span{font-size:8px;}
  .event-title{font-size:12px;margin-bottom:3px;}
  .event-meta{font-size:8px;line-height:1.5;}
  .tags{gap:3px;margin-top:5px;}
  .tag,.venue-badge{font-size:7px;padding:2px 4px;}
  .event-actions{grid-column:1/-1;justify-content:flex-end;}
  .preview-mini-btn,.ticket{min-height:32px;padding:6px 9px;font-size:8px;}
  .friend-chip{font-size:7px;padding:3px 4px;}
  .big-card{grid-template-columns:54px 1fr;gap:7px;padding:8px;}
  .big-date{padding-right:6px;}
  .big-title{font-size:14px;}
  .big-meta,.big-desc{font-size:8px;}
  .big-actions{grid-template-columns:1fr 1fr;gap:4px;}
  .my-show-row{grid-template-columns:48px 1fr;gap:6px;padding:6px;}
  .my-show-date b{font-size:19px;}
  .my-show-status-actions{grid-column:1/-1;}
  .my-status-view-btn{min-height:30px;}
  .modal{padding:0;place-items:stretch;background:#050505;}
  .modal-card{width:100%;min-height:100dvh;max-height:100dvh;overflow-y:auto;padding:12px 11px calc(82px + env(safe-area-inset-bottom,0));border:0;border-radius:0;box-shadow:none;}
  .modal-head{position:sticky;top:-12px;z-index:5;margin:-12px -11px 8px;padding:10px 10px 8px;background:#050505;border-bottom:1px solid #555;}
  .modal h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:21px;letter-spacing:.04em;}
  .close{width:42px;height:42px;border:1px solid #666;background:#111;color:#eee;font-size:27px;}
  .time-box,.preview-box,.band-about{padding:8px;}
  .conflict-panel{margin:8px 0;}
  .conflict-panel-head{padding:7px 8px;}
  .conflict-panel-head strong{font-size:12px;}
  .conflict-values{grid-template-columns:1fr;gap:5px;}
  .conflict-item{padding:8px;}
  .conflict-value{padding:6px 7px;}
  .conflict-value strong{font-size:14px;}
  .time-main strong{font-size:16px;}
  .time-sub,.preview-hint,.band-about p,.modal p{font-size:9px;}
  .social-actions{display:grid;grid-template-columns:1fr 1fr;}
  .social-btn{min-height:38px;}
  .statusbar{display:none;}
  .empty{padding:34px 12px;font-size:9px;}
  .empty strong{font-size:15px;}
}
.mini-open-btn{padding:3px 7px;border:1px solid #fff;background:#111;color:#fff;font-size:8px;font-weight:900;cursor:pointer;}
.mini-open-btn:hover{background:#efefe9;color:#050505;}
