*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;background:var(--canvas-bottom)}button,input,select,textarea{font:inherit}button{cursor:pointer}button[disabled]{cursor:not-allowed}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-line);outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}a{color:var(--action)}.app-shell{min-height:100vh;background:radial-gradient(ellipse at 4% 1%,color-mix(in srgb,var(--canvas-lilac) 38%,transparent),transparent 42%),radial-gradient(ellipse at 98% 5%,color-mix(in srgb,var(--canvas-cyan) 58%,transparent),transparent 35%),linear-gradient(var(--canvas-bottom),var(--canvas-bottom));padding-bottom:20px}.icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 34px;background:color-mix(in srgb,var(--surface) 87%,transparent);border-bottom:1px solid var(--line)}.brand-lockup{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-lockup img{object-fit:contain;width:36px;height:36px}.brand-lockup div{display:flex;align-items:center;gap:13px}.brand-lockup strong{font-size:20px;letter-spacing:3px;color:var(--ink)}.brand-lockup div>span{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:13px}.topbar-right{display:flex;align-items:center;gap:16px}.sync-state{font-size:12px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:7px}.sync-state i{width:6px;height:6px;border-radius:50%;background:var(--success)}.sync-state.offline{color:var(--error)}.sync-state.offline i{background:var(--error)}.plain-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:0;background:transparent;padding:6px 10px;border-radius:10px;font-size:13px;line-height:1.4}.plain-button:hover:not([disabled]){background:var(--soft)}.plain-button[disabled]{opacity:.5}.view-switch{font-weight:600;color:var(--action);background:var(--accent-soft);padding:10px 15px}.logout{color:var(--muted);font-size:12px}.admin-main,.player-main{max-width:1920px;margin:auto;padding:33px 34px 0}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;letter-spacing:1.8px;font-weight:600}.eyebrow>span{color:var(--accent-line);font-weight:400;font-size:15px}.hero h1{font-size:31px;font-weight:650;letter-spacing:.5px;line-height:1.3;color:var(--ink);margin:8px 0}.hero p{color:var(--muted);font-size:14px}.hero-actions{display:flex;gap:9px;flex-shrink:0}.toolbar-button{background:color-mix(in srgb,var(--surface) 84%,transparent);border:1px solid var(--line);min-height:42px;padding:10px 14px;color:var(--ink);border-radius:12px;white-space:nowrap}.toolbar-button .icon{width:16px;height:16px}.chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 8px;border-radius:6px;font-size:11px;line-height:1.4;background:var(--soft);color:var(--muted);font-weight:500;white-space:normal;overflow-wrap:anywhere}.chip.sample{background:var(--info-soft);color:var(--action-ink);font-size:11px}.chip.beginner{background:var(--success-soft);color:var(--success)}.chip.advanced{background:var(--accent-soft);color:var(--brand)}.chip.reported,.chip.pending{background:var(--warning-soft);color:var(--warning)}.chip.handled{background:var(--success-soft);color:var(--success)}.chip.rejected{background:var(--soft);color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.metric{min-width:0;display:flex;align-items:flex-start;gap:15px;background:color-mix(in srgb,var(--surface) 83%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,var(--surface));padding:19px 20px;border-radius:16px;box-shadow:var(--dock-shadow)}.metric-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--info-soft);border-radius:12px;width:40px;height:40px;color:var(--action-ink)}.metric:nth-child(2) .metric-icon{background:var(--success-soft);color:var(--success)}.metric:nth-child(3) .metric-icon{background:var(--accent-soft);color:var(--brand)}.metric:nth-child(4) .metric-icon{background:var(--warning-soft);color:var(--warning)}.metric>div{display:flex;flex-direction:column;min-width:0}.metric-label{font-size:12px;color:var(--muted)}.metric-value{font-size:29px;line-height:1.2;font-weight:650;color:var(--ink);margin-top:6px;letter-spacing:-.8px}.metric-meta{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}.workspace{display:grid;grid-template-columns:minmax(240px,285px) minmax(0,1fr) minmax(240px,280px);gap:22px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);min-width:0}.panel-heading{padding:19px 18px 15px;display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading h2,.courts-heading h2{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--ink);font-weight:650}.subtle{display:inline-block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px}.text-button{font-size:12px;color:var(--action);padding:4px 6px;min-height:32px;white-space:normal}.text-button .icon{width:15px;height:15px}.waiting-panel,.requests-panel{overflow:hidden;position:sticky;top:14px}.queue-tools{padding:0 14px 11px}.field-control{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:9px 11px;color:var(--text);font-size:14px;line-height:1.5}.field-control::placeholder{color:color-mix(in srgb,var(--muted) 72%,var(--surface));font-size:12px}.field-control[disabled]{background:var(--soft);color:var(--muted)}textarea.field-control{resize:vertical;min-height:100px;display:block}.segmented{display:flex;gap:3px;padding:3px;border-radius:10px;background:var(--soft);margin-top:10px}.segmented button{flex:1;min-width:0;font-size:11px;min-height:31px;padding:6px 3px;color:var(--muted);border-radius:7px}.segmented button.active{background:var(--surface);color:var(--action);font-weight:600;box-shadow:var(--dock-shadow)}.queue-context{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--soft) 57%,var(--surface));padding:9px 16px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;color:var(--muted)}.people-list{padding:6px 8px;max-height:calc(100vh - 465px);min-height:210px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}.person{display:flex;align-items:center;gap:9px;width:100%;max-width:100%;min-height:61px;border:1px solid transparent;background:transparent;padding:10px 7px;border-radius:11px;text-align:left;line-height:1.4;position:relative}.person:hover:not([disabled]){background:var(--soft)}.person.selected{background:var(--accent-soft);border-color:var(--accent-line)}.person.unavailable{opacity:.48}.person[draggable=true]{cursor:grab}.person[draggable=true]:active{cursor:grabbing}.avatar{width:35px;height:35px;border-radius:11px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brand);font-size:14px;font-weight:600;position:relative}.avatar-beginner{background:var(--success-soft);color:var(--success)}.avatar i{font-style:normal;font-size:9px;position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;border:2px solid var(--surface);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--warning-soft);color:var(--warning)}.avatar.small{width:29px;height:29px;font-size:12px;border-radius:9px}.person-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.person-copy strong{font-size:12px;color:var(--ink);font-weight:550;overflow-wrap:anywhere}.person-copy>span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.person-trailing{font-size:15px;color:var(--muted);padding:0 4px;flex-shrink:0}.selection-check{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--brand);color:var(--surface);border-radius:50%;flex-shrink:0}.selection-check .icon{width:13px;height:13px}.panel-footer{border-top:1px solid var(--line);padding:8px 12px;display:flex;justify-content:space-between;gap:8px}.empty-small{padding:22px 13px;font-size:13px;color:var(--muted);line-height:1.7}.courts-panel{min-width:0}.courts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 19px}.courts-heading h2{font-size:17px}.court-legend{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}.court-legend>span{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted);white-space:nowrap}.court-legend i{width:6px;height:6px;border-radius:50%;background:var(--muted)}.court-legend .legend-free{background:var(--accent-line)}.court-legend .legend-playing{background:var(--success)}.court-legend .legend-long{background:var(--error)}.hall-section+.hall-section{margin-top:24px}.hall-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}.hall-heading>span{font-size:10px;color:var(--action);background:var(--accent-soft);border:1px solid var(--accent-line);padding:2px 5px;border-radius:5px;font-weight:600}.hall-heading h3{font-size:12px;white-space:nowrap;font-weight:550;color:var(--muted)}.hall-heading i{height:1px;flex:1;background:var(--line)}.courts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.court-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--dock-shadow);min-width:0;overflow:hidden;transition:border-color .15s,box-shadow .15s}.court-card.active{border-color:var(--accent-line);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.court-card:not(.fixed):hover{border-color:var(--accent-line)}.court-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 15px 11px}.court-title{display:flex;align-items:center;gap:9px;min-width:0}.court-number{color:var(--ink);font-size:27px;font-weight:550;letter-spacing:-1.2px;line-height:1.2;font-variant-numeric:tabular-nums}.court-title h3{font-size:10px;font-weight:500;color:var(--muted);margin-bottom:4px}.court-title .chip{font-size:9px;padding:2px 5px;border-radius:4px}.court-status{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}.court-status:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent-line)}.court-status.playing{color:var(--success)}.court-status.playing:before{background:var(--success)}.court-body{padding:0 15px}.court-empty{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:116px;border-radius:10px;background:color-mix(in srgb,var(--soft) 48%,var(--surface));margin:0 0 13px;overflow:hidden}.court-empty strong{font-size:12px;color:var(--muted);font-weight:500;z-index:1}.court-empty>span{font-size:9px;color:var(--muted);margin-top:5px;z-index:1}.court-lines{position:absolute;inset:13px 34px;border:1px solid var(--line);opacity:.7}.court-lines:before{content:'';position:absolute;inset:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.court-lines:after{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:1px solid var(--line)}.court-lines i:first-child{position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line)}.court-lines i:nth-child(2){position:absolute;left:15%;right:15%;top:0;bottom:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}.current-round{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:12px}.round-label{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:10px;color:var(--muted);margin-bottom:8px}.round-label>span:first-child{font-weight:550}.elapsed{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;color:var(--success)}.elapsed .icon{width:12px;height:12px}.round-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-height:48px;align-items:start}.mini-person{display:flex;align-items:center;gap:4px;flex-direction:column;min-width:0}.mini-person>span:last-child{font-size:9px;max-width:100%;overflow-wrap:anywhere;text-align:center;color:var(--text);line-height:1.3}.time-track{height:3px;background:var(--soft);border-radius:3px;overflow:hidden;margin-top:10px}.time-track i{height:100%;display:block;background:var(--success);border-radius:3px;transition:width 1s}.court-warm .time-track i{background:var(--warning)}.court-warm .elapsed{color:var(--warning)}.court-hot .time-track i{background:var(--error)}.court-hot .elapsed{color:var(--error);font-weight:600}.round-footnote{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:6px;font-size:9px;color:var(--muted);min-height:14px}.round-footnote .chip{font-size:9px;padding:1px 4px}.unknown-roster{grid-column:1/-1;text-align:center;color:var(--muted);font-size:11px;align-self:center;padding:10px 0}.next-round{border-top:1px dashed var(--line);padding-top:11px}.draft-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:11px}.draft-slot{position:relative;min-width:0;min-height:58px;border:1px dashed var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:3px;flex-direction:column;background:var(--surface);padding:5px 2px;color:var(--muted)}.draft-slot:hover{border-color:var(--accent-line);background:var(--accent-soft)}.draft-slot>span:last-child{font-size:9px;line-height:1.3;max-width:100%;overflow-wrap:anywhere;text-align:center}.draft-slot .slot-plus{font-size:17px;line-height:1.2;color:var(--action)}.draft-slot.filled{border-style:solid;border-color:var(--accent-line);background:var(--accent-soft)}.draft-slot.filled>span:nth-child(2){font-size:9px;overflow-wrap:anywhere;max-width:100%;text-align:center;line-height:1.2;color:var(--ink)}.draft-slot>i{position:absolute;top:-5px;right:-4px;font-size:12px;font-style:normal;width:15px;height:15px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.draft-slot .avatar.small{width:25px;height:25px;font-size:11px}.court-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.court-actions .ark-action-button{min-height:34px;padding:7px 6px;border-radius:8px;font-size:11px}.suggest-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:34px;font-size:11px;color:var(--action)}.court-minor-actions{display:flex;align-items:center;justify-content:space-between;gap:3px;flex-wrap:wrap;margin:4px -4px 7px}.court-minor-actions .text-button{font-size:9px;min-height:28px;padding:4px}.fixed-content{padding:17px 16px 28px;text-align:center;background:color-mix(in srgb,var(--soft) 45%,var(--surface));margin:0 15px 15px;border-radius:10px}.fixed-mark{width:45px;height:45px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;background:var(--accent-soft);border-radius:13px;font-size:20px;color:var(--brand)}.fixed-content p{font-size:12px;color:var(--ink);margin-bottom:7px}.fixed-content>span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.count-bubble{display:inline-flex;align-items:center;justify-content:center;font-size:10px;min-width:19px;height:19px;border-radius:6px;background:var(--accent-soft);color:var(--brand)}.request-tabs{margin:0 13px 12px}.request-list{max-height:calc(100vh - 395px);min-height:292px;overflow:auto;padding:0 11px;scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}.request-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 10px;background:var(--surface)}.request-card.handled{background:color-mix(in srgb,var(--soft) 35%,var(--surface))}.request-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}.request-person{display:flex;align-items:center;gap:7px;min-width:0}.request-person strong{font-size:11px;font-weight:550;color:var(--ink);overflow-wrap:anywhere}.request-head .chip{font-size:9px;flex-shrink:0}.request-card h3{font-size:12px;color:var(--ink);margin-bottom:5px;font-weight:600}.request-text,.requested-members,.request-court{font-size:12px;color:var(--text);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.requested-members{color:var(--action);font-size:11px}.request-court{color:var(--muted);font-size:11px}.request-time{display:block;color:var(--muted);font-size:9px;margin-top:7px}.request-admin{margin-top:10px}.request-admin .field-control{min-height:33px;padding:7px 8px;font-size:11px;border-radius:7px}.request-admin .field-control::placeholder{font-size:10px}.request-actions{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:7px}.primary-small{min-height:31px;border-radius:7px;padding:7px 10px;background:var(--accent-soft);color:var(--action);font-size:11px;font-weight:600}.primary-small:hover:not([disabled]){background:var(--accent-line)}.request-actions .text-button{font-size:10px;min-height:31px}.request-reply{background:var(--info-soft);border-radius:7px;padding:8px;margin-top:8px;font-size:11px;color:var(--action-ink);white-space:pre-wrap;overflow-wrap:anywhere}.request-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:290px;padding:32px 17px}.request-empty>.icon{width:37px;height:37px;color:var(--accent-line);margin-bottom:17px}.request-empty strong{font-size:12px;color:var(--muted);font-weight:500}.request-empty p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:9px}.request-help{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding:12px 15px}.workspace-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;padding:22px 0 0}.mobile-tabs{display:none}.notice-wrap{max-width:1200px;margin:16px auto 0;padding:0 24px;position:relative}.notice-wrap .ark-state-notice{padding:13px 45px 13px 15px}.notice-wrap .ark-state-notice__title{font-size:14px}.notice-wrap .ark-state-notice__message{font-size:12px}.notice-close{position:absolute;right:34px;top:6px;font-size:10px;color:var(--muted);min-height:25px;padding:3px}.pending-retry{background:var(--warning-soft);color:var(--warning);margin:6px 0;font-size:12px}.login-screen{max-width:1020px;margin:0 auto;min-height:calc(100vh - 100px);display:grid;grid-template-columns:1fr 420px;align-items:center;gap:85px;padding:40px 28px}.login-illustration{padding:35px 0}.illustration-court{position:relative;width:230px;height:145px;border:1px solid var(--accent-line);border-radius:8px;background:color-mix(in srgb,var(--surface) 54%,transparent);transform:perspective(500px) rotateX(18deg) rotateZ(-8deg);margin-bottom:45px;box-shadow:0 14px 40px var(--accent-soft)}.illustration-court:before{content:'';position:absolute;inset:12px 0;border-top:1px solid var(--accent-line);border-bottom:1px solid var(--accent-line)}.illustration-court:after{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:1px solid var(--accent-line)}.illustration-court>i:first-child{position:absolute;top:0;bottom:0;left:13%;right:13%;border-left:1px solid var(--accent-line);border-right:1px solid var(--accent-line)}.illustration-court>i:nth-child(2){position:absolute;top:50%;left:0;right:0;border-top:1px solid var(--accent-line)}.illustration-court>span{position:absolute;right:32px;top:30px;font-size:45px;transform:rotate(12deg)}.login-illustration h1{font-size:40px;line-height:1.45;color:var(--ink);margin:15px 0;letter-spacing:1px;font-weight:550}.login-illustration p{font-size:14px;color:var(--muted);max-width:290px;line-height:1.8}.login-card{padding:32px}.login-card h2{font-size:24px;color:var(--ink);margin:17px 0 8px;font-weight:600}.login-card>p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:25px}.login-card .ark-action-button{margin-top:11px;min-height:44px;font-size:14px;border-radius:11px}.login-card>.text-button{display:flex;width:100%;margin-top:16px}.login-meta{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:15px;line-height:1.8}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}.field-label{font-size:13px;color:var(--ink);font-weight:550}.field-help{font-size:12px;color:var(--muted);line-height:1.7}.inline-error{color:var(--error)!important;font-size:13px!important;margin:10px 0!important}.modal-backdrop{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.dialog{width:100%;max-width:520px;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 25px 100px var(--scrim);overflow:hidden}.dialog.wide{max-width:790px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 25px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.dialog-head h2{font-size:19px;font-weight:600;color:var(--ink)}.dialog-head p{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.7}.icon-button{width:32px;height:32px;min-height:32px;padding:5px;flex-shrink:0;color:var(--muted)}.dialog-body{padding:22px 25px;overflow-y:auto;overscroll-behavior:contain}.dialog-actions{padding:16px 25px 21px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}.dialog-actions .ark-action-button{width:auto;min-width:140px;min-height:43px;padding:10px 18px;border-radius:11px;font-size:13px}.all-players,.modal-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}.all-players .person-copy strong,.modal-player-list .person-copy strong{font-size:13px}.selected-summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:10px 0 16px;border-bottom:1px solid var(--line);margin-bottom:12px;min-height:50px}.selected-summary .chip{font-size:12px;padding:5px 10px;background:var(--accent-soft);color:var(--action)}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);line-height:1.5}.checkbox-label input{accent-color:var(--action);width:16px;height:16px;flex-shrink:0}.expert-check{margin:7px 0 20px}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.section-title{font-size:15px;color:var(--ink);margin:10px 0}.settings-courts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.setting-court{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.setting-court.enabled{background:var(--surface);border-color:var(--accent-line)}.setting-court .field-control{min-height:34px;font-size:11px;padding:6px}.setting-court>.field-control:nth-of-type(2){grid-column:2}.setting-court>.text-button{grid-column:1/-1;justify-content:flex-start}.fixed-selector{grid-column:1/-1;max-height:220px;overflow:auto;border-top:1px solid var(--line);padding-top:6px}.sample-reset{border-top:1px solid var(--line);padding:20px 0 0;margin-top:22px}.sample-reset h3{font-size:14px;color:var(--ink)}.sample-reset p{font-size:12px;color:var(--muted);margin:7px 0 12px}.sample-buttons{display:flex;gap:8px;flex-wrap:wrap}.sample-buttons .toolbar-button{min-height:35px;font-size:12px}.boot{max-width:430px;margin:17vh auto;text-align:center;padding:25px}.boot-mark{display:inline-block;font-size:43px;margin-bottom:20px}.boot h1{font-size:23px;color:var(--ink);font-weight:550}.boot p{font-size:13px;color:var(--muted);margin:14px 0 25px}.player-main{max-width:1390px}.player-main .hero{margin-bottom:30px}.player-columns{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:28px;align-items:start}.player-left{display:flex;flex-direction:column;gap:20px;min-width:0}.player-status{overflow:hidden}.player-status-top{display:flex;align-items:center;gap:12px;padding:22px 23px 16px}.player-status-top>.avatar{width:48px;height:48px;font-size:21px;border-radius:14px}.player-status-top h2{font-size:20px;font-weight:550;color:var(--ink);margin-top:7px}.player-status-top .chip{font-size:10px}.my-court{padding:19px 23px 23px;border-top:1px solid var(--line)}.my-court>span:first-child{font-size:12px;color:var(--muted)}.my-court>strong{display:block;color:var(--action);font-size:48px;line-height:1.3;margin:7px 0 10px;font-variant-numeric:tabular-nums}.my-court strong small{font-size:15px;margin-left:8px;font-weight:500;color:var(--ink)}.my-court p{font-size:13px;color:var(--text);margin-bottom:7px;overflow-wrap:anywhere}.my-court .ark-action-button{margin-top:18px;min-height:43px;font-size:13px;border-radius:10px}.my-wait{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 23px 21px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 30%,var(--surface))}.my-wait>div{display:flex;flex-direction:column;gap:5px}.my-wait strong{font-size:33px;color:var(--ink);font-weight:550;line-height:1.3}.my-wait small{font-size:13px;font-weight:500;margin-left:5px}.my-wait span{font-size:11px;color:var(--muted)}.my-wait>p{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.7;margin-top:3px}.status-description{padding:0 23px 22px;font-size:13px;color:var(--muted);line-height:1.8}.composer{padding:20px}.composer>.panel-heading{padding:0 0 19px}.composer .field{margin-bottom:15px}.composer .ark-action-button{min-height:44px;border-radius:11px;font-size:13px;margin-top:4px}.my-requests{padding:0 15px 8px}.my-requests .panel-heading{padding:18px 4px 15px}.my-requests .request-card{margin-bottom:11px}.my-requests .request-text{font-size:13px}.player-courts .court-body{padding-bottom:3px}.player-courts .court-empty{min-height:110px}.player-courts .current-round{margin-bottom:14px}.player-courts .mini-person>span:last-child{font-size:11px}.player-courts .court-card{cursor:default}.player-courts .courts-grid{gap:16px}.claim-panel{max-width:720px;margin:0 auto;padding:5px 20px 15px}.claim-panel>.panel-heading{padding:18px 2px 16px}.claim-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;max-height:55vh;overflow:auto;padding:10px 0;margin-top:8px}.claim-list .person-copy strong{font-size:13px}.claim-list .person-trailing{font-size:11px;color:var(--action)}.group-peer-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:5px;margin:9px 0}.group-request-picker{margin-bottom:18px}.group-peer-list .person{min-height:55px}.group-peer-list .person-copy strong{font-size:12px}.player-shell .notice-wrap{max-width:1390px}.dialog .composer{border:0;box-shadow:none;padding:0}.dialog .composer>.panel-heading{display:none}.dialog .claim-list{max-height:55vh}.empty{padding:25px;text-align:center;color:var(--muted)}
@media(min-width:1700px){.workspace{grid-template-columns:300px minmax(0,1fr) 300px;gap:25px}.courts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.court-heading{padding:17px 17px 12px}.court-body{padding:0 17px}.court-empty{min-height:120px}.person-copy strong{font-size:13px}.person-copy>span{font-size:11px}.people-list{max-height:calc(100vh - 450px)}}
@media(max-width:1250px){.admin-main,.player-main{padding:26px 22px 0}.topbar{padding:0 23px;height:70px}.workspace{grid-template-columns:230px minmax(0,1fr);gap:18px}.requests-panel{grid-column:1/-1;position:static}.requests-panel .request-list{max-height:none;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 14px 5px}.requests-panel .request-empty{grid-column:1/-1;min-height:130px}.requests-panel .request-empty>.icon{width:25px;height:25px;margin:7px}.requests-panel .request-empty p{max-width:350px}.requests-panel .request-tabs{width:240px}.metrics{gap:11px}.metric{padding:16px 14px;gap:10px}.metric-icon{width:33px;height:33px;border-radius:10px}.metric-icon .icon{width:17px;height:17px}.metric-meta{font-size:10px}.hero h1{font-size:28px}.people-list{max-height:650px}.courts-heading{margin-top:1px}.courts-grid{gap:12px}.court-legend{gap:7px}.player-columns{grid-template-columns:330px minmax(0,1fr);gap:20px}.player-courts .courts-grid{grid-template-columns:1fr}.player-courts .round-people{grid-template-columns:repeat(4,minmax(0,1fr))}.player-courts .court-empty{min-height:120px}.player-courts .court-heading{padding:17px}.player-courts .court-body{padding:0 17px}}
@media(max-width:850px){.topbar{padding:0 18px;height:65px}.brand-lockup{gap:8px}.brand-lockup img{width:30px;height:30px}.brand-lockup strong{font-size:18px;letter-spacing:1px}.brand-lockup div{gap:8px}.brand-lockup div>span{padding-left:8px;font-size:11px}.topbar-right{gap:9px}.topbar-right .sample{display:none}.logout{display:none}.view-switch{font-size:11px;padding:8px 11px;min-height:34px}.sync-state{font-size:10px;gap:5px}.admin-main,.player-main{padding:24px 17px 0}.hero{gap:15px;align-items:flex-start;margin-bottom:22px}.hero h1{font-size:27px}.hero p{font-size:12px;line-height:1.7}.eyebrow{font-size:9px;gap:7px;letter-spacing:1px}.hero-actions{gap:7px;flex-direction:column}.hero-actions .toolbar-button{font-size:11px;min-height:34px;padding:8px 10px}.hero-actions .toolbar-button .icon{width:13px;height:13px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}.metric{display:block;padding:12px 11px;position:relative}.metric-icon{display:none}.metric-label{font-size:10px}.metric-value{font-size:24px;margin-top:4px}.metric-meta{display:none}.workspace{grid-template-columns:210px minmax(0,1fr);gap:14px}.courts-grid{grid-template-columns:1fr;gap:13px}.waiting-panel .panel-heading{padding:16px 13px 13px}.panel-heading h2{font-size:15px}.waiting-panel .panel-heading>.text-button{font-size:11px;padding:4px}.queue-tools{padding:0 10px 10px}.queue-context{padding:9px 11px;font-size:9px}.queue-context .chip{font-size:9px}.people-list{padding:5px;max-height:650px}.person{padding:9px 6px;gap:7px}.avatar{width:32px;height:32px;border-radius:10px;font-size:13px}.person-copy strong{font-size:11px}.person-copy>span{font-size:9px}.courts-heading{flex-direction:column;gap:6px;margin-bottom:15px}.courts-heading h2{font-size:16px}.court-legend{margin:0}.courts-heading .subtle{font-size:10px}.court-heading{padding:16px}.court-title{gap:10px}.court-number{font-size:29px}.court-body{padding:0 16px}.court-title h3{font-size:11px}.court-title .chip{font-size:10px}.court-status{font-size:11px}.court-empty{min-height:123px}.court-empty strong{font-size:13px}.court-empty>span{font-size:10px}.court-lines{inset:14px 37px}.round-label{font-size:11px;margin-bottom:10px}.draft-slots{gap:7px;margin-bottom:12px}.draft-slot{min-height:65px}.draft-slot>span:last-child{font-size:10px}.draft-slot .avatar.small{width:28px;height:28px;font-size:12px}.draft-slot.filled>span:nth-child(2){font-size:10px}.court-actions .ark-action-button,.suggest-button{min-height:37px;font-size:12px}.court-minor-actions .text-button{font-size:10px;min-height:31px}.round-people{min-height:54px;gap:7px}.mini-person>span:last-child{font-size:10px}.current-round{padding:11px}.elapsed{font-size:12px}.elapsed .icon{width:13px;height:13px}.round-footnote{font-size:10px}.requests-panel .request-list{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card h3{font-size:13px}.request-text{font-size:12px}.request-person strong{font-size:12px}.request-admin .field-control{font-size:12px}.request-admin .field-control::placeholder{font-size:11px}.primary-small{font-size:12px;min-height:35px}.workspace-foot{font-size:9px;align-items:flex-start}.workspace-foot>span:last-child{white-space:nowrap}.login-screen{grid-template-columns:1fr 370px;gap:30px;padding:30px 25px;min-height:calc(100vh - 90px)}.login-illustration h1{font-size:31px}.illustration-court{width:190px;height:120px}.login-card{padding:25px}.player-columns{grid-template-columns:300px minmax(0,1fr);gap:16px}.player-main .hero{margin-bottom:23px}.player-courts .courts-heading .court-legend{display:none}.player-status-top{padding:19px}.my-wait{padding:18px 19px;gap:12px}.my-wait strong{font-size:29px}.my-wait>p{font-size:10px}.composer{padding:17px}.player-status-top h2{font-size:18px}.player-status-top>.avatar{width:42px;height:42px}.my-court{padding:18px 19px}.my-court>strong{font-size:40px}.my-court p{font-size:12px}.player-courts .mini-person>span:last-child{font-size:10px}}
@media(max-width:620px){body{font-size:15px}.app-shell{padding-bottom:82px}.topbar{height:61px;padding:0 15px}.brand-lockup strong{font-size:18px}.brand-lockup div>span{display:none}.topbar-right{gap:8px}.topbar-right .sync-state{font-size:9px}.view-switch{padding:7px 9px;font-size:10px;min-height:32px}.admin-main,.player-main{padding:22px 15px 0}.hero{margin-bottom:21px;gap:10px}.hero h1{font-size:28px;margin-top:6px}.hero p{font-size:12px;max-width:225px}.eyebrow{font-size:8px;letter-spacing:.8px;gap:6px;flex-wrap:wrap}.hero-actions{padding-top:14px}.hero-actions .toolbar-button{padding:8px 9px;font-size:10px;gap:5px;min-height:32px;border-radius:9px}.hero-actions .toolbar-button .icon{width:12px;height:12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:20px}.metric{padding:13px 14px;display:flex;gap:11px;align-items:center;border-radius:13px}.metric-icon{display:flex;width:32px;height:32px;border-radius:10px}.metric-label{font-size:10px}.metric-value{font-size:23px;margin-top:4px;letter-spacing:-.3px}.metric-meta{display:none}.workspace{display:block}.waiting-panel,.requests-panel,.courts-panel{display:none}.workspace .mobile-visible{display:block}.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(65px + env(safe-area-inset-bottom));padding:5px 15px calc(5px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 96%,transparent);border-top:1px solid var(--line);z-index:30;box-shadow:0 -5px 20px color-mix(in srgb,var(--ink) 3%,transparent);backdrop-filter:blur(15px);justify-content:space-around;gap:10px}.mobile-tabs button{flex:1;display:flex;flex-direction:column;gap:3px;position:relative;font-size:10px;color:var(--muted);min-height:50px;padding:6px;border-radius:11px}.mobile-tabs button>.icon{width:20px;height:20px}.mobile-tabs button.active{background:var(--accent-soft);color:var(--brand);font-weight:600}.mobile-tabs b{position:absolute;left:calc(50% + 10px);top:1px;background:var(--error);color:var(--surface);min-width:15px;height:15px;border-radius:8px;padding:1px 3px;font-size:8px;display:flex;align-items:center;justify-content:center}.courts-heading{flex-direction:row;align-items:flex-start;gap:8px;margin:0 0 16px}.courts-heading h2{font-size:16px}.courts-heading .subtle{font-size:10px;max-width:205px}.court-legend{gap:7px;max-width:100px;justify-content:flex-end;margin-top:3px}.court-legend>span{font-size:8px}.court-legend i{width:5px;height:5px}.hall-heading{margin:0 0 11px}.hall-heading h3{font-size:11px}.hall-heading>span{font-size:9px}.courts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.court-card{border-radius:13px}.court-heading{padding:12px 10px 10px;gap:4px}.court-title{gap:7px}.court-number{font-size:25px}.court-title h3{font-size:9px;margin-bottom:3px}.court-title .chip{font-size:8px;padding:2px 4px}.court-status{font-size:8px;gap:3px}.court-status:before{width:4px;height:4px}.court-body{padding:0 10px}.court-empty{min-height:101px;margin-bottom:10px;border-radius:8px}.court-empty strong{font-size:11px}.court-empty>span{font-size:8px;max-width:110px;text-align:center;line-height:1.5}.court-lines{inset:12px 18px}.round-label{font-size:9px;gap:4px;margin-bottom:8px}.draft-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:10px}.draft-slot{min-height:54px;padding:5px 2px}.draft-slot .slot-plus{font-size:16px}.draft-slot>span:last-child{font-size:9px}.draft-slot .avatar.small{width:24px;height:24px;font-size:10px}.draft-slot.filled>span:nth-child(2){font-size:9px}.court-actions{grid-template-columns:1fr;gap:6px}.court-actions .ark-action-button,.suggest-button{min-height:34px;font-size:10px;border-radius:7px}.court-minor-actions{gap:0;flex-direction:column;margin:4px 0 6px}.court-minor-actions .text-button{font-size:9px;min-height:26px;padding:4px 0;width:100%}.current-round{padding:8px;margin-bottom:10px}.round-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 3px;min-height:93px}.mini-person{gap:3px}.mini-person>.avatar.small{width:23px;height:23px;font-size:10px;border-radius:7px}.mini-person>span:last-child{font-size:8px;line-height:1.25}.time-track{height:3px;margin-top:8px}.round-footnote{font-size:8px;flex-direction:column;align-items:flex-start;gap:3px;margin-top:5px}.round-footnote .chip{font-size:8px}.elapsed{font-size:9px;gap:2px}.elapsed .icon{width:10px;height:10px}.unknown-roster{font-size:9px;min-height:93px;display:flex;align-items:center;justify-content:center;padding:8px}.next-round{padding-top:9px}.fixed-content{margin:0 10px 10px;padding:20px 10px}.fixed-content>span{font-size:10px}.fixed-content p{font-size:10px}.workspace-foot{flex-direction:column;gap:7px;font-size:9px;padding-top:18px}.waiting-panel,.requests-panel{position:static;border-radius:14px}.waiting-panel .panel-heading{padding:18px 17px 14px}.panel-heading h2{font-size:17px}.panel-heading .subtle{font-size:11px}.waiting-panel .panel-heading>.text-button{font-size:12px}.queue-tools{padding:0 14px 14px}.queue-tools .field-control{min-height:44px;font-size:15px}.queue-tools .field-control::placeholder{font-size:13px}.queue-tools .segmented{margin-top:12px;padding:4px}.queue-tools .segmented button{min-height:35px;font-size:12px}.queue-context{padding:11px 17px;font-size:11px}.queue-context .chip{font-size:10px}.people-list{max-height:none;min-height:250px;padding:8px}.person{min-height:65px;padding:11px 10px;gap:11px}.avatar{width:37px;height:37px;border-radius:12px;font-size:15px}.person-copy strong{font-size:14px}.person-copy>span{font-size:11px}.person-trailing{font-size:18px}.selection-check{width:23px;height:23px}.selection-check .icon{width:15px;height:15px}.panel-footer{padding:10px 13px}.panel-footer .text-button{font-size:12px;min-height:36px}.requests-panel>.panel-heading{padding:19px 18px 15px}.request-tabs{width:auto!important;margin:0 14px 14px}.request-tabs button{min-height:36px;font-size:12px}.requests-panel .request-list{display:block;padding:0 13px;max-height:none}.request-card{padding:14px;border-radius:12px;margin-bottom:12px}.request-person strong{font-size:13px}.request-head .chip{font-size:10px}.request-card h3{font-size:14px;margin-bottom:7px}.request-text,.requested-members,.request-court{font-size:13px}.request-time{font-size:10px}.request-admin .field-control{min-height:39px;font-size:13px}.request-admin .field-control::placeholder{font-size:12px}.primary-small{font-size:12px;min-height:37px;padding:8px 12px}.request-actions .text-button{font-size:12px;min-height:37px}.request-help{font-size:11px;padding:13px 17px}.request-reply{font-size:12px;padding:10px}.notice-wrap{padding:0 15px;margin-top:12px}.notice-wrap .ark-state-notice{padding:13px 35px 13px 13px;border-radius:12px}.notice-wrap .ark-state-notice__title{font-size:13px}.notice-wrap .ark-state-notice__message{font-size:11px}.notice-close{right:19px;top:6px;font-size:9px}.login-screen{display:flex;flex-direction:column;gap:0;padding:25px 20px;min-height:0}.login-illustration{padding:15px 0 25px;align-self:flex-start}.illustration-court{display:none}.login-illustration .eyebrow{font-size:9px}.login-illustration h1{font-size:30px;margin:12px 0 10px;line-height:1.35}.login-illustration h1 br{display:none}.login-illustration p{font-size:13px;max-width:none}.login-card{padding:25px;width:100%;border-radius:18px}.login-card h2{font-size:22px}.login-card>p{font-size:13px;margin-bottom:22px}.login-card .field-control{min-height:46px;font-size:16px}.login-card .ark-action-button{min-height:46px;font-size:14px;margin-top:13px}.login-meta{font-size:11px}.modal-backdrop{padding:14px 10px;align-items:center;backdrop-filter:blur(3px)}.dialog,.dialog.wide{border-radius:19px;max-height:calc(100dvh - 28px)}.dialog-head{padding:20px 19px 16px;gap:12px}.dialog-head h2{font-size:18px}.dialog-head p{font-size:12px}.dialog-body{padding:18px 19px}.dialog-actions{padding:14px 19px 18px}.dialog-actions .ark-action-button{width:100%;min-height:45px;font-size:14px}.field-control{font-size:16px;min-height:45px}.field-control::placeholder{font-size:13px}.field-label{font-size:13px}.field-help{font-size:12px}.field{margin-bottom:18px;gap:8px}.all-players,.modal-player-list{grid-template-columns:1fr;gap:4px}.all-players .person-copy strong,.modal-player-list .person-copy strong{font-size:14px}.selected-summary{gap:7px;padding:0 0 15px}.selected-summary .chip{font-size:12px}.settings-fields{grid-template-columns:1fr;gap:0}.settings-courts{grid-template-columns:1fr;gap:10px}.setting-court{grid-template-columns:83px minmax(0,1fr);padding:13px;gap:9px}.setting-court .field-control{font-size:13px;min-height:38px}.setting-court .checkbox-label{font-size:14px}.setting-court>.text-button{font-size:12px}.fixed-selector .person-copy strong{font-size:12px}.sample-buttons{gap:7px}.sample-buttons .toolbar-button{font-size:11px;min-height:37px}.player-main .hero{margin-bottom:22px}.player-main .hero>.toolbar-button{font-size:11px;min-height:34px;padding:7px 10px;flex-shrink:0;margin-top:16px}.player-main .hero h1{font-size:25px;overflow-wrap:anywhere}.player-main .hero p{max-width:250px;font-size:12px}.player-columns{display:flex;flex-direction:column;gap:27px}.player-left,.player-courts{width:100%;min-width:0}.player-left{gap:18px}.player-status{border-radius:15px}.player-status-top{padding:21px;gap:14px}.player-status-top>.avatar{width:48px;height:48px;font-size:20px;border-radius:14px}.player-status-top h2{font-size:20px}.my-wait{padding:19px 22px 21px;gap:17px}.my-wait strong{font-size:34px}.my-wait span{font-size:11px}.my-wait>p{font-size:11px;line-height:1.7}.my-court{padding:20px 22px 23px}.my-court>strong{font-size:47px}.my-court p{font-size:13px}.my-court .ark-action-button{min-height:45px;font-size:14px}.composer{padding:20px}.composer .panel-heading h2{font-size:17px}.composer .panel-heading .subtle{font-size:11px}.composer .ark-action-button{min-height:45px;font-size:14px}.composer .field-control{font-size:15px}.composer .field-label{font-size:13px}.my-requests .panel-heading h2{font-size:16px}.player-courts .courts-panel{display:block}.player-courts .courts-heading{flex-direction:row;margin-bottom:16px}.player-courts .courts-heading .court-legend{display:flex}.player-courts .courts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-courts .court-heading{padding:12px 10px}.player-courts .court-body{padding:0 10px}.player-courts .court-empty{min-height:122px;margin-bottom:10px}.player-courts .current-round{margin-bottom:10px}.player-courts .round-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 3px;min-height:92px}.player-courts .mini-person>span:last-child{font-size:9px}.claim-panel{padding:4px 13px 12px}.claim-panel>.panel-heading{padding:16px 2px 16px}.claim-list{grid-template-columns:1fr;gap:3px;max-height:57vh}.claim-list .person-copy strong{font-size:14px}.claim-list .person-trailing{font-size:12px}.claim-panel>.text-button{font-size:12px;min-height:41px}.group-peer-list{max-height:270px;padding:4px}.group-peer-list .person-copy strong{font-size:13px}.group-peer-list .person-copy>span{font-size:10px}.group-peer-list .person{min-height:61px}.status-description{font-size:13px;padding:0 21px 22px}.request-empty strong{font-size:13px}.request-empty p{font-size:12px}.dialog .claim-list{max-height:58vh}.player-shell{padding-bottom:24px}.boot{margin:16vh auto;padding:25px}.boot h1{font-size:22px}}
@media(max-width:370px){.topbar{padding:0 11px}.topbar-right{gap:6px}.topbar-right .sync-state{font-size:8px}.brand-lockup img{width:28px;height:28px}.brand-lockup strong{font-size:16px}.view-switch{font-size:9px;padding:7px}.admin-main,.player-main{padding:20px 11px 0}.hero h1{font-size:25px}.hero p{font-size:11px;max-width:185px}.eyebrow{font-size:7px;gap:5px}.hero-actions .toolbar-button{font-size:9px;padding:7px}.hero-actions .toolbar-button .icon{display:none}.metric{padding:12px 10px;gap:8px}.metric-icon{width:28px;height:28px;border-radius:9px}.metric-icon .icon{width:15px;height:15px}.metric-value{font-size:22px}.metric-label{font-size:9px}.courts-grid{gap:8px}.court-heading{padding:11px 8px 9px}.court-title{gap:5px}.court-number{font-size:23px}.court-status{font-size:7px}.court-body{padding:0 8px}.court-title .chip{font-size:7px}.court-empty>span{font-size:7px;max-width:95px}.court-empty strong{font-size:10px}.draft-slots{gap:4px}.court-minor-actions .text-button{font-size:8px}.court-legend{gap:5px;max-width:90px}.court-legend>span{font-size:7px}.courts-heading .subtle{max-width:185px;font-size:9px}.round-footnote{font-size:7px}.draft-slot.filled>span:nth-child(2){font-size:8px}.player-courts .court-heading{padding:11px 8px}.player-courts .court-body{padding:0 8px}.person-copy strong{font-size:13px}.person-copy>span{font-size:10px}}
.share-code{display:flex;align-items:center;justify-content:center;min-height:230px;padding:7px;margin:0 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.share-code img{max-width:100%;height:auto;image-rendering:pixelated}.share-code p{font-size:13px;color:var(--muted);padding:20px;text-align:center}.share-local{padding:12px 14px;background:var(--warning-soft);color:var(--warning);border-radius:10px;font-size:12px;line-height:1.8}
@media(max-width:620px){.workspace .courts-grid{grid-template-columns:1fr;gap:12px}.workspace .court-heading{padding:15px 16px 12px}.workspace .court-title{gap:10px}.workspace .court-number{font-size:29px}.workspace .court-title h3{font-size:11px}.workspace .court-title .chip{font-size:10px}.workspace .court-status{font-size:11px}.workspace .court-body{padding:0 16px}.workspace .court-card.active .court-empty{min-height:95px}.workspace .court-empty strong{font-size:12px}.workspace .court-empty>span{font-size:10px;max-width:240px}.workspace .round-label{font-size:11px}.workspace .elapsed{font-size:12px}.workspace .elapsed .icon{width:13px;height:13px}.workspace .court-card.active .round-people{grid-template-columns:repeat(4,minmax(0,1fr));min-height:59px;gap:8px}.workspace .court-card.active .mini-person>.avatar.small{width:30px;height:30px;font-size:12px;border-radius:9px}.workspace .court-card.active .mini-person>span:last-child{font-size:11px}.workspace .draft-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.workspace .draft-slot{min-height:62px}.workspace .draft-slot>span:last-child,.workspace .draft-slot.filled>span:nth-child(2){font-size:11px}.workspace .draft-slot .avatar.small{width:29px;height:29px;font-size:12px}.workspace .court-actions{grid-template-columns:1fr 1fr;gap:9px}.workspace .court-actions .ark-action-button,.workspace .suggest-button{min-height:41px;font-size:12px;border-radius:9px}.workspace .court-minor-actions{flex-direction:row;justify-content:space-between;gap:8px;margin:5px 0 10px}.workspace .court-minor-actions .text-button{font-size:11px;min-height:32px;width:auto;padding:5px 0}.workspace .round-footnote{font-size:10px;flex-direction:row;align-items:center;margin-top:7px}.workspace .round-footnote .chip{font-size:9px}.workspace .court-card:not(.active) .next-round{display:none}.workspace .court-card:not(.active){cursor:pointer}.workspace .court-card:not(.active) .court-empty{min-height:52px;margin-bottom:13px}.workspace .court-card:not(.active) .court-empty>span{display:none}.workspace .court-card:not(.active) .court-lines{inset:7px 50px}.workspace .court-card:not(.active) .round-people{display:none}.workspace .court-card:not(.active) .current-round{padding:9px 11px;margin-bottom:13px}.workspace .court-card:not(.active) .time-track{margin-top:4px}.workspace .unknown-roster{min-height:65px;font-size:11px}.topbar-right .chip.sample{display:inline-flex;font-size:8px;padding:2px 5px}.topbar-right .sync-state{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(prefers-contrast:more){.panel,.court-card,.request-card,.draft-slot,.field-control{border-color:var(--muted)}.subtle,.field-help,.metric-meta,.person-copy>span{color:var(--text)}}

/* v2: persistent court map; work happens in the independent lower/side pane. */
html,body{height:100%;overflow:hidden}#app{height:100%}.app-shell{height:100dvh;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:var(--canvas-bottom)}.club-bar{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line)}.club-brand{display:flex;align-items:center;gap:11px;min-width:0}.club-brand>img,.club-avatar{width:39px;height:39px;border-radius:13px;flex:none;object-fit:cover}.club-avatar{display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--brand);font-size:20px;font-weight:600}.club-brand>div{display:flex;flex-direction:column;gap:3px;min-width:0}.club-brand strong{font-size:17px;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-subline{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.club-subline i{width:5px;height:5px;border-radius:50%;background:var(--success)}.club-subline i.offline-dot{background:var(--error)}.club-bar-actions{display:flex;align-items:center;gap:10px;flex:none}.club-view-switch{background:var(--accent-soft);color:var(--action);min-height:35px;padding:8px 15px;font-size:12px}.club-more{font-weight:650;letter-spacing:2px;font-size:18px;min-width:36px;min-height:36px}.v2-main{flex:1;min-height:0;overflow:hidden}.v2-workspace{height:100%;display:grid;grid-template-columns:minmax(260px,300px) minmax(430px,1fr) minmax(300px,360px);gap:18px;padding:20px 24px;min-width:0}.v2-people-pane{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 13px 10px}.compact-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;margin-bottom:8px}.compact-panel-head h2{font-size:16px;color:var(--ink);font-weight:600}.picker-selected{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:38px;max-height:78px;overflow:auto;flex:none;padding:4px 0 10px}.picker-selected>span{font-size:12px;color:var(--muted)}.selected-person-chip{font-size:11px;min-height:29px;background:var(--accent-soft);color:var(--brand);padding:5px 8px;border-radius:7px;max-width:100%;overflow-wrap:anywhere}.people-secondary{display:flex;justify-content:space-between;gap:5px;flex:none;border-top:1px solid var(--line);padding-top:6px;margin-top:7px}.v2-people-pane>.people-picker{flex:1;min-height:0}.v2-map-panel{min-width:0;align-self:start;padding:15px 16px 12px;background:var(--surface);border:1px solid var(--line);border-radius:17px;overflow:hidden}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;margin-bottom:13px}.map-counts{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.map-counts b{color:var(--ink);font-size:15px;font-weight:600;margin-right:3px}.map-alert{font-size:12px;color:var(--action);padding:5px 8px;min-height:29px;background:var(--accent-soft);border-radius:8px}.map-alert b{font-size:11px;padding-left:4px}.map-live{font-size:11px;color:var(--muted)}.fixed-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0}.map-hall{min-width:0}.map-hall h2{font-size:12px;color:var(--muted);font-weight:500;line-height:1.2;margin:0 0 10px;text-align:center}.hall-courts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}.court-tile{min-width:0;position:relative;height:clamp(68px,10vh,105px);border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);padding:9px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;isolation:isolate;overflow:hidden;transition:background .3s,border-color .2s}.court-tile.enabled{background:var(--accent-soft);color:var(--ink);border-color:var(--accent-line)}.court-tile.in-use{background:var(--tile-time-color,var(--court-time-start));color:var(--ink);border-color:color-mix(in srgb,var(--tile-time-color,var(--court-time-start)) 80%,var(--ink))}.court-tile.fixed{background:var(--info-soft);border-color:var(--line)}.court-tile.selected{outline:3px solid var(--brand);outline-offset:1px;z-index:1}.court-tile.disabled{background:var(--soft);color:var(--muted);opacity:.65}.tile-number{font-size:14px;font-weight:600;line-height:1;position:relative;z-index:1}.tile-status{font-size:15px;font-weight:550;line-height:1.1;position:relative;z-index:1;background:color-mix(in srgb,var(--surface) 27%,transparent);border-radius:4px;padding:2px 4px;margin-left:-4px}.tile-state-icon{position:absolute;right:9px;top:7px;font-size:11px;line-height:1.2;color:inherit;z-index:1}.tile-lines{position:absolute;inset:17px 14px;border:1px solid currentColor;opacity:.21;z-index:-1}.tile-lines:before{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:1px solid currentColor}.tile-lines:after{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid currentColor}.tile-lines i:first-child{position:absolute;inset:6px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.tile-lines i:nth-child(2){position:absolute;inset:0 15%;border-left:1px solid currentColor;border-right:1px solid currentColor}.court-tile.reported .tile-state-icon{background:var(--warning-soft);color:var(--warning);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;top:6px;right:6px}.map-legend{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:15px;min-height:17px;font-size:10px;color:var(--muted);flex-wrap:wrap}.map-legend>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.map-legend i{width:8px;height:8px;display:block;border-radius:3px;border:1px solid var(--line)}.map-legend .legend-disabled{background:var(--soft)}.map-legend .legend-empty{background:var(--accent-soft);border-color:var(--accent-line)}.map-legend .legend-early{background:var(--court-time-start);border-color:var(--error)}.map-legend .legend-late{background:var(--court-time-ready);border-color:var(--success)}.v2-lower{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.work-tabs{display:flex;align-items:center;gap:4px;background:var(--soft);padding:4px;border:1px solid var(--line);border-radius:11px;flex:none;margin-bottom:12px}.work-tabs>button{flex:1;min-width:0;font-size:12px;min-height:35px;padding:7px 5px;color:var(--muted);white-space:nowrap}.work-tabs>button.active{background:var(--surface);color:var(--action);box-shadow:var(--dock-shadow);font-weight:600}.work-tabs>button:nth-child(2){display:none}.v2-lower-content{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}.v2-editor-pane,.v2-requests-pane,.v2-mobile-picker{display:none}.v2-editor-pane.is-active,.v2-requests-pane.is-active{display:block}.v2-mobile-picker{display:none!important}.selected-editor{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px 16px;min-width:0}.editor-title{display:flex;align-items:center;gap:8px;margin-bottom:21px;min-width:0}.editor-title h2{font-size:20px;line-height:1.2;color:var(--ink);font-weight:600;white-space:nowrap}.editor-title>.chip{font-size:10px;white-space:nowrap}.editor-title>span:last-child:not(.chip){font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.current-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:12px}.current-heading h3{font-size:13px;color:var(--ink);font-weight:550}.current-heading>span{font-size:10px;color:var(--muted);text-align:right}.current-members{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:60px;align-items:start;margin-bottom:14px}.member-compact{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.member-compact>.avatar.small{width:33px;height:33px;font-size:13px;border-radius:10px}.member-compact>span:last-child{max-width:100%;font-size:11px;color:var(--text);overflow-wrap:anywhere;text-align:center;line-height:1.4}.current-empty{grid-column:1/-1;color:var(--muted);font-size:16px;padding:10px;text-align:center}.editor-next{border-top:1px solid var(--line);padding-top:17px;margin-top:15px}.editor-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:15px}.editor-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;min-height:68px;min-width:0;border:1px dashed var(--line);border-radius:10px;background:var(--surface);padding:6px 3px;color:var(--muted)}.editor-slot>b{font-size:18px;line-height:1;font-weight:400;color:var(--action)}.editor-slot>span:last-of-type{max-width:100%;font-size:11px;text-align:center;overflow-wrap:anywhere;line-height:1.3}.editor-slot.filled{border-style:solid;border-color:var(--accent-line);background:var(--accent-soft)}.editor-slot.filled>i{position:absolute;right:-4px;top:-5px;font-style:normal;background:var(--surface);border:1px solid var(--line);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:11px}.editor-slot>.avatar.small{width:29px;height:29px;font-size:12px}.editor-primary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px}.editor-primary .ark-action-button,.editor-primary .suggest-button{min-height:43px;padding:9px 8px;border-radius:10px;font-size:13px}.editor-secondary{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-top:10px}.editor-secondary .text-button{font-size:11px;min-height:33px;padding:5px 0}.editor-fixed .current-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}.v2-requests-pane .requests-panel{display:block;position:static;box-shadow:none}.v2-requests-pane .request-list{display:block;max-height:none;min-height:0;padding:0 11px}.v2-requests-pane .request-tabs{width:auto;margin:0 13px 12px}.v2-requests-pane .panel-heading{padding:17px 15px 13px}.v2-requests-pane .panel-heading .subtle,.v2-requests-pane .request-help{display:none}.v2-requests-pane .request-empty{min-height:180px}.v2-login{display:grid;grid-template-columns:minmax(400px,680px) minmax(290px,370px);justify-content:center;align-items:start;gap:25px;padding:24px;overflow:auto}.compact-login{padding:25px;align-self:start}.compact-login h2{font-size:20px;color:var(--ink);font-weight:600;margin-bottom:22px}.login-actions{display:flex;flex-direction:column;gap:10px}.compact-login .ark-action-button{min-height:44px;font-size:14px;border-radius:11px}.compact-login>.text-button{margin-top:13px;width:100%}.v2-player{display:grid;grid-template-columns:minmax(420px,730px) minmax(300px,430px);justify-content:center;align-items:start;gap:23px;padding:22px 24px}.v2-player-lower{min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.player-work-tabs{margin-bottom:12px}.player-work-tabs>button:nth-child(2){display:flex}.v2-player-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}.compact-self{padding:19px 17px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.self-identity{display:flex;align-items:center;gap:10px;margin-bottom:18px}.self-identity>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.self-identity strong{font-size:15px;color:var(--ink);overflow-wrap:anywhere}.self-identity>div>span{font-size:11px;color:var(--muted)}.self-court>strong{display:inline-block;font-size:25px;color:var(--action);font-weight:600;margin-right:12px}.self-court>span{color:var(--muted);font-size:12px}.self-court .current-members{margin-top:15px}.self-court .ark-action-button{min-height:43px;font-size:13px;border-radius:10px}.self-wait-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;background:var(--info-soft);border-radius:11px;color:var(--muted);font-size:12px}.self-wait-summary b{font-size:19px;color:var(--ink);font-weight:600;margin:0 3px}.self-shortcuts{display:flex;gap:8px;margin-top:18px}.self-shortcuts>button{flex:1;font-size:12px;padding:9px 6px;min-height:39px}.self-requests{margin-top:18px}.self-muted{font-size:13px;color:var(--muted);padding:10px 0}.tools-menu{display:flex;flex-direction:column;gap:5px}.tool-entry{justify-content:flex-start;min-height:43px;padding:11px 12px;font-size:14px;background:var(--soft);border-radius:10px}.tool-entry:hover:not([disabled]){background:var(--accent-soft)}.account-status-copy{font-size:15px;color:var(--ink);margin-bottom:16px;line-height:1.8}.v2-player .claim-panel{margin:0;max-width:none;height:100%;display:flex;flex-direction:column;overflow:hidden}.v2-player .claim-panel .claim-list{max-height:none;min-height:0;flex:1}.notice-wrap{position:fixed;z-index:60;left:50%;transform:translateX(-50%);top:70px;width:min(100%,800px);margin:0;padding:0 18px;max-height:36vh;overflow:auto}.notice-wrap .ark-state-notice{box-shadow:var(--shadow)}
@media(min-width:1700px){.v2-workspace{grid-template-columns:330px minmax(530px,1fr) 380px;gap:24px;padding:24px 32px}.court-tile{height:clamp(90px,12vh,125px)}.tile-number{font-size:16px}.tile-status{font-size:19px}.v2-map-panel{padding:20px 24px 17px}.map-hall h2{font-size:14px}.fixed-map{gap:23px}.hall-courts{gap:13px}}
@media(max-width:1120px){.club-bar{height:62px;padding:0 18px}.club-brand strong{font-size:16px}.club-brand>img,.club-avatar{width:35px;height:35px;border-radius:11px}.v2-workspace{display:flex;flex-direction:column;padding:12px 16px 0;gap:12px}.v2-workspace>.desktop-copy{display:none}.v2-map-panel{width:100%;align-self:stretch;padding:10px 14px 8px;flex:none;border-radius:14px}.map-toolbar{min-height:25px;margin-bottom:7px}.map-counts{font-size:11px;gap:14px}.map-counts b{font-size:13px}.map-alert{font-size:11px;min-height:27px;padding:5px 8px}.map-hall h2{font-size:11px;margin-bottom:7px}.fixed-map{gap:18px}.hall-courts{gap:6px 8px}.court-tile{height:clamp(42px,6.3dvh,58px);padding:7px 9px;border-radius:8px}.tile-number{font-size:12px}.tile-status{font-size:13px;padding:1px 4px}.tile-state-icon{right:8px;top:6px;font-size:9px}.tile-lines{inset:8px 14px}.tile-lines i:first-child{inset:3px 0}.map-legend{font-size:9px;margin-top:7px;gap:14px;min-height:13px}.map-legend i{width:7px;height:7px;border-radius:2px}.map-legend>span{gap:4px}.v2-lower{width:100%;flex:1;min-height:0}.work-tabs{margin-bottom:8px;min-height:39px;gap:4px;padding:3px}.work-tabs>button,.work-tabs>button:nth-child(2){display:flex;min-height:31px;font-size:12px;padding:6px 8px}.v2-lower-content{overflow:hidden;position:relative}.v2-editor-pane,.v2-requests-pane,.v2-mobile-picker{height:100%;overflow:auto;min-height:0;overscroll-behavior:contain;padding-bottom:max(12px,env(safe-area-inset-bottom));scrollbar-width:thin}.v2-editor-pane.is-active,.v2-requests-pane.is-active{display:block}.v2-mobile-picker.is-active{display:flex!important;flex-direction:column}.v2-mobile-picker>.v2-people-pane{flex:1;min-height:0;max-height:100%;padding:10px 13px 7px;border-radius:12px}.compact-panel-head{margin-bottom:3px}.compact-panel-head h2{font-size:14px}.picker-selected{padding:2px 0 6px;min-height:31px;max-height:56px}.selected-person-chip{font-size:10px;min-height:25px;padding:4px 7px}.people-secondary{padding-top:3px;margin-top:3px}.people-secondary .text-button{font-size:11px;min-height:29px}.selected-editor{padding:15px 17px;border-radius:13px}.editor-title{margin-bottom:16px}.editor-title h2{font-size:19px}.editor-title>.chip{font-size:10px}.editor-title>span:last-child:not(.chip){font-size:12px}.current-members{min-height:50px;margin-bottom:12px}.member-compact>.avatar.small{width:30px;height:30px;font-size:12px}.member-compact>span:last-child{font-size:11px}.editor-next{padding-top:14px;margin-top:12px}.current-heading{margin-bottom:10px}.current-heading h3{font-size:12px}.editor-slots{gap:9px;margin-bottom:13px}.editor-slot{min-height:61px}.editor-primary .ark-action-button,.editor-primary .suggest-button{min-height:42px;font-size:13px}.editor-secondary .text-button{font-size:11px;min-height:31px}.v2-requests-pane .request-list{max-height:none}.v2-login{display:flex;flex-direction:column;overflow:hidden;gap:12px;padding:12px 16px}.v2-login>.v2-map-panel{flex:none}.compact-login{width:100%;overflow:auto;min-height:0;padding:19px 20px}.compact-login h2{font-size:17px;margin-bottom:15px}.compact-login .field{margin-bottom:12px}.login-actions{flex-direction:row;gap:10px}.login-actions>.ark-action-button{flex:1}.v2-player{display:flex;flex-direction:column;gap:12px;padding:12px 16px 0}.v2-player>.v2-map-panel{flex:none}.v2-player-lower{width:100%;flex:1;min-height:0}.v2-player-content{padding-bottom:max(12px,env(safe-area-inset-bottom))}.v2-player .claim-panel{border-radius:13px;padding:10px 13px;height:100%}.v2-player .claim-panel>.panel-heading{padding:3px 0 10px}.v2-player .claim-panel .panel-heading h2{font-size:15px}.compact-self{padding:16px 17px}.notice-wrap{top:66px;width:100%;max-width:680px}.v2-player .claim-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.club-bar{height:58px;padding:0 13px;gap:10px}.club-brand{gap:8px;min-width:0}.club-brand>img,.club-avatar{width:33px;height:33px;border-radius:11px}.club-avatar{font-size:18px}.club-brand strong{font-size:13px;line-height:1.3;max-width:235px}.club-subline{font-size:9px;gap:5px}.club-bar-actions{gap:4px}.club-view-switch{font-size:10px;min-height:32px;padding:7px 10px}.club-more{font-size:16px;min-width:28px;min-height:32px;padding:5px 2px}.v2-workspace,.v2-player,.v2-login{padding:9px 10px 0;gap:9px}.v2-map-panel{padding:7px 9px 7px;border-radius:12px}.map-toolbar{min-height:24px;margin-bottom:6px}.map-counts{font-size:10px;gap:12px}.map-counts b{font-size:12px;margin-right:2px}.map-alert{font-size:10px;min-height:24px;padding:4px 7px;border-radius:6px}.map-live{font-size:9px}.fixed-map{gap:12px}.map-hall h2{font-size:10px;margin-bottom:6px}.hall-courts{gap:5px 6px}.court-tile{height:clamp(40px,6.3dvh,54px);padding:6px 7px;border-radius:7px}.tile-number{font-size:11px}.tile-status{font-size:12px;line-height:1.1;margin-left:-2px;padding:1px 2px}.tile-state-icon{font-size:8px;right:6px;top:5px}.tile-lines{inset:6px 9px}.court-tile.selected{outline-width:2px;outline-offset:0}.court-tile.reported .tile-state-icon{width:14px;height:14px;font-size:8px;right:4px;top:4px}.map-legend{font-size:8px;gap:12px;margin-top:6px;min-height:12px}.map-legend i{width:6px;height:6px}.map-legend>span{gap:3px}.work-tabs{min-height:37px;border-radius:10px;margin-bottom:7px}.work-tabs>button,.work-tabs>button:nth-child(2){font-size:11px;min-height:29px;padding:5px 4px;border-radius:7px}.selected-editor{padding:14px 14px;border-radius:12px}.editor-title{margin-bottom:15px}.editor-title h2{font-size:18px}.editor-title>.chip{font-size:9px;padding:3px 6px}.editor-title>span:last-child:not(.chip){font-size:11px}.current-heading h3{font-size:12px}.current-heading>span{font-size:10px}.current-members{gap:8px;min-height:51px}.member-compact>span:last-child{font-size:11px}.member-compact>.avatar.small{width:29px;height:29px;font-size:12px;border-radius:9px}.editor-next{padding-top:14px}.editor-slots{gap:7px;margin-bottom:13px}.editor-slot{min-height:64px;border-radius:9px}.editor-slot>span:last-of-type{font-size:10px}.editor-slot>.avatar.small{width:28px;height:28px;font-size:11px}.editor-primary{gap:9px}.editor-primary .ark-action-button,.editor-primary .suggest-button{font-size:12px;min-height:42px;border-radius:9px}.editor-secondary{gap:8px;justify-content:space-between;margin-top:8px}.editor-secondary .text-button{font-size:10px;min-height:31px}.current-empty{font-size:15px;padding:8px}.v2-mobile-picker>.v2-people-pane{padding:9px 11px 6px;border-radius:12px}.compact-panel-head h2{font-size:13px}.compact-panel-head .text-button{font-size:10px;min-height:26px}.picker-selected{max-height:51px;min-height:29px;padding-bottom:5px;gap:4px}.picker-selected>span{font-size:10px}.selected-person-chip{font-size:9px;min-height:24px;padding:4px 6px}.people-secondary .text-button{font-size:10px;min-height:28px}.v2-requests-pane .panel-heading{padding:14px 14px 11px}.v2-requests-pane .panel-heading h2{font-size:15px}.v2-requests-pane .request-tabs{margin:0 11px 10px}.v2-requests-pane .request-tabs button{font-size:11px;min-height:31px}.v2-requests-pane .request-card{padding:12px;margin-bottom:10px}.v2-requests-pane .request-list{padding:0 10px}.v2-requests-pane .request-person strong{font-size:12px}.v2-requests-pane .request-card h3{font-size:13px}.v2-requests-pane .request-text{font-size:12px}.v2-requests-pane .request-admin .field-control{font-size:14px;min-height:38px}.v2-requests-pane .request-admin .field-control::placeholder{font-size:11px}.v2-requests-pane .request-actions .primary-small,.v2-requests-pane .request-actions .text-button{font-size:11px;min-height:35px}.v2-player-content .composer{padding:15px;border-radius:12px}.v2-player-content .composer>.panel-heading{display:none}.v2-player-content .composer .field{margin-bottom:14px}.v2-player-content .composer .field-label{font-size:12px}.v2-player-content .composer .field-control{min-height:41px;font-size:15px}.v2-player-content .my-requests{margin-top:12px}.v2-player-content .my-requests>h2{font-size:14px;padding:15px 2px}.compact-self{padding:15px 14px;border-radius:12px}.self-identity{margin-bottom:14px}.self-identity>.avatar{width:35px;height:35px;font-size:14px}.self-identity strong{font-size:14px}.self-identity>div>span{font-size:10px}.self-identity .text-button{font-size:11px}.self-court>strong{font-size:23px}.self-court>span{font-size:11px}.self-court .ark-action-button{min-height:42px;font-size:12px}.self-wait-summary{padding:12px 10px;font-size:11px;gap:8px}.self-wait-summary b{font-size:18px}.self-shortcuts{gap:8px;margin-top:14px}.self-shortcuts>button{font-size:11px;min-height:38px}.self-requests .request-card{padding:12px}.compact-login{padding:16px 17px;border-radius:12px;align-self:stretch}.compact-login h2{font-size:16px;margin-bottom:13px}.compact-login .field-control{min-height:43px;font-size:16px}.compact-login .ark-action-button{min-height:42px;font-size:12px}.compact-login .field{margin-bottom:12px}.compact-login>.text-button{font-size:11px;min-height:31px;margin-top:8px}.notice-wrap{top:62px;padding:0 10px;max-height:30vh}.dialog{max-height:calc(100dvh - 24px)}.tools-menu .tool-entry{min-height:43px;font-size:14px}.v2-player .claim-panel>.panel-heading .subtle{display:none}}
@media(max-width:350px){.club-bar{padding:0 10px}.club-brand strong{font-size:12px;max-width:180px}.club-brand>img,.club-avatar{width:30px;height:30px;border-radius:10px}.club-view-switch{font-size:9px;padding:6px 8px;min-height:29px}.club-more{min-width:23px;font-size:15px}.fixed-map{gap:9px}.hall-courts{gap:4px 5px}.court-tile{padding:5px 6px;height:clamp(39px,6.3dvh,50px)}.tile-number{font-size:10px}.tile-status{font-size:11px}.map-legend{gap:9px;font-size:7px}.map-counts{gap:10px}.map-counts b{font-size:11px}.editor-title h2{font-size:17px}.editor-title>.chip{font-size:8px}.member-compact>span:last-child{font-size:10px}}
.cloud-cache-badge{display:inline-block;color:var(--warning);background:var(--warning-soft);padding:3px 7px;border-radius:6px;font-size:10px;line-height:1.5}.shared-claim-panel{min-height:0;min-width:0;display:flex;flex-direction:column;height:100%;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.shared-claim-panel>.people-picker{flex:1;min-height:0}.shared-claim-panel>.text-button{flex:none;min-height:35px;margin-top:6px}.shared-claim-panel.in-dialog{height:min(64dvh,570px);border:0;padding:0;border-radius:0}.shared-modal-picker{height:min(61dvh,580px);min-height:250px;display:flex;flex-direction:column;overflow:hidden;min-width:0}.shared-modal-picker>.people-picker{flex:1;min-height:0}.shared-modal-picker>.cloud-cache-badge{align-self:flex-start;margin-bottom:7px}.shared-group-pane{height:min(58dvh,500px);min-height:300px;display:flex;flex-direction:column;overflow:hidden;margin-bottom:18px}.shared-group-pane>.people-picker{flex:1;min-height:0}.shared-group-pane .compact-panel-head{margin-bottom:2px}.shared-group-pane .compact-panel-head h3{font-size:13px;color:var(--ink);font-weight:550}.shared-group-pane .compact-panel-head>span{font-size:11px;color:var(--muted)}.shared-group-pane .picker-selected{min-height:25px;max-height:65px;flex:none}.shared-group-pane>.cloud-cache-badge{align-self:flex-start;margin-bottom:7px}.v2-player-content>.shared-claim-panel{height:100%}.dialog-body:has(>.shared-claim-panel){overflow:hidden}.v2-people-pane>.cloud-cache-badge{align-self:flex-start;margin-bottom:7px}
.court-tile.in-use .tile-number{background:color-mix(in srgb,var(--surface) 27%,transparent);padding:2px 3px;margin:-2px -3px;border-radius:3px}
.map-attached{top:92px;bottom:20px;left:auto;right:24px;width:360px;padding:0;align-items:stretch;justify-content:stretch;background:transparent;backdrop-filter:none;pointer-events:none;z-index:40}.map-attached>.dialog{pointer-events:auto;width:100%;max-width:none!important;max-height:100%;height:100%;border-radius:15px;box-shadow:var(--shadow)}.map-attached .dialog-head{padding:16px 15px 13px;gap:12px}.map-attached .dialog-head h2{font-size:17px}.map-attached .dialog-head p{font-size:11px;margin-top:5px}.map-attached .dialog-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:14px 15px}.map-attached .dialog-body>.field{flex:none;margin-bottom:12px}.map-attached .dialog-body>.picker-selected{flex:none;min-height:30px;max-height:66px}.map-attached .shared-modal-picker{flex:1;height:auto;min-height:0}.map-attached .shared-claim-panel.in-dialog{flex:1;height:auto;min-height:0}.map-attached .dialog-actions{padding:13px 15px 15px;flex:none}.map-attached .dialog-actions>.ark-action-button{width:100%;min-height:42px;font-size:13px}.map-attached .dialog-body>.composer{flex:1;min-height:0;overflow:auto}.fixed-shared-picker{grid-column:1/-1;height:390px;max-height:60dvh;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-top:1px solid var(--line);padding-top:10px}.fixed-shared-picker>.people-picker{flex:1;min-height:0}.fixed-shared-picker>.cloud-cache-badge{align-self:flex-start;margin-bottom:7px}.v2-player .map-attached{width:430px}.v2-login{align-content:start}
@media(min-width:1700px){.map-attached{right:32px;width:380px;top:96px;bottom:24px}}
@media(max-width:1120px){.map-attached{top:calc(var(--map-bottom,330px) + 8px);bottom:max(10px,env(safe-area-inset-bottom));left:16px;right:16px;width:auto!important}.map-attached .dialog-head{padding:13px 16px 10px}.map-attached .dialog-head h2{font-size:16px}.map-attached .dialog-body{padding:10px 16px}.map-attached .dialog-actions{padding:10px 16px 12px}.map-attached .dialog-actions>.ark-action-button{min-height:41px;font-size:13px}.map-attached .field-control{min-height:39px;font-size:14px}.map-attached .field-label{font-size:12px}.map-attached .dialog-body>.field{margin-bottom:9px;gap:6px}.map-attached .dialog-body>.picker-selected{min-height:27px;padding:0 0 9px;margin:0 0 3px}.map-attached .shared-modal-picker{min-height:0}.map-attached .shared-claim-panel.in-dialog>.compact-panel-head{display:none}.fixed-shared-picker{height:350px}}
@media(max-width:620px){.map-attached{left:10px;right:10px;top:calc(var(--map-bottom,300px) + 7px);bottom:max(8px,env(safe-area-inset-bottom))}.map-attached .dialog{border-radius:13px}.map-attached .dialog-head{padding:11px 12px 9px}.map-attached .dialog-head h2{font-size:15px}.map-attached .dialog-head p{font-size:10px;margin-top:4px}.map-attached .dialog-head .icon-button{width:27px;height:27px;min-height:27px;padding:4px}.map-attached .dialog-body{padding:9px 12px}.map-attached .dialog-actions{padding:9px 12px 11px}.map-attached .dialog-actions>.ark-action-button{min-height:39px;font-size:12px}.map-attached .field-control{font-size:14px;min-height:36px}.map-attached .field-label{font-size:11px}.map-attached .picker-selected .selected-person-chip{font-size:9px;min-height:24px}.map-attached .dialog-body>.field{margin-bottom:7px}.map-attached .shared-claim-panel.in-dialog>.text-button{min-height:29px;font-size:10px;margin-top:3px}.fixed-shared-picker{height:330px}}

/* Use the actual company wordmark at its native aspect ratio, without a second text logo. */
.brand-lockup img{width:74px;height:40px}
@media(max-width:620px){.brand-lockup img{width:64px;height:35px}.brand-lockup div>span{font-size:12px;padding-left:9px}.brand-lockup{gap:7px}}

/* Elapsed-time heat derives solely from library warning/error tokens. */
.court-hot .current-round{background:color-mix(in srgb,var(--error-soft) var(--court-heat),var(--surface));border-color:color-mix(in srgb,var(--error) var(--court-heat),var(--line))}
.court-hot .time-track i{background:color-mix(in srgb,var(--error) var(--court-heat),var(--warning))}

/* Short screens scroll the work area; controls must never consume the whole picker. */
.app-shell .pp-grid{grid-auto-rows:minmax(96px,auto)}
.legacy-courts-note{margin-top:18px;padding:13px;background:var(--info-soft);border-radius:10px}.legacy-courts-note h3{font-size:13px;color:var(--ink);font-weight:550}.legacy-courts-note p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:6px}
@media(max-width:1120px){
  .v2-mobile-picker.is-active{display:block!important;overflow-y:auto;overscroll-behavior:contain}
  .v2-mobile-picker>.v2-people-pane{min-height:350px;max-height:none;height:100%;overflow:visible;display:flex;padding-top:10px;padding-bottom:10px}
  .v2-mobile-picker>.v2-people-pane>.compact-panel-head,.v2-mobile-picker>.v2-people-pane>.people-secondary{display:none}
  .v2-mobile-picker .picker-selected:has(>span:only-child){display:none}
  .v2-mobile-picker>.v2-people-pane>.people-picker{min-height:320px;max-height:none;flex:1 0 320px}
  .v2-mobile-picker .pp-grid{min-height:168px}
  .map-attached .dialog-body{overflow-y:auto;overscroll-behavior:contain}
  .map-attached .shared-modal-picker{flex:1 0 320px;min-height:320px;height:320px}
  .map-attached .shared-claim-panel.in-dialog{flex:1 0 350px;min-height:350px;height:350px;overflow:visible}
  .map-attached .shared-claim-panel.in-dialog>.people-picker{min-height:320px;flex:1 0 320px;max-height:none}
  .short-picker-space .v2-mobile-picker .pp-controls,.short-picker-space .v2-mobile-picker .pp-pagination,.short-picker-space .map-attached .pp-controls,.short-picker-space .map-attached .pp-pagination,.short-picker-space .v2-player-content .pp-controls,.short-picker-space .v2-player-content .pp-pagination{position:static}
  .short-picker-space .v2-mobile-picker .pp-grid,.short-picker-space .map-attached .pp-grid,.short-picker-space .v2-player-content .pp-grid{overflow:visible;flex:0 0 auto}
  .short-picker-space .v2-player-content>.shared-claim-panel{height:auto;min-height:380px;overflow:visible}
  .short-picker-space .v2-player-content>.shared-claim-panel>.people-picker{min-height:320px;max-height:none}
}

/* Keep selected people and search visible; only the bounded person grid scrolls. */
.notice-wrap{top:auto;bottom:18px;left:auto;right:24px;transform:none;width:360px;max-height:150px;padding:0;pointer-events:none}
.notice-wrap .ark-state-notice__action,.notice-wrap .notice-close,.notice-wrap .pending-retry{pointer-events:auto}
.notice-wrap .notice-close{right:8px;top:5px}
@media(max-width:1120px){
  .v2-mobile-picker.is-active{display:flex!important;overflow:hidden}
  .v2-mobile-picker>.v2-people-pane{height:100%;min-height:0;max-height:100%;overflow:hidden;flex:1;padding-top:9px;padding-bottom:7px}
  .v2-mobile-picker>.v2-people-pane>.people-picker{min-height:0;max-height:100%;flex:1 1 auto}
  .v2-mobile-picker .picker-selected{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex:none;min-height:24px;height:24px;max-height:24px;padding:0;margin-bottom:7px;overflow:hidden}
  .v2-mobile-picker .picker-selected:has(>span:only-child){display:none}
  .v2-mobile-picker .selected-person-chip{min-width:0;max-width:none;min-height:24px;height:24px;padding:3px 4px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
  .v2-mobile-picker .pp-grid{min-height:96px;flex:1 1 auto;overflow:auto}
  .short-picker-space .v2-mobile-picker .pp-controls,.short-picker-space .v2-mobile-picker .pp-pagination{position:sticky}
  .short-picker-space .v2-mobile-picker .pp-controls{top:0}
  .short-picker-space .v2-mobile-picker .pp-pagination{bottom:0}
  .map-attached .dialog-body{overflow:hidden}
  .map-attached .shared-modal-picker,.map-attached .shared-claim-panel.in-dialog{flex:1 1 auto;height:auto;min-height:0;max-height:100%;overflow:hidden}
  .map-attached .shared-claim-panel.in-dialog>.people-picker{flex:1 1 auto;min-height:0;max-height:100%}
  .map-attached .pp-grid{min-height:96px;flex:1 1 auto;overflow:auto}
  .short-picker-space .map-attached .pp-controls,.short-picker-space .map-attached .pp-pagination{position:sticky}
  .map-attached .picker-selected{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:24px;height:24px;max-height:24px;flex:none;padding:0!important;margin:0 0 6px!important;overflow:hidden}
  .map-attached .selected-person-chip{display:block;min-width:0;max-width:none;height:24px;min-height:24px;padding:3px 4px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .short-picker-space .v2-player-content>.shared-claim-panel{height:100%;min-height:0;overflow:hidden}
  .short-picker-space .v2-player-content>.shared-claim-panel>.people-picker{min-height:0;max-height:100%;flex:1 1 auto}
  .short-picker-space .v2-player-content .pp-controls,.short-picker-space .v2-player-content .pp-pagination{position:sticky}
  .short-picker-space .v2-player-content .pp-grid{min-height:96px;flex:1 1 auto;overflow:auto}
  .notice-wrap{left:16px;right:16px;bottom:10px;width:auto;max-height:min(150px,calc(100dvh - var(--map-bottom,330px) - 20px))}
}
@media(max-width:620px) and (max-height:700px){
  .v2-map-panel .map-toolbar,.v2-map-panel .map-legend{display:none}
  .v2-map-panel{padding-top:6px;padding-bottom:7px}
  .v2-map-panel .map-hall h2{font-size:10px;margin-bottom:5px}
  .v2-map-panel .hall-courts{gap:4px 5px}
  .v2-map-panel .court-tile{height:32px;min-height:32px;padding:4px 6px}
  .v2-map-panel .tile-lines{inset:5px 9px}
  .v2-map-panel .tile-status{font-size:11px;line-height:1}
  .v2-map-panel .tile-number{font-size:10px}
  .v2-mobile-picker .pp-search,.v2-mobile-picker .pp-order,.map-attached .pp-search,.map-attached .pp-order,.v2-player-content .pp-search,.v2-player-content .pp-order{min-height:34px;height:34px;padding-top:5px;padding-bottom:5px}
  .v2-mobile-picker .pp-search-row,.map-attached .pp-search-row,.v2-player-content .pp-search-row{margin-bottom:4px}
  .v2-mobile-picker .pp-grade,.map-attached .pp-grade,.v2-player-content .pp-grade{min-height:30px;height:30px;padding-top:3px;padding-bottom:3px}
  .v2-mobile-picker .pp-tab,.map-attached .pp-tab,.v2-player-content .pp-tab{min-height:24px;padding-top:3px;padding-bottom:3px}
  .v2-mobile-picker .pp-tabs,.map-attached .pp-tabs,.v2-player-content .pp-tabs{padding:2px}
  .v2-mobile-picker .pp-controls,.map-attached .pp-controls,.v2-player-content .pp-controls{padding-bottom:4px}
  .v2-mobile-picker .pp-pagination,.map-attached .pp-pagination,.v2-player-content .pp-pagination{min-height:30px;height:30px;margin-top:3px}
  .v2-mobile-picker .pp-pagination button,.map-attached .pp-pagination button,.v2-player-content .pp-pagination button{min-height:28px;height:28px}
  .v2-mobile-picker .picker-selected,.map-attached .picker-selected{height:23px;min-height:23px;max-height:23px;margin-bottom:5px!important}
  .v2-mobile-picker .selected-person-chip,.map-attached .selected-person-chip{height:23px;min-height:23px;padding-top:2px;padding-bottom:2px}
  .map-attached .dialog{position:relative}
  .map-attached .dialog-head{padding:4px 10px}
  .map-attached .dialog-head h2{font-size:14px;line-height:1.4}
  .map-attached .dialog-head p{display:none}
  .map-attached .dialog-head .icon-button{height:26px;min-height:26px;width:26px}
  .map-attached .dialog-body{padding:3px 10px}
  .map-attached .dialog-actions{padding:4px 10px}
  .map-attached .dialog-actions>.ark-action-button{min-height:36px;height:36px;padding-top:7px;padding-bottom:7px;font-size:12px}
  .drawer-roster .dialog-body>.field{position:absolute;left:10px;bottom:4px;width:105px;z-index:2;padding:0;margin:0}
  .drawer-roster .dialog-body>.field>.field-label{display:none}
  .drawer-roster .dialog-body>.field>.field-control{min-height:36px;height:36px;font-size:12px;padding:5px 6px}
  .drawer-roster .dialog-actions{padding-left:124px}
  .map-attached .shared-claim-panel.in-dialog>.text-button{min-height:25px;height:25px;padding:4px 6px;margin-top:3px}
}
@media(max-width:1120px){
  .short-picker-space .v2-mobile-picker .pp-grid,.short-picker-space .map-attached .pp-grid,.short-picker-space .v2-player-content .pp-grid{min-height:96px;flex:1 1 auto;overflow:auto}
  .map-attached .dialog{position:relative}
  .map-attached .dialog-body>.picker-selected{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:24px;min-height:24px;max-height:24px;padding:0;margin:0 0 6px;overflow:hidden}
  .drawer-roster .dialog-body>.field{position:absolute;left:12px;bottom:10px;width:112px;z-index:2;padding:0;margin:0}
  .drawer-roster .dialog-body>.field>.field-label{display:none}
  .drawer-roster .dialog-body>.field>.field-control{min-height:39px;height:39px;font-size:14px;padding:5px 6px}
  .drawer-roster .dialog-actions{padding-left:136px}
}
@media(max-width:620px) and (max-height:700px){
  .map-attached .dialog-body>.picker-selected{height:23px;min-height:23px;max-height:23px;margin-bottom:5px}
  .drawer-roster .dialog-body>.field{left:10px;bottom:4px;width:105px}
  .drawer-roster .dialog-body>.field>.field-control{height:36px;min-height:36px;font-size:12px}
  .drawer-roster .dialog-actions{padding-left:124px}
}

/* v3: current players live on the map; one court work area owns the actions. */
.v3-workspace{grid-template-columns:minmax(0,1fr) 370px;max-width:1600px;margin:0 auto;gap:20px}
.v3-admin .v2-mobile-picker.is-active{display:flex!important;min-height:0;overflow:hidden;flex-direction:column}
.v3-admin .v2-mobile-picker{padding-bottom:0}
.v3-admin .v3-workbar{display:flex;align-items:center;justify-content:space-between;min-height:29px;height:29px;padding:0;margin-bottom:5px;background:transparent;border:0;border-radius:0}
.v3-admin .v3-workbar>.plain-button{flex:none;font-size:11px;min-height:27px;height:27px;padding:4px 9px;color:var(--action)}
.v3-admin .v3-workbar>.plain-button.active{background:var(--accent-soft);box-shadow:none;border-radius:8px}
.v3-admin .v2-mobile-picker>.v2-people-pane{min-height:0;max-height:100%;height:100%;overflow:hidden}
.v3-admin .work-tabs>button:nth-child(2){display:flex}
.role-toggle{display:flex;align-items:center;gap:2px;background:var(--soft);padding:3px;border-radius:10px}
.role-toggle>.plain-button{font-size:12px;min-height:32px;padding:7px 10px;color:var(--muted);white-space:nowrap;border-radius:7px}
.role-toggle>.plain-button.active{color:var(--brand);background:var(--surface);box-shadow:var(--dock-shadow);font-weight:600}
.v3-ui .court-tile{height:104px;min-height:104px;padding:5px 6px;display:flex;flex-direction:column;gap:5px;justify-content:flex-start}
.v3-ui .tile-head{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;height:18px;min-height:18px;line-height:1}
.v3-ui .tile-number{display:inline-flex;align-items:baseline;gap:1px;flex:none;font-size:12px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 4px!important;margin:0!important;background:color-mix(in srgb,var(--surface) 72%,transparent)!important;color:var(--ink);border:1px solid color-mix(in srgb,var(--surface) 50%,transparent);border-radius:4px}
.v3-ui .tile-number small{font-size:8px;font-weight:500;line-height:1}
.v3-ui .tile-status{font-size:11px;font-weight:500;margin:0;padding:0;background:none!important;line-height:1;white-space:nowrap}
.v3-ui .tile-meta{display:flex;justify-content:space-between;align-items:center;gap:3px;width:100%;height:12px;min-height:12px;font-size:10px;line-height:1}
.v3-ui .tile-next-count{font-size:10px;line-height:1;white-space:nowrap;color:inherit;font-weight:600}
.v3-ui .tile-next-count:only-child{margin-left:auto}
.v3-ui .court-tile.has-next{padding-bottom:0}
.v3-ui .tile-next-zone{flex:0 0 18px;height:18px;min-height:18px;width:calc(100% + 12px);margin:0 -6px;justify-content:center;border-top:2px solid var(--brand);background:var(--accent-soft);color:var(--brand);position:relative;z-index:1}
.v3-ui .tile-next-zone>.tile-next-count:only-child{margin:0;font-size:clamp(10px,.8vw,12px);font-weight:650;letter-spacing:.02em}
.court-next-up-enter-active{transition:transform 200ms ease-out,opacity 200ms ease-out}
.court-next-up-enter{transform:translateY(6px);opacity:.55}
@media(prefers-reduced-motion:reduce){.court-next-up-enter-active{transition:none}.court-next-up-enter{transform:none;opacity:1}}
.tile-current-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px;align-content:center;flex:1;min-height:0;min-width:0;width:100%}
.tile-current-name{display:block;min-width:0;font-size:13px;font-weight:500;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.tile-current-name.placeholder{opacity:.5;font-weight:400}
.tile-fixed-text{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:13px;color:inherit}
.tile-fixed-text>span{font-size:11px;opacity:.7}
.v3-ui .pp-admin-variant .pp-grid{grid-auto-rows:minmax(54px,auto)}
.v3-ui .v2-mobile-picker .pp-admin-variant .pp-grid,.v3-ui .map-attached .pp-admin-variant .pp-grid{min-height:54px;grid-auto-rows:minmax(54px,auto)}
.v3-ui .pp-admin-variant .pp-search{font-size:16px}
@media(max-width:1120px){
  .v3-workspace{display:flex;flex-direction:column;max-width:none;gap:7px;padding:7px 12px 0}
  .v3-ui .club-bar{height:50px;padding:0 12px}
  .v3-ui .club-brand>img,.v3-ui .club-avatar{width:30px;height:30px;border-radius:10px}
  .v3-ui .club-brand strong{font-size:13px}
  .v3-ui .club-subline{font-size:9px}
  .v3-ui .role-toggle{padding:2px;gap:1px}
  .v3-ui .role-toggle>.plain-button{font-size:11px;min-height:29px;height:29px;padding:5px 7px}
  .v3-ui .club-more{font-size:15px;min-height:29px;min-width:22px;padding:3px 0}
  .v3-ui .club-bar-actions{gap:4px}
  .v3-ui .v2-map-panel{padding:6px 8px;border-radius:11px}
  .v3-ui .v2-map-panel .map-toolbar,.v3-ui .v2-map-panel .map-legend{display:none}
  .v3-ui .map-hall h2{font-size:10px;line-height:12px;margin-bottom:5px}
  .v3-ui .fixed-map{gap:10px}
  .v3-ui .hall-courts{gap:4px 5px}
  .v3-ui .court-tile{height:86px;min-height:86px;padding:3px 4px;gap:0;border-radius:6px}
  .v3-ui .tile-head{height:14px;min-height:14px;gap:3px}
  .v3-ui .tile-number{font-size:11px}
  .v3-ui .tile-number small{font-size:7px}
  .v3-ui .tile-status{font-size:10px}
  .v3-ui .tile-meta{height:10px;min-height:10px}
  .v3-ui .tile-next-count{font-size:10px}
  .v3-ui .court-tile.has-next{padding-top:2px;padding-bottom:0}
  .v3-ui .tile-next-zone{flex-basis:12px;height:12px;min-height:12px;width:calc(100% + 8px);margin:0 -4px}
  .v3-ui .tile-current-names{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));gap:0;flex:1}
  .v3-ui .tile-current-name{font-size:13px;line-height:14px;align-self:center}
  .v3-ui .work-tabs{min-height:34px;margin-bottom:6px}
  .v3-ui .work-tabs>.plain-button{min-height:27px;font-size:11px;padding:4px 5px}
  .v3-ui .v2-mobile-picker>.v2-people-pane{padding:5px 9px;min-height:0;max-height:100%}
  .v3-ui .v2-mobile-picker .pp-admin-variant{min-height:0;max-height:100%;flex:1 1 auto}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-grid{flex:1 1 auto;overflow:auto;min-height:54px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-controls,.v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination{position:sticky}
  .v3-ui .map-attached .pp-admin-variant .pp-grid{min-height:54px}
}
@media(max-width:620px) and (max-height:700px){
  .v3-ui .club-bar{height:44px;padding:0 9px;gap:6px}
  .v3-ui .club-brand{gap:6px}
  .v3-ui .club-brand>img,.v3-ui .club-avatar{width:28px;height:28px;border-radius:9px}
  .v3-ui .club-brand strong{font-size:12px;max-width:140px}
  .v3-ui .club-subline{font-size:8px}
  .v3-ui .role-toggle>.plain-button{font-size:10px;min-height:27px;height:27px;padding:4px 6px}
  .v3-ui .club-more{min-width:17px;font-size:14px}
  .v3-workspace,.v3-ui .v2-player,.v3-ui .v2-login{padding:4px 8px 0;gap:4px}
  .v3-ui .v2-map-panel{padding:4px 6px}
  .v3-ui .map-hall h2{line-height:11px;font-size:10px;margin-bottom:4px}
  .v3-ui .hall-courts{gap:3px 4px}
  .v3-ui .fixed-map{gap:8px}
  .v3-ui .court-tile{height:82px;min-height:82px;padding:2px 3px;gap:0}
  .v3-ui .tile-head{height:12px;min-height:12px}
  .v3-ui .tile-number{padding:1px 3px!important}
  .v3-ui .tile-number,.v3-ui .tile-status,.v3-ui .tile-next-count{font-size:10px}
  .v3-ui .tile-current-name{font-size:13px;line-height:13.5px}
  .v3-ui .tile-next-zone{width:calc(100% + 6px);margin:0 -3px}
  .v3-ui .work-tabs{min-height:31px;padding:2px;margin-bottom:4px}
  .v3-ui .work-tabs>.plain-button{min-height:25px;height:25px;font-size:10px;padding:3px 4px}
  .v3-ui .v2-mobile-picker .picker-selected{height:20px;min-height:20px;max-height:20px;margin-bottom:4px!important}
  .v3-ui .v2-mobile-picker .selected-person-chip{height:20px;min-height:20px;font-size:10px;padding:1px 3px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-search{min-height:32px;height:32px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-controls{padding-bottom:3px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination{min-height:26px;height:26px;margin-top:2px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination button{min-height:24px;height:24px;line-height:1}
}
.v3-ui .tile-court-empty{position:relative;flex:1;width:80%;margin:6px auto;border:1px solid currentColor;opacity:.17;min-height:20px}
.v3-ui .tile-court-empty:before{content:'';position:absolute;inset:0 14%;border-left:1px solid currentColor;border-right:1px solid currentColor}
.v3-ui .tile-court-empty:after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px solid currentColor}
.v3-ui .tile-court-empty i:first-child{position:absolute;top:0;bottom:0;left:50%;border-left:1px solid currentColor}
.v3-ui .tile-court-empty i:nth-child(2){position:absolute;inset:7px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.v3-selected-editor .editor-title{margin-bottom:16px;gap:8px}
.v3-selected-editor .editor-title h2{font-size:19px}
.v3-selected-editor .editor-title>.text-button{margin-left:auto;white-space:nowrap;font-size:11px}
.v3-next-heading{display:flex;align-items:center;gap:8px;margin:3px 0 13px;font-size:12px;color:var(--muted)}
.v3-next-heading>strong{font-weight:550;color:var(--ink)}
.v3-next-heading>.text-button{margin-left:auto}
.published-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:15px}
.published-person{display:flex;align-items:center;gap:4px;padding:6px 7px;border-radius:9px;background:var(--accent-soft);min-width:0}
.published-person>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink)}
.published-person>.text-button{font-size:10px;padding:3px;min-height:27px;color:var(--muted)}
.v3-court-flow>.ark-action-button{min-height:43px;font-size:13px;border-radius:10px}
.v3-court-flow>.text-button{margin-top:7px;font-size:11px}
.v3-picker-top{display:flex;align-items:center;gap:6px;min-height:36px;flex:none;margin-bottom:9px}
.v3-picker-top>.picker-back{min-width:24px;width:24px;font-size:23px;padding:1px 3px;min-height:31px}
.v3-picker-top>strong{font-size:12px;color:var(--ink);font-weight:550;white-space:nowrap;flex:1}
.v3-picker-top>.text-button{font-size:11px;min-height:30px;padding:3px 5px}
.v3-picker-top>.ark-action-button{width:auto;min-width:90px;min-height:33px;font-size:11px;padding:6px 10px;border-radius:8px}
.v3-work-area:has(.v2-mobile-picker.is-active)>.work-tabs{display:none}
.v3-ui .v2-mobile-picker .picker-selected{min-height:24px;height:24px;max-height:24px;margin:0 0 8px!important;padding:0}
.v3-ui .v2-mobile-picker .picker-selected:has(>span:only-child){display:block;color:var(--muted);font-size:11px;padding:3px 0}
.full-name-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 13px;margin:10px 0;font-size:13px;color:var(--text)}
.full-name-list>span{overflow-wrap:anywhere;min-width:0}
.v3-full-current h3,.v3-next-public h3{font-size:14px;color:var(--ink);font-weight:550;margin-bottom:10px}
.v3-next-public{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}
.court-more-actions{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.court-more-actions>.tool-entry{font-size:13px;min-height:40px}
.occupant-details{font-size:12px;color:var(--muted);margin-top:14px}
.occupant-details>summary{cursor:pointer}
.self-queued,.self-paused{padding:14px;background:var(--info-soft);border-radius:11px;margin:12px 0}
.self-queued>strong,.self-paused>strong{display:block;font-size:18px;color:var(--ink);font-weight:550}
.self-queued>span{font-size:12px;color:var(--muted)}
.self-paused>.ark-action-button{margin-top:13px;font-size:13px;min-height:41px}
.self-match-actions{display:flex;gap:8px;align-items:center;margin-top:14px}
.self-match-actions>.ark-action-button{flex:1;min-width:0}
.self-match-actions>.toolbar-button{font-size:12px}
.self-shortcuts{flex-wrap:wrap}
.self-shortcuts>.toolbar-button{min-width:100px}
.actual-incoming-picker{height:310px;display:flex;flex-direction:column;min-width:0;min-height:0;margin:12px 0}
.actual-incoming-picker h3{font-size:13px;color:var(--ink);font-weight:550;margin-bottom:7px}
.actual-incoming-picker>.people-picker{flex:1;min-height:0}
.actual-incoming-picker>.picker-selected{min-height:25px;height:25px;flex:none;margin-bottom:6px}
.actual-swap-help{margin-bottom:14px}
.actual-stale{padding:10px;background:var(--warning-soft);border-radius:9px;font-size:12px;color:var(--warning);margin:8px 0}
.substitution-impact{font-size:11px;color:var(--warning);line-height:1.7;margin:9px 0;padding:8px;background:var(--warning-soft);border-radius:7px}
.drawer-court-more .dialog-body,.drawer-actual-swap .dialog-body{display:block;overflow-y:auto}
.drawer-actual-swap .dialog-body .people-picker{min-height:230px}
@media(max-width:1120px){
  .v3-ui .v2-mobile-picker>.v3-picker-pane{padding:6px 10px}
  .v3-picker-top{min-height:30px;margin-bottom:5px;gap:4px}
  .v3-picker-top>.ark-action-button{min-height:30px;min-width:82px;font-size:11px;padding:5px 8px}
  .v3-ui .v2-mobile-picker .picker-selected{height:22px;min-height:22px;max-height:22px;margin-bottom:5px!important}
  .v3-ui .v2-mobile-picker .selected-person-chip{min-height:22px;height:22px;font-size:10px;padding:2px 3px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-grid{min-height:54px;flex:1 1 auto;overflow:auto}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-controls{padding-bottom:3px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination{min-height:28px;height:28px;margin-top:3px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination button{min-height:26px;height:26px;line-height:1}
  .v3-selected-editor{padding:14px 13px}
  .v3-selected-editor .editor-title{margin-bottom:12px}
  .v3-selected-editor .editor-title h2{font-size:17px}
  .v3-selected-editor .editor-title>.text-button{font-size:10px;min-height:27px;padding:3px}
  .v3-next-heading{margin-bottom:9px;font-size:11px}
  .published-next{gap:6px;margin-bottom:12px}
  .published-person{padding:4px 6px;gap:2px}
  .published-person>span{font-size:13px}
  .published-person>.text-button{font-size:10px;min-height:25px;padding:2px}
  .v3-court-flow>.ark-action-button{min-height:40px;font-size:12px}
  .v3-court-flow>.text-button{font-size:10px;min-height:29px;margin-top:3px}
  .v3-ui .drawer-actual-swap .pp-controls,.v3-ui .drawer-actual-swap .pp-pagination{position:static}
}
@media(max-width:620px) and (max-height:700px){
  /* Share one control row on short screens; the selected map already identifies
     the court. Keep real space for names instead of overlapping the pager. */
  .v3-ui .v2-mobile-picker>.v3-picker-pane{padding:4px 7px;display:grid;grid-template-columns:20px minmax(0,1fr) 34px 76px;grid-template-rows:32px auto minmax(0,1fr) 26px;gap:2px 4px}
  .v3-ui .v2-mobile-picker .v3-picker-top,.v3-ui .v2-mobile-picker .people-picker,.v3-ui .v2-mobile-picker .pp-admin-variant .pp-controls,.v3-ui .v2-mobile-picker .pp-admin-variant .pp-search-row{display:contents}
  .v3-picker-top>.picker-back{grid-area:1/1;height:32px;min-height:32px;width:20px;min-width:20px;font-size:21px;padding:0}
  .v3-ui .v2-mobile-picker .v3-picker-top>strong{display:none}
  .v3-picker-top>.text-button{grid-area:1/3;font-size:10px;min-height:32px;padding:2px 4px}
  .v3-picker-top>.ark-action-button{grid-area:1/4;height:32px;min-height:32px;min-width:76px;font-size:10px;padding:4px 6px}
  .v3-ui .v2-mobile-picker .picker-selected{grid-area:2/1/3/-1;height:20px;min-height:20px;max-height:20px;margin:0!important}
  .v3-ui .v2-mobile-picker .selected-person-chip{height:20px;min-height:20px;font-size:10px;padding:1px 3px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-search{grid-area:1/2;width:100%;height:32px;min-height:32px;padding:4px 6px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-search::placeholder{font-size:11px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination{grid-area:4/1/5/-1;position:static;height:26px;min-height:26px;margin:0}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-pagination button{height:24px;min-height:24px}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-grid{grid-area:3/1/4/-1;min-height:0;grid-auto-rows:minmax(62px,max-content);height:100%;align-content:start}
  .v3-ui .v2-mobile-picker .pp-admin-variant .pp-empty{grid-area:3/1/4/-1;min-height:0;overflow:auto}
  .v3-selected-editor{padding:10px 11px}
  .v3-selected-editor .editor-title{margin-bottom:8px}
  .published-next{margin-bottom:8px}
  .v3-next-heading{margin-bottom:7px}
  .published-person>.text-button{height:23px;min-height:23px}
  .v3-court-flow>.ark-action-button{height:36px;min-height:36px}
  /* The roster editor shares the same short lower workspace. Give search,
     candidates and actions their own grid tracks, including empty rosters. */
  .v3-ui .drawer-roster.map-attached .dialog{display:grid;grid-template-columns:105px minmax(0,1fr) 26px;grid-template-rows:30px 18px minmax(0,1fr) 30px;gap:2px 4px;padding:2px 9px}
  .v3-ui .drawer-roster .dialog-head,.v3-ui .drawer-roster .dialog-body,.v3-ui .drawer-roster .shared-modal-picker,.v3-ui .drawer-roster .people-picker,.v3-ui .drawer-roster .pp-controls,.v3-ui .drawer-roster .pp-search-row,.v3-ui .drawer-roster .dialog-actions{display:contents}
  .v3-ui .drawer-roster .dialog-title-copy{display:none}
  .v3-ui .drawer-roster .dialog-head>.icon-button{grid-area:1/3;align-self:center}
  .v3-ui .drawer-roster .dialog-body>.field{position:static;grid-area:1/1;width:auto;padding:0;margin:0}
  .v3-ui .drawer-roster .dialog-body>.field>.field-control{height:30px;min-height:30px;padding:3px 5px}
  .v3-ui .drawer-roster .pp-search{grid-area:1/2;width:100%;height:30px;min-height:30px;padding:3px 5px}
  .v3-ui .drawer-roster .pp-search::placeholder{font-size:11px}
  .v3-ui .drawer-roster .dialog-body>.picker-selected{grid-area:2/1/3/-1;height:18px;min-height:18px;max-height:18px;margin:0!important}
  .v3-ui .drawer-roster .selected-person-chip,.v3-ui .drawer-roster .picker-selected>.chip{height:18px;min-height:18px;padding:0 3px;font-size:10px;line-height:18px}
  .v3-ui .drawer-roster .pp-admin-variant .pp-grid{grid-area:3/1/4/-1;min-height:0;height:100%;grid-auto-rows:minmax(54px,max-content);align-content:start}
  .v3-ui .drawer-roster .pp-admin-variant .pp-choice{min-height:54px;padding:3px 5px}
  .v3-ui .drawer-roster .pp-admin-variant .pp-person-top{min-height:16px;margin-bottom:1px}
  .v3-ui .drawer-roster .pp-admin-variant .pp-avatar{width:16px;height:16px;flex-basis:16px;border-radius:5px;font-size:10px}
  .v3-ui .drawer-roster .pp-empty{grid-area:3/1/4/-1;min-height:0;overflow:auto}
  .v3-ui .drawer-roster .pp-pagination{grid-area:4/1;position:static;gap:1px;min-height:30px;height:30px;margin:0}
  .v3-ui .drawer-roster .pp-total{display:none}
  .v3-ui .drawer-roster .pp-page-number{min-width:34px;font-size:10px}
  .v3-ui .drawer-roster .pp-pagination button{width:26px;min-width:26px;height:30px;min-height:30px}
  .v3-ui .drawer-roster .dialog-actions>.ark-action-button{grid-area:4/2/5/-1;min-width:0;height:30px;min-height:30px;font-size:11px;padding:4px 5px}
  .v3-ui .drawer-roster.roster-review .dialog{display:flex;padding:0}
  .v3-ui .drawer-roster.roster-review .dialog-head{display:flex}
  .v3-ui .drawer-roster.roster-review .dialog-title-copy{display:block}
  .v3-ui .drawer-roster.roster-review .dialog-body{display:block;overflow:auto;min-height:0;flex:1;padding:5px 10px}
  .v3-ui .drawer-roster.roster-review .dialog-actions{display:flex;padding:3px 10px;gap:6px}
  .v3-ui .drawer-roster.roster-review .dialog-actions>.ark-action-button{width:auto;flex:1}
  .v3-ui .drawer-roster.roster-review .dialog-actions>.context-button{min-height:30px;height:30px;font-size:11px;padding:3px 8px}
}
.roster-review-content{font-size:13px;line-height:1.5;color:var(--text)}
.roster-review-content p+p{margin-top:7px}

/* Keep distinctive nickname suffixes visible when narrow map cells need ellipsis. */
.tile-current-name{display:flex;align-items:baseline;min-width:0;gap:0}.tile-name-start{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.tile-name-tail{flex:0 0 auto;white-space:nowrap}

/* Player contact entries name the action and its recipient. */
.self-shortcuts>.toolbar-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:12px;line-height:1.35}
.self-shortcuts>.toolbar-button>.icon{width:15px;height:15px;flex:none}
.self-shortcuts>.toolbar-button>span{white-space:nowrap}
.contact-purpose{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 8px;flex:none}
.message-privacy{margin-top:-6px;margin-bottom:8px}

/* Show the complete club badge without cutting its circular lettering. */
.club-brand>img.club-logo{object-fit:contain;border-radius:0;background:var(--surface)}

/* Action hierarchy: the host keeps real ARK controls and the existing solid theme. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.action-hierarchy .context-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);color:var(--action);font-size:13px;line-height:1.35;white-space:normal;text-align:center}
.action-hierarchy .context-button:hover:not(:disabled){border-color:var(--accent-line);background:var(--accent-soft)}
.action-hierarchy .context-button:disabled{color:var(--muted);background:var(--soft)}
.action-hierarchy .editor-title{align-items:center;flex-wrap:wrap;margin-bottom:14px}
.editor-court-identity{min-width:0;flex:1}
.editor-court-status{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:3px}
.action-hierarchy .editor-title .court-more-button{margin-left:auto;min-height:36px;font-size:12px;flex:none}
.action-hierarchy .v3-next-heading{font-size:13px;min-height:32px;margin-bottom:10px}
.action-hierarchy .v3-next-heading>.context-button{margin-left:auto;min-height:32px;padding:5px 11px;font-size:12px}
.action-hierarchy .published-person{padding:7px;gap:6px}
.action-hierarchy .published-person>.context-button{min-height:32px;padding:5px 8px;font-size:12px;flex:none}
.court-primary-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-top:8px}
.action-hierarchy .court-primary-actions>.ark-action-button{flex:1;min-width:110px;min-height:44px;font-size:14px;padding:10px 12px}
.court-saved-draft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.action-hierarchy .v2-editor-pane.is-active{height:100%;overflow:auto;overscroll-behavior:contain}
.action-hierarchy .inbox-return-bar{height:auto;min-height:36px;margin:0 0 7px;padding:0;justify-content:flex-start;flex:none}
.action-hierarchy .inbox-return-bar>.context-button{flex:none;min-height:34px;font-size:13px;padding:6px 10px}
.admin-inbox{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);color:var(--action);font-size:13px;line-height:1.3;white-space:nowrap}
.admin-inbox.has-pending{border-color:var(--accent-line);background:var(--accent-soft);font-weight:600}
.admin-inbox.has-new{border-color:var(--warning);box-shadow:0 0 0 2px var(--warning-soft)}
.admin-inbox .inbox-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:var(--brand);color:var(--surface);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.admin-inbox:not(.has-pending) .inbox-count{background:var(--soft);color:var(--muted)}
.inbox-new{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:1px 3px;border-radius:4px;background:var(--warning-soft);color:var(--warning);font-size:11px;line-height:1}
.inbox-label-short{display:none}
.admin-inbox.is-pulsing{animation:inbox-arrival 800ms ease-in-out 3}
@keyframes inbox-arrival{0%,100%{box-shadow:0 0 0 2px var(--warning-soft)}50%{box-shadow:0 0 0 5px var(--accent-soft);border-color:var(--brand)}}
@media(prefers-reduced-motion:reduce){.admin-inbox.is-pulsing{animation:none}}
.player-primary-nav{grid-column:1/-1;display:flex;align-items:stretch;gap:5px;flex:none;padding:4px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);margin:0;min-height:48px}
.player-primary-nav>.plain-button{flex:1;min-width:0;min-height:40px;padding:8px 14px;border-radius:var(--r-control);font-size:14px;color:var(--muted);font-weight:500}
.player-primary-nav>.plain-button.active{color:var(--brand);background:var(--accent-soft);font-weight:600}
.action-hierarchy .player-personal{display:flex;flex-direction:column;width:100%;max-width:760px;margin:0 auto;padding:18px 20px 0;gap:12px;min-height:0}
.action-hierarchy .player-personal .v2-player-lower{flex:1;min-height:0;width:100%}
.action-hierarchy .player-board{grid-template-rows:auto minmax(0,1fr);row-gap:15px}
.action-hierarchy .player-board>.v2-player-lower{height:100%;min-height:0}
.action-hierarchy .player-personal .compact-self{padding:22px;border-radius:var(--r-panel)}
.action-hierarchy .player-personal .self-identity{margin-bottom:22px;gap:10px;align-items:center}
.action-hierarchy .player-personal .self-identity strong{font-size:17px}
.action-hierarchy .player-personal .self-identity>div>span{font-size:12px}
.action-hierarchy .player-personal .self-identity>.context-button{margin-left:auto;flex:none;font-size:12px}
.self-state-label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.action-hierarchy .self-court>strong{display:block;font-size:29px;line-height:1.35;color:var(--ink)}
.action-hierarchy .self-court>span{font-size:13px}
.action-hierarchy .self-match-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-top:16px}
.action-hierarchy .self-match-actions>.ark-action-button{flex:1;min-width:110px;min-height:44px;font-size:14px;padding:10px 12px}
.action-hierarchy .location-button{margin-top:12px;min-height:38px}
.action-hierarchy .self-queued,.action-hierarchy .self-paused{margin:0;padding:18px;border-radius:var(--r-panel)}
.action-hierarchy .self-queued>.ark-action-button,.action-hierarchy .self-paused>.ark-action-button{min-height:44px;font-size:14px;margin-top:15px}
.self-waiting h2,.self-fixed h2,.self-excluded h2{font-size:21px;color:var(--ink);line-height:1.4;margin-bottom:12px}
.action-hierarchy .self-wait-summary{font-size:13px;padding:17px 14px;gap:16px;margin-bottom:12px}
.action-hierarchy .self-wait-summary b{font-size:25px}
.self-fixed>strong{display:block;font-size:24px;color:var(--ink);margin:6px 0}
.self-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.purpose-button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:48px;padding:11px 10px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);color:var(--action);font-size:14px;line-height:1.4;text-align:center}
.purpose-button>.icon{width:17px;height:17px;flex:none}
.purpose-button>span{min-width:0;overflow-wrap:anywhere}
.self-utility-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.action-hierarchy .self-utility-actions>.context-button{min-height:38px;font-size:13px}
.player-subpage-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;align-items:center;margin-bottom:14px;flex:none}
.player-subpage-heading>.context-button:first-child{justify-self:start;grid-column:1;grid-row:1}
.player-subpage-heading>h2{grid-column:1/-1;grid-row:2;font-size:21px;line-height:1.4;color:var(--ink);font-weight:600}
.player-subpage-heading>.context-button:last-child:not(:first-child){grid-column:2;grid-row:1}
.action-hierarchy .player-personal .composer{padding:22px}
.action-hierarchy .player-personal .composer .field-label{font-size:13px}
.action-hierarchy .player-personal .composer .field-control{font-size:16px;min-height:44px}
.action-hierarchy .player-personal .composer>.ark-action-button{min-height:44px;font-size:14px}
.action-hierarchy .player-personal .my-requests{margin-top:0}
.public-court-empty{padding:18px 0;color:var(--muted);font-size:14px}
.action-hierarchy .without-map .notice-wrap{max-height:min(180px,40dvh)}
.action-hierarchy.without-map .notice-wrap{max-height:min(180px,40dvh)}
.action-hierarchy .personal-sheet .dialog{max-height:calc(100dvh - 24px);width:min(580px,100%)}
.action-hierarchy .personal-sheet .dialog-body{overflow-y:auto;overscroll-behavior:contain}
.action-hierarchy .personal-sheet.drawer-claim .dialog{height:min(760px,calc(100dvh - 24px))}
.action-hierarchy .personal-sheet.drawer-claim .dialog-body{display:flex;flex-direction:column;overflow:hidden;min-height:0;flex:1}
.action-hierarchy .personal-sheet .shared-claim-panel.in-dialog{height:100%;min-height:0;flex:1}
@media(max-width:1120px){
  .action-hierarchy .club-brand{flex:1;min-width:0}
  .action-hierarchy .club-brand>div{min-width:0}
  .action-hierarchy .club-bar-actions{flex:none;gap:6px}
  .action-hierarchy .admin-inbox{min-height:32px;padding:5px 7px;gap:5px;font-size:12px}
  .action-hierarchy .player-personal{padding:12px 14px 0;gap:10px}
  .action-hierarchy .player-board{display:flex;flex-direction:column;gap:8px;padding:9px 10px 0}
  .action-hierarchy .player-board>.v2-player-lower{flex:1;min-height:0}
  .player-primary-nav{min-height:44px;padding:3px;border-radius:11px}
  .player-primary-nav>.plain-button{min-height:36px;font-size:14px;padding:7px 12px}
  .action-hierarchy .player-personal .compact-self,.action-hierarchy .player-personal .composer{padding:18px}
  .action-hierarchy .personal-sheet{padding:12px}
  .action-hierarchy .personal-sheet .dialog{max-height:calc(100dvh - 24px);width:min(580px,100%)}
  .action-hierarchy.without-map .notice-wrap{left:14px;right:14px;bottom:10px;width:auto;max-height:min(180px,40dvh)}
}
@media(max-width:620px){
  .action-hierarchy .club-bar.has-admin-inbox{gap:7px;padding-left:9px;padding-right:9px}
  .action-hierarchy .has-admin-inbox .club-brand{gap:6px;overflow:hidden}
  .action-hierarchy .has-admin-inbox .club-brand strong{font-size:12px;max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}
  .action-hierarchy .has-admin-inbox .club-subline{display:none}
  .action-hierarchy .has-admin-inbox .club-bar-actions{gap:5px}
  .action-hierarchy .has-admin-inbox .role-toggle>.plain-button{font-size:11px;padding:5px 6px}
  .action-hierarchy .admin-inbox{min-height:31px;padding:5px 6px;gap:4px}
  .inbox-label-full{display:none}.inbox-label-short{display:inline}
  .admin-inbox .inbox-count{font-size:11px;min-width:18px;height:18px;padding:0 4px}
  .admin-inbox .inbox-new{position:absolute;right:-3px;top:-7px;height:16px;min-width:17px;font-size:10px;padding:1px 3px;border:1px solid var(--surface)}
  .action-hierarchy .v3-selected-editor{padding:14px 12px}
  .action-hierarchy .v3-selected-editor .editor-title{margin-bottom:12px;gap:7px}
  .action-hierarchy .editor-title h2{font-size:18px}
  .action-hierarchy .editor-title .court-more-button{font-size:12px;min-height:35px;padding:7px 9px}
  .action-hierarchy .published-next{gap:7px;margin-bottom:12px}
  .action-hierarchy .published-person{padding:6px;gap:4px}
  .action-hierarchy .published-person>.context-button{min-height:32px;font-size:12px;padding:5px 7px}
  .action-hierarchy .player-personal{padding:10px 10px 0;gap:9px}
  .action-hierarchy .player-personal .compact-self,.action-hierarchy .player-personal .composer{padding:16px 14px}
  .action-hierarchy .player-personal .self-identity{margin-bottom:18px}
  .action-hierarchy .player-personal .self-identity strong{font-size:16px}
  .action-hierarchy .player-personal .self-identity>div>span{font-size:12px}
  .self-contact-actions{gap:8px;padding-top:17px;margin-top:20px}
  .purpose-button{font-size:13px;gap:5px;min-height:47px;padding:10px 8px}
  .purpose-button>.icon{width:15px;height:15px}
  .player-subpage-heading{gap:10px 8px;margin-bottom:12px}
  .player-subpage-heading>h2{font-size:19px}
  .action-hierarchy .player-subpage-heading>.context-button{font-size:13px;min-height:38px;padding:7px 10px}
  .action-hierarchy .personal-sheet{padding:8px}
  .action-hierarchy .personal-sheet .dialog{max-height:calc(100dvh - 16px)}
  .action-hierarchy .personal-sheet.drawer-claim .dialog{height:calc(100dvh - 16px)}
  .action-hierarchy .personal-sheet .dialog-head{padding:15px}
  .action-hierarchy .personal-sheet .dialog-head h2{font-size:17px}
  .action-hierarchy .personal-sheet .dialog-body{padding:14px 15px}
  .action-hierarchy .personal-sheet .dialog-actions{padding:12px 15px}
  .action-hierarchy .personal-sheet .dialog-actions>.ark-action-button{min-height:44px;font-size:14px}
}

/* Elapsed readiness is scoped to this court map, using the ARK semantic palette. */
.v3-ui{--court-time-start:color-mix(in srgb,var(--error) 28%,var(--surface));--court-time-middle:var(--warning-soft);--court-time-ready:color-mix(in srgb,var(--success) 35%,var(--surface))}
.v3-picker-pane .picker-selected>.retained-person{display:inline-flex;align-items:center;min-height:29px;max-width:100%;font-size:11px;color:var(--ink);border:1px solid var(--line);background:var(--soft);padding:5px 8px}

/* A durable, court-scoped recovery action remains discoverable after the success notice. */
.v3-ui .court-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;margin:0 0 12px;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft)}
.v3-ui .court-undo-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.v3-ui .court-undo-copy strong{font-size:12px;font-weight:600;color:var(--ink)}
.v3-ui .court-undo-copy>span{font-size:11px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.v3-ui .court-undo .ark-action-button{flex:0 0 auto;width:auto;min-width:98px;max-width:50%;min-height:40px;padding:8px 12px;font-size:13px;border-radius:9px}
.v3-ui .court-undo.is-unavailable{background:var(--soft);border-color:var(--line)}

/* Personal identity and low-frequency tools have one explicit entry. */
.action-hierarchy .profile-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;min-width:36px;padding:6px 9px;border:1px solid var(--accent-line);border-radius:12px;background:var(--surface);color:var(--action);font-size:12px;line-height:1;font-weight:550;flex:none}
.action-hierarchy .profile-trigger>.icon{width:17px;height:17px;flex:none}
.action-hierarchy .profile-trigger[aria-expanded="true"]{background:var(--accent-soft);border-color:var(--brand)}
.dialog-title-copy{flex:1;min-width:0}
.dialog-head .menu-back{flex:none;margin-right:2px}
.profile-identity{display:flex;align-items:center;gap:12px;padding:2px 2px 18px;min-width:0}
.profile-identity>.avatar,.profile-identity-symbol{width:44px;height:44px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--brand)}
.profile-identity-symbol>.icon{width:24px;height:24px}
.profile-identity>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.profile-identity strong{font-size:17px;line-height:1.4;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.profile-identity>div>span{font-size:12px;line-height:1.5;color:var(--muted)}
.profile-menu-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface)}
.profile-entry{display:flex;align-items:center;gap:11px;width:100%;min-height:49px;padding:10px 12px;border-radius:0;background:var(--surface);color:var(--ink);text-align:left}
.profile-menu-group>.profile-entry+.profile-entry{border-top:1px solid var(--line)}
.profile-entry-icon{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:8px;color:var(--action);background:var(--accent-soft)}
.profile-entry-icon>.icon{width:18px;height:18px}
.profile-entry-label{flex:1;min-width:0;font-size:14px;line-height:1.45}
.profile-entry-detail{flex:none;max-width:38%;font-size:11px;line-height:1.4;color:var(--muted);text-align:right}
.profile-entry-chevron{flex:none;width:14px;height:14px;color:var(--muted)}
.profile-entry:hover:not([disabled]){background:var(--soft)}
.profile-menu-footer{margin-top:17px;border-top:1px solid var(--line);padding-top:7px}
.profile-entry-footer{min-height:43px;padding:7px 10px;background:transparent;color:var(--muted);border-radius:10px}
.profile-entry-footer .profile-entry-icon{color:var(--muted);background:var(--soft)}
@media(max-width:360px){.action-hierarchy .profile-trigger{padding:6px;min-width:34px;min-height:34px}.profile-trigger-label{display:none}.profile-entry{gap:9px;padding:10px}.profile-entry-detail{font-size:10px}}
.self-not-arrived h2{font-size:20px;line-height:1.4;color:var(--ink);margin:0 0 9px}
.self-not-arrived>.field-help{margin-bottom:16px}
.self-not-arrived>.ark-action-button{min-height:46px;font-size:15px}
.admin-arrival-control{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;margin-bottom:14px;border:1px solid var(--accent-line);border-radius:11px;background:var(--accent-soft)}
.admin-arrival-control>span{font-size:13px;color:var(--ink);flex:none}
.admin-arrival-control>.ark-action-button{width:auto;min-height:40px;font-size:13px;padding:8px 10px}

/* Settings only: a spatial05–20 draft editor using the registered ARK0.5.2 palette. */
.action-hierarchy .drawer-settings .dialog{width:min(920px,100%);max-width:920px;height:min(780px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);min-height:0}
.action-hierarchy .drawer-settings .dialog-head{flex:none;padding:14px 18px;gap:10px}
.action-hierarchy .drawer-settings .dialog-head h2{font-size:18px;line-height:1.4}
.action-hierarchy .drawer-settings .dialog-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:12px 18px 0}
.action-hierarchy .drawer-settings .dialog-actions{display:flex;flex:none;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:var(--surface)}
.action-hierarchy .drawer-settings .dialog-actions>.ark-action-button{flex:1;width:auto;min-width:0;min-height:44px;font-size:14px;padding:10px 14px}
.drawer-settings .settings-nav{display:flex;flex:none;gap:5px;min-height:44px;padding:3px;margin:0 0 14px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--soft)}
.drawer-settings .settings-nav>button{flex:1;min-width:0;min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:var(--r-control);background:transparent;font-size:14px;line-height:1.35;color:var(--muted)}
.drawer-settings .settings-nav>button.active,.drawer-settings .settings-nav>button[aria-selected="true"],.drawer-settings .settings-nav>button[aria-pressed="true"]{border-color:var(--accent-line);background:var(--surface);color:var(--brand);font-weight:600}
.drawer-settings .settings-content{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:0 1px 16px;scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}
.drawer-settings .settings-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:20px;align-items:start;min-width:0}
.drawer-settings .settings-map-area{min-width:0}
.drawer-settings .settings-brushes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 14px}
.drawer-settings .settings-brushes>button{min-height:44px;min-width:0;padding:8px 5px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);font-size:13px;line-height:1.35;color:var(--text);text-align:center}
.drawer-settings .settings-brushes>button.active,.drawer-settings .settings-brushes>button[aria-pressed="true"]{border-color:var(--brand);background:var(--accent-soft);color:var(--brand);font-weight:600;box-shadow:inset 0 0 0 1px var(--accent-line)}
.drawer-settings .settings-floor-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:2px;min-width:0}
.drawer-settings .settings-hall{min-width:0}
.drawer-settings .settings-hall>h3{font-size:13px;line-height:1.4;text-align:center;color:var(--muted);font-weight:600;margin:0 0 8px}
.drawer-settings .settings-hall-courts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.drawer-settings .settings-map-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:62px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-align:center}
.drawer-settings .settings-map-tile>strong{align-self:flex-start;max-width:100%;font-size:16px;font-weight:650;line-height:20px;font-variant-numeric:tabular-nums}
.drawer-settings .settings-tile-use{display:block;max-width:100%;font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drawer-settings .settings-map-tile.advanced.enabled{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 45%,var(--line))}
.drawer-settings .settings-map-tile.beginner.enabled{background:var(--info-soft);border-color:color-mix(in srgb,var(--action-ink) 45%,var(--line))}
.drawer-settings .settings-map-tile.fixed.enabled{background:var(--soft);border-color:var(--line)}
.drawer-settings .settings-map-tile.disabled{background:var(--soft);border-style:solid;color:var(--muted)}
.drawer-settings .settings-map-tile.fixed .settings-tile-use{font-weight:600}
.drawer-settings .settings-map-tile.locked{border-color:var(--warning)}
.drawer-settings .settings-tile-lock{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;min-width:15px;min-height:15px;padding:1px 3px;border-radius:4px;background:var(--warning-soft);color:var(--warning);font-size:10px;font-style:normal;line-height:1.2}
.drawer-settings .settings-map-tile.dirty:after{content:'';position:absolute;left:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--brand);transform:translate(-50%,-50%)}
.drawer-settings .settings-map-tile.selected{outline:2px solid var(--brand);outline-offset:2px;border-color:var(--brand)}
.drawer-settings .settings-map-tile:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.drawer-settings .settings-map-tile[disabled],.drawer-settings .settings-choices>button[disabled],.drawer-settings .settings-brushes>button[disabled]{opacity:.52;cursor:not-allowed}
.drawer-settings .settings-court-panel{min-width:0;border:1px solid var(--line);border-radius:var(--r-panel);padding:16px;background:var(--surface)}
.drawer-settings .settings-court-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.drawer-settings .settings-court-heading h3,.drawer-settings .settings-court-heading>strong{font-size:18px;line-height:1.4;color:var(--ink);font-weight:600;margin:0}
.drawer-settings .settings-choice-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px;min-width:0}
.drawer-settings .settings-choice-row>label,.drawer-settings .settings-choice-row>span{font-size:13px;line-height:1.45;color:var(--muted)}
.drawer-settings .settings-choices{display:flex;align-items:stretch;gap:5px;min-width:0}
.drawer-settings .settings-choices>button{flex:1;min-width:0;min-height:40px;padding:8px 7px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-size:13px;line-height:1.35;text-align:center}
.drawer-settings .settings-choices>button.active,.drawer-settings .settings-choices>button[aria-pressed="true"]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--brand);font-weight:600}
.drawer-settings .settings-guard{padding:10px 11px;margin:12px 0 0;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:var(--r-control);background:var(--warning-soft);color:var(--warning);font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.drawer-settings .settings-court-guard{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:var(--space-related,8px)}
.drawer-settings .settings-end-court{flex:none;min-height:38px;padding:7px 12px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--surface);color:var(--action);font-size:13px;font-weight:600}
.drawer-settings .settings-end-court:disabled{opacity:.52}
.drawer-settings .settings-end-court:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.drawer-settings .settings-fixed-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}
.drawer-settings .settings-fixed-summary>button{width:auto;min-height:40px;padding:8px 10px;font-size:13px}
.drawer-settings .settings-fixed-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.drawer-settings .settings-fixed-people>*{min-width:0;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--soft);color:var(--text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.drawer-settings .settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.drawer-settings .settings-content>.field,.drawer-settings .settings-fields>.field{margin-bottom:18px}
.drawer-settings .field-label{font-size:13px;line-height:1.45}
.drawer-settings .field-control{min-height:44px;font-size:16px}
.drawer-settings .field-help{font-size:12px;line-height:1.55}
.drawer-settings .settings-demo-tools{margin-top:18px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--soft);font-size:13px}
.drawer-settings .settings-demo-tools>summary{padding:12px;cursor:pointer;color:var(--muted);font-weight:600;line-height:1.45}
.drawer-settings .settings-demo-tools>div{padding:0 12px 12px}
.drawer-settings .settings-demo-tools .sample-buttons{display:flex;flex-wrap:wrap;gap:8px}
.drawer-settings .settings-demo-tools button{min-height:40px;font-size:13px}
.drawer-settings .settings-fixed-view{height:100%;min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.drawer-settings .settings-content:has(>.settings-fixed-view){display:flex;flex-direction:column;overflow:hidden}
.drawer-settings .settings-fixed-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;min-width:0}
.drawer-settings .settings-fixed-heading h3{font-size:17px;line-height:1.4;color:var(--ink);margin:0}
.drawer-settings .settings-fixed-heading>button{flex:none;min-height:40px;font-size:13px;padding:8px 10px}
.drawer-settings .settings-fixed-view>.picker-selected{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;height:auto;min-height:32px;max-height:104px;flex:0 1 auto;padding:0;margin:0;overflow:auto}
.drawer-settings .settings-fixed-view .selected-person-chip{display:block;min-width:0;max-width:100%;min-height:32px;height:auto;padding:6px 8px;font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.drawer-settings .settings-fixed-view>.shared-modal-picker{display:flex;flex-direction:column;flex:1 1 180px;min-height:150px;height:auto;max-height:none;overflow:hidden}
.drawer-settings .settings-fixed-view .shared-modal-picker>.people-picker{flex:1;min-height:0;max-height:100%}
.drawer-settings .settings-fixed-view .pp-grid{min-height:54px;flex:1 1 auto;overflow:auto}
.drawer-settings .settings-conflict-view{min-width:0;display:flex;flex-direction:column;gap:12px}
.drawer-settings .settings-conflict-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}
.drawer-settings .settings-conflict-card h3,.drawer-settings .settings-conflict-card h4{font-size:14px;line-height:1.5;font-weight:600;color:var(--ink);margin:0 0 10px}
.drawer-settings .settings-conflict-card p{font-size:13px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.drawer-settings .settings-conflict-card .settings-choices{margin-top:10px}
.drawer-settings .settings-conflict-card .settings-choices>button{min-height:48px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){
  .action-hierarchy .drawer-settings{padding:8px}
  .action-hierarchy .drawer-settings .dialog{width:100%;max-width:none;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:15px}
  .action-hierarchy .drawer-settings .dialog-head{padding:12px 13px;gap:8px}
  .action-hierarchy .drawer-settings .dialog-body{padding:10px 11px 0}
  .action-hierarchy .drawer-settings .dialog-actions{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px}
  .drawer-settings .settings-nav{min-height:42px;margin-bottom:12px;padding:3px}
  .drawer-settings .settings-nav>button{min-height:34px;font-size:14px;padding:6px 10px}
  .drawer-settings .settings-workspace{grid-template-columns:minmax(0,1fr);gap:14px}
  .drawer-settings .settings-brushes{gap:5px;margin-bottom:10px}
  .drawer-settings .settings-brushes>button{min-height:44px;padding:7px 3px;font-size:13px}
  .drawer-settings .settings-floor-map{gap:10px;padding:2px}
  .drawer-settings .settings-hall>h3{font-size:12px;line-height:16px;margin-bottom:6px}
  .drawer-settings .settings-hall-courts{gap:6px}
  .drawer-settings .settings-map-tile{min-height:46px;padding:4px 5px;gap:1px;border-radius:8px}
  .drawer-settings .settings-map-tile>strong{font-size:14px;line-height:17px}
  .drawer-settings .settings-tile-use{font-size:12px;line-height:15px}
  .drawer-settings .settings-tile-lock{top:4px;right:4px;min-width:14px;min-height:14px;padding:1px 2px}
  .drawer-settings .settings-court-panel{padding:13px}
  .drawer-settings .settings-court-heading{margin-bottom:12px;padding-bottom:10px}
  .drawer-settings .settings-court-heading h3,.drawer-settings .settings-court-heading>strong{font-size:17px}
  .drawer-settings .settings-choice-row{grid-template-columns:52px minmax(0,1fr);gap:8px;margin-bottom:11px}
  .drawer-settings .settings-choices>button{min-height:42px;padding:8px 6px;font-size:13px}
  .drawer-settings .settings-fields{grid-template-columns:minmax(0,1fr);gap:0}
  .drawer-settings .settings-fixed-heading{gap:8px}
  .drawer-settings .settings-fixed-heading h3{font-size:16px}
  .drawer-settings .settings-fixed-view>.shared-modal-picker{min-height:150px}
  .drawer-settings .settings-conflict-card{padding:12px}
}
.drawer-settings .settings-map-summary{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
.drawer-settings .settings-sync-notice{flex:none;margin-bottom:12px;padding:12px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--info-soft);color:var(--ink);font-size:13px;line-height:1.5}
.drawer-settings .settings-sync-notice>strong{display:block;margin-bottom:8px;font-size:14px}
.drawer-settings .settings-court-heading>.text-button,.drawer-settings .settings-court-panel>.text-button{min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);color:var(--action);font-size:13px;line-height:1.4}
.drawer-settings .settings-court-panel>.text-button{margin-top:10px}
.drawer-settings .settings-court-heading>.text-button[disabled],.drawer-settings .settings-court-panel>.text-button[disabled]{opacity:.52}
.drawer-settings .settings-conflict-card .settings-choices>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;text-align:left}
.drawer-settings .settings-conflict-card .settings-choices>button>strong{font-size:13px;line-height:1.4;font-weight:600}
.drawer-settings .settings-conflict-card .settings-choices>button>span{display:block;font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.drawer-settings .settings-conflict-card .settings-choices>button.active>span{color:var(--text)}

/* Compact activity settings: editable details, paired numbers, and explicit arrival mode. */
.drawer-settings .settings-activity-view{display:flex;flex-direction:column;gap:12px;min-width:0}
.drawer-settings .settings-activity-view .settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}
.drawer-settings .settings-activity-view .settings-fields>.field{display:grid;grid-template-columns:98px minmax(0,1fr);align-items:center;gap:8px;min-width:0;margin:0}
.drawer-settings .settings-activity-view .settings-fields .field-label{min-width:0;font-size:13px;line-height:1.35;color:var(--muted)}
.drawer-settings .settings-activity-view .settings-fields .field-control{width:100%;min-width:0;min-height:44px;padding:7px 9px;font-size:16px}
.drawer-settings .settings-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.drawer-settings .settings-number-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0}
.drawer-settings .settings-number-field>.field-label{font-size:13px;line-height:1.4}
.drawer-settings .settings-number-input{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface)}
.drawer-settings .settings-number-input:focus-within{outline:2px solid var(--accent-line);outline-offset:1px}
.drawer-settings .settings-number-input>.field-control{flex:1;min-width:0;width:0;min-height:42px;padding:7px 0;border:0;outline:0;background:transparent;font-size:16px}
.drawer-settings .settings-number-unit{flex:none;font-size:13px;color:var(--muted)}
.drawer-settings .settings-arrival{min-width:0;margin:0;padding:0;border:0}
.drawer-settings .settings-arrival>legend{padding:0;margin:0 0 6px;color:var(--ink);font-size:13px;line-height:1.4;font-weight:600}
.drawer-settings .settings-arrival-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.drawer-settings .settings-arrival-option{display:flex;align-items:center;gap:7px;min-width:0;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-size:13px;line-height:1.35;cursor:pointer}
.drawer-settings .settings-arrival-option.selected{border-color:var(--accent-line);background:var(--accent-soft);color:var(--brand);font-weight:600;box-shadow:inset 0 0 0 1px var(--accent-line)}
.drawer-settings .settings-arrival-option:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.drawer-settings .settings-arrival-option input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--brand)}
.drawer-settings .settings-arrival-option span{min-width:0;overflow-wrap:anywhere}
.drawer-settings .settings-arrival-help{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.drawer-settings .settings-activity-view .settings-demo-tools{margin-top:0}
@media(min-width:721px){
  .action-hierarchy .drawer-settings .dialog:has(.settings-activity-view){height:auto;max-height:calc(100dvh - 48px)}
  .action-hierarchy .drawer-settings .dialog:has(.settings-activity-view) .dialog-body{flex:0 1 auto}
}
@media(max-width:720px){
  .drawer-settings .settings-activity-view{gap:10px}
  .drawer-settings .settings-activity-view .settings-fields{grid-template-columns:minmax(0,1fr);gap:6px;padding:9px}
  .drawer-settings .settings-activity-view .settings-fields>.field{grid-template-columns:98px minmax(0,1fr);gap:7px}
  .drawer-settings .settings-arrival-option{padding:7px 8px}
}
@media(max-width:720px) and (max-height:700px){
  .drawer-settings .settings-nav:has(+ .settings-content > .settings-activity-view){margin-bottom:8px}
  .drawer-settings .settings-activity-view{gap:6px}
  .drawer-settings .settings-activity-view .settings-fields{gap:2px;padding:5px 9px}
  .drawer-settings .settings-number-field{gap:3px}
}

/* One bounded main workspace; long work belongs to an explicit dialog. */
.main-no-scroll .v3-workspace{height:100%;grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.main-no-scroll .v3-work-area{align-self:start;width:100%;min-width:0;flex:none}
.main-no-scroll .v2-lower-content,.main-no-scroll .v2-player-content{overflow:visible;flex:none;min-height:0;padding-bottom:0}
.main-no-scroll .compact-court-editor{padding:13px;display:flex;flex-direction:column;gap:9px}
.main-no-scroll .compact-court-editor .editor-title{margin:0;min-height:31px;gap:7px;flex-wrap:nowrap;align-items:center}
.main-no-scroll .compact-court-editor .editor-court-identity{min-width:0;display:flex;flex-direction:column;gap:3px}
.main-no-scroll .compact-court-editor .editor-title h2{font-size:18px;line-height:1.2;white-space:nowrap}
.main-no-scroll .compact-court-editor .editor-court-status{font-size:12px;line-height:1.3;white-space:nowrap}
.main-no-scroll .compact-court-editor .court-more-button{margin-left:auto;flex:none;min-height:36px;font-size:12px;padding:7px 9px}
.main-no-scroll .court-summary-button{display:flex;align-items:center;justify-content:flex-start;min-height:34px;padding:7px 10px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:10px;color:var(--brand);font-size:13px;line-height:1.35;text-align:left;white-space:nowrap}
.main-no-scroll .court-primary-actions{display:flex;gap:8px;margin:0}
.main-no-scroll .court-primary-actions>.ark-action-button{flex:1;min-width:0;min-height:42px;padding:9px 12px;font-size:14px}
.main-no-scroll .tile-number{flex:none}
.main-no-scroll .tile-status{font-variant-numeric:tabular-nums}
.main-no-scroll .compact-login{display:flex;flex-direction:column;gap:10px;padding:14px}
.main-no-scroll .compact-login h2{font-size:18px;line-height:1.3;margin:0}
.main-no-scroll .compact-login>.ark-action-button{min-height:44px;font-size:14px}
.main-no-scroll .compact-login>.context-button{margin:0;min-height:34px}
.main-no-scroll .player-personal{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;max-width:640px;margin:0 auto;gap:10px}
.main-no-scroll .player-personal .v2-player-lower{height:auto;flex:none;overflow:visible}
.main-no-scroll .player-personal .compact-self{padding:16px;display:flex;flex-direction:column;gap:0}
.main-no-scroll .player-personal .self-identity{margin-bottom:14px;min-width:0}
.main-no-scroll .self-identity strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.4}
.main-no-scroll .self-identity>div>span{line-height:1.4}
.main-no-scroll .self-court>strong{font-size:25px;line-height:1.3}
.main-no-scroll .self-court>.context-button{min-height:36px;margin-top:8px;font-size:13px}
.main-no-scroll .self-match-actions{margin-top:10px;flex-wrap:nowrap}
.main-no-scroll .self-match-actions>.ark-action-button{min-width:0;min-height:42px;font-size:13px;padding:9px 8px}
.main-no-scroll .self-contact-actions{margin-top:14px;padding-top:14px;gap:8px}
.main-no-scroll .self-contact-actions>.purpose-button{min-height:44px;font-size:13px;padding:8px 6px;gap:6px}
.main-no-scroll .self-utility-actions{margin-top:9px;gap:7px;flex-wrap:nowrap}
.main-no-scroll .self-utility-actions>.context-button{min-height:36px;font-size:13px}
.main-no-scroll .self-queued,.main-no-scroll .self-paused{padding:13px}
.main-no-scroll .self-queued>.context-button{display:block;min-height:34px;font-size:13px;margin:6px 0 0}
.main-no-scroll .self-queued>.ark-action-button,.main-no-scroll .self-paused>.ark-action-button{margin-top:10px;min-height:42px}
.main-no-scroll .self-waiting h2,.main-no-scroll .self-fixed h2,.main-no-scroll .self-excluded h2,.main-no-scroll .unclaimed-self h2{font-size:20px;line-height:1.4;margin:0 0 10px}
.main-no-scroll .self-wait-summary{padding:12px;gap:8px;font-size:13px}
.main-no-scroll .self-wait-summary b{font-size:21px}
.main-no-scroll .unclaimed-self>.ark-action-button{min-height:44px;font-size:14px;margin:12px 0}
.main-no-scroll .unclaimed-self>.context-button{min-height:36px;font-size:13px}
.main-no-scroll .player-board .v2-player-lower{height:auto;min-height:0;align-self:start}
.main-no-scroll .public-court-editor{gap:8px}
.main-no-scroll .public-court-editor .court-summary-button{min-height:36px}

/* Dialog body owns long content; no compressed workbench is left behind. */
.main-no-scroll .personal-sheet:not(.drawer-settings){padding:8px;align-items:center}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog{width:min(680px,100%);max-width:680px;max-height:calc(100dvh - 16px);border-radius:16px;display:flex;padding:0;position:relative}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-head{display:flex;flex:none;padding:14px 16px;gap:10px;align-items:center}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-title-copy{display:block;min-width:0}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-head h2{font-size:18px;line-height:1.4}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-head p{display:block;font-size:12px;line-height:1.5;margin-top:5px}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-head>.icon-button{min-width:32px;min-height:32px;width:32px;height:32px;flex:none;position:static}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-body{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 16px;overscroll-behavior:contain}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-actions{display:flex;flex:none;padding:12px 16px;gap:8px;align-items:stretch}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-actions>.ark-action-button{width:auto;flex:1;min-width:0;min-height:44px;height:auto;font-size:14px;padding:10px 12px}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-actions>.context-button{min-height:44px;font-size:13px}
.main-no-scroll .personal-sheet:not(.drawer-settings) .shared-modal-picker,.main-no-scroll .personal-sheet:not(.drawer-settings) .shared-claim-panel.in-dialog{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;flex:none;overflow:visible}
.main-no-scroll .personal-sheet:not(.drawer-settings) .people-picker{display:flex;min-height:0;max-height:none;flex:none;overflow:visible}
.main-no-scroll .personal-sheet:not(.drawer-settings) .pp-controls{display:block;position:static;flex:none;background:var(--surface)}
.main-no-scroll .personal-sheet:not(.drawer-settings) .pp-search-row{display:flex;position:static}
.main-no-scroll .personal-sheet.drawer-all-players .pp-directory-search-row{position:relative;z-index:3}
.main-no-scroll .personal-sheet:not(.drawer-settings) .pp-grid{display:grid;flex:none;overflow:visible;min-height:54px;max-height:none}
.main-no-scroll .personal-sheet:not(.drawer-settings) .pp-pagination{position:static;display:flex;flex:none;min-height:34px;height:34px;margin-top:6px}
.main-no-scroll .personal-sheet:not(.drawer-settings) .pp-pagination>button{min-height:32px;height:32px}
.main-no-scroll .personal-sheet:not(.drawer-settings) .picker-selected{display:flex;position:static;flex:none;flex-wrap:wrap;gap:6px;height:auto;min-height:30px;max-height:none;padding:0;margin:8px 0 12px;overflow:visible}
.main-no-scroll .personal-sheet:not(.drawer-settings) .selected-person-chip{min-height:30px;height:auto;font-size:13px;line-height:1.4;padding:5px 8px;white-space:normal;overflow-wrap:anywhere}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-body>.field{position:static;left:auto;bottom:auto;width:auto;margin:0 0 12px;padding:0}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-body>.field>.field-label{display:block}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-body>.field>.field-control{font-size:16px;height:auto;min-height:42px;padding:8px 10px}
.main-no-scroll .drawer-pick-next .dialog,.main-no-scroll .drawer-claim .dialog,.main-no-scroll .drawer-roster .dialog,.main-no-scroll .drawer-group .dialog,.main-no-scroll .drawer-all-players .dialog,.main-no-scroll .drawer-requests .dialog{height:min(760px,calc(100dvh - 16px))}
.main-no-scroll .pick-next-content{display:flex;flex-direction:column;min-width:0}
.main-no-scroll .pick-next-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;color:var(--muted);font-size:13px}
.main-no-scroll .pick-next-toolbar>.context-button{min-height:36px;padding:7px 10px;font-size:13px;flex:none}
.main-no-scroll .drawer-requests .requests-panel{display:block;border:0;box-shadow:none;padding:0;overflow:visible}
.main-no-scroll .drawer-requests .requests-panel>.panel-heading,.main-no-scroll .drawer-requests .request-help{display:none}
.main-no-scroll .drawer-requests .request-tabs{position:sticky;top:0;z-index:4;background:var(--surface);margin:0 0 12px;min-height:40px}
.main-no-scroll .drawer-requests .request-tabs>button{min-height:36px;font-size:13px}
.main-no-scroll .drawer-requests .request-list{display:block;overflow:visible;max-height:none;min-height:0;padding:0}
.main-no-scroll .drawer-requests .request-card{margin:0 0 12px}
.main-no-scroll .request-modal-links{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.main-no-scroll .request-modal-links>.context-button{min-height:36px;font-size:13px;padding:7px 10px}
.main-no-scroll .court-list-section+.court-list-section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.main-no-scroll .court-list-section h3{font-size:15px;line-height:1.5;margin:0 0 12px;color:var(--ink)}
.main-no-scroll .court-list-section .full-name-list{display:flex;flex-wrap:wrap;gap:8px}
.main-no-scroll .court-list-section .full-name-list>span{max-width:100%;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.main-no-scroll .court-list-section .published-next{display:flex;flex-direction:column;gap:8px}
.main-no-scroll .court-list-section .published-person{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px}
.main-no-scroll .court-list-section .published-person>span{min-width:0;overflow-wrap:anywhere;font-size:14px}
.main-no-scroll .court-list-section .published-person>.context-button{flex:none;min-height:40px;font-size:13px}
.main-no-scroll .notice-wrap.compact-notice{position:relative;order:3;flex:none;left:auto;right:auto;top:auto;bottom:auto;width:calc(100% - 16px);max-width:520px;min-height:32px;margin:0 auto 4px;transform:none;pointer-events:auto;z-index:auto;max-height:none;overflow:visible;display:flex;align-items:center;gap:8px;padding:0 4px;background:var(--surface);border:1px solid var(--accent-line);border-radius:11px;box-shadow:var(--shadow);color:var(--ink);font-size:13px}
.main-no-scroll .compact-notice>span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.main-no-scroll .compact-notice>.context-button{min-height:30px;padding:5px 8px;font-size:12px;flex:none}
.main-no-scroll .compact-notice>.icon-button{width:28px;min-height:28px;height:28px;padding:4px;flex:none}
@media(max-width:1120px){
  .main-no-scroll .v3-workspace{display:flex;flex-direction:column;gap:6px;padding:5px 8px 7px;align-items:stretch}
  .main-no-scroll .v3-work-area{flex:none;align-self:stretch}
  .main-no-scroll .compact-court-editor{padding:8px 10px;gap:6px}
  .main-no-scroll .compact-court-editor .editor-title{min-height:29px}
  .main-no-scroll .compact-court-editor .editor-court-identity{flex-direction:row;align-items:baseline;gap:8px}
  .main-no-scroll .compact-court-editor .editor-title h2{font-size:17px}
  .main-no-scroll .compact-court-editor .editor-court-status{font-size:12px}
  .main-no-scroll .compact-court-editor .court-more-button{min-height:32px;padding:6px 8px;font-size:12px}
  .main-no-scroll .court-summary-button{min-height:30px;padding:5px 8px;font-size:12px}
  .main-no-scroll .court-primary-actions>.ark-action-button{min-height:40px;padding:8px 12px;font-size:14px}
  .main-no-scroll .player-board{justify-content:flex-start;padding:5px 8px 7px;gap:6px}
  .main-no-scroll .v2-player .player-primary-nav{width:100%;min-height:38px;padding:2px}
  .main-no-scroll .v2-player .player-primary-nav>.plain-button{min-height:32px;padding:6px 10px;font-size:14px}
  .main-no-scroll .player-board .public-court-editor{padding:7px 10px;gap:5px}
  .main-no-scroll .player-personal{padding:5px 8px 7px;gap:8px}
  .main-no-scroll .player-personal .compact-self{padding:14px}
}
@media(max-width:370px) and (max-height:650px){
  .main-no-scroll .compact-court-editor{padding:6px 8px;gap:5px}
  .main-no-scroll .compact-court-editor .editor-title{min-height:27px}
  .main-no-scroll .compact-court-editor .editor-court-identity{gap:6px}
  .main-no-scroll .compact-court-editor .editor-court-status{font-size:11px}
  .main-no-scroll .compact-court-editor .editor-title h2{font-size:16px}
  .main-no-scroll .court-summary-button{min-height:28px;padding:5px 7px}
  .main-no-scroll .player-personal{padding:5px 8px 7px;gap:7px}
  .main-no-scroll .player-personal .compact-self{padding:12px}
  .main-no-scroll .self-contact-actions{padding-top:11px;margin-top:12px}
  .main-no-scroll .self-queued,.main-no-scroll .self-paused{padding:11px}
  .main-no-scroll .self-wait-summary{padding:10px}
}
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog-head>.icon-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;margin:-6px -6px -6px 0}
.main-no-scroll .dialog-feedback{margin-bottom:14px}
.main-no-scroll .dialog-feedback>.context-button{min-height:40px;margin-top:8px;font-size:13px;padding:8px 12px}
.main-no-scroll .court-summary-static{display:flex;align-items:center;min-height:30px;padding:5px 0;font-size:13px;line-height:1.4;color:var(--muted)}
.main-no-scroll .modal-backdrop .dialog-head>.icon-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;margin:-6px -6px -6px 0}

