:root{color-scheme:light;--bg: #f4f6f8;--surface: #ffffff;--surface-2: #f8fafc;--text: #172033;--muted: #65748b;--border: #cfd7e3;--border-strong: #1f2937;--accent: #1d4ed8;--accent-soft: #dbeafe;--bye: #ef1d1d;--bye-soft: #f8c8c8;--warning: #9a5b00;--info: #1d4ed8;--shadow: 0 16px 40px rgba(15, 23, 42, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,select{font:inherit}button{cursor:pointer}.app-frame{min-height:100vh;padding:24px}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1760px;margin:0 auto 16px}.app-header h1,.load-state h1{margin:0;font-size:clamp(1.6rem,2vw,2.15rem);line-height:1.05;letter-spacing:0}.app-header p,.panel-heading p{margin:6px 0 0;color:var(--muted);font-size:.9rem}.header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.header-meta span{border:1px solid var(--border);background:var(--surface);padding:7px 10px;border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:700}.view-tabs{display:flex;gap:8px;max-width:1760px;margin:0 auto 16px}.view-tabs button,.segmented-control button,.outline-button,.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 12px;font-weight:800;font-size:.88rem}.view-tabs button.is-active,.segmented-control button.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.workspace-grid{max-width:1760px;margin:0 auto;min-width:0}.workspace-panel,.load-state{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.workspace-panel{overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.builder-heading{padding:12px 14px}.panel-heading>div:first-child{min-width:190px}.panel-heading h2{margin:0;font-size:1rem;letter-spacing:0;white-space:nowrap}.segmented-control{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.segmented-control button{padding:7px 10px;font-size:.78rem}.secondary-button{background:#111827;border-color:#111827;color:#fff;white-space:nowrap}.outline-button{white-space:nowrap}.outline-button:disabled{cursor:not-allowed;opacity:.45}.builder-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.builder-actions span{color:var(--muted);font-size:.78rem;font-weight:800}.builder-actions .outline-button,.builder-actions .secondary-button{padding:7px 10px;font-size:.8rem}.builder-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--border);background:#fff}.builder-filters label{display:grid;gap:3px;color:var(--muted);font-size:.68rem;font-weight:900}.builder-filters select,.player-search-input{border:1px solid #b8c1cf;background:#fff;color:#101827}.builder-filters select{min-height:30px;min-width:118px;border-radius:8px;padding:0 10px;font-size:.8rem;font-weight:800}.builder-filters .checkbox-control{display:flex;align-items:center;gap:8px;min-height:30px;color:var(--text);font-size:.78rem}.checkbox-control input{width:16px;height:16px}.table-scroll{overflow:auto;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.matrix-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.78rem;line-height:1.15}.matrix-table th,.matrix-table td{border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);height:30px;padding:5px 8px;text-align:center;white-space:nowrap;background:#fff}.matrix-table thead th{position:sticky;top:0;z-index:4;background:#f2f4f7;font-weight:900}.matrix-table th:first-child,.matrix-table td:first-child{border-left:1px solid var(--border-strong)}.matrix-table thead tr:first-child th{border-top:1px solid var(--border-strong)}.matrix-table tbody tr:hover>td:not(.is-bye):not(.count-level-1):not(.count-level-2):not(.count-level-3),.matrix-table tbody tr:hover>th{background:#eef6ff}.matrix-table tbody th{font-weight:900}.sticky-col{position:sticky;left:0;z-index:3}thead .sticky-col{z-index:5}.schedule-table .sticky-col{background-clip:padding-box;box-shadow:2px 0 #fff,3px 0 0 var(--border-strong)}.schedule-table thead .sticky-col{z-index:30}.schedule-table tbody .sticky-col{z-index:20}.team-name-col{min-width:150px;max-width:150px}.player-count-col{min-width:72px;max-width:72px;font-weight:900}.full-name-col{min-width:220px;text-align:left!important;color:var(--muted)}.schedule-table .schedule-cell{min-width:132px}.schedule-cell.is-bye{background:var(--bye);color:#111;font-weight:900}.schedule-cell.is-empty{background:#fbfdff}.schedule-table tbody tr:nth-child(2n)>td:not(.is-bye),.schedule-table tbody tr:nth-child(2n)>th{background:#fbfcfe}.emphasis-week,.schedule-cell.is-emphasis-week,.count-cell:nth-last-child(-n+3){box-shadow:inset 3px 0 #1d4ed829}.builder-table .slot-col{min-width:44px;max-width:44px}.builder-table .player-col{min-width:360px;max-width:360px}.builder-table .position-col{min-width:76px}.builder-table .team-col{min-width:118px}.builder-table .schedule-cell,.builder-table .count-cell{min-width:106px}.slot-row.is-alt>td:not(.is-bye),.slot-row.is-alt>th{background:#fbfcfe}.slot-row.is-empty>td:not(.is-bye),.slot-row.is-empty>th{background:#f8fafc;color:#748198}.slot-row.is-empty .player-search-input{background:#fff;border-style:dashed;color:var(--muted)}.slot-row:hover>td:not(.is-bye),.slot-row:hover>th{background:#eef6ff}.player-picker{position:relative;min-width:0}.player-picker-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.player-search-input{width:100%;min-height:26px;border-radius:999px;padding:2px 26px 2px 10px;font-size:.76rem;font-weight:700}.player-search-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.clear-slot-button{width:24px;height:24px;border:1px solid var(--border);border-radius:999px;background:#f8fafc;color:var(--muted);font-size:.72rem;font-weight:900;line-height:1}.clear-slot-button:hover,.clear-slot-button:focus{color:#fff;background:#991b1b;border-color:#991b1b}.player-results{position:fixed;z-index:1000;max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:6px}.player-result{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:6px;background:transparent;color:var(--text);padding:8px;text-align:left;white-space:normal}.player-result span{display:grid;gap:2px;min-width:0}.player-result strong,.player-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-result strong{color:var(--text);font-size:.84rem}.player-result small,.player-result em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:800}.player-result.is-active{background:var(--accent-soft)}.player-result.is-disabled{cursor:not-allowed;opacity:.54}.player-result-empty{padding:12px;color:var(--muted);font-size:.82rem;font-weight:800}.summary-spacer td{height:12px;background:#eef2f6;border-left:0!important;border-right:0!important}.summary-header-row th{background:#f2f4f7;border-top:2px solid var(--border-strong);font-size:.76rem}.summary-row td,.summary-row th{background:#fff;font-weight:800}.count-cell.count-level-1{background:#fbe1e1;color:#641e1e;font-weight:900}.count-cell.count-level-2{background:#f39c9c;color:#3f1111;font-weight:900}.count-cell.count-level-3{background:#c91f1f;color:#fff;font-weight:900}.total-row td,.total-row th{background:#f3f6fb}.total-row .count-cell.count-level-1{background:#f8caca}.total-row .count-cell.count-level-2{background:#ef8f8f}.total-row .count-cell.count-level-3{background:#991b1b;color:#fff}.load-state{max-width:680px;margin:80px auto;padding:24px}.load-state.is-error{border-color:#ef4444}.app-footer{max-width:1760px;margin:14px auto 0;color:var(--muted);font-size:.72rem;line-height:1.4}@media(max-width:720px){.app-frame{padding:14px}.app-header,.panel-heading{align-items:flex-start;flex-direction:column}.header-meta,.segmented-control{justify-content:flex-start}.view-tabs{overflow-x:auto;padding-bottom:2px}.matrix-table{font-size:.72rem}.builder-filters{align-items:stretch}.builder-filters label{min-width:0}.builder-filters select{min-width:104px}.builder-table .sticky-col{position:static}.builder-table .player-col{min-width:280px;max-width:280px}.builder-table .team-col,.builder-table .schedule-cell,.builder-table .count-cell{min-width:96px}.player-results{max-width:calc(100vw - 28px)}}
