:root{color-scheme:light;--bg: #EEF2EE;--surface: #FFFFFF;--surface-2: #F6F8F6;--ink: #16211B;--muted: #4F5D55;--line: #D3DBD5;--line-strong: #8E9C93;--turf: #2B6646;--turf-2: #337654;--chalk: #F3F7F2;--hall: #CDA56B;--hall-2: #C49B60;--primary: #235C3E;--on-primary: #FFFFFF;--focus: #1D4FA3;--warn: #9C3A0C;--warn-bg: #FBE8DD;--bad: #A1192F;--bad-bg: #FBE1E5;--info-bg: #E4ECF7;--closed: #6E7A73;--g-aktive: #2B4C9B;--t-aktive: #E2E8F6;--g-frauen: #86307A;--t-frauen: #F5E2F1;--g-senioren: #625617;--t-senioren: #EEEAD3;--g-bc: #1C6965;--t-bc: #DAEEEC;--g-d: #875700;--t-d: #F6EAD1;--g-kids: #9E3726;--t-kids: #F8E0DA;--g-girls: #5A3E9E;--t-girls: #E9E3F6;--g-goalie: #3D5868;--t-goalie: #DFE8EE;--g-guest: #5E5E5E;--t-guest: #EBEBEB;--on-strong: #FFFFFF;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-c: "Barlow Condensed", "Roboto Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #101612;--surface: #18201B;--surface-2: #1E2822;--ink: #E5ECE7;--muted: #A4B2A9;--line: #2D3A32;--line-strong: #5A6B60;--turf: #1F4B33;--turf-2: #24563B;--chalk: #DCE6DE;--hall: #6A5232;--hall-2: #614A2C;--primary: #7FC79E;--on-primary: #0E1A13;--focus: #8DB4FF;--warn: #F2A57B;--warn-bg: #3A2418;--bad: #F59AA9;--bad-bg: #3D1A21;--info-bg: #1C2A3D;--closed: #7C8A82;--g-aktive: #9DB4F0;--t-aktive: #1D2843;--g-frauen: #E7A3DC;--t-frauen: #3A1F36;--g-senioren: #D6C77A;--t-senioren: #302C17;--g-bc: #7FD3CC;--t-bc: #15302E;--g-d: #EBC06B;--t-d: #352812;--g-kids: #F2A493;--t-kids: #3A1E18;--g-girls: #BCA7F0;--t-girls: #271F3D;--g-goalie: #9FC2D6;--t-goalie: #182A33;--g-guest: #C6C6C6;--t-guest: #2A2A2A;--on-strong: #0E1410}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:64px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45}h1,h2,h3{font-family:var(--font-c);font-weight:700;line-height:1.15;margin:0}h2{font-size:1.6rem}h3{font-size:1.2rem}a{color:var(--focus)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.hint{font-size:.88rem;color:var(--muted);margin:.35rem 0 0}.page{padding:1rem;max-width:1600px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem}.stack{display:flex;flex-direction:column;gap:1rem}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.toolbar .spacer{flex:1}.datehead{font-family:var(--font-c);font-size:1.7rem;font-weight:700;margin:0 .5rem}.banner{background:var(--info-bg);border-left:4px solid var(--focus);padding:.6rem .9rem;border-radius:6px;margin:0 0 1rem}.btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:.42rem .8rem;border-radius:6px;cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.small{padding:.2rem .5rem;font-size:.85rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}input[type=text],input[type=number],input[type=date],input[type=time],input[type=password],select,textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.38rem .5rem;min-width:0}textarea{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem}label{font-weight:500}.formrow{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}.formrow>div{display:flex;flex-direction:column;gap:.2rem}.err{color:var(--bad);font-weight:600;min-height:1.2em;margin:0}.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-weight:600;background:var(--surface-2);white-space:nowrap}td input[type=text]{width:100%;min-width:7ch}td input[type=number]{width:5em}tr.unmapped td{background:var(--warn-bg)}.pill{display:inline-block;font-size:.75rem;padding:1px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-strong);white-space:nowrap}.pill.home{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.tag{font-size:.72rem;font-weight:600;border-radius:4px;padding:1px 6px;white-space:nowrap}.tag.game{background:var(--info-bg)}.tag.moved,.tag.shrunk,.tag.closure,.tag.tbd{background:var(--warn-bg);color:var(--warn)}.tag.nospace,.tag.conflict{background:var(--bad-bg);color:var(--bad)}.tag.cancelled,.tag.manual,.tag.extra{background:var(--surface-2);border:1px solid var(--line-strong)}.notes{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.notes li{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:start;font-size:.9rem}.layout-side{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}@media(max-width:1000px){.layout-side{grid-template-columns:1fr}}.g-aktive{--gc: var(--g-aktive);--gt: var(--t-aktive)}.g-frauen{--gc: var(--g-frauen);--gt: var(--t-frauen)}.g-senioren{--gc: var(--g-senioren);--gt: var(--t-senioren)}.g-bc{--gc: var(--g-bc);--gt: var(--t-bc)}.g-d{--gc: var(--g-d);--gt: var(--t-d)}.g-kids{--gc: var(--g-kids);--gt: var(--t-kids)}.g-girls{--gc: var(--g-girls);--gt: var(--t-girls)}.g-goalie{--gc: var(--g-goalie);--gt: var(--t-goalie)}.g-guest{--gc: var(--g-guest);--gt: var(--t-guest)}.g-none{--gc: var(--muted);--gt: var(--surface-2)}.blk{position:absolute;margin:0;border:1px solid var(--line-strong);border-left:5px solid var(--gc);background:var(--gt);color:var(--ink);border-radius:5px;padding:2px 5px;text-align:left;overflow:hidden;cursor:pointer;font-size:.82rem;line-height:1.2;display:flex;flex-direction:column;gap:1px;z-index:1;touch-action:none}.blk.editable{cursor:grab}.blk:hover{z-index:5;box-shadow:0 2px 8px #0000002e}.blk .bt{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blk .bm{color:var(--muted);white-space:nowrap}.blk .bf{font-size:.72rem;font-weight:600;border-radius:3px;padding:0 4px;align-self:flex-start}.blk.game{background:var(--gc);color:var(--on-strong);border-color:var(--gc)}.blk.game .bm{color:var(--on-strong)}.blk.game:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(255,255,255,.12) 9px 18px)}.blk.closure{background:repeating-linear-gradient(135deg,var(--surface-2) 0 8px,var(--line) 8px 10px);border-color:var(--closed);border-left-color:var(--closed);cursor:default}.blk.moved .bf,.blk.shrunk .bf{background:var(--warn-bg);color:var(--warn)}.blk.manual .bf,.blk.extra .bf{background:var(--info-bg);color:var(--ink)}.blk.conflict{outline:3px solid var(--bad);outline-offset:-1px}.blk.conflict .bf{background:var(--bad-bg);color:var(--bad)}.blk.gk{z-index:3;padding:3px 0;border-left-width:1px;border-top:4px solid var(--gc);align-items:center;border-radius:3px}.blk.gk .bt{writing-mode:vertical-rl;font-size:.7rem;overflow:visible}.blk.dragging{opacity:.85;cursor:grabbing;z-index:10;box-shadow:0 6px 18px #0000004d}.legend{display:flex;flex-wrap:wrap;gap:.35rem .8rem;font-size:.82rem}.legend span{display:inline-flex;align-items:center;gap:.3rem}.legend i{width:12px;height:12px;border-radius:3px;background:var(--gt);border-left:4px solid var(--gc);display:inline-block}dialog{border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);padding:0;width:min(520px,94vw);box-shadow:0 20px 60px #00000059}dialog::backdrop{background:#0a140e73}.dlg-h{padding:1rem 1.1rem .4rem}.dlg-b{padding:.4rem 1.1rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.dlg-b .full{grid-column:1 / -1}.dlg-b>div{display:flex;flex-direction:column;gap:.2rem}.dlg-f{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:.75rem 1.1rem;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 12px 12px}.dlg-f .left{margin-right:auto;display:flex;gap:.5rem;flex-wrap:wrap}@media print{.no-print{display:none!important}.layout-side{grid-template-columns:1fr}}