@media(max-width:1120px){.main-no-scroll.has-notice .v3-workspace,.main-no-scroll.has-notice .player-board{gap:4px;padding-bottom:0}}
.main-no-scroll .dialog-feedback-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.main-no-scroll .dialog-feedback-controls>.context-button{min-height:40px;font-size:13px;padding:8px 12px}
@media(max-width:1120px){.main-no-scroll.has-notice .compact-court-editor{padding-top:3px;padding-bottom:3px;gap:3px}}
.main-no-scroll .roster-reconcile{padding:12px;margin-bottom:14px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);color:var(--ink)}
.main-no-scroll .roster-reconcile>strong{display:block;font-size:14px;line-height:1.5;margin-bottom:7px}
.main-no-scroll .roster-reconcile p{font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:5px 0}
.main-no-scroll .roster-reconcile .context-button{min-height:40px;padding:8px 10px;font-size:13px;margin-top:7px}

/* A queued record opens its existing profile; attendance changes live inside. */
.main-no-scroll .court-list-section .queue-person-card{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:10px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);text-align:left;color:var(--ink)}
.main-no-scroll .court-list-section .queue-person-card:hover{border-color:var(--brand)}
.main-no-scroll .court-list-section .queue-person-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.main-no-scroll .court-list-section .queue-person-card>.avatar,.main-no-scroll .court-list-section .queue-person-readonly>.avatar{flex:none;width:32px;height:32px;overflow:visible}
.main-no-scroll .court-list-section .published-person>.queued-person-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px;overflow:visible;white-space:normal;text-overflow:clip}
.main-no-scroll .queued-person-copy>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:3em;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}
.main-no-scroll .queued-person-copy>small{font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.main-no-scroll .court-list-section .published-person>.queued-record-code{flex:0 1 auto;max-width:35%;font-size:11px;line-height:1.45;color:var(--brand);border:1px solid var(--accent-line);border-radius:6px;background:var(--surface);padding:3px 5px;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.main-no-scroll .queued-person-chevron{width:16px;height:16px;flex:none;color:var(--brand)}
.main-no-scroll .player-info-identity{display:flex;align-items:center;gap:12px;margin-bottom:18px;min-width:0}
.main-no-scroll .player-info-identity>.avatar{flex:none}
.main-no-scroll .player-info-identity>div{min-width:0;display:flex;flex-direction:column;gap:6px}
.main-no-scroll .player-info-identity h3{font-size:18px;line-height:1.5;overflow-wrap:anywhere;color:var(--ink);font-weight:600;margin:0}
.main-no-scroll .player-info-identity>div>span{font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.main-no-scroll .player-basic-info{margin:0 0 14px}
.main-no-scroll .player-basic-info>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.main-no-scroll .player-basic-info dt{font-size:13px;color:var(--muted);line-height:1.55}
.main-no-scroll .player-basic-info dd{font-size:14px;line-height:1.55;color:var(--ink);margin:0;overflow-wrap:anywhere}
.main-no-scroll .player-secondary-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.main-no-scroll .player-secondary-actions h3{font-size:13px;line-height:1.5;font-weight:500;color:var(--muted);margin:0 0 10px}
.main-no-scroll .player-secondary-actions>.context-button,.main-no-scroll .player-secondary-actions>.ark-action-button{min-height:42px;width:auto;padding:9px 13px;font-size:13px}
.main-no-scroll .player-secondary-actions>.field-help{margin-top:8px}
.main-no-scroll .player-arrangement-changed{padding:11px 12px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);font-size:13px;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
.main-no-scroll .player-arrangement-changed>span{display:block;font-size:12px;margin-top:5px;color:var(--muted)}

/* Only staff next-group picks need a bounded, distinguishable selected roster. */
.main-no-scroll .drawer-pick-next .pick-next-content>.picker-selected{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;max-height:none;overflow:visible}
.main-no-scroll .drawer-pick-next .pick-next-content>.picker-selected>.selected-person-chip{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;min-width:0;max-width:100%;min-height:36px;height:auto;padding:6px 8px;text-align:left;font-size:13px;line-height:1.4}
.main-no-scroll .drawer-pick-next .pick-next-content>.picker-selected>.retained-person{border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.main-no-scroll .drawer-pick-next .pick-selected-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.main-no-scroll .drawer-pick-next .pick-selected-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.8em;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.main-no-scroll .drawer-pick-next .pick-selected-code{display:block;font-size:11px;line-height:1.4;color:var(--brand);overflow-wrap:anywhere;white-space:normal}
.main-no-scroll .drawer-pick-next .pick-selected-remove{flex:none;font-size:16px;line-height:18px;color:var(--brand)}
.main-no-scroll .drawer-pick-next .pick-selected-empty{grid-column:1/-1;font-size:13px;line-height:1.5}

/* Import review keeps the source, decisions and final commit separate. */
.drawer-import .import-paste .field{margin:0}.drawer-import .import-paste textarea{width:100%;resize:vertical;min-height:180px}.drawer-import .import-review{display:flex;flex-direction:column;gap:9px;min-width:0}.drawer-import .import-review-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drawer-import .import-review-summary strong{font-size:15px;color:var(--ink)}.drawer-import .import-review-summary>span{color:var(--muted);font-size:13px}.drawer-import .import-review-summary>.context-button{margin-left:auto;min-height:36px}.drawer-import .import-filter{display:flex;gap:5px;flex-wrap:wrap}.drawer-import .import-filter button,.drawer-import .import-decision,.drawer-import .import-edit,.drawer-import .import-pages button{border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);color:var(--ink);min-height:36px;padding:6px 10px;font-size:13px}.drawer-import .import-filter button.selected,.drawer-import .import-decision.selected{background:var(--accent-soft);border-color:var(--accent-line);color:var(--brand);font-weight:600}.drawer-import .import-rows{display:flex;flex-direction:column;gap:7px}.drawer-import .import-row{padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface)}.drawer-import .import-row.needs-review{border-color:var(--accent-line)}.drawer-import .import-row-head,.drawer-import .import-row-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-import .import-row-name{display:flex;flex:1;align-items:baseline;gap:7px;min-width:0}.drawer-import .import-row-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:14px}.drawer-import .import-row-name span,.drawer-import .import-review-state{flex:none;color:var(--muted);font-size:12px}.drawer-import .import-issues,.drawer-import .import-matches,.drawer-import .import-warning,.drawer-import .import-stale,.drawer-import .import-result{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.drawer-import .import-issues,.drawer-import .import-warning{color:var(--ink);margin:5px 0}.drawer-import .import-matches,.drawer-import .import-source{color:var(--muted);margin:5px 0}.drawer-import .import-row-actions{margin-top:6px}.drawer-import .import-row-actions>div{display:flex;gap:5px}.drawer-import .import-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.drawer-import .import-field{display:flex;flex-direction:column;gap:3px;min-width:0;color:var(--muted);font-size:12px}.drawer-import .import-field input,.drawer-import .import-field select{width:100%;min-width:0;min-height:40px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);font-size:16px;color:var(--ink)}.drawer-import .import-source{grid-column:1/-1;font-size:12px;overflow-wrap:anywhere}.drawer-import .import-pages{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--muted);font-size:13px}.drawer-import .import-pages>span:first-child{margin-right:auto}.drawer-import .import-pages button{min-width:36px}.drawer-import .import-stale,.drawer-import .import-result{padding:8px 10px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);color:var(--ink)}.drawer-import .import-stale{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-import .import-stale>.context-button{min-height:36px;white-space:nowrap}.drawer-import .import-ignored{border-top:1px solid var(--line);padding-top:7px;font-size:12px;color:var(--muted)}.drawer-import .import-ignored summary{cursor:pointer}.drawer-import .import-ignored p{margin:5px 0;overflow-wrap:anywhere}
.drawer-import .import-counts{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.drawer-import .import-row-compact{display:flex;align-items:center;gap:6px;padding:5px 8px;min-height:46px}.drawer-import .import-row-compact .import-row-name{gap:5px}.drawer-import .import-row-compact .import-edit,.drawer-import .import-row-compact .import-decision{min-height:34px;padding:5px 7px}.drawer-import .import-row-compact .import-row-name span{white-space:nowrap}
.drawer-import .import-warning.important{padding:8px 10px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);color:var(--ink)}.drawer-import .import-warning.important strong,.drawer-import .import-warning.important span{display:block}.drawer-import .import-warning.important span{margin-top:3px}.drawer-import .import-unrecognized{padding:8px 10px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--surface);font-size:12px;color:var(--ink)}.drawer-import .import-unrecognized summary{cursor:pointer;font-weight:600}.drawer-import .import-unrecognized p{margin:5px 0;overflow-wrap:anywhere}.drawer-import .import-complete{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ink)}.drawer-import .import-complete h3{font-size:17px}.drawer-import .import-complete p{font-size:13px}.drawer-import .import-paste>.import-result{margin-bottom:10px}

