.planning-display{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid var(--border)}
.planning-display>span{font-size:10px;color:var(--muted)}
.display-switch{display:inline-flex;border:1px solid var(--control-border);padding:3px;gap:3px;background:var(--surface)}
.display-switch button{border:0;background:transparent;font-size:10px;padding:7px 11px;color:var(--muted)}
.display-switch button[aria-pressed="true"]{color:var(--primary-text);background:var(--primary-soft)}
.display-switch button:focus-visible,.weekend-card button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.danger-action{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}
.danger-action:hover{color:var(--danger-text);border-color:var(--danger-text);background:var(--danger-soft)}
#assignment-removal-form{padding-top:20px;line-height:1.8;font-size:11px}
.referee-filter{position:relative;font-size:10px}
.referee-filter>summary{list-style:none;display:flex;align-items:center;gap:15px;cursor:pointer;padding:8px 10px;border:1px solid var(--control-border);background:var(--input);color:var(--text-secondary);min-height:33px}
.referee-filter>summary::-webkit-details-marker{display:none}
.referee-filter>summary>span{color:var(--muted);font-size:9px}
.referee-filter>summary::after{content:'⌄';color:var(--muted)}
.referee-filter>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.referee-popup{position:absolute;left:0;top:calc(100% + 5px);width:310px;max-width:calc(100vw - 32px);max-height:340px;overflow:auto;padding:8px;background:var(--panel);border:1px solid var(--control-border);box-shadow:0 10px 30px #0003;z-index:40}
.referee-popup>button{width:100%;text-align:left;font-size:10px;margin-bottom:5px}
.filters .referee-option{display:flex;align-items:center;gap:9px;padding:8px 6px;cursor:pointer;font-size:10px;white-space:normal}
.referee-option:hover{background:var(--hover)}
.referee-option>span{flex:1}.referee-option small{display:block;font-size:8px;color:var(--subtle);margin-top:2px}
@media(max-width:760px){.referee-filter{width:100%}.referee-popup{width:100%}}
.weekend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px;background:var(--canvas);align-items:start}
.weekend-card{min-width:0;border:1px solid var(--border);background:var(--panel);border-top:2px solid var(--primary)}
.weekend-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:19px 18px 15px}
.weekend-caption{color:var(--primary-text);font-size:8px;letter-spacing:1.8px}
.weekend-heading h3{font-size:16px;font-weight:500;letter-spacing:-.5px;line-height:1.5;margin:6px 0 0}
.weekend-count{font-size:25px;line-height:1.2;text-align:right;color:var(--text);flex-shrink:0}
.weekend-count small{display:block;font-size:8px;color:var(--muted);margin-top:4px}
.weekend-summary{display:flex;gap:14px;flex-wrap:wrap;padding:0 18px 16px;border-bottom:1px solid var(--border);color:var(--muted);font-size:9px}
.weekend-summary b{color:var(--text-secondary);font-weight:500}
.weekend-day{padding:15px 14px 0}
.weekend-day:last-child{padding-bottom:14px}
.weekend-day>h4{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:500;color:var(--text-secondary);margin:0 3px 10px}
.weekend-day>h4 time::first-letter{text-transform:uppercase}
.weekend-day>h4>span{font-size:9px;color:var(--subtle);font-weight:400;white-space:nowrap}
.weekend-match{border:1px solid var(--border);padding:14px;margin-bottom:10px;background:var(--surface)}
.weekend-match:last-child{margin-bottom:0}
.weekend-match-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}
.weekend-slot{display:flex;flex-direction:column;gap:2px}
.weekend-slot strong{font-size:23px;line-height:1.2;font-weight:500;letter-spacing:-.8px}
.weekend-slot span{font-size:8px;color:var(--subtle)}
.weekend-match-top>.pill{font-size:8px;white-space:normal;text-align:right;max-width:145px}
.weekend-fixture{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.weekend-fixture>.muted{font-size:8px}
.weekend-edit{margin-left:auto;font-size:9px;padding:3px 0;border:0;color:var(--muted);background:transparent}
.weekend-edit:hover{color:var(--primary-text)}
.weekend-match>h4{font-size:12px;font-weight:500;line-height:1.7;overflow-wrap:anywhere;margin:0}
.weekend-match>h4>span{font-size:9px;color:var(--subtle);font-weight:400;padding:0 3px}
.weekend-venue{font-size:9px;color:var(--muted);line-height:1.7;margin:4px 0 13px;overflow-wrap:anywhere}
.weekend-venue>span{color:var(--subtle)}
.weekend-referees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.weekend-referee{display:flex;align-items:center;gap:7px;text-align:left;padding:8px;border:1px solid var(--control-border);background:var(--surface-raised);min-width:0;color:var(--text-secondary)}
.weekend-referee:hover{border-color:var(--primary-border);background:var(--primary-soft)}
.weekend-avatar{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;background:var(--surface-active);color:var(--primary-text);font-size:9px}
.weekend-referee>span:nth-child(2){min-width:0;flex:1}
.weekend-referee small{display:block;font-size:7px;color:var(--subtle);margin-bottom:2px}
.weekend-referee strong{display:block;font-size:9px;font-weight:400;overflow-wrap:anywhere;line-height:1.5}
.weekend-referee.unassigned{border-style:dashed;background:transparent}
.weekend-referee.unassigned strong{color:var(--muted)}
.weekend-level{font-size:8px;color:var(--subtle);flex-shrink:0}
.weekend-vigilance{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--warning-text);font-size:8px;margin-top:12px;border-top:1px solid var(--border);padding-top:9px}
.weekend-vigilance.has-conflict{color:var(--danger-text)}
.weekend-vigilance button{font-size:8px;padding:2px 0;border:0;background:transparent;color:inherit;white-space:nowrap}
.weekend-match.is-cancelled{border-style:dashed}
.weekend-match.is-cancelled>h4{text-decoration:line-through;color:var(--muted)}
.match-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px 18px;background:var(--canvas)}
.match-list-grid>.match{grid-template-columns:56px minmax(0,1fr) 26px;gap:12px;align-items:start;border:1px solid var(--border);background:var(--surface);padding:15px;min-width:0}
.match-list-grid>.match>.time{grid-column:1;grid-row:1}
.match-list-grid>.match>div:nth-child(2){grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
.match-list-grid>.match>div:nth-child(3){grid-column:1/-1;grid-row:2;min-width:0}
.match-list-grid .referees{flex-direction:row;align-items:stretch;gap:8px}
.match-list-grid .referee{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
.match-list-grid>.match>.match-status{grid-column:1/-1;grid-row:3;justify-self:end}
.match-list-grid>.match>.dots{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:760px){.match-list-grid{grid-template-columns:1fr;padding:12px;gap:12px}}
@media print{.match-list-grid{padding:0;gap:12px}.match-list-grid>.match{break-inside:avoid}}
@media(min-width:1700px){.weekend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.weekend-grid{grid-template-columns:1fr}}
@media(max-width:760px){.planning-display{padding:12px;align-items:flex-start;flex-wrap:wrap}.planning-display>span{font-size:9px}.weekend-grid{padding:12px;gap:14px}.weekend-heading{padding:16px 14px 13px}.weekend-heading h3{font-size:15px}.weekend-summary{padding:0 14px 13px;font-size:8px;gap:8px}.weekend-day{padding:13px 10px 0}.weekend-day:last-child{padding-bottom:10px}.weekend-match{padding:12px}.weekend-referees{grid-template-columns:1fr}.weekend-slot strong{font-size:22px}}
@media print{.planning-display,.weekend-edit,.weekend-vigilance button{display:none!important}.weekend-grid{display:block;padding:0}.weekend-card{margin-bottom:20px}.weekend-match,.weekend-heading,.weekend-summary{break-inside:avoid}.weekend-referees{grid-template-columns:1fr 1fr}.weekend-card,.weekend-match,.weekend-referee,.weekend-avatar{background:white!important}.weekend-referee{border:1px solid #bbb}}
