@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&display=swap";:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark;background:#080b10;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{--bg: #080b10;--panel: #101721;--panel-soft: #151f2b;--text: #f4f7fb;--muted: #91a0b4;--line: rgba(255, 255, 255, .1);--brand: #e23b4a;--cyan: #1ec8c1;--green: #54d68a;min-height:100vh;display:grid;grid-template-rows:auto 1fr;color:var(--text);background:linear-gradient(135deg,rgba(226,59,74,.16),transparent 28%),linear-gradient(315deg,rgba(30,200,193,.12),transparent 34%),var(--bg)}.app-shell.light{--bg: #f4f6f8;--panel: #ffffff;--panel-soft: #eef2f5;--text: #121821;--muted: #637083;--line: rgba(14, 25, 39, .12);color-scheme:light}.sidebar{min-height:68px;padding:10px 18px;border-bottom:1px solid var(--line);background:#0b1017c7;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;align-items:center;gap:14px}.light .sidebar{background:#ffffffd1}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--brand),#ff7a59);color:#fff;font-weight:900;letter-spacing:0}.brand span,.session-card span,.user-list span,.rights-row span,.tabs span{display:block;color:var(--muted);font-size:.82rem}.nav-list{display:flex;align-items:center;gap:18px;margin:0}.nav-primary,.nav-settings{display:inline-flex;align-items:center;gap:8px}.nav-primary{padding-right:18px;border-right:1px solid var(--line)}.nav-settings{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 64%,transparent)}.nav-settings>span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:0 4px}.nav-list button,.ghost-button,.primary-button{min-height:42px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--text)}.nav-list button,.ghost-button{background:transparent}.nav-list button{justify-content:center;padding:0 12px}.nav-list button.active,.ghost-button:hover{background:var(--panel-soft)}.primary-button{border:none;background:linear-gradient(135deg,var(--brand),#ff6a3d);color:#fff;font-weight:800;padding:0 16px}.wide{width:100%}.session-card{margin-left:auto;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;align-items:center;gap:12px}.compact-session svg{width:26px;height:26px}.workspace{padding:16px 18px 22px;overflow:hidden}.topbar,.championship-header,.filters-bar,.editor-panel{border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);border-radius:8px}.topbar{min-height:48px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:18px}.eyebrow{margin:0 0 6px;color:var(--cyan);font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(1.08rem,1.55vw,1.45rem)}h2{font-size:1.25rem}.content-stack{display:grid;gap:12px;margin-top:12px}.tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.tabs button{min-width:210px;padding:14px;border-radius:8px;border:1px solid var(--line);border-top:3px solid var(--accent);color:var(--text);background:var(--panel);text-align:left}.tabs button.active{box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.championship-header{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.notify-button,.filter-title,.section-title{display:inline-flex;align-items:center;gap:10px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.import-button{min-height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--line);color:var(--text);background:var(--panel-soft);display:inline-flex;align-items:center;justify-content:center;flex-direction:row;gap:9px;font-size:.86rem}.import-button input{display:none}.import-status{margin:-8px 2px 0;color:var(--green);font-size:.86rem;font-weight:800}.notify-button{min-height:38px;padding:0 12px;border-radius:8px;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent);font-weight:900}.filters-bar{display:grid;grid-template-columns:90px minmax(170px,1.2fr) minmax(120px,.65fr) minmax(145px,.75fr) minmax(140px,.8fr) minmax(145px,.8fr) minmax(130px,.7fr) minmax(130px,.7fr);gap:12px;padding:14px;align-items:end}label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}input,select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--panel-soft);padding:0 11px;outline:none}input:focus,select:focus{border-color:var(--cyan)}.input-icon{position:relative}.input-icon svg{position:absolute;left:10px;top:12px;color:var(--muted)}.input-icon input{padding-left:34px}.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}.match-card{min-height:156px;border-radius:8px;border:1px solid var(--line);background:var(--panel);padding:16px;display:grid;align-content:space-between;gap:16px}.match-meta,.logistics-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.84rem}.match-meta span:first-child{color:var(--text);font-weight:900}.teams{display:grid;grid-template-columns:1fr 18px 1fr;align-items:center;gap:10px}.teams strong:last-child{text-align:right}.status-pill{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--cyan) 12%,transparent);color:var(--cyan)}.ops-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.table-loading{align-self:flex-start;margin-top:-6px;color:var(--muted);font-size:.78rem;font-weight:800}.ops-table{width:100%;min-width:1580px;table-layout:fixed;border-collapse:collapse;font-size:.83rem}.ops-table .col-round{width:86px}.ops-table .col-week{width:46px}.ops-table .col-date{width:92px}.ops-table .col-fixture{width:265px}.ops-table .col-ko{width:74px}.ops-table .col-regie{width:84px}.ops-table .col-director{width:128px}.ops-table .col-device{width:132px}.ops-table .col-provider{width:138px}.ops-table .col-confirm{width:102px}.ops-table .col-commentators{width:178px}.ops-table .col-observations{width:245px}.ops-table .col-actions{width:62px}.ops-table th,.ops-table td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}.ops-table th{position:sticky;top:0;z-index:1;color:var(--muted);background:var(--panel-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.sort-button{width:100%;border:0;padding:0;color:inherit;background:transparent;font:inherit;font-weight:900;text-align:left;text-transform:inherit}.ops-table tr:hover td{background:color-mix(in srgb,var(--cyan) 6%,transparent)}.ops-table .needs-confirmation td{background:color-mix(in srgb,var(--brand) 5%,transparent)}.ops-table tr.round-group-start td{border-top:3px solid color-mix(in srgb,var(--cyan) 46%,var(--line))}.ops-table tr.round-group-end td{border-bottom:3px solid color-mix(in srgb,var(--cyan) 46%,var(--line))}.week-merged-cell{text-align:center;vertical-align:middle;color:var(--text);font-weight:900;background:color-mix(in srgb,var(--cyan) 8%,var(--panel))!important}.fixture-cell{min-width:220px;color:var(--text);font-weight:900}.date-cell{min-width:112px}.date-text-button{width:100%;min-height:34px;border:1px solid transparent;border-radius:6px;color:var(--text);background:transparent;padding:0;text-align:left;white-space:nowrap;font-weight:800}.editable-cell-button{width:72px;min-height:32px;border:1px solid transparent;border-radius:6px;color:var(--text);background:transparent;padding:0 6px;text-align:left;font-weight:900}.editable-cell-button:after,.date-text-button:after{content:"✎";margin-left:6px;color:var(--muted);font-size:.75rem;opacity:0}.editable-cell-button:hover,.date-text-button:hover{color:var(--cyan);border-color:var(--line);background:var(--panel-soft)}.editable-cell-button:hover:after,.date-text-button:hover:after{opacity:1}.date-text-button:hover{color:var(--cyan);border-color:var(--line);background:var(--panel-soft);padding:0 8px}.notes-cell{min-width:220px;color:var(--muted)}.device-pill,.confirm-pill{display:inline-flex;width:68px;min-height:28px;align-items:center;justify-content:center;border-radius:999px;padding:0 9px;white-space:nowrap;font-size:.75rem;font-weight:900}.device-pill{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent)}.device-pill.gold{color:#ffd166;background:#ffd16621}.device-pill.silver{color:#d9e2ef;background:#d9e2ef1f}.device-pill.super-league{color:#54d68a;background:#54d68a21}.confirm-pill.yes{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.confirm-pill.no{color:var(--brand);background:color-mix(in srgb,var(--brand) 13%,transparent)}.table-input,.table-select{min-height:34px;border-radius:6px;font-size:.8rem;padding:0 8px}.table-select,.table-combo{min-width:100%;width:100%}.tiny-input{width:62px}.date-input,.fixture-input{width:100%}.fixture-display{min-width:220px;display:flex;align-items:center;justify-content:space-between;gap:10px}.fixture-display span{color:var(--text)}.mini-edit-button{min-height:28px;border:1px solid var(--line);border-radius:6px;color:var(--cyan);background:var(--panel-soft);padding:0 8px;font-size:.74rem;font-weight:900}.ko-input,.director-input{width:100%}.regie-input{width:100%;text-transform:uppercase}.commentator-select{min-width:100%;width:100%}.observation-input{width:100%}.table-checkbox{display:inline-flex;align-items:center;flex-direction:row;gap:5px;width:100%}.table-checkbox input{appearance:none;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;border-radius:7px;border:1px solid color-mix(in srgb,var(--cyan) 38%,var(--line));background:var(--panel-soft);display:grid;place-items:center}.table-checkbox input:checked{background:var(--green);border-color:var(--green)}.table-checkbox input:checked:after{content:"";width:10px;height:6px;border-left:2px solid #08100c;border-bottom:2px solid #08100c;transform:rotate(-45deg) translate(1px,-1px)}.danger-button,.icon-danger-button{border:1px solid color-mix(in srgb,var(--brand) 46%,var(--line));color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);display:inline-flex;align-items:center;justify-content:center;gap:8px}.danger-button{min-height:36px;border-radius:8px;padding:0 11px;font-weight:800}.danger-button:disabled{cursor:not-allowed;opacity:.45}.icon-danger-button{width:34px;height:34px;border-radius:8px;padding:0}.users-layout{margin-top:18px;display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:18px}.config-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;max-width:1180px}.config-list button{min-height:48px;padding:8px 10px}.reference-layout{margin-top:18px;display:grid;gap:18px}.reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.reference-card,.device-row,.commentator-row{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:10px}.form-grid.compact{grid-template-columns:repeat(2,minmax(140px,1fr))}.split-title{justify-content:space-between}.split-title span{display:inline-flex;align-items:center;gap:10px}.small-button{min-height:34px;padding:0 10px}.device-list{display:grid;gap:10px}.device-row{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(180px,1fr) 90px;gap:10px;align-items:end}.commentator-list{display:grid;gap:10px}.commentator-row{display:grid;grid-template-columns:minmax(150px,1fr) 110px minmax(130px,.8fr) minmax(180px,1fr) 90px;gap:10px;align-items:end}.user-list{display:grid;align-content:start;gap:8px}.list-group-label{margin:12px 2px 4px;color:var(--cyan);font-size:.94rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.device-label{color:var(--cyan)}.commentator-label{color:#ffd166}.user-list button{min-height:72px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--panel);text-align:left;padding:13px}.user-list button.active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--panel))}.user-list button.device-active{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 13%,var(--panel))}.user-list button.commentator-active{border-color:#ffd166;background:#ffd1661f}.editor-panel{padding:12px;display:grid;gap:12px}.config-editor{align-content:start;width:100%;max-width:820px;padding:12px;border-top:3px solid color-mix(in srgb,var(--cyan) 52%,var(--line))}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.user-edit-grid{width:100%;grid-template-columns:repeat(3,minmax(150px,220px));align-items:end;justify-content:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-soft) 72%,transparent)}.user-edit-grid input,.user-edit-grid select{width:100%;max-width:220px;min-height:36px}.user-edit-grid .password-panel{max-width:210px}.password-line{grid-column:1 / -1;display:flex;align-items:end;gap:10px;flex-wrap:wrap}.config-editor>.form-grid:not(.user-edit-grid):not(.config-form){grid-template-columns:repeat(2,minmax(150px,230px));justify-content:start;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-soft) 72%,transparent)}.config-editor>.form-grid:not(.user-edit-grid):not(.config-form) input,.config-editor>.form-grid:not(.user-edit-grid):not(.config-form) select{width:100%;max-width:230px;min-height:36px}.password-line label{width:180px}.password-line input{max-width:180px}.config-form{display:grid;grid-template-columns:repeat(2,minmax(120px,180px));justify-content:start;align-items:end;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.config-form input,.config-form select{min-height:34px;max-width:180px;padding:0 9px}.config-form .wide-field{grid-column:span 2}.config-form .wide-field input{max-width:310px}.configuration-board{margin-top:18px;display:grid;gap:14px;max-width:1120px}.config-section{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,transparent);padding:12px}.device-section{border-top:3px solid var(--cyan)}.championship-section{border-top:3px solid var(--brand)}.commentator-section{border-top:3px solid #ffd166}.config-section-body{display:grid;grid-template-columns:minmax(220px,300px) minmax(320px,520px);gap:12px;align-items:start;margin-top:12px}.config-list-panel{display:grid;gap:8px}.config-list-panel button{min-height:48px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--panel);text-align:left;padding:9px 11px}.config-list-panel button.championship-active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 13%,var(--panel))}.config-list-panel span{display:block;color:var(--muted);font-size:.8rem}.config-card{display:grid;grid-template-columns:repeat(2,minmax(130px,190px));gap:10px;align-items:end;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px}.device-card{box-shadow:inset 3px 0 0 var(--cyan)}.championship-card{box-shadow:inset 3px 0 0 var(--brand)}.commentator-card{box-shadow:inset 3px 0 #ffd166}.config-card input,.config-card select{min-height:36px;max-width:190px}.full-field{grid-column:1 / -1}.wide-field{grid-column:span 2}.password-save-button{min-height:40px;width:150px;padding:0 10px}.form-error,.form-hint{margin:0;font-size:.84rem;font-weight:800}.form-error{color:var(--brand)}.form-hint{color:var(--green)}.password-status{min-height:40px;display:inline-flex;align-items:center;font-size:.84rem;cursor:help}.password-status.score-0,.password-status.score-1,.password-status.score-2,.password-status.score-3{color:var(--brand)}.password-status.score-4{color:#ffd166}.password-status.score-5{color:var(--green)}.device-title{border-left:3px solid var(--cyan);padding-left:8px}.commentator-title{border-left:3px solid #ffd166;padding-left:8px}.toggle-line{min-height:40px;display:flex;flex-direction:row;align-items:center}.toggle-line input,.check-list input{width:16px;min-height:16px}.rights-matrix{display:grid;gap:10px}.rights-row{border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:12px;align-items:center;background:var(--panel-soft)}.check-list{display:flex;flex-wrap:wrap;gap:10px}.check-list label{min-height:34px;display:flex;flex-direction:row;align-items:center;padding:0 10px;border-radius:8px;border:1px solid var(--line);color:var(--text);background:var(--panel)}.championship-picker{gap:9px}.championship-picker>strong{font-size:.78rem;color:var(--muted);text-transform:uppercase}.compact-check-list{gap:6px}.compact-check-list label{min-height:26px;padding:0 8px;border-radius:999px;font-size:.76rem;font-weight:800;color:var(--muted);background:color-mix(in srgb,var(--panel-soft) 78%,transparent)}.compact-check-list input{width:16px;min-width:16px;height:16px;min-height:16px;accent-color:var(--cyan)}.login-layout{grid-column:1 / -1;min-height:100vh;display:grid;place-items:center;background:#080b10}.login-panel{width:min(420px,calc(100vw - 32px));padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:grid;gap:18px}.login-title{color:var(--text);font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.65rem,4vw,3rem);font-weight:900;line-height:1.02;text-transform:uppercase}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;align-items:stretch;flex-wrap:wrap}.workspace{padding:18px}.filters-bar,.users-layout,.rights-row,.login-layout{grid-template-columns:1fr}.nav-list{order:3;width:100%;overflow-x:auto}}@media(max-width:640px){.topbar,.championship-header{align-items:stretch;flex-direction:column}.form-grid,.teams{grid-template-columns:1fr}.teams svg{transform:rotate(90deg)}.teams strong:last-child{text-align:left}}
