.appointments-shell{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 600px;gap:25px}.appointments-panel,.referees-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#000}.appointments-caption{height:55px;flex:0 0 55px;display:flex;align-items:center;padding:0 10px;border-bottom:3px solid #ff0000;background:#000;color:#fff}.appointments-caption h2{margin:0 auto 0 0;font-size:27px;font-weight:700}.appointments-caption>button,.source-switch button{height:40px;padding:0 20px;border:1px solid #fff;border-radius:6px;background:#00c;color:#fff;font-size:17px;font-weight:500}.appointments-caption>button{background:#0a0;color:#000}.source-switch{display:flex}.source-switch button{border-radius:0}.source-switch button:first-child{border-radius:6px 0 0 6px}.source-switch button:last-child{border-radius:0 6px 6px 0}.source-switch button.active{background:#0ff;color:#000}.week-nav{height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;padding:5px 8px}.week-nav button{min-width:270px;height:38px;border:1px solid #00ffff;border-radius:6px;background:#004ec4;color:#fff;font-size:16px;font-weight:600}.week-nav .week-label{color:#0ff;font-size:17px;font-weight:600}.appointment-scroll,.referee-scroll{flex:1;min-height:0;overflow:auto;scrollbar-color:#00ffff transparent}.appointment-status{height:26px;flex:0 0 26px;margin:0;padding:5px 9px;color:#ff0;font-size:13px}.appointment-date{height:40px;display:flex;align-items:center;margin:0 7px 7px;padding:0 8px;border-bottom:2px solid #00ffff;color:#0ff;font-size:20px;font-weight:500}.appointment-game{margin:0 7px 9px;padding:7px;border:1px solid #0058b8;border-radius:7px;background:#001940b8}.appointment-game:hover,.referee-row:hover{background:#0000cc8c}.appointment-grid{display:grid;grid-template-columns:minmax(390px,1fr) 245px 45px 245px 45px 285px;gap:10px;align-items:center}.appointment-line{min-height:45px}.teams-block,.game-meta{min-width:0;display:flex;align-items:center;gap:9px;overflow:hidden;white-space:nowrap}.teams-block strong{overflow:hidden;text-overflow:ellipsis;font-size:18px}.versus{color:#0ff}.team-chip{min-width:0;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #00ffff;border-radius:5px;background:#073451}.team-chip b{overflow:hidden;text-overflow:ellipsis}.team-bars{width:24px;height:27px;display:grid;grid-template-columns:repeat(3,1fr);flex:0 0 24px}.team-bars i{display:block}.game-meta{color:#ff0;font-size:17px;font-weight:600}.tag-button{width:100%;height:37px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;border:1px solid #00ffff;border-radius:5px;background:#15113f;color:#fff;font-size:16px;font-weight:500;text-align:left}.tag-button.empty{color:#9da8be}.status-icon{font-size:22px;text-align:center}.notes-input{width:100%;height:36px;padding:0 9px;border:1px solid #aaa;border-radius:5px;background:#111;color:#fff;font-size:15px}.load-notification{height:38px;border:1px solid #fff;border-radius:5px;background:#00f;color:#fff;font-size:15px;font-weight:600}.appointment-message{margin:25px;color:#96a9bd;font-size:16px}.referee-group h3{height:42px;display:flex;align-items:center;margin:0;padding:0 10px;border-bottom:2px solid #00ffff;color:#0ff;font-size:19px;font-weight:600}.referee-row{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 145px 80px;gap:8px;align-items:center;padding:5px 10px;border-bottom:1px solid rgba(0,255,255,.25);font-size:16px;font-weight:500}.referee-name{padding:7px 9px;border:2px solid #fff;border-radius:5px;background:#15113f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.referee-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0ff}.referee-count{text-align:center;color:#fff}.tag-picker{position:fixed;inset:0;z-index:4700;display:grid;place-items:center;background:#000c}.tag-picker[hidden]{display:none}.tag-card{width:min(720px,94%);max-height:82vh;display:flex;flex-direction:column;overflow:hidden;border:2px solid #00ffff;border-radius:10px;background:#050b18}.tag-card header{height:50px;display:flex;align-items:center;padding:0 12px;background:#00c}.tag-card h2{margin:0 auto 0 0;font-size:19px}.tag-card header button{width:34px;height:34px;border:1px solid #fff;border-radius:5px;background:#00004d;color:#fff}.tag-card>input{height:44px;margin:12px;padding:0 12px;border:1px solid #00ffff;border-radius:6px;background:#fff;color:#000;font-size:17px}.tag-results{min-height:0;overflow:auto}.tag-result{width:100%;min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) 130px 90px;gap:8px;align-items:center;padding:7px 12px;border:0;border-bottom:1px solid rgba(0,255,255,.25);background:#050b18;color:#fff;text-align:left}.tag-result:hover{background:#0000b3}.tag-result.blocked{color:#ff6868}.tag-result small{color:#0ff}.tag-result.blocked small{color:#ff6868}.clear-tag{height:40px;margin:10px;border:1px solid #ff4040;border-radius:6px;background:#650000;color:#fff;font-weight:600}@media (orientation:portrait),(max-width:760px){.appointments-shell{height:auto;display:flex;flex-direction:column}.appointments-panel{height:1260px;flex:0 0 1260px}.referees-panel{height:900px;flex:0 0 900px}.appointment-grid{grid-template-columns:minmax(390px,1fr) 245px 45px 245px 45px 285px}}
