:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202c32;background:#f5f6f7;font-synthesis:none;font-weight:400;font-size:14px;--green: #176b50;--muted: #66737b;--line: #e0e5e7;--cream: #f5f6f7;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}button,a{transition:background .15s,color .15s}button:hover:not(:disabled){background-color:#edf2f0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #27876a;outline-offset:3px}summary:focus-visible{outline:3px solid #27876a;outline-offset:3px}button,summary,select{touch-action:manipulation}button svg,a svg{flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:650}.app-shell{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:25px 14px 0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;overflow-y:auto;z-index:10}.sidebar>*{flex-shrink:0}.brand{font-weight:750;font-size:25px;letter-spacing:-1px;display:flex;align-items:center;gap:8px;padding:0 8px;color:#183e31}.brand-symbol{display:flex;color:var(--green)}.brand-dot{margin-left:-8px}.team-switch{display:flex;align-items:center;gap:9px;width:100%;text-align:left;margin:26px 0 22px;padding:10px 7px;border:1px solid var(--line);border-radius:8px}.team-switch>span:nth-child(2){flex:1;min-width:0}.team-switch strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-switch small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.club-crest{width:30px;height:34px;display:grid;place-items:center;position:relative;color:var(--green)}.club-crest b{position:absolute;font-size:10px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px;text-align:left;border-radius:6px;font-size:13px;color:#526068;margin:3px 0}.nav-item.active{color:#125b43;background:#eaf3ef;font-weight:650}.nav-count{margin-left:auto;font-size:11px;color:#748078}.nav-label{color:#748078;letter-spacing:1px;font-size:10px;font-weight:650;margin:29px 10px 10px}.games-label{display:flex;align-items:center;justify-content:space-between}.games-label button{display:grid;place-items:center;width:28px;height:28px;border-radius:4px}.sidebar-games{overflow:auto;max-height:38vh}.side-game{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:11px 10px;border-radius:6px}.side-game.selected{background:#f3f5f4}.side-game strong{font-size:12px;font-weight:550;display:block;line-height:1.5}.side-game small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.side-game small span{padding:0 3px}.game-dot{width:6px;height:6px;background:#b9a576;border-radius:50%;flex-shrink:0;margin-top:6px}.game-dot.ready{background:var(--green)}.sidebar-bottom{margin-top:auto;padding-top:24px}.coach-profile{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);width:100%;padding:18px 6px;text-align:left}.coach-profile>span:nth-child(2){flex:1}.coach-profile strong{font-size:11px;font-weight:550}.coach-profile small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.avatar{display:grid;place-items:center;background:#edf2ef;color:#35604d;border-radius:50%;width:30px;height:30px;font-weight:650}.main-shell{margin-left:210px;flex:1;min-width:0}main{padding:28px 28px 40px;max-width:1650px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-heading h1{font-size:26px;letter-spacing:-.7px;line-height:1.25}.page-heading p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.6}.button{border:1px solid #d6dddf;background:#fff;border-radius:6px;min-height:38px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:550;line-height:1.4}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover:not(:disabled){background:#10553e}.small-button{min-height:34px;padding:8px 11px}.button.danger{color:#a43e39;margin-right:auto}.icon-button{display:inline-grid;place-items:center;border-radius:5px;width:32px;height:32px;padding:6px;color:#66737b;flex-shrink:0}.text-button{color:var(--green);font-weight:550;font-size:12px;padding:5px}.demo-notice{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dde5df;background:#eef3ef;border-radius:6px;padding:10px 13px;margin-bottom:18px;font-size:12px;color:#4f6458}.demo-notice>span{display:flex;align-items:center;gap:10px}.demo-notice strong{font-weight:650;white-space:nowrap}.demo-notice button{display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600;font-size:12px;padding:4px}.game-picker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin-bottom:14px}.game-picker select{border:1px solid var(--line);background:#fff;padding:9px 30px 9px 10px;border-radius:6px;min-width:0;max-width:100%;color:#37464d;font-size:13px}.match-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:8px}.match-identity{display:flex;min-width:0}.match-kicker{font-size:11px;color:#68776d}.match-card h2{font-size:20px;letter-spacing:-.4px;line-height:1.5;margin:3px 0 8px}.match-card h2>span{font-weight:400;color:#84918a;margin:0 4px}.match-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted)}.match-meta>span{display:flex;align-items:center;gap:6px}.match-actions{display:flex;gap:10px;align-items:center}.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:4px;background:#f4f1e8;color:#786638;padding:6px 8px;font-size:11px;font-weight:550;white-space:nowrap}.status-badge>span{width:5px;height:5px;background:currentColor;border-radius:50%}.status-badge.success{background:#e8f3ed;color:#26704d}.plan-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 18px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:24px}.tabs button{display:flex;align-items:center;gap:7px;padding:15px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:650}.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto;gap:8px 12px}.saved-label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.planner-grid{display:grid;grid-template-columns:245px minmax(280px,1fr) 224px;gap:18px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 17px 14px}.card-heading h3{font-size:14px;display:flex;align-items:center;gap:7px}.card-heading h3>span,.bench-heading h4>span{font-size:11px;font-weight:500;background:#f0f3f2;color:#6a7870;padding:3px 5px;border-radius:4px}.card-heading p{color:var(--muted);font-size:12px;line-height:1.6;margin-top:4px}.card-heading p>span{margin:0 4px}.roster-subtitle{padding:0 17px 14px;font-size:11px;color:var(--muted)}.search-field{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:5px;color:#758179;background:#fff}.search-field input{border:none;background:transparent;width:100%;min-width:0;font-size:12px;color:inherit;outline-offset:1px}.roster-card .search-field{margin:0 12px 10px}.roster-list{max-height:580px;overflow-y:auto}.roster-player{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #edf0ee}.roster-player[draggable=true]{cursor:grab}.player-identity{display:flex;align-items:center;gap:9px;padding:0;min-width:0;text-align:left;flex:1}.player-identity>span:last-child{min-width:0;flex:1}.player-identity strong{display:block;font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-identity small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.roster-minutes{display:inline-block;margin-left:6px;font-variant-numeric:tabular-nums;color:#495e52}.jersey{background:#edf2ef;color:#315945;width:29px;height:33px;display:inline-grid;place-items:center;border-radius:5px;font-size:12px;font-weight:650;flex-shrink:0}.jersey.keeper{color:#886725;background:#faf2dc}.muted-player .player-identity{opacity:.65}.attendance-select{width:93px;flex-shrink:0}.attendance-select select{width:100%;cursor:pointer;font-size:10px;border:1px solid var(--line);border-radius:5px;padding:7px 4px;background:#fff;color:#637166}.attendance-select.available select{color:#236b49;background:#f1f7f3}.attendance-select.unavailable select{color:#9b5e52;background:#fbf5f3}.attendance-select>span{display:none}.roster-footer{display:flex;gap:7px;align-items:center;justify-content:center;padding:13px;border-top:1px solid var(--line);color:var(--green);font-size:12px;width:100%}.roster-footer>span{color:#87938b;font-size:10px}.formation-pill{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;font-size:12px}.pitch{width:calc(100% - 28px);margin:0 14px;position:relative;aspect-ratio:1 / 1.04;max-height:575px;border-radius:6px;background:repeating-linear-gradient(0deg,#407b62 0% 12.5%,#468369 12.5% 25%);overflow:hidden}.pitch-markings{position:absolute;inset:23px 20px 20px;border:1px solid #e1f3e870}.halfway{position:absolute;top:50%;left:0;right:0;border-top:1px solid #e1f3e870}.center-circle{width:27%;aspect-ratio:1;border:1px solid #e1f3e870;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-dot{position:absolute;top:50%;left:50%;height:3px;width:3px;background:#e1f3e870;border-radius:50%;transform:translate(-50%,-50%)}.penalty-box,.goal-box{position:absolute;left:50%;transform:translate(-50%);border:1px solid #e1f3e870}.penalty-box{width:52%;height:16%}.goal-box{width:25%;height:6%}.top{top:-1px}.bottom{bottom:-1px}.attack-direction{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:8px;font-weight:500;letter-spacing:1.3px;color:#e5f1ea;display:flex;gap:6px}.pitch-player{z-index:2;position:absolute;transform:translate(-50%,-50%);padding:0;display:flex;align-items:center;flex-direction:column;min-width:0;border-radius:5px}.rotation-settings{padding:18px;margin-bottom:16px}.rotation-settings h3{margin:0 0 16px;font-size:14px}.rotation-settings label{display:flex;align-items:flex-start;gap:9px;margin:14px 0;cursor:pointer}.rotation-settings input,.arrows-toggle input{width:16px;height:16px;flex:0 0 16px;accent-color:#186e55}.rotation-settings strong{display:block;font-size:12px}.rotation-settings small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}.rotation-settings p{font-size:10px;line-height:1.5;color:var(--muted)}.arrows-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 18px 12px;font-size:11px;cursor:pointer}.arrows-toggle span{color:var(--muted);font-size:10px}.rotation-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}.rotation-arrows>g>path,.rotation-arrows>path{fill:none;stroke-width:.65}.rotation-arrows .arrow-on{stroke:#b9ffcc}.rotation-arrows .arrow-off{stroke:#ffc39e;stroke-dasharray:1.5 1}.rotation-arrows .arrow-move{stroke:#a9d7ff;stroke-dasharray:1 1}.substitution-pairs{padding:12px 18px;border-top:1px solid var(--line);display:grid;gap:10px;background:#f5faf7}.substitution-pair{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.6}.sub-on{color:#176642}.sub-off{color:#a44d2a}.substitution-pair small{display:block;color:var(--muted)}.team-time .card-heading{align-items:flex-start;gap:20px}.position-timeline{min-width:0;overflow:hidden}.position-timeline .card-heading{gap:14px;flex-wrap:wrap}.timeline-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 20px 16px;padding:12px 14px;min-height:60px;background:#f4f7f6;border-radius:7px}.timeline-selection p{font-size:12px;color:var(--muted);line-height:1.5}.timeline-selection strong,.timeline-selection p span{display:block}.timeline-selection strong{color:#202c32}.timeline-feedback{min-height:76px}.timeline-selection.is-selected{position:fixed;bottom:20px;left:max(16px,calc((100vw - 800px)/2));right:max(16px,calc((100vw - 800px)/2));z-index:90;margin:0;background:#fff;border:1px solid var(--green);box-shadow:0 8px 32px #203a3233}.timeline-scroll{overflow-x:auto;margin:0 20px;border:1px solid var(--line);border-radius:7px}.timeline-axis-row,.timeline-row{display:grid;grid-template-columns:190px minmax(0,1fr)}.timeline-player{position:sticky;left:0;z-index:3;background:#fff;padding:12px;border-right:1px solid var(--line);font-size:11px}.timeline-player strong{display:block;font-size:12px;line-height:1.4}.timeline-player strong span{color:var(--muted);font-weight:400}.timeline-player small{display:block;color:var(--muted);margin-top:5px;font-size:10px}.timeline-axis-row{min-height:62px;background:#f8faf9;border-bottom:1px solid var(--line)}.timeline-axis-row .timeline-player{background:#f8faf9;display:flex;align-items:center}.timeline-axis{position:relative;margin-right:12px}.timeline-halves{display:grid;grid-template-columns:1fr 1fr;font-size:11px;font-weight:600;padding:12px 0;text-align:center}.timeline-tick{position:absolute;bottom:8px;transform:translate(-50%);color:var(--muted);font-size:10px}.timeline-tick.first{transform:none}.timeline-tick.last{transform:translate(-100%)}.timeline-row+.timeline-row{border-top:1px solid var(--line)}.timeline-track{position:relative;min-height:68px;margin-right:12px;background-image:linear-gradient(to right,#e9eeec 1px,transparent 1px)}.timeline-block{position:absolute;top:10px;bottom:10px;border:1px solid white;border-radius:5px;padding:4px 6px;text-align:left;overflow:hidden;cursor:pointer;min-width:0}.timeline-block strong{display:block;font-size:11px}.timeline-block span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;margin-top:3px}.timeline-block:hover,.timeline-block:focus-visible,.timeline-block[aria-pressed=true]{outline:2px solid #233d35;outline-offset:-3px;z-index:2}.timeline-DEF{background:#dceaf7;color:#204f78}.timeline-MID{background:#d6eee5;color:#175541}.timeline-FWD{background:#efdef2;color:#70367a}.timeline-GK{background:#f8ebbc;color:#73510a}.timeline-bench{background:#edf0f2;color:#53616b}.timeline-absent{display:block;padding:24px 12px;font-size:11px;color:var(--muted)}.timeline-halftime{pointer-events:none;position:absolute;left:50%;top:0;bottom:0;border-left:2px dashed #667a72;z-index:2}.position-timeline>.fine-print{padding:14px 20px}.team-time .card-heading label{display:grid;gap:6px;min-width:155px;font-size:11px}.team-time .card-heading select{padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit}.team-time tbody th{background:#fff;color:#202c32;font-size:12px;font-weight:600;letter-spacing:normal}.time-totals{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:0 20px}.time-totals>div{border:1px solid var(--line);border-radius:8px;padding:13px;font-size:11px}.time-totals strong{display:block;margin-top:8px;font-size:22px}.time-totals small{font-size:11px;font-weight:400;color:var(--muted)}.time-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.time-FWD{background:#ae6cb1}.time-MID{background:#31887a}.time-DEF{background:#548cb9}.time-GK{background:#d0a238}.time-bench{background:#c6cfd5}.team-time-scroll{overflow-x:auto;padding:0 20px 20px}.team-time table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.team-time th,.team-time td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:right}.team-time th:first-child{text-align:left}.team-time thead th{color:var(--muted);font-size:11px}.time-number{font-weight:400;color:var(--muted)}.time-mix{height:12px;width:140px;display:flex;background:#f0f3f4;overflow:hidden;border-radius:4px}.team-time>.fine-print{padding:14px 20px}@media(max-width:700px){.time-totals{grid-template-columns:repeat(2,1fr)}.team-time .card-heading{flex-direction:column}.plan-toolbar .tabs{flex-wrap:wrap}.arrows-toggle span{width:100%;padding-left:22px}}.pitch-player:hover:not(:disabled){background:transparent}.position-label{font-size:9px;color:#edf6ef;margin-bottom:4px;letter-spacing:.7px;font-weight:600}.player-disc{background:#fff;border:2px solid #eff6ef;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#254f3c;font-size:15px;font-weight:750;box-shadow:0 2px 5px #163e3525}.goalkeeper .player-disc{background:#f7d687;border-color:#ffe7ad;color:#715315}.pitch-name{background:#1c493bd9;color:#fff;white-space:nowrap;padding:4px 6px;font-size:10px;margin-top:5px;border-radius:3px;max-width:min(108px,100%);overflow:hidden;text-overflow:ellipsis}.selected-player .player-disc{outline:3px solid #ffdb83;outline-offset:3px}.empty-slot .player-disc{background:#ffffff15;color:#fff;border-style:dashed}.pitch-caption{padding:11px 16px;font-size:11px;color:var(--muted);line-height:1.5}.live-dot{display:none}.assignment-panel{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:40;width:min(460px,calc(100vw - 32px));max-height:min(440px,50dvh);overflow:auto;overscroll-behavior:contain;background:#f0f5f2;border:1px solid #b9cec2;border-radius:10px;box-shadow:0 8px 32px #202c3226;padding:16px}.assignment-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:9px}.assignment-panel>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex-wrap:wrap}.assignment-panel>div:last-child button{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #d6e2d9;border-radius:5px;padding:8px;font-size:13px}.assignment-panel button span{color:var(--green);font-weight:650}.assignment-panel small{color:var(--muted);font-size:9px}.bench{border-top:1px solid var(--line);padding:15px 16px}.bench-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.bench-heading h4{display:flex;gap:7px;align-items:center;font-size:12px}.bench-heading>span{display:none}.bench-players{display:flex;flex-wrap:wrap;gap:10px 16px}.bench-players button{display:flex;align-items:center;gap:7px;text-align:left;padding:0;font-size:11px}.bench-players small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.card-description{font-size:11px;color:var(--muted);padding:0 17px 10px}.tiny-badge{background:#f0f3f2;color:#68766e;font-size:10px;padding:4px 6px;border-radius:4px;white-space:nowrap}.rotation-list{padding:0 9px;max-height:480px;overflow:auto}.rotation{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:11px 8px;border-radius:5px;margin-bottom:3px}.rotation.active{background:#edf5f0;color:#175e43}.rotation-index{font-size:10px;color:#87948b;font-variant-numeric:tabular-nums;width:20px}.rotation strong{display:block;font-size:12px;font-weight:600}.rotation small{display:block;margin-top:5px;font-size:10px;color:#6d7c72}.rotation>svg,.unfilled-dot{margin-left:auto;flex-shrink:0;color:#388665}.unfilled-dot{width:5px;height:5px;background:#c3a96a;border-radius:50%}.halftime{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1px;color:#849087;padding:10px 8px}.halftime>span:first-child,.halftime>span:last-child{height:1px;background:var(--line);flex:1}.auto-button{width:calc(100% - 28px);margin:13px 14px 0;font-size:11px;color:#176b50;border-color:#c7dacf;background:#f7faf8}.fine-print{font-size:10px;line-height:1.6;color:var(--muted);padding:12px 16px 15px}.bottom-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:18px}.notes-card .card-heading>span{font-size:11px;color:var(--muted)}.notes-card textarea{display:block;border:none;background:transparent;width:calc(100% - 32px);margin:0 16px 16px;min-height:82px;resize:vertical;line-height:1.7;font-size:12px;color:#4b5e52}.ready-card{display:flex;align-items:center;gap:16px;padding:22px}.ready-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#2a7851;background:#edf5ef;flex-shrink:0}.ready-icon.review{color:#927a38;background:#f8f3e7}.ready-card h3{font-size:14px}.ready-card p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 13px}.minutes-card .card-heading{border-bottom:1px solid var(--line)}.minutes-row{display:flex;gap:13px;align-items:center;padding:14px 20px;border-bottom:1px solid #edf0ee}.minutes-row>div:nth-child(2){width:190px}.minutes-row strong{font-weight:550;font-size:13px}.minutes-row small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.minutes-track{flex:1;height:9px;background:#f0f3f1;border-radius:3px;position:relative;margin:0 15px}.minutes-track>span{display:block;background:#63957b;height:100%;border-radius:3px}.minutes-track>i{position:absolute;width:1px;background:#aebbb2;height:17px;top:-4px;left:50%}.minutes-row>strong{width:110px;text-align:right}.minutes-row>strong>small{display:inline}.minute-percent{font-size:12px;width:38px;text-align:right;color:#557763}.minute-percent.below{color:#a06a2b}.muted{color:var(--muted);font-size:11px}.roster-tools{display:flex;gap:12px;padding:0 20px 18px}.roster-tools .search-field{width:270px}.roster-tools>select{margin-left:auto;font-size:12px;border:1px solid var(--line);border-radius:5px;padding:8px;background:#fff;color:#4e6255}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:15px 20px;border-top:1px solid var(--line);white-space:nowrap}th{background:#f9faf9;font-size:10px;font-weight:550;color:#718077;letter-spacing:.5px}td{font-size:12px}.table-player{display:flex;align-items:center;gap:11px}.table-player strong{font-weight:550}.position-chip{display:inline-block;padding:4px 6px;margin-right:4px;border:1px solid var(--line);border-radius:4px;font-size:10px;color:#5e7165}.status-select{border:1px solid var(--line);border-radius:5px;padding:7px;background:#fff;color:#637467;font-size:11px}.status-select.available{color:#24734e;background:#eff6f0}.status-select.unavailable{color:#a95f56;background:#fbf2f0}.info-note{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:12px;color:var(--muted);line-height:1.7}.info-note>svg{flex-shrink:0}.connections-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.connection-card{padding:24px;display:flex;flex-direction:column;align-items:flex-start}.connection-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:20px;gap:12px}.provider-logo{width:44px;height:44px;display:grid;place-items:center;border-radius:9px;font-size:20px;font-weight:750}.provider-logo.pm{background:#ebf2fb;color:#346cbe}.provider-logo.st{background:#ecf5ee;color:#397950}.connection-card h2{font-size:20px;margin-bottom:10px}.connection-card>p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:18px}.connection-detail{display:flex;gap:9px;align-items:center;font-size:12px;color:#356e4c;margin-bottom:12px}.connection-detail.muted{color:var(--muted)}.connection-card>.button{margin:12px 0 18px}.connection-card>a{color:var(--green);font-size:12px;display:flex;gap:7px;align-items:center}.import-time{font-size:11px;color:var(--muted)}.connection-explainer,.backup-card{margin-top:20px;padding:22px}.connection-explainer h3,.backup-card h3{font-size:14px;margin-bottom:9px}.connection-explainer p,.backup-card p{font-size:12px;color:var(--muted);line-height:1.7}.connection-explainer p+p{margin-top:9px}.backup-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.backup-card>div:last-child{display:flex;gap:9px;flex-shrink:0}.empty-message{padding:20px;font-size:12px;line-height:1.7;color:var(--muted)}.modal{border:1px solid var(--line);background:#fff;box-shadow:0 20px 100px #142b2935;border-radius:12px;padding:26px;width:min(540px,calc(100vw - 28px));max-height:90vh;overflow:auto;color:#26382e}.modal.wide{width:min(680px,calc(100vw - 28px))}.modal::backdrop{background:#152c3055;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.modal h2{font-size:21px;letter-spacing:-.5px}.modal-heading p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{font-size:12px;font-weight:550;display:flex;flex-direction:column;gap:7px;color:#516558}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select{width:100%;min-width:0;border:1px solid #d6dfd9;border-radius:5px;padding:10px;background:#fff;font-size:13px;color:#33483b}.form-note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:18px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.modal-copy{font-size:13px;color:#66776b;line-height:1.8;margin:12px 0 18px}.modal-copy strong{font-weight:600;color:#3c5b46}.warning-box{background:#fff8e9;border:1px solid #eadcbd;color:#83692f;border-radius:6px;padding:13px 15px;font-size:12px;line-height:1.7;margin:16px 0}.warning-box p{margin-top:5px}.auto-summary{display:flex;justify-content:space-between;gap:10px;background:#f0f5f1;border-radius:7px;padding:18px}.auto-summary>span{text-align:center;font-size:11px;color:var(--muted);flex:1}.auto-summary strong{font-size:25px;display:block;color:#386348;margin-bottom:6px}fieldset{border:0;padding:0;margin:22px 0 0}legend{font-size:12px;color:#607468;margin-bottom:12px}.role-options{display:flex;gap:10px;flex-wrap:wrap}.role-options>label{display:flex;align-items:center;gap:5px;font-size:12px;border:1px solid var(--line);border-radius:5px;padding:9px}.role-options input{accent-color:var(--green);margin:0}.import-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 14px}.csv-input{width:100%;height:135px;border:1px solid #d6dfd9;border-radius:5px;padding:12px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.8;color:#43614d;background:#fafcfb;margin-bottom:12px;resize:vertical}.import-preview{margin-top:20px}.import-preview h3{font-size:13px;margin-bottom:12px}.preview-rows{max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:5px}.preview-rows>div{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;font-size:11px;padding:10px 13px;border-bottom:1px solid var(--line);color:#5d7664}.export-options{display:flex;flex-direction:column;gap:10px}.export-options>button{display:flex;align-items:center;text-align:left;gap:14px;border:1px solid var(--line);padding:16px 14px;border-radius:7px}.export-options>button>span{color:#5a7d62;background:#edf4ee;width:42px;height:42px;display:grid;place-items:center;border-radius:7px;flex-shrink:0}.export-options>button>svg{margin-left:auto;color:#8ca693}.export-options strong{font-size:13px;font-weight:550}.export-options small{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.help-steps{padding-left:21px}.help-steps li{font-size:13px;padding:0 0 18px 6px;color:#50785d}.help-steps strong{color:#31583f;font-size:14px}.help-steps p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:5px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#204d38;color:#fff;box-shadow:0 4px 24px #16352030;padding:14px 17px;display:flex;align-items:center;gap:11px;border-radius:8px;font-size:13px;z-index:100;max-width:calc(100vw - 28px);width:max-content}.toast>svg{color:#c2dbc7;flex-shrink:0}.toast button{color:#c2dbc7;padding:3px;display:flex;margin-left:8px}.storage-error{padding:15px;background:#fff3df;border:1px solid #e8d6b5;border-radius:6px;font-size:13px;line-height:1.7;margin-bottom:20px}.storage-error button{font-weight:600;text-decoration:underline;margin:5px}.print-only{display:none}@media(min-width:1550px){main{padding:32px 36px 40px}.planner-grid{grid-template-columns:270px minmax(330px,1fr) 260px;gap:22px}.roster-player{padding:11px 16px}.player-identity strong{font-size:13px}.pitch{aspect-ratio:1.1}.pitch-name{font-size:11px}}@media(max-width:1250px){.sidebar{width:190px;padding:24px 10px 0}.main-shell{margin-left:190px}main{padding:24px 20px 32px}.planner-grid{grid-template-columns:225px minmax(270px,1fr);gap:16px}.plan-aside{grid-column:1/-1}.rotation-list{display:grid;grid-template-columns:repeat(3,1fr);max-height:340px}.halftime{display:none}.rotations-card .auto-button{width:auto;margin-top:10px}.saved-label{display:none}.bottom-grid{gap:16px}.ready-card{padding:17px}.ready-icon{display:none}.notes-card .card-heading>span{display:none}}@media(max-width:900px){.sidebar{position:static;width:100%;padding:13px 20px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.app-shell{display:block}.main-shell{margin-left:0}.brand{font-size:23px;padding:0}.team-switch{width:auto;max-width:225px;margin:0 0 0 auto;padding:6px 9px}.team-switch small{display:none}.club-crest{width:22px;height:25px}.sidebar nav{display:flex;width:100%;gap:8px}.nav-item{width:auto;padding:10px 14px;font-size:13px;margin:0}.nav-count,.games-label,.sidebar-games,.sidebar-bottom{display:none}main{padding-top:22px}.match-actions{align-self:flex-start}.match-card h2{font-size:19px}.connections-grid{gap:16px}.connection-card{padding:20px}.backup-card{flex-wrap:wrap}}@media(max-width:650px){.sidebar{padding:13px 14px 9px;gap:12px}.brand{font-size:22px}.brand-symbol svg{width:19px}.team-switch{max-width:170px;border:0;padding:3px;gap:5px}.team-switch strong{font-size:12px}.sidebar nav{justify-content:space-between;gap:3px}.nav-item{gap:6px;padding:10px 8px;font-size:12px}.nav-item svg{width:16px}main{padding:20px 14px 30px}.page-heading{margin-bottom:16px}.page-heading h1{font-size:23px}.page-heading p{font-size:12px}.page-heading>.button{font-size:11px;padding:9px 10px;gap:5px;flex-shrink:0}.demo-notice{padding:8px 10px;margin-bottom:14px}.demo-notice>span>span{display:none}.demo-notice strong,.demo-notice button{font-size:11px}.game-picker{gap:9px;font-size:11px}.game-picker select{flex:1;font-size:12px}.match-card{padding:14px;display:block;position:relative}.match-kicker{font-size:10px;padding-right:104px}.match-card h2{font-size:17px;margin-top:8px}.match-meta{font-size:11px;gap:8px 12px}.match-actions{position:absolute;right:8px;top:8px;gap:2px}.status-badge{font-size:10px;padding:5px 6px}.match-actions .icon-button{width:26px;height:26px}.plan-toolbar{flex-wrap:wrap;gap:5px;margin-top:8px;margin-bottom:14px}.tabs{gap:18px}.tabs button{font-size:12px;gap:5px;padding:13px 0}.tabs button svg{width:14px}.toolbar-actions{margin-left:auto;padding-bottom:7px}.toolbar-actions .button{font-size:11px;min-height:31px;padding:6px 9px}.planner-grid{grid-template-columns:minmax(0,1fr);gap:14px}.lineup-card{order:1}.plan-aside{order:2;grid-column:auto}.roster-card{order:3}.pitch{width:calc(100% - 24px);aspect-ratio:1 / 1.08;margin:0 12px}.pitch-markings{inset:23px 14px 17px}.pitch-player{min-width:0}.pitch-name{font-size:9px;max-width:min(86px,100%);padding:4px}.player-disc{width:38px;height:38px;font-size:14px}.position-label{font-size:8px}.pitch-caption{font-size:10px;padding:10px 14px}.card-heading{padding:15px 14px 12px}.card-heading h3{font-size:14px}.bench{padding:13px 14px}.rotation-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rotation{gap:8px}.rotation small{font-size:10px}.roster-list{max-height:430px}.roster-player{padding:10px 15px}.player-identity strong{font-size:13px}.player-identity small{font-size:11px}.roster-minutes{float:none;margin-left:10px}.attendance-select{width:112px}.attendance-select select{position:static;opacity:1;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:6px;background:#fff;color:#5e7164}.attendance-select>span{display:none}.bottom-grid{grid-template-columns:1fr;margin-top:14px;gap:14px}.ready-card{padding:18px}.ready-icon{display:grid}.minutes-card .card-heading{flex-wrap:wrap}.minutes-row{gap:8px;flex-wrap:wrap;padding:13px 14px}.minutes-row>div:nth-child(2){flex:1;min-width:120px}.minutes-row>strong{width:auto;font-size:12px}.minutes-row small{font-size:10px}.minutes-track{order:3;flex-basis:calc(100% - 67px);margin:7px 0 3px 37px}.minute-percent{order:4;font-size:10px;width:22px}.roster-tools{padding:0 14px 14px;gap:8px}.roster-tools .search-field{width:auto;min-width:0;flex:1}.roster-tools>select{width:112px;font-size:11px}th,td{padding:12px 14px}.info-note{font-size:11px;align-items:flex-start}.connections-grid{grid-template-columns:1fr}.connection-card{padding:20px}.backup-card,.connection-explainer{padding:18px}.modal{padding:20px}.modal h2{font-size:20px}.form-grid{gap:14px}.form-grid label{font-size:11px}.form-grid input,.form-grid select,.csv-input{font-size:16px}.modal-footer{flex-wrap:wrap}.modal-footer>.button{font-size:11px}.import-controls{flex-wrap:wrap}.preview-rows>div{padding:9px;font-size:10px}.export-options>button{padding:13px 11px;gap:10px}.export-options strong{font-size:12px}.export-options small{font-size:10px}.toast{font-size:12px;bottom:14px;padding:12px}}@media print{@page{margin:16mm}.app-shell,.modal,.toast{display:none!important}.print-only{display:block!important;color:#000;background:#fff}.print-only h1{font-size:20px;margin-bottom:15px}.print-only pre{font:10pt/1.65 monospace;white-space:pre-wrap;word-break:break-word}body{background:#fff}}.lineup-controls{display:flex;align-items:center;gap:3px}.lineup-controls .formation-pill{margin-left:5px}.rotation-context{display:flex;gap:9px;align-items:baseline;padding:0 16px 13px;font-size:11px;line-height:1.6;color:var(--muted)}.rotation-context strong{color:#345843;white-space:nowrap}.position-label{display:flex;align-items:center;gap:4px}.player-incoming .player-disc{border-color:#a5f0b9;box-shadow:0 0 0 3px #123b3070}.player-moved .player-disc{border-color:#a8dcff;box-shadow:0 0 0 3px #17364970}.pitch-change{position:absolute;top:100%;margin-top:3px;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:700;line-height:1.4;white-space:nowrap}.pitch-change.incoming{background:#d7f9df;color:#165435}.pitch-change.moved{background:#d7edff;color:#214f73}.rotation-changes{padding:15px 16px;border-top:1px solid var(--line);background:#fafcfb}.rotation-changes>h4{font-size:13px;margin-bottom:13px}.rotation-change-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.change-group h5{margin:0 0 10px;font-size:11px;font-weight:650;display:flex;gap:5px;align-items:center}.change-group h5>span{opacity:.7;font-size:10px}.change-group.outgoing h5{color:#9e5643}.change-group.incoming h5{color:#237347}.change-group.moved h5{color:#3d6d94}.change-group ul{list-style:none;margin:0;padding:0}.change-group li{margin-bottom:9px}.change-group li:last-child{margin-bottom:0}.change-group li strong{font-size:11px;font-weight:550;display:block;line-height:1.5}.change-group li span,.change-group>p{font-size:10px;color:var(--muted);line-height:1.6}.no-rotation-changes{font-size:12px;color:var(--muted);line-height:1.7}.keeper-card{margin-bottom:16px}.keeper-card .card-heading{gap:6px}.keeper-card .card-heading h3{font-size:13px;gap:6px}.keeper-card .tiny-badge{font-size:9px}.keeper-card .card-description{line-height:1.6}.keeper-selections{padding:0 14px 16px;display:grid;gap:13px}.keeper-selections label{display:grid;gap:7px;font-size:11px}.keeper-selections label>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.keeper-selections small{color:var(--muted);font-size:10px}.keeper-selections select{min-width:0;width:100%;border:1px solid #dfdfd0;border-radius:5px;padding:8px 5px;font-size:11px;background:#fffdf7;color:#685830}@media(max-width:1250px)and (min-width:651px){.plan-aside{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.keeper-card{margin-bottom:0}.plan-aside .rotation-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.lineup-controls .icon-button{width:26px;height:30px;padding:3px}.lineup-controls .formation-pill{font-size:11px;padding:7px;gap:5px}.rotation-context{padding-left:14px;padding-right:14px;font-size:10px}.rotation-change-groups{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.change-group.moved{grid-column:1/-1}.change-group.moved ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.change-group li strong{font-size:12px}.change-group li span{font-size:11px}.pitch-change{font-size:8px;padding:1px 4px;margin-top:2px}.keeper-selections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.keeper-selections select{font-size:12px;padding:9px 5px}.keeper-card .card-heading h3{font-size:14px}}.pitch-player.pitch-swap{min-width:0}.pitch-swap-card{width:100%;display:flex;flex-direction:column;align-items:stretch;border:1px solid #fff;border-radius:8px;background:#fff;box-shadow:0 3px 10px #163d344d;overflow:hidden;color:#23312b}.swap-person{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;font-size:11px;line-height:1.3;font-weight:650;overflow-wrap:anywhere}.swap-person>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.swap-person b{font-size:9px;letter-spacing:.7px}.swap-leaving{background:#fff0e7;color:#934223}.swap-entering{background:#dff6e6;color:#165435}.swap-person .pitch-change.incoming{position:static;margin:0;padding:0;font-size:9px;background:none}.swap-direction{margin:-2px auto;color:#52665b;flex-shrink:0}.swap-via{padding:4px;font-size:8px;line-height:1.4;color:#38596e;background:#edf5fa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-moved .pitch-name{white-space:normal;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}@media(max-width:600px){.swap-person{font-size:10px;padding:6px 3px}}.focused-planner{grid-template-columns:minmax(0,1fr) 270px}.focused-planner .rotation-list{display:block;max-height:440px}.focused-planner .pitch{aspect-ratio:auto;height:560px;max-height:none}.rotation-timing{padding:18px;margin-bottom:16px}.rotation-timing h3{font-size:14px;margin:0 0 14px}.rotation-timing>label{display:block;font-size:11px;margin-bottom:8px}.interval-stepper{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.interval-stepper input{width:100%;min-width:0;text-align:center;border:0;background:#fff;padding:9px}.interval-stepper button{padding:8px 14px;font-size:19px;background:#f1f5f3}.interval-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:8px 0 16px}.interval-presets button{padding:7px 3px;font-size:11px;border:1px solid var(--line);border-radius:4px}.interval-presets button[aria-pressed=true]{color:#176b50;border-color:#176b50;background:#edf6f0}.timing-balance{display:grid;gap:9px}.timing-balance>div{padding:10px;border:1px solid var(--line);border-radius:6px}.timing-balance span{font-size:11px;display:block;color:var(--muted);margin-bottom:4px}.timing-balance strong{font-size:18px}.timing-balance small{font-size:10px;font-weight:500;color:var(--muted)}.proposed-balance{background:#f1f8f4}.rotation-timing p{font-size:10px;color:var(--muted);line-height:1.5;margin:10px 0}.rotation-timing details{margin-top:12px;font-size:11px}.rotation-timing summary{cursor:pointer;color:#176b50}.timing-player-impact{display:grid;gap:9px;padding-top:12px}.timing-player-impact>div{display:flex;justify-content:space-between;gap:7px}.timing-player-impact b{white-space:nowrap;font-size:10px}.rotation-timing>.button{width:100%;font-size:12px;justify-content:center}.timing-undo{display:block;margin:12px auto 0}.game-availability{padding:14px 0 0;margin:20px 0;border:0;border-top:1px solid var(--line)}.game-availability legend{font-weight:650;font-size:14px;padding-right:12px}.game-availability>p{color:var(--muted);font-size:12px;margin:0 0 12px}.game-availability-row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.game-availability-row b{font-size:12px}.game-availability-row small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.game-availability-row select{width:135px;flex:0 0 135px}@media(max-width:1050px){.focused-planner{grid-template-columns:minmax(0,1fr) 245px}}@media(max-width:800px){.focused-planner{grid-template-columns:minmax(0,1fr)}.match-actions{flex-wrap:wrap}}.rotation-timing{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.25fr) minmax(160px,.8fr);gap:8px 22px;align-items:center}.timing-inputs>label{display:block;font-size:11px;margin-bottom:7px}.timing-inputs .interval-presets{margin-bottom:0}.timing-comparison .timing-balance{grid-template-columns:1fr 1fr}.timing-apply>.button{width:100%;justify-content:center}.rotation-timing>details{grid-column:1 / -1;margin-top:2px}.rotation-timing .timing-player-impact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}.game-availability-row select{padding:8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:inherit;font-size:12px}@media(max-width:1050px){.rotation-timing{grid-template-columns:1fr 1.2fr}.timing-apply{grid-column:1/-1;display:flex;align-items:center;gap:14px}.timing-apply>.button{width:auto;white-space:nowrap}}@media(max-width:650px){.rotation-timing{grid-template-columns:minmax(0,1fr);gap:14px}.timing-apply{display:block}.timing-apply>.button{width:100%}.rotation-timing .timing-player-impact{grid-template-columns:1fr}}.timing-disclosure{margin-bottom:16px}.timing-disclosure>summary{display:flex;align-items:center;gap:16px;padding:14px 18px;cursor:pointer;font-size:12px}.timing-disclosure>summary span{color:var(--muted)}.timing-disclosure>summary b{margin-left:auto;color:var(--green);font-size:11px}.timing-disclosure .rotation-timing{margin:0;border-top:1px solid var(--line)}.planner-setup{border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:16px}.planner-setup>summary{padding:16px;cursor:pointer;font-size:12px;color:var(--green);font-weight:600}.planner-setup .card{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.focused-planner .rotations-card{margin-bottom:0}.focused-planner .rotation-list{max-height:520px}.tournaments-workspace{display:grid;gap:18px}.tournament-toolbar,.tournament-summary,.tournament-editor,.tournament-empty{padding:20px}.tournament-toolbar,.tournament-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.tournament-toolbar h2{font-size:18px}.tournaments-workspace p{color:var(--muted);font-size:12px;line-height:1.6;margin-top:7px}.tournament-summary>p{flex-basis:100%}.tournament-actions{display:flex;gap:10px;flex-wrap:wrap}.tournament-timing{padding:16px 20px}.tournament-timing>summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;cursor:pointer;font-size:12px}.tournament-timing>summary>span:first-of-type{flex:1;color:var(--muted)}.tournament-timing form{margin-top:18px}.tournament-timing form>button{margin-top:12px}.tournament-timing-fields,.tournament-kickoff form{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.tournament-timing label,.tournament-kickoff label{display:grid;gap:7px;font-size:12px}.tournament-timing input{width:160px}.tournament-kickoff{margin-top:12px}.tournament-kickoff>summary{cursor:pointer;font-size:12px;color:var(--muted)}.tournament-kickoff form{margin-top:12px}.tournament-summary label,.tournament-editor>label{display:grid;gap:7px;font-size:12px}.tournaments-workspace select,.tournaments-workspace input:not([type=checkbox]){padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;color:inherit;max-width:100%}.tournament-editor>label{max-width:450px}.tournament-members{display:grid;gap:12px;margin:18px 0;max-height:350px;overflow:auto}.tournament-members label{display:flex;gap:12px;align-items:start;font-size:12px}.tournament-members small{display:block;margin-top:5px;color:var(--muted)}.tournaments-workspace input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex-shrink:0}.tournament-preview{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border:1px solid #b6d8c5;padding:16px;border-radius:8px;background:#edf8f1}.tournament-preview>div{flex:1}.tournament-games{display:grid;gap:14px}.tournament-game{padding:18px}.tournament-game header{display:flex;justify-content:space-between;align-items:center;gap:16px}.tournament-game header span{font-size:11px;color:var(--muted)}.tournament-game h3{margin-top:6px;font-size:15px}.keep-tournament-plan{display:flex;align-items:center;gap:8px;font-size:11px;margin:16px 0}.tournament-starting{display:flex;flex-wrap:wrap;gap:8px}.tournament-starting>div{background:#f2f6f4;padding:8px 10px;border-radius:5px;min-width:85px;flex:1}.tournament-starting small{display:block;color:var(--muted);font-size:10px}.tournament-starting strong{display:block;margin-top:4px;font-size:11px}@media(max-width:650px){.timing-disclosure>summary{flex-wrap:wrap;gap:8px}.timing-disclosure>summary span{order:3;width:100%}.tournament-game header{flex-wrap:wrap}}@media(max-width:650px){.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:3px}.sidebar nav .nav-item{min-width:0;width:100%;padding:7px 2px;flex-direction:column;justify-content:center;gap:5px;font-size:10px}}.played-record{margin-bottom:14px;min-width:0}.played-record>summary,.plan-protection summary,.tournament-profile>summary{cursor:pointer;padding:13px 16px;font-size:12px}.played-record>summary span{margin-left:14px;color:var(--muted);font-size:11px}.played-record-body{padding:0 16px 16px}.played-record-body p,.plan-protection p,.plan-review p{color:var(--muted);font-size:12px;line-height:1.6;margin:10px 0}.played-record label,.result-mapping label,.plan-protection label{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0;font-size:12px}.played-record select,.played-record input,.plan-protection select{max-width:100%;padding:7px;border:1px solid var(--line);border-radius:5px;background:#fff}.played-record table input{width:80px}.played-record .result-picker{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.played-record .team-time-scroll{padding:10px 0}.plan-protection{padding:6px 14px 14px}.plan-protection summary{padding-left:0}.plan-review table,.played-record table{width:100%;text-align:left;border-collapse:collapse;font-size:12px}.plan-review th,.plan-review td,.played-record th,.played-record td{padding:9px;border-bottom:1px solid var(--line)}.plan-review summary{padding:12px 0;cursor:pointer}.tournament-profile{padding:4px 16px 16px}.tournament-profile>summary{padding-left:0}.tournament-keepers{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}.tournament-keepers label{display:grid;gap:6px;font-size:11px}.team-time .card-heading{flex-wrap:wrap}@media(max-width:650px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.played-record>summary span{display:block;margin:6px 0 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.planner-title{color:var(--muted);font-size:12px;font-weight:550;margin-bottom:7px}.match-selector{display:block;margin:0 0 10px}.match-selector select{width:100%;max-width:620px;padding:9px 32px 9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#202c32;font-size:16px;font-weight:600;cursor:pointer}.match-identity>div{min-width:0}.focused-planner .rotations-card{grid-column:2;grid-row:2}.focused-planner .plan-protection{grid-column:2;grid-row:3}.focused-planner{grid-template-rows:max-content max-content 1fr}.focused-planner .lineup-card{grid-column:1;grid-row:1 / span 3}.planning-controls{display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:1;min-width:0}.focused-planner .planning-controls>.auto-button{width:100%;margin:0;min-height:42px;font-size:12px}.focused-planner .planner-setup{margin:0}.planner-setup>summary{padding:13px 16px}.planner-setup>summary small{display:block;margin:7px 0 0 14px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.setup-game-details{padding:0 16px 16px}.setup-game-details p{color:var(--muted);font-size:12px;margin-bottom:12px}.planner-setup{position:relative}.plan-settings-body{position:absolute;top:calc(100% + 6px);right:0;z-index:25;width:min(420px,calc(100vw - 32px));max-height:min(660px,68vh);overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 40px #202c3226}.plan-settings-body .setup-game-details{grid-column:1 / -1;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.plan-settings-body .setup-game-details p{margin:0}.plan-settings-body .timing-disclosure{grid-column:1 / -1}.plan-settings-body .rotation-timing{grid-template-columns:minmax(0,1fr);margin:0;padding:16px}.plan-settings-body .timing-inputs h3{display:none}.plan-settings-body .timing-apply{grid-column:1 / -1}.plan-settings-body .timing-apply>.button{width:auto}.plan-settings-body .timing-player-impact{grid-template-columns:minmax(0,1fr)}.settings-panel-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}.planner-result{margin-top:18px}.notes-card>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:17px;font-size:13px;font-weight:600}.notes-card>summary:after{content:"+";color:var(--muted);margin-left:auto}.notes-card[open]>summary:after{content:"−"}.notes-card:not([open]){align-self:start}.notes-card textarea{min-height:90px}@media(min-width:901px){.focused-planner{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:650px){.match-actions{flex-wrap:wrap}}@media(max-width:800px){.focused-planner{display:flex;flex-direction:column}.focused-planner>*{width:100%}.planning-controls{order:0}.focused-planner .lineup-card{order:2}.focused-planner .rotations-card{order:1}.focused-planner .plan-protection{order:3}.focused-planner .rotation-list{display:flex;gap:8px;padding:0 12px 12px;scroll-padding-inline:12px}.focused-planner .rotation-list>div{flex:0 0 180px}.focused-planner .rotation{height:100%;min-height:64px;border:1px solid var(--line);margin:0}.focused-planner .rotation.active{border-color:var(--green)}.focused-planner .halftime{display:none}.plan-settings-body{position:static;width:100%;grid-template-columns:1fr}.plan-settings-body .rotation-timing{grid-template-columns:minmax(0,1fr)}.plan-settings-body .timing-player-impact{grid-template-columns:1fr}.plan-settings-body .setup-game-details{flex-wrap:wrap}}.dialog-draft-notice{position:sticky;top:0;z-index:2;border:1px solid #d6bd7a;background:#fff9eb;border-radius:6px;padding:14px;margin-bottom:18px;font-size:13px;line-height:1.5}.dialog-draft-notice>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.assignment-panel:focus-visible{outline:3px solid var(--green);outline-offset:-3px}.assignment-panel>div:first-child{flex-wrap:wrap;gap:10px}.assignment-panel>div:first-child strong{flex:1 1 100%}.assignment-panel>div:last-child button{min-height:40px;flex-wrap:wrap;text-align:left}.bench-players button>span:last-child{white-space:normal;text-align:left}.timeline-scroll-hint{display:none}.tournament-starting-summary{min-width:0}@media(max-width:650px){.schedule-workspace .schedule-season-header{flex-wrap:wrap;gap:12px}.schedule-workspace .schedule-season-selection{flex:1 1 100%;min-width:0;gap:12px}.schedule-workspace .schedule-season-selection label{flex:1;min-width:0}.schedule-workspace .schedule-season-selection select{min-width:0;width:100%}.schedule-workspace .schedule-season-selection p{white-space:nowrap}.schedule-workspace .schedule-batch-actions{flex-wrap:wrap}.schedule-workspace .schedule-batch-actions>p{flex-basis:100%;margin-right:0}.timeline-axis-row,.timeline-row{grid-template-columns:112px minmax(0,1fr)}.timeline-player{padding:10px 8px;overflow-wrap:anywhere}.timeline-scroll-hint{display:block;margin-bottom:10px;color:var(--muted);font-size:12px}}.game-navigation{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;background:var(--cream)}.game-navigation-context{min-width:0;display:flex;align-items:center;gap:12px}.game-navigation-context>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#526258}.game-navigation-context>button{flex-shrink:0;display:inline-flex;align-items:center;min-height:28px}.game-navigation-steps{display:flex;align-items:center;gap:8px;flex-shrink:0}.game-navigation-steps .button{min-height:36px}.game-navigation-count{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.game-navigation~.match-card{padding-top:10px;padding-bottom:10px}@media(max-width:650px){.game-navigation{flex-wrap:wrap;gap:4px;padding:6px 0}.game-navigation-context{width:100%;flex-direction:row;align-items:center;gap:8px}.game-navigation-context>button{white-space:nowrap;flex-shrink:0}.game-navigation-steps{width:100%;justify-content:space-between}.game-navigation-steps .button{min-height:40px}}@media(max-width:650px){.match-card .match-actions{position:static;margin-top:10px;justify-content:space-between}}.actual-rotation{border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:10px}.actual-rotation>summary{cursor:pointer;padding:4px 0;font-size:13px}.actual-rotation>.button{margin-top:10px}.actual-lineup{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}.actual-lineup label{flex-direction:column;align-items:stretch}[hidden]{display:none!important}.app-shell main input,.app-shell main textarea,dialog.modal input,dialog.modal textarea{font-weight:400}.app-shell main select,dialog.modal select{font-size:14px;font-weight:400;line-height:1.4;min-height:40px;max-width:100%;padding:8px 32px 8px 10px;text-overflow:ellipsis;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2352636b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.app-shell main select option,dialog.modal select option{font:inherit;font-weight:400;background:#fff;color:#202c32}.app-shell main .match-selector select{font-size:16px;font-weight:600}.match-identity{flex:1}.match-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;flex-shrink:0}.match-actions>.status-badge{grid-column:1 / -1;justify-self:end}.match-meta svg{flex-shrink:0}.match-meta>span{min-width:0;overflow-wrap:anywhere}.team-time .card-heading{flex-wrap:wrap;flex-direction:row;align-items:end}.team-time .card-heading>div:first-child{flex:1 1 300px}.team-time .card-heading label{flex:0 1 200px;min-width:0;font-size:12px}.rotation strong,.team-time td,.timeline-player small,.roster-minutes{font-variant-numeric:tabular-nums}.rotation-context{min-height:38px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.rotation-context .arrows-toggle{padding:0;margin:0;white-space:nowrap}.lineup-controls .icon-button{width:40px;height:40px}.modal{overscroll-behavior:contain}@media(max-width:900px){.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.sidebar nav .nav-item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:44px;padding:8px;font-size:12px;line-height:1.3;text-align:left}.sidebar nav .nav-item svg{width:18px;height:18px;flex-shrink:0}}@media(max-width:650px){.app-shell main select,dialog.modal select,.app-shell main input:not([type=checkbox]):not([type=radio]),dialog.modal input:not([type=checkbox]):not([type=radio]),.app-shell main textarea,dialog.modal textarea{font-size:16px;min-height:44px}.match-actions{width:100%;gap:8px}.match-actions .status-badge{justify-self:start;width:fit-content}.plan-toolbar .tabs{width:100%;gap:12px}.plan-toolbar .tabs button{flex:1;justify-content:center;min-height:48px;font-size:12px;line-height:1.4}.toolbar-actions{justify-content:flex-start;margin:4px 0;gap:8px}.toolbar-actions .button,.match-actions .button{min-height:40px;font-size:12px}.focused-planner .pitch{height:600px}.swap-person{padding:4px 2px;gap:2px;font-size:11px;line-height:1.2}.swap-person b,.swap-person .pitch-change.incoming{font-size:8px;line-height:1.1}.swap-direction{height:12px}.swap-via{padding:3px;line-height:1.2}.rotation-context{height:96px;grid-template-columns:auto minmax(0,1fr);font-size:12px}.rotation-context .arrows-toggle{grid-column:1 / -1;min-height:32px}.assignment-panel{right:16px;bottom:max(12px,env(safe-area-inset-bottom))}.assignment-panel>div:last-child button{min-height:44px;overflow-wrap:anywhere}.team-time .card-heading label{flex:1 1 140px}.focused-planner .rotation{height:68px}.roster-tools{flex-direction:column;align-items:stretch}.roster-tools .search-field,.roster-tools>select{width:100%;max-width:none}}@media(prefers-reduced-motion:reduce){.app-shell button,.app-shell a{transition:none}}