/* The two halls share a wall with a passage at either end. */
.fixed-map,.drawer-settings .settings-floor-map{position:relative}
.fixed-map::after,.drawer-settings .settings-floor-map::after{content:'';position:absolute;left:50%;top:22%;bottom:15%;width:2px;transform:translateX(-50%);border-radius:2px;background:var(--muted);opacity:.55;pointer-events:none}

/* The next-group picker scrolls as one continuous list; search and actions stay put. */
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-body{display:flex;flex-direction:column;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-pick-next .pick-next-content{flex:1 1 auto;min-height:0;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-pick-next .shared-modal-picker{flex:1 1 auto;min-height:0;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-pick-next .people-picker{flex:1 1 auto;min-height:0;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-pick-next .pp-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;grid-auto-rows:minmax(54px,max-content)}
.main-no-scroll .personal-sheet.drawer-pick-next .pp-admin-variant .pp-name-continuous{display:flex;max-width:100%;min-width:0}
.main-no-scroll .personal-sheet.drawer-pick-next .pp-name-head{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-pick-next .pp-name-tail{flex:none;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-pick-next .pick-next-replace-note{margin:0;color:var(--muted);font-size:12px;line-height:1.35}
.main-no-scroll .court-roster-person.court-roster-vacancy{border-color:var(--accent-line);background:var(--accent-soft);color:var(--brand);font-weight:600}

/* Current and next group stay visible together in the selected-court workspace. */
.main-no-scroll .court-roster-overview{display:flex;flex-direction:column;gap:4px;min-width:0}
.main-no-scroll .court-roster-row{display:grid;grid-template-columns:42px repeat(4,minmax(0,1fr));gap:4px;align-items:stretch;min-width:0}
.main-no-scroll .court-roster-label{display:flex;align-items:center;justify-content:flex-start;min-width:0;padding:0;color:var(--muted);font-size:12px;white-space:nowrap}
.main-no-scroll .roster-list-link{border:0;background:none;color:var(--brand);font-weight:600;cursor:pointer}
.main-no-scroll .court-roster-person{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:31px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.15;cursor:pointer}
.main-no-scroll .is-next .court-roster-person{background:var(--accent-soft);border-color:var(--accent-line)}
.main-no-scroll .court-roster-person.is-placeholder{color:var(--muted);cursor:default;background:var(--soft)}
.main-no-scroll .court-roster-name{display:flex;min-width:0;max-width:100%}
.main-no-scroll .court-roster-name-head{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .court-roster-name-tail{flex:none;white-space:nowrap}
.main-no-scroll .court-roster-code{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand);font-size:9px;line-height:1.1}
.main-no-scroll .court-roster-person:focus-visible,.main-no-scroll .roster-list-link:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
@media(max-width:370px) and (max-height:650px){
  .main-no-scroll .v2-map-panel .court-tile{height:78px;min-height:78px}
  .main-no-scroll .v2-map-panel .tile-current-name{line-height:13px}
  .main-no-scroll .compact-court-editor:has(.court-roster-overview){padding-top:3px;padding-bottom:3px;gap:3px}
  .main-no-scroll .court-roster-row{grid-template-columns:38px repeat(4,minmax(0,1fr));gap:3px}
  .main-no-scroll .court-roster-person{min-height:30px;font-size:12px;padding:2px}
  .main-no-scroll .court-roster-label{font-size:11px}
}

/* Player overview: status first; all help actions use the same tap target. */
.main-no-scroll .self-queue-status{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--success) 23%,var(--line));border-radius:var(--r-control);background:var(--success-soft);color:var(--success)}
.main-no-scroll .self-queue-status.is-offline{border-color:var(--line);background:var(--soft);color:var(--muted)}
.main-no-scroll .self-queue-icon{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--success);color:var(--surface)}
.main-no-scroll .is-offline .self-queue-icon{background:var(--muted)}
.main-no-scroll .self-queue-icon .icon{width:18px;height:18px}
.main-no-scroll .self-queue-copy{display:flex;min-width:0;flex-direction:column;gap:1px;line-height:1.35}
.main-no-scroll .self-queue-copy strong{font-size:16px;font-weight:650;color:inherit}
.main-no-scroll .self-queue-copy span{font-size:12px;color:inherit}

/* The share action copies the image; the address has its own nearby action. */
.share-url-field{min-width:0}
.share-url-row{display:flex;align-items:stretch;gap:8px;min-width:0}
.share-url-row>.field-control{flex:1 1 auto;min-width:0;width:0;min-height:44px;font-size:16px}
.share-url-row>.share-copy-url{flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:var(--r-control,12px);background:var(--surface);color:var(--action)}
.share-url-row>.share-copy-url .icon{width:20px;height:20px}
.share-copy-feedback:empty{display:none}
.share-copy-feedback{font-size:12px;color:var(--action)}
.main-no-scroll .drawer-share .dialog-actions{flex-direction:column}
.share-qr-fallback{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-control,12px);background:var(--soft);color:var(--text);font-size:12px;line-height:1.5}
.share-save-qr{flex:none;display:inline-flex;align-items:center;min-height:44px;color:var(--action);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.main-no-scroll .self-waiting .self-wait-summary{margin:8px 0 0}
.main-no-scroll .self-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.main-no-scroll .self-contact-actions>.purpose-button{width:100%;min-height:44px;margin:0}
.main-no-scroll .self-contact-actions>.purpose-button:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:370px) and (max-height:650px){
  .main-no-scroll .self-queue-status{min-height:52px;padding:7px 9px;gap:8px}
  .main-no-scroll .self-queue-icon{width:28px;height:28px}
  .main-no-scroll .self-queue-copy strong{font-size:15px}
  .main-no-scroll .self-queue-copy span{font-size:11px}
  .main-no-scroll .self-waiting .self-wait-summary{margin-top:6px}
}

/* In the next-group top-up, all frequent actions stay near the thumb. */
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions.topup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions.topup-actions>.topup-suggest{grid-column:1/-1;min-height:40px}
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions.topup-actions>.ark-action-button{width:100%}
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions.topup-actions>.ark-action-button:last-child:nth-child(2){grid-column:1/-1}

/* The vacancy picker keeps the list continuous and the two actions reachable. */
.main-no-scroll .personal-sheet.drawer-roster.roster-vacancy:not(.roster-review) .dialog-body{display:flex;flex-direction:column;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-roster.roster-vacancy:not(.roster-review) .shared-modal-picker{flex:1 1 auto;min-height:0;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-roster.roster-vacancy:not(.roster-review) .people-picker{flex:1 1 auto;min-height:0;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-roster.roster-vacancy:not(.roster-review) .pp-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;grid-auto-rows:minmax(54px,max-content)}

.topup-suggest-feedback{min-width:0;text-align:right;color:var(--muted);font-size:12px;line-height:1.35}

/* Resolved operational records stay within the existing requests history. */
.main-no-scroll .drawer-requests .operation-detail{display:flex;flex-direction:column;gap:5px;min-width:0}
.main-no-scroll .drawer-requests .operation-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font-size:14px}
.main-no-scroll .drawer-requests .operation-detail-head strong{min-width:0;overflow-wrap:anywhere}
.main-no-scroll .drawer-requests .operation-court,.main-no-scroll .drawer-requests .operation-change{color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.main-no-scroll .drawer-requests .operation-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.main-no-scroll .drawer-requests .operation-missing{color:var(--muted);font-size:12px;line-height:1.4}
.main-no-scroll .drawer-requests .operation-detail.is-embedded{margin-top:10px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface)}

/* Roster editing: give each control its own space; keep selection and search visible.
   Repeated class matches the older vacancy-only selector without !important. */
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .dialog-body {
  display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch; padding:14px 16px 18px;
}
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .dialog-body > .field { margin:0 0 12px; }
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .dialog-body > .context-button {
  display:inline-flex; min-height:44px; max-width:100%; height:auto; margin:0 0 12px;
}
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .vacancy-details { margin:0 0 12px; }
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .dialog-body > .picker-selected {
  display:flex; flex-wrap:wrap; gap:8px; width:100%; height:auto; min-height:0; max-height:none;
  overflow:visible; margin:0 0 12px !important; padding:0;
}
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .picker-selected > .selected-person-chip {
  min-width:0; max-width:100%; min-height:44px; height:auto; padding:8px 10px;
  white-space:normal; overflow-wrap:anywhere; text-align:left; line-height:1.4;
}
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .shared-modal-picker,
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .people-picker {
  display:flex; flex-direction:column; height:auto; min-height:0; max-height:none; overflow:visible;
}
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .shared-modal-picker { flex:1 0 150px; }
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .people-picker { flex:1 1 auto; }
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .pp-controls {
  display:block; position:static; z-index:3; flex:none;
  padding:5px 4px 10px; margin:0 -4px; background:var(--surface);
}
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .pp-search-row { display:flex; position:static; margin:0; }
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .pp-search { min-height:44px; height:auto; }
.main-no-scroll .personal-sheet.drawer-roster.drawer-roster:not(.roster-review) .pp-grid {
  display:grid; flex:1 1 auto; min-height:54px; height:auto; max-height:none; overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch; grid-auto-rows:minmax(54px,max-content); align-content:start;
}
.main-no-scroll .personal-sheet.drawer-roster .pp-name-continuous{display:flex;max-width:100%;min-width:0}
.main-no-scroll .personal-sheet.drawer-roster .pp-name-head{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-roster .pp-name-tail{flex:none;white-space:nowrap}

/* Player-owned pause stays beside the actual queue state. */
.main-no-scroll .self-queue-copy{flex:1 1 auto}
.main-no-scroll .self-pause-button{flex:none;min-height:44px;min-width:76px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--line));border-radius:var(--r-control,12px);background:var(--surface);color:var(--success);font-size:13px;font-weight:600;white-space:nowrap}
.main-no-scroll .self-pause-button:focus-visible{outline:2px solid var(--action);outline-offset:2px}
.main-no-scroll .self-pause-button:disabled{opacity:.55}
.main-no-scroll .self-paused-by-player{background:var(--soft);border:1px solid var(--line)}
.main-no-scroll .self-paused-by-player>.ark-action-button{width:100%}

.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions:has(.topup-suggest){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions:has(.topup-suggest)>.topup-suggest{grid-column:1/-1;min-height:40px}
.main-no-scroll .personal-sheet.drawer-pick-next .dialog-actions:has(.topup-suggest)>.ark-action-button{width:100%}
.direct-turnover-review{display:grid;gap:14px;line-height:1.5}
.absent-player-list{display:grid;gap:8px}
.absent-player-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:var(--r-control,12px);background:var(--soft)}
.absent-player-row>span{min-width:0;overflow-wrap:anywhere}
.absent-player-row>.context-button{flex:none;min-height:44px}

.main-no-scroll .compact-court-editor .court-edit-button,
.main-no-scroll .compact-court-editor .court-undo-button{flex:none;min-height:32px;padding:6px 8px;font-size:12px}
.main-no-scroll .compact-court-editor .court-more-button{margin-left:0}
.main-no-scroll .compact-court-editor .editor-court-identity{flex:1;min-width:0}
.main-no-scroll .compact-court-editor .editor-court-status{overflow:hidden;text-overflow:ellipsis}
.main-no-scroll .court-roster-unknown{border-color:var(--accent-line);color:var(--action);background:var(--accent-soft)}
.settings-court-timing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.settings-court-timing>*{min-width:0}
@media(max-width:370px){.settings-court-timing{grid-template-columns:1fr;gap:8px}}
.main-no-scroll .personal-sheet.drawer-replace-player .dialog-body{display:flex;flex-direction:column;overflow:auto}
.main-no-scroll .personal-sheet.drawer-replace-player .shared-modal-picker{flex:1 1 auto;min-height:0}

/* Shared icon roles: 16px inline, 18px menu, 24px identity, 14px trailing. */
.main-no-scroll .icon{width:16px;height:16px}
.main-no-scroll .profile-entry-icon>.icon{width:18px;height:18px}
.main-no-scroll .profile-identity-symbol>.icon,
.main-no-scroll .profile-trigger>.icon{width:24px;height:24px}
.main-no-scroll .profile-entry-chevron{width:14px;height:14px}
.main-no-scroll .self-queue-icon .icon,
.main-no-scroll .share-url-row>.share-copy-url .icon,
.main-no-scroll .purpose-button>.icon,
.main-no-scroll .selection-check .icon,
.main-no-scroll .toolbar-button .icon,
.main-no-scroll .text-button .icon,
.main-no-scroll .elapsed .icon{width:16px;height:16px}

/* Matching line icons retain the existing semantic colours and hit areas. */
.ui-icon{display:inline-block;flex:none;width:16px;height:16px;vertical-align:middle}
.main-no-scroll .people-picker .pp-selected{width:15px;height:15px}
.main-no-scroll .people-picker .pp-favorite .pp-favorite-icon{width:19px;height:19px}
.main-no-scroll .people-picker .pp-pagination .pp-page-icon{width:18px;height:18px}
.main-no-scroll .people-picker .pp-filter-chevron{width:14px;height:14px}
.main-no-scroll .pick-selected-remove,.main-no-scroll .chip-remove-icon{width:14px;height:14px;flex:none}
.selected-person-chip{gap:5px}
.icon-star-fill{fill:currentColor}
.avatar i>.icon-star-fill{width:9px;height:9px}
.court-roster-label>.icon{width:12px;height:12px}
.court-roster-vacancy>.icon{width:12px;height:12px}
.import-pages button>.icon{width:18px;height:18px}

/* Expert is a compact identity marker, with space kept for name endings. */
.v3-ui .tile-current-name>.court-expert-star,
.main-no-scroll .court-roster-name>.court-expert-star{display:inline-flex;align-items:center;justify-content:center;flex:0 0 10px;width:10px;height:10px;margin-left:2px;align-self:center}
.v3-ui .tile-current-name>.court-expert-star>.icon,
.main-no-scroll .court-roster-name>.court-expert-star>.icon{display:block;width:10px;height:10px;flex:none}
.v3-ui .tile-current-name>.court-expert-star{color:inherit}
.main-no-scroll .court-roster-name>.court-expert-star{color:var(--warning)}

/* The directory is one continuously scrollable list with stable search and filter controls. */
.main-no-scroll .personal-sheet.drawer-all-players .dialog-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.main-no-scroll .personal-sheet.drawer-all-players .shared-modal-picker{display:flex;flex:1 1 auto;min-height:0;overflow:visible}
.main-no-scroll .personal-sheet.drawer-all-players .people-picker{display:flex;flex:1 1 auto;min-height:0;overflow:visible}
.main-no-scroll .personal-sheet.drawer-all-players .pp-controls{flex:none;padding:4px 3px 9px;margin:-4px -3px 0}
.main-no-scroll .personal-sheet.drawer-all-players .pp-grid{display:grid;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;grid-auto-rows:minmax(70px,max-content)}
.main-no-scroll .personal-sheet.drawer-all-players .pp-admin-variant .pp-choice{min-height:68px}
.main-no-scroll .personal-sheet.drawer-all-players .pp-admin-variant .pp-name-continuous{display:flex;max-width:100%;min-width:0}
.main-no-scroll .personal-sheet.drawer-all-players .pp-name-head{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-all-players .pp-name-tail{flex:none;white-space:nowrap}
.main-no-scroll .people-picker .pp-directory-filter-button .pp-filter-chevron{display:block;flex:0 0 16px;width:16px;height:16px;margin:0;overflow:visible;transform:translateY(-.4px)}
.main-no-scroll .people-picker .pp-directory-filter-button[aria-expanded="true"] .pp-filter-chevron{transform:translateY(.4px)}
.draft-slot>.slot-remove{position:absolute;top:-5px;right:-4px;width:15px;height:15px;padding:2px;border-radius:50%;background:var(--surface);border:1px solid var(--line)}

/* Same-court group: selected people and search remain visible while candidates scroll. */
.main-no-scroll .personal-sheet.drawer-group .dialog-body{
  display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;padding:14px 16px 18px;
}
.main-no-scroll .drawer-group .group-selection-summary{flex:none;margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.4}
.main-no-scroll .personal-sheet.drawer-group .dialog-body>.group-selected{display:flex;flex-wrap:wrap;gap:8px;height:auto;min-height:0;max-height:none;margin:0 0 12px;padding:0;overflow:visible}
.main-no-scroll .drawer-group .group-selected>.selected-person-chip{display:inline-flex;align-items:center;gap:5px;min-height:40px;max-width:100%;height:auto;padding:7px 9px;white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.4}
.main-no-scroll .drawer-group .group-selected>.retained-person{border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.main-no-scroll .drawer-group .group-selected>.retained-person>small{flex:none;color:var(--muted);font-size:10px}
.main-no-scroll .drawer-group .group-suggest-feedback{flex:none;margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.4}
.main-no-scroll .personal-sheet.drawer-group .shared-modal-picker,.main-no-scroll .personal-sheet.drawer-group .people-picker{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:visible}
.main-no-scroll .personal-sheet.drawer-group .shared-modal-picker{flex:1 0 150px}
.main-no-scroll .personal-sheet.drawer-group .people-picker{flex:1 1 auto}
.main-no-scroll .personal-sheet.drawer-group .pp-controls{display:block;position:static;z-index:3;flex:none;padding:5px 4px 10px;margin:0 -4px;background:var(--surface)}
.main-no-scroll .personal-sheet.drawer-group .pp-search-row{display:flex;position:static;margin:0}
.main-no-scroll .personal-sheet.drawer-group .pp-search{min-height:44px;height:auto}
.main-no-scroll .personal-sheet.drawer-group .pp-grid{display:grid;flex:1 1 auto;min-height:54px;height:auto;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-auto-rows:minmax(54px,max-content);align-content:start}
.main-no-scroll .personal-sheet.drawer-group .dialog-actions>.group-suggest{flex:1 1 0;min-width:0}

.player-group-review{display:grid;gap:7px;margin:12px 0;padding:12px;border:1px solid var(--accent-line);border-radius:var(--r-control,12px);background:var(--accent-soft);color:var(--ink);font-size:13px;line-height:1.5}
.player-group-review p{margin:0;overflow-wrap:anywhere}

/* 同档队列：主界面只保留入口，长名单在弹层中滚动。 */
.main-no-scroll .same-grade-queue-trigger{display:flex;align-items:center;gap:6px;min-height:40px;padding:2px 6px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.main-no-scroll .same-grade-queue-trigger span{color:var(--muted)}
.main-no-scroll .same-grade-queue-trigger .icon{width:14px;height:14px;color:var(--action)}
.main-no-scroll .same-grade-queue-trigger:focus-visible,.queue-request-button:focus-visible{outline:2px solid var(--action);outline-offset:2px}
.main-no-scroll .queue-open-secondary{display:block;margin:8px auto 0}
.main-no-scroll .personal-sheet.drawer-player-queue .dialog-body{display:block;overflow-y:auto;overscroll-behavior:contain}
.queue-overview{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:14px;border-radius:var(--r-control,12px);background:var(--info-soft)}
.queue-overview strong{font-size:16px;color:var(--ink)}.queue-overview>span{font-size:13px;color:var(--action);font-weight:600}
.queue-overview p{width:100%;margin:0;font-size:12px;line-height:1.45;color:var(--muted)}
.queue-group-hint{font-size:12px;color:var(--muted);margin:12px 0 0}.same-grade-queue-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.same-grade-queue-row{display:flex;align-items:center;gap:10px;min-height:56px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.same-grade-queue-row.is-me{border-color:color-mix(in srgb,var(--action) 30%,var(--line));background:var(--accent-soft)}
.queue-position{flex:none;width:24px;text-align:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.queue-person-name{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.queue-person-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--ink)}.queue-person-name small{font-size:11px;color:var(--muted)}.queue-person-name small:empty{display:none}
.queue-me{padding:6px 10px;color:var(--action);font-size:13px;font-weight:600}.queue-request-button{flex:none;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--action);font-size:13px;font-weight:600;cursor:pointer}.queue-request-button:disabled{color:var(--muted);opacity:.55;cursor:default}
.main-no-scroll .self-queued>.queue-leave-button{margin-top:4px;color:var(--action)}
.queue-overview{position:sticky;top:0;z-index:2;box-shadow:0 4px 8px rgba(39,43,76,.06)}

/* Player same-court request: list scrolls inside its own pane; the dialog body
   remains scrollable so notes and the submit action are always reachable. */
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane{height:auto;min-height:0;overflow:visible}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane>.people-picker{flex:none;min-height:0;max-height:none;overflow:visible}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-grid{flex:none;min-height:0;height:auto;max-height:198px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;grid-auto-rows:minmax(96px,max-content);scroll-snap-type:y proximity}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-card{scroll-snap-align:start}
@media (min-height:720px){.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-grid{max-height:300px}}
/* Name order is already the default here; leave space for the search field. */
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-order{display:none}

/* Keep selected duplicate identities distinct and names within their cards. */
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .picker-selected{gap:6px}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .selected-person-chip{display:inline-flex;align-items:center;gap:4px;max-width:calc(50% - 3px);min-width:0;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-request .group-request-selected-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-request .group-request-selected-code{flex:none;font-size:10px;color:var(--action);line-height:1;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-name-continuous{display:flex;min-height:17px;max-height:17px;line-height:17px;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-name-head{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-name-tail{flex:none;white-space:nowrap}
@media (max-height:640px){.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-grid{max-height:96px}}

/* 球员地图复用管理端两行场位；仅明确空位提供申请入口。 */
.main-no-scroll .public-court-editor .player-vacancy{padding:2px 1px;border-color:var(--accent-line);background:var(--accent-soft);color:var(--action);font-size:10px;font-weight:650;white-space:nowrap;cursor:pointer}
.main-no-scroll .public-court-editor .court-roster-person:not(.is-placeholder){cursor:pointer}

/* Court scheduling: a small radius scale, derived from ARK's real theme.
   It harmonizes the page hierarchy without changing the shared library. */
.v3-ui {
  --schedule-radius-shell: var(--r-panel);
  --schedule-radius-overlay: var(--r-overlay);
  --schedule-radius-tile: calc(var(--r-control) - 4px);
  --schedule-radius-item: calc(var(--r-control) - 6px);
  --schedule-radius-badge: calc(var(--r-control) - 8px);
  --schedule-radius-picker-card: calc(var(--r-control) - 2px);
  --schedule-radius-picker-hit: calc(var(--schedule-radius-picker-card) - 1px);
}
@media (max-width: 620px) {
  .v3-ui {
    --schedule-radius-shell: calc(var(--r-panel) - 4px);
    --schedule-radius-overlay: calc(var(--r-overlay) - 4px);
  }
}
.v3-ui .v2-map-panel,
.v3-ui .compact-court-editor,
.v3-ui .compact-self,
.v3-ui .player-primary-nav { border-radius: var(--schedule-radius-shell); }
.v3-ui .court-tile,
.v3-ui .drawer-settings .settings-map-tile { border-radius: var(--schedule-radius-tile); }
.v3-ui .tile-number { border-radius: var(--schedule-radius-badge); }
.v3-ui .people-picker .pp-card { border-radius: var(--schedule-radius-picker-card); }
.v3-ui .people-picker .pp-choice { border-radius: var(--schedule-radius-picker-hit); }
.v3-ui .people-picker .pp-directory-filter-menu { border-radius: var(--r-control); }
.v3-ui .people-picker .pp-directory-filter-option { border-radius: var(--schedule-radius-item); }
.main-no-scroll .court-roster-person { border-radius: var(--schedule-radius-item); }
.main-no-scroll .personal-sheet:not(.drawer-settings) .dialog,
.main-no-scroll .personal-sheet.drawer-settings .dialog { border-radius: var(--schedule-radius-overlay); }
/* Person choices live inside clipped cards. Draw keyboard focus inside their
   hit area so it remains visible without changing the scroll layout. */
.v3-ui .people-picker .pp-card .pp-choice:focus-visible,
.v3-ui .people-picker .pp-card .pp-favorite:focus-visible {
  outline: 2px solid var(--action);
  outline-offset: -3px;
}
.v3-ui .people-picker .pp-card .pp-favorite:focus-visible {
  border-radius: var(--schedule-radius-item);
}

/* A compact explicit person attribute, independent of color and grade. */
.gender-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:1em;height:1.15em;margin-inline-start:2px;padding:0 1px;border-radius:3px;font-size:.68em;line-height:1;font-weight:700;color:inherit;background:color-mix(in srgb,currentColor 10%,transparent);vertical-align:middle}
.tile-current-name .gender-mark{font-size:9px;line-height:1;align-self:center}
.court-roster-name .gender-mark{font-size:9px;align-self:center}
.pp-name .gender-mark{margin-inline-start:3px}

/* Familiar registration symbols beside each name; unknown stays explicit. */
.gender-mark.gender-male,.gender-mark.gender-female{padding:0;background:transparent;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:.78em}
.tile-current-name .gender-mark.gender-male,.tile-current-name .gender-mark.gender-female,.court-roster-name .gender-mark.gender-male,.court-roster-name .gender-mark.gender-female{font-size:10px}

/* Keep the sex marker and remove action visible when the substitute has a long name. */
.main-no-scroll .actual-incoming-picker .selected-person-chip{display:inline-flex;align-items:center;min-width:0;max-width:100%}
.main-no-scroll .actual-incoming-picker .actual-incoming-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Keep a player’s identity marker outside the truncated name. */
.ark-select-person-value{display:flex;align-items:center;gap:3px;min-width:0;overflow:hidden}
.ark-select-person-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ark-select-person-gender{flex:none;line-height:1}
.people-picker .pp-name-wrapped{display:flex;align-items:flex-start;min-width:0;max-width:100%;white-space:normal}
.people-picker .pp-name-wrapped .pp-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-width:0;overflow:hidden;overflow-wrap:anywhere;white-space:normal}
.people-picker .pp-name-wrapped .gender-mark{flex:none}

/* Court-grade badges use semantic theme pairs and are independent of match time. */
.v3-ui .court-tile .tile-grade-advanced { background: var(--warning-soft)!important; color: var(--warning); border-color: var(--warning); border-style:solid; }
.v3-ui .court-tile .tile-grade-beginner { background: var(--info-soft)!important; color: var(--action-ink); border-color: var(--action-ink); border-style:solid; }
.court-grade-legend {display:flex;justify-content:center;align-items:center;gap:10px;min-height:14px;margin:0 0 3px;font-size:10px;font-weight:600;line-height:14px;color:var(--muted)}
.court-grade-legend span {display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.court-grade-legend span::before {content:'';width:8px;height:8px;box-sizing:border-box;border-radius:calc(var(--schedule-radius-badge) / 2)}
.court-grade-legend .grade-key-advanced::before {background:var(--warning-soft);border:1px solid var(--warning)}
.court-grade-legend .grade-key-beginner::before {background:var(--info-soft);border:1px solid var(--action-ink)}
@media(max-width:620px){
  .v3-ui .v2-map-panel{position:relative}
  .v3-ui .court-grade-legend{position:absolute;top:4px;left:50%;transform:translateX(-50%);z-index:1;margin:0}
}

/* Keep the search focus ring inside its field when a picker is clipped by a sheet. */
.v3-ui .people-picker .pp-search:focus-visible{outline:2px solid var(--action);outline-offset:-3px}
/* A bounded list makes partial cards read as a scroll viewport rather than a broken card. */
.main-no-scroll .personal-sheet:is(.drawer-pick-next,.drawer-roster,.drawer-all-players,.drawer-group,.drawer-request,.drawer-settings) .people-picker .pp-grid{border:1px solid var(--line);border-radius:var(--r-control);padding:5px;background:var(--surface)}
/* Account for the frame so the existing row counts stay visible. */
.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-grid{max-height:210px}
@media (min-height:720px){.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-grid{max-height:312px}}
@media (max-height:640px){.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .pp-grid{max-height:124px}}

/* Four editable positions keep unknown occupants distinct from vacancies. */
.roster-slot-editor{display:grid;gap:8px;margin-block:4px 10px;min-width:0}
.roster-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.roster-slot-grid .selected-person-chip,.roster-slot-grid .roster-slot-choice{min-width:0;max-width:100%;justify-content:center;padding:8px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-slot-grid .selected-person-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.roster-slot-grid .roster-slot-choice[aria-pressed=true]{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}
.roster-slot-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.roster-slot-actions .field-help{margin:0}
.roster-slot-actions .context-button{flex:none}

.roster-slot-grid .selected-person-chip>span:first-child{display:block;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.roster-slot-grid .selected-person-chip .gender-mark,.roster-slot-grid .selected-person-chip .chip-remove-icon{flex:none}

@media(min-width:720px){.roster-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* A queue position opens a list: give this action its own clear hit area. */
.main-no-scroll .same-grade-queue-trigger{min-height:44px;min-width:0;padding:5px 8px;border:1px solid var(--accent-line);border-radius:var(--r-control,12px);background:var(--surface);color:var(--action)}
.main-no-scroll .same-grade-queue-trigger span,.main-no-scroll .same-grade-queue-trigger b{color:var(--action)}
.main-no-scroll .same-grade-queue-trigger:active{background:var(--accent-soft)}

/* Keep nested control corners proportional, including in-use court badges. */
.v3-ui .court-tile .tile-number { border-radius: var(--schedule-radius-badge); }
.v3-ui .selected-person-chip,
.v3-ui .roster-slot-grid .roster-slot-choice { border-radius: var(--schedule-radius-item); }

/* Grade identity uses the same two colors throughout the scheduling flow. */
.v3-ui .avatar.avatar-beginner,.v3-ui .chip.beginner {background:var(--info-soft);color:var(--action-ink)}
.v3-ui .avatar.avatar-advanced,.v3-ui .chip.advanced {background:var(--warning-soft);color:var(--warning)}
.v3-ui .avatar.avatar-unknown {background:var(--soft);color:var(--muted)}

/* Reserve room for the per-round exclusion label inside the person card. */
.v3-ui .pp-admin-variant .pp-card.round-excluded{min-height:68px;border-style:solid}

/* Keep a request's result beside its submitting action in long player sheets. */
.main-no-scroll .drawer-request .request-submit-feedback{flex:none;min-width:0;scroll-margin:10px}
.main-no-scroll .drawer-request .request-submit-feedback .dialog-feedback{margin:0 0 12px}

.group-request-occupied-tag{display:block;min-width:0;max-width:100%;font-size:10px;line-height:14px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}
.group-request-unavailable{margin:0 0 6px;color:var(--warning);font-size:12px;line-height:1.4}

.main-no-scroll .personal-sheet.drawer-request .shared-group-pane .selected-person-chip{display:inline-grid;grid-template-columns:minmax(0,1fr) 12px;align-items:center}
.group-request-selected-copy{display:block;min-width:0}
.group-request-selected-title{display:flex;align-items:center;gap:3px;min-width:0}
.group-request-selected-title .gender-mark{flex:none}

/* Expert marking is a direct metadata action in player details. */
.main-no-scroll .player-expert-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;margin:0 0 12px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--surface);color:var(--action);font-size:13px;font-weight:600;line-height:1.4}
.main-no-scroll .player-expert-toggle>.icon{width:18px;height:18px;flex:none}
.main-no-scroll .player-expert-toggle.is-expert{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 40%,var(--line));color:var(--warning)}
.main-no-scroll .player-expert-toggle:hover:not(:disabled){box-shadow:0 2px 10px var(--accent-soft)}
.main-no-scroll .player-expert-toggle:disabled{opacity:.55;cursor:wait}

/* A reported result remains a contained, quieter state in the existing action frame. */
.main-no-scroll .self-match-actions>.self-reported-ended{max-width:100%;overflow:hidden;padding:9px 8px;font-size:12px;font-weight:500;line-height:1.35}
.main-no-scroll .self-reported-ended>.ark-action-button__label{box-sizing:border-box;min-width:0;max-width:100%;padding:0;border:0;border-radius:inherit;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:inherit}

/* Queued players act from one aligned group: court location, then equal secondary actions. */
.main-no-scroll .self-queued-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;align-items:stretch}
.main-no-scroll .self-queued-actions>.ark-action-button{grid-column:1/-1;width:100%;min-width:0;min-height:44px;margin:0;font-size:14px}
.main-no-scroll .self-queued-actions>.context-button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:40px;margin:0;padding:8px 10px;font-size:12px;line-height:1.35;border-radius:var(--r-control);white-space:normal;text-align:center}

/* Keep long personal names and their identity marker within the visible header. */
.gender-mark{position:relative}
.main-no-scroll .self-identity .self-player-name{display:flex;align-items:center;gap:3px;min-width:0}
.main-no-scroll .self-player-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main-no-scroll .self-player-name>.gender-mark{flex:none}

/* Day lifecycle: concrete actions stay in My; long setup lives inside the modal. */
.activity-control-card,.activity-hub-context,.activity-end-review,.activity-open-form,.activity-closed-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.activity-control-card{padding:13px;margin:0 0 14px;border:1px solid var(--accent-line);border-radius:var(--r-panel);background:var(--accent-soft)}
.activity-control-heading,.activity-map-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink)}
.activity-control-heading>strong,.activity-map-heading>strong{font-size:14px}.activity-current-title{margin:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.activity-status{display:inline-flex;align-items:center;align-self:flex-start;min-height:25px;padding:3px 8px;border-radius:var(--r-control);background:var(--success-soft);color:var(--success);font-size:12px}.activity-status.is-ended{background:var(--soft);color:var(--muted)}
.activity-control-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.activity-control-buttons>.ark-action-button{min-height:43px;padding:9px 10px;font-size:13px;white-space:normal}
.activity-control-buttons>.ark-action-button:only-child{grid-column:1/-1}.activity-hub{display:flex;flex-direction:column;gap:14px}.activity-hub>.profile-entry{border:1px solid var(--line);border-radius:var(--r-control)}
.activity-hub-context{gap:5px}.activity-hub-context>strong{font-size:15px;color:var(--ink)}.activity-hub-context>p,.activity-end-review>p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.activity-end-review>h3{font-size:17px;color:var(--ink);overflow-wrap:anywhere}.activity-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px 8px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--soft)}.activity-impact-grid>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.activity-impact-grid strong{font-size:24px;color:var(--ink)}.activity-impact-grid span{font-size:11px;color:var(--muted)}
.activity-warning{margin:0;padding:10px 12px;background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:var(--r-control);font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.activity-open-form>.field{margin:0}.activity-open-form .field-control{min-width:0}.activity-open-form textarea{min-height:82px;resize:vertical}.activity-court-review{display:flex;flex-direction:column;gap:10px}.activity-map-heading>span{color:var(--muted);font-size:12px}
.activity-open-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.activity-open-hall{min-width:0}.activity-open-hall>h4{font-size:13px;text-align:center;margin:0 0 6px;color:var(--muted)}.activity-open-hall>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.activity-open-court{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:49px;padding:6px 3px;background:var(--soft);color:var(--muted);border:1px solid var(--line);border-radius:var(--r-control)}.activity-open-court>strong{font-size:15px}.activity-open-court>span{font-size:10px}.activity-open-court.enabled{background:var(--accent-soft);border-color:var(--brand);color:var(--brand)}.activity-open-court.enabled.advanced>strong{color:var(--warning)}.activity-open-court.enabled.beginner>strong{color:var(--action-ink)}
.activity-closed-view{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:18px}.activity-closed-panel{align-items:flex-start;width:min(100%,500px);padding:22px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}.activity-closed-panel h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere;color:var(--ink)}.activity-closed-panel>p,.activity-archive-summary{font-size:14px;color:var(--muted);line-height:1.5}.activity-closed-panel>.ark-action-button{width:100%;margin-top:6px}.drawer-activity-open .dialog-body{overflow-y:auto}.drawer-activity-open .dialog-actions,.drawer-activity-end .dialog-actions{flex:none}.drawer-activity-open .dialog-actions>.ark-action-button,.drawer-activity-end .dialog-actions>.ark-action-button{width:100%}
@media(max-width:360px){.activity-control-buttons{grid-template-columns:1fr}.activity-control-buttons>.ark-action-button{min-height:40px}.activity-open-map{gap:10px}.activity-open-court{min-height:45px}.activity-impact-grid span{font-size:10px}}
.drawer-import .import-link-options{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.drawer-import .import-link-options>span{flex-basis:100%;font-size:12px;color:var(--muted)}.drawer-import .import-link-options>button{white-space:normal;overflow-wrap:anywhere;text-align:left}.drawer-import .import-existing .import-row-name>span{color:var(--success)}
.activity-archive-list{display:flex;flex-direction:column;gap:10px}.activity-archive-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface)}.activity-archive-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.activity-archive-card strong{font-size:15px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}.activity-archive-card p,.activity-archive-card>span{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.activity-record-context{margin:0 0 12px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-control);font-size:13px;line-height:1.5;color:var(--muted);background:var(--soft)}
.activity-archive-detail{display:flex;flex-direction:column;gap:13px}.activity-archive-detail>.segmented{flex:none}.activity-archive-detail .activity-archive-card p{white-space:pre-wrap;overflow-wrap:anywhere}.activity-archive-player{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;padding:10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface)}.activity-archive-player strong{display:flex;align-items:center;gap:4px;font-size:14px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}.activity-archive-player>span,.activity-archive-player>small{font-size:12px;color:var(--muted)}.activity-archive-player>small{flex-basis:100%}
.activity-open-map{position:relative}.activity-open-map::before{content:'';position:absolute;left:calc(50% - .75px);top:27%;bottom:13%;width:1.5px;background:var(--muted);opacity:.45;pointer-events:none;border-radius:var(--r-pill)}
/* Intake facts remain separate from inherited settings and actual fixed members. */
.activity-open-court.enabled.public.advanced{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.activity-open-court.enabled.public.beginner{background:var(--info-soft);border-color:var(--action-ink);color:var(--action-ink)}.activity-open-court.enabled.fixed{background:var(--soft);border-color:var(--muted);color:var(--ink)}.activity-open-court.enabled.fixed>strong{color:var(--ink)}.activity-open-court>small{font-size:9px;color:var(--muted);line-height:1.1}.activity-open-court.needs-review{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}
.activity-intake-facts{display:flex;flex-wrap:wrap;gap:6px}.activity-intake-facts>span{padding:4px 7px;border:1px solid var(--line);border-radius:var(--r-control);color:var(--muted);font-size:11px;line-height:1.5;background:var(--surface)}
.activity-court-conflicts{display:flex;flex-direction:column;gap:8px}.activity-court-conflict{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--error);border-radius:var(--r-control);background:var(--surface)}.activity-court-conflict>strong{font-size:13px;color:var(--ink)}
.activity-intake-config,.activity-intake-source{padding:10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);font-size:12px;color:var(--muted)}.activity-intake-config>summary,.activity-intake-source>summary{cursor:pointer;color:var(--brand);font-weight:600;min-height:24px}.activity-intake-config-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}.activity-intake-config-row{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1.2fr);gap:6px;align-items:center}.activity-intake-config-row>strong{font-size:12px;color:var(--ink)}.activity-intake-source p{display:flex;flex-wrap:wrap;gap:4px 8px;margin:9px 0 0;padding-top:7px;border-top:1px solid var(--line);line-height:1.5;overflow-wrap:anywhere}.activity-intake-source small{flex-basis:100%;color:var(--muted);font-size:11px}
.drawer-import .import-blank-note,.drawer-import .import-proxy-note{margin:7px 0;padding:8px;border:1px solid var(--accent-line);border-radius:var(--r-control);background:var(--accent-soft);font-size:12px;line-height:1.5;color:var(--ink)}.drawer-import .import-source-slots{color:var(--ink);font-weight:600}.drawer-import .import-row-actions>div{flex-wrap:wrap;justify-content:flex-end}.drawer-import .import-row-actions .import-decision{white-space:normal;max-width:100%;line-height:1.4}
.person-name-badges{position:relative;display:inline-flex;align-items:center;gap:2px;flex:none;white-space:nowrap;vertical-align:middle}.person-name-badges>.gender-mark{margin-inline-start:0}.registration-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:1.15em;padding:1px 2px;border:1px solid var(--line);border-radius:4px;font:600 .62em/1.1 system-ui;color:var(--muted);background:var(--surface);vertical-align:middle}.unnamed-registration-mark{color:var(--warning);background:var(--warning-soft)}.tile-current-name .registration-mark,.court-roster-name .registration-mark{font-size:8px}.pp-name .registration-mark{font-size:9px}.person-name-badges .visually-hidden{position:absolute}
.activity-intake-editor{display:flex;flex-direction:column;gap:12px;min-width:0}.activity-intake-editor>.field{margin:0}.activity-notice-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.activity-notice-summary>strong{font-size:14px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}.activity-notice-summary>.context-button{flex:none;min-height:34px;font-size:12px}
/* Dense court names retain space for the name; the amber dot keeps full detail on tap. */
.tile-current-name .person-name-badges,.court-roster-name .person-name-badges{gap:1px}.tile-current-name .registration-mark,.court-roster-name .registration-mark{width:9px;min-width:9px;height:10px;padding:0;font-size:8px;line-height:1}.tile-current-name .unnamed-registration-mark,.court-roster-name .unnamed-registration-mark{width:5px;min-width:5px;height:5px;border:0;border-radius:var(--r-pill);background:var(--warning)}.tile-current-name .unnamed-registration-mark>[aria-hidden="true"],.court-roster-name .unnamed-registration-mark>[aria-hidden="true"]{display:none}
@media(max-width:620px){
 .main-no-scroll .court-roster-name{flex-wrap:wrap;justify-content:center;gap:1px 0;line-height:12px}
 .main-no-scroll .court-roster-name-head{flex:1 1 auto}
 .main-no-scroll .court-roster-name-tail,.main-no-scroll .court-roster-name>.court-expert-star{flex:none}
 .main-no-scroll .court-roster-name>.person-name-badges{order:3;flex:0 0 100%;width:100%;height:10px;justify-content:center;align-items:center}
}
.activity-open-court{gap:2px;padding:4px 3px;line-height:1.2}.activity-open-court>strong{line-height:18px}.activity-open-court>span{line-height:12px}.activity-open-court>small{line-height:9px}
