.appointments-shell{--h-row:88px;--gap-sm:10px;--gap-md:14px;--pad-x:16px;--pad-y:12px;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 4px 485px;background:#000}.appointments-divider{background:red}.appointments-panel,.referees-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#000}.appointments-panel{padding-right:9.6px}.referees-panel{padding-left:9.6px}.appointments-caption{height:44px;flex:0 0 44px;display:flex;align-items:center;gap:12px;padding:0 8px;border-bottom:2.4px solid #fff;background:#000;color:#fff}.appointments-caption h2{margin:0 auto 0 0;color:#0f0;font-size:27px;font-weight:500;line-height:1}.referee-caption h2{color:#fdd812}.appointments-caption>button{height:32px;padding:0 16px;border:.8px solid #fff;border-radius:4.8px;background:#0f0;color:#000;font-size:14px;font-weight:500}.week-nav{height:32px;display:flex;align-items:center;flex:0 0 auto}.week-range{height:32px;display:flex;align-items:center;overflow:hidden;border:.8px solid #00ff00;border-radius:4.8px;background:#000;color:#fff;font-size:14px;font-weight:500;white-space:nowrap}.week-nav .week-label{height:32px;display:flex;align-items:center;padding:0 8px}.week-nav .week-arrow{width:36px;height:32px;display:grid;place-items:center;padding:0;border:0;background:#000;color:#fff;font:inherit;cursor:pointer}.week-nav .week-arrow:hover,.week-nav .week-arrow:focus-visible{background:#00c;outline:none}.source-switch{display:flex}.source-switch button{height:35px;padding:0 16px;border:.8px solid #fff;border-radius:0;background:#7a7a7a;color:#fff;font-size:14px;font-weight:500}.source-switch button:first-child{border-radius:4.8px 0 0 4.8px}.source-switch button:last-child{border-radius:0 4.8px 4.8px 0}.source-switch button.active{background:#00f;color:#fff}.appointment-scroll,.referee-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#00ffff transparent}.appointment-scroll::-webkit-scrollbar,.referee-scroll::-webkit-scrollbar{width:4px;height:4px}.appointment-scroll::-webkit-scrollbar-track,.referee-scroll::-webkit-scrollbar-track{background:transparent}.appointment-scroll::-webkit-scrollbar-thumb,.referee-scroll::-webkit-scrollbar-thumb{border-radius:3px;background:#0ff}.appointment-status{height:20.8px;flex:0 0 20.8px;margin:0;padding:4px 7.2px;color:#ff0;font-size:10.4px}.appointment-date{width:calc(100% - 14px);height:40px;display:flex;align-items:center;box-sizing:border-box;margin:0 7px 6px;padding:0 15px;border:0;border-bottom:2px solid #00ffff;font-size:15px;font-weight:500}.appointment-date-box{display:flex;align-items:center;gap:7px}.appointment-day{color:#0ff}.appointment-date-text{color:#fff}.appointment-game{min-height:var(--h-row);display:grid;grid-template-columns:540px 240px 240px minmax(0,1fr);grid-template-rows:40px 40px;gap:var(--gap-sm) var(--gap-md);align-items:center;box-sizing:border-box;margin:0 7px 12px;padding:var(--pad-y) var(--pad-x);border:1px solid #0058b8;border-radius:10px;background:#001940b8}.appointment-game:hover,.referee-row:hover{background:#0000cc8c}.teams-block,.game-meta{min-width:0;display:flex;align-items:center;overflow:hidden;white-space:nowrap}.teams-block{display:grid;grid-template-columns:115px 10px 180px 30px 180px;gap:0}.division-block{width:115px;height:35px;display:flex;align-items:center;box-sizing:border-box;overflow:hidden;padding:0 7px;border:1px solid #fff;border-radius:6px;background:transparent;color:#fff;font-size:14px;font-weight:400;text-align:left;text-overflow:ellipsis;white-space:nowrap}.division-block.division-boys{background:#00f}.division-block.division-rep-boys,.division-block.division-international{background:#00c}.division-block.division-girls{background:#c0f}.division-block.division-rep-girls,.division-block.division-rep-women{background:#90c}.division-gap{width:10px;height:1px}.team-chip{width:180px;height:35px;display:grid;grid-template-columns:24px 141px;column-gap:6px;align-items:center;box-sizing:border-box;overflow:hidden;padding-left:8px;border:.5px solid #00ffff;border-radius:6px;background:#2b2f35}.team-chip b{width:141px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;color:#fff;font-size:16px;font-weight:600}.team-bars{width:24px;height:95%;display:grid;grid-template-columns:8px 8px 8px;gap:0;align-items:center}.team-bars i{width:8px;height:95%;display:block}.versus{width:30px;height:35px;display:grid;place-items:center;color:#0ff;text-align:center;white-space:nowrap;font-size:13px;font-weight:500}.game-meta{gap:12px;font-size:16px;font-weight:500}.game-meta strong{color:#0f0}.game-meta span{overflow:hidden;color:#fff;text-align:left;text-overflow:ellipsis}.game-meta .sync-badge{width:max-content;max-width:168px;margin-left:8px;padding:2.4px 5.6px;border:.8px solid #00ffff;border-radius:3.2px;background:#00151a;color:#0ff;font-size:8.8px;line-height:1;letter-spacing:.04em;font-style:normal}.game-meta .sync-badge.unmatched{border-color:#777;color:#aaa}.official-slot{width:240px;display:grid;grid-template-columns:215px 22px;column-gap:3px;align-items:center;justify-content:start}.official-tag{width:215px;max-width:215px;height:35px;display:flex;align-items:center;box-sizing:border-box;overflow:hidden;padding:0 var(--pad-x);border:2px solid #ccc;border-radius:6px;background:#1f1646;color:#fff;font-size:15px;font-weight:400;text-align:left;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.official-tag span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-button{appearance:none;cursor:grab}.tag-button.empty{color:#9da8be;font-weight:500}.tag-button.drag-over{box-shadow:0 0 11.2px #0ff;background:#00c}.tag-status{position:relative;width:22px;min-width:22px;max-width:22px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;font-size:16px;line-height:1}.notes-input,.load-notification{width:210px;height:34px;justify-self:end;box-sizing:border-box;margin:0 8px 0 0;border-radius:6px;font-size:15px}.notes-input{padding:0 9px;border:1px solid #ccc;background:#111;color:#fff}.load-notification{border:0;background:#00f;color:#fff;font-weight:500}.load-notification.loaded{background:#ff0;color:#000}.load-notification.sent{opacity:.5;cursor:default}.appointment-message{margin:20px;color:#96a9bd;font-size:12.8px}.referee-group h3{width:100%;height:30px;display:flex;align-items:center;box-sizing:border-box;margin:0 0 6px;padding:0 8px;border:0;border-bottom:2px solid #fdd812;color:#fff;font-size:16px;font-weight:500}.referee-group.mrref h3{border-color:#0ff}.referee-row{height:42px;display:grid;grid-template-columns:215px 25px minmax(0,1fr);align-items:center;box-sizing:border-box;gap:0;padding:0 8px;border-bottom:.8px solid rgba(0,255,255,.25);font-size:15px;font-weight:500}.referee-name{width:210px;height:35px;cursor:grab;font-size:14px;font-weight:500}.referee-count{color:#fff;text-align:left}.referee-location{overflow:hidden;color:#fff;font-size:13px;font-weight:400;text-align:left;text-overflow:ellipsis;white-space:nowrap}.referee-scroll.drag-over{box-shadow:inset 0 0 16px #00ffff8c}.wrra-drag-ghost{pointer-events:none}.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(576px,94%);max-height:82vh;display:flex;flex-direction:column;overflow:hidden;border:1.6px solid #00ffff;border-radius:8px;background:#050b18}.tag-card header{height:40px;display:flex;align-items:center;padding:0 9.6px;background:#00c}.tag-card h2{margin:0 auto 0 0;font-size:15.2px}.tag-card header button{width:27.2px;height:27.2px;border:.8px solid #fff;border-radius:4px;background:#00004d;color:#fff}.tag-card>input{height:35.2px;margin:9.6px;padding:0 9.6px;border:.8px solid #00ffff;border-radius:4.8px;background:#fff;color:#000;font-size:13.6px}.tag-results{min-height:0;overflow:auto}.tag-result{width:100%;min-height:41.6px;display:grid;grid-template-columns:minmax(0,1fr) 104px 72px;gap:6.4px;align-items:center;padding:5.6px 9.6px;border:0;border-bottom:.8px 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:32px;margin:8px;border:.8px solid #ff4040;border-radius:4.8px;background:#650000;color:#fff;font-weight:600}@media (orientation:portrait),(max-width:760px){.appointments-shell{height:auto;display:flex;flex-direction:column}.appointments-divider{display:none}.appointments-panel{height:1008px;flex:0 0 1008px}.referees-panel{height:720px;flex:0 0 720px;padding-left:0}}.appointment-game .versus{color:#0f0}.division-block:is(.division-boys,.division-rep-boys){color:#0ff}
