:root{--bg:#070809;--panel:#111316;--panel2:#17191d;--line:#303238;--green:#ed0012;--accent:#ff2435;--text:#f4f7f5;--muted:#9aaa9f;--danger:#ff5f68;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% -10%,#4a0710 0,transparent 30%),linear-gradient(135deg,#050607,#121317 60%,#050607);color:var(--text);font:15px/1.55 Inter,Arial,sans-serif;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(18px,4vw);background:rgba(7,8,9,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand b{display:block;font-size:25px;line-height:1}.brand small{display:block;color:var(--muted);margin-top:5px}.auth-box{display:flex;align-items:center;gap:8px}.auth-box label{font-size:12px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #304138;background:#0e1013;color:var(--text);padding:11px 12px;border-radius:6px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(168,255,42,.12)}.auth-box input{width:210px;padding:8px 10px}.tabs{display:flex;gap:4px;overflow:auto;padding:10px max(18px,4vw);background:#060a07;border-bottom:1px solid var(--line)}.tab{appearance:none;border:0;background:transparent;color:var(--muted);padding:10px 16px;font-weight:800;white-space:nowrap;cursor:pointer}.tab.active{background:var(--green);color:#041006;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.page{width:min(1480px,94vw);margin:auto;padding:30px 0 60px}.hero{min-height:280px;padding:42px;display:grid;grid-template-columns:1fr auto;align-items:center;background:linear-gradient(120deg,rgba(5,12,7,.96),rgba(14,37,19,.83)),url('assets/rlf-logo.svg') right -90px center/430px no-repeat;border:1px solid #2b4a31;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -10% 22px 25%;height:5px;background:var(--green);transform:skewX(-35deg);box-shadow:0 0 28px var(--green)}.hero h1{font-size:clamp(32px,5vw,72px);line-height:.96;max-width:980px;margin:6px 0 22px;text-transform:uppercase;letter-spacing:-.04em}.hero p{max-width:800px;color:#becbc1;font-size:17px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--green)!important;font-size:12px!important;font-weight:900}.hero-mark{width:150px;height:150px;border:2px solid var(--green);display:grid;place-content:center;text-align:center;transform:rotate(45deg);box-shadow:0 0 32px rgba(168,255,42,.25)}.hero-mark>*{transform:rotate(-45deg)}.hero-mark span{font-size:48px;font-weight:950}.hero-mark small{color:var(--green);font-weight:900}.panel{margin-top:24px;background:rgba(8,15,10,.94);border:1px solid var(--line);padding:28px}.tab-panel{display:none}.tab-panel.active{display:block}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.panel h2{font-size:clamp(26px,3vw,42px);margin:0;text-transform:uppercase}.panel h3{font-size:21px}.badge{border:1px solid var(--green);color:var(--green);padding:7px 12px;font-weight:800;font-size:12px;text-transform:uppercase}.split{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.6fr);gap:28px}.form-card{display:grid;gap:9px;align-content:start;background:var(--panel2);border-left:4px solid var(--green);padding:22px}.form-card label,.filter-line label,.export-controls label{font-weight:750}.actions,.filter-line,.export-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.button{border:1px solid var(--green);background:#17231a;color:var(--text);padding:10px 15px;font-weight:850;cursor:pointer;border-radius:4px}.button:hover{filter:brightness(1.15)}.button.bright{background:var(--green);color:#061006}.button.secondary{border-color:#52635a;background:transparent}.button:disabled{opacity:.45;cursor:not-allowed}.hint{color:var(--muted);font-size:12px}.inline{display:flex;align-items:center;gap:8px}.inline input{width:auto}.channel-box{border:1px solid var(--line);padding:12px}.check-list{display:grid;gap:9px}.check-list label{display:flex;gap:8px;align-items:center}.check-list input{width:auto}.card-list{display:grid;gap:12px}.news-card,.video-card,.protocol-card,.ref-card{background:#0d1610;border:1px solid var(--line);padding:17px}.news-card h4,.video-card h4{margin:0 0 8px;font-size:18px}.meta{color:var(--muted);font-size:12px}.status-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.status{padding:4px 7px;background:#1b2820;font-size:11px}.status.ok{color:var(--green)}.status.bad{color:var(--danger)}.video-grid,.referee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.video-card iframe{width:100%;aspect-ratio:16/9;border:0;background:#000;margin-top:10px}.video-link{display:grid;place-items:center;aspect-ratio:16/9;background:#111;color:var(--green);text-decoration:none;border:1px dashed #4a5b50;margin-top:10px}.filter-line select,.export-controls select{width:auto;min-width:190px}.protocol-view{margin-top:20px}.protocol-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:16px;padding:28px;background:linear-gradient(125deg,#0c160f,#14281a);border:1px solid #31503a}.protocol-summary strong{font-size:24px}.score{font-size:44px;font-weight:950;color:var(--green)}.squad-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.squad-list{background:#0b130e;padding:15px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--green);text-transform:uppercase;font-size:11px}.export-controls{background:#0d1610;padding:15px;border:1px solid var(--line)}.canvas-wrap{margin-top:20px;overflow:auto;background:#050806;padding:14px;text-align:center}.canvas-wrap canvas{max-width:100%;height:auto;background:#07120b;box-shadow:0 10px 45px #000}.photo-preview{height:220px;border:1px dashed #52635a;display:grid;place-items:center;overflow:hidden;background:#050806}.photo-preview img{width:100%;height:100%;object-fit:cover}.ref-card{display:flex;gap:14px;align-items:center}.ref-card img,.avatar-fallback{width:78px;height:78px;object-fit:cover;border-radius:50%;border:2px solid var(--green);display:grid;place-items:center;background:#18251b;font-weight:950;color:var(--green)}.notice{margin:20px 0;padding:14px 18px;border-left:4px solid var(--green);background:#122018}.notice.error{border-color:var(--danger);background:#2a1113}footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:30px;border-top:1px solid var(--line);color:var(--muted)}footer img{width:42px;height:42px}@media(max-width:900px){.split{grid-template-columns:1fr}.hero-mark{display:none}.hero{padding:28px}.auth-box label{display:none}.squad-grid{grid-template-columns:1fr}}@media(max-width:620px){.topbar{align-items:flex-start}.auth-box{flex-direction:column;align-items:stretch}.auth-box input{width:150px}.page{width:96vw}.panel{padding:17px}.hero{min-height:0}.hero h1{font-size:34px}.protocol-summary{grid-template-columns:1fr}.filter-line,.export-controls{align-items:stretch;flex-direction:column}.filter-line select,.export-controls select{width:100%}}

code{background:#24262b;color:#ff6974;padding:2px 5px;border-radius:4px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.auth-box span{color:var(--muted);font-size:13px}.news-card ul{margin:10px 0;padding-left:20px;color:var(--muted)}

.export-background{flex:1 1 100%;display:grid;grid-template-columns:170px minmax(220px,1fr);gap:10px 14px;align-items:center;margin-top:6px;padding:16px;border:1px solid var(--line);background:var(--panel2);border-left:4px solid var(--green)}
.export-background-head{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.export-background-head strong{font-size:18px}.export-background-head span{color:var(--muted);font-size:12px}
.export-background-custom{grid-column:1/-1;display:grid;grid-template-columns:170px minmax(220px,1fr);gap:10px 14px;align-items:center;padding-top:6px}.export-background-custom[hidden]{display:none}
.export-background-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.export-background-row label{display:grid;gap:6px}
.export-range{grid-column:1/-1;display:grid;gap:7px}.export-range span{display:flex;justify-content:space-between;gap:12px}.export-range input[type=range]{padding:0;border:0;box-shadow:none}
.export-auto-contrast{grid-column:1/-1}.export-background-clear,.export-background-name{grid-column:1/-1}.export-background-name{margin:0}

/* Stage3X Fix3 — Media center responsive PNG export */
.media-admin,.media-admin *{min-width:0}
.media-admin .export-controls{max-width:100%;overflow:hidden}
.media-admin .export-background{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.media-admin .export-background-custom{min-width:0}
.media-admin .export-background input,.media-admin .export-background select,.media-admin .export-background button{max-width:100%;box-sizing:border-box}
.media-admin .canvas-wrap{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
.media-admin .canvas-wrap canvas{display:block;max-width:100%;height:auto;margin:0 auto}

@media(max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  .media-admin .page{width:100%;max-width:100%;padding:0 10px 28px}
  .media-admin .panel{width:100%;max-width:100%;padding:14px 10px;margin:8px 0 0;border-radius:14px}
  .media-admin .panel-head{align-items:flex-start;flex-direction:column;margin-bottom:16px;padding-bottom:14px}
  .media-admin .panel-head .badge{align-self:flex-start}
  .media-admin .export-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;padding:12px;border-radius:12px;overflow:visible}
  .media-admin .export-controls>label{margin-top:2px;font-size:14px;line-height:1.25}
  .media-admin .export-controls>select,.media-admin .export-controls>input,.media-admin .export-controls>.button,.media-admin .export-controls>button{width:100%!important;max-width:100%;min-height:48px;margin:0}
  .media-admin .export-background{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:10px;width:100%;max-width:100%;padding:14px 12px;margin:4px 0 2px;border-left-width:4px;border-radius:10px;overflow:hidden}
  .media-admin .export-background-head{grid-column:1!important;display:grid!important;grid-template-columns:minmax(0,1fr);gap:3px;width:100%}
  .media-admin .export-background-head strong{font-size:19px;line-height:1.15}
  .media-admin .export-background-head span{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
  .media-admin .export-background>label,.media-admin .export-background-custom>label{font-size:14px}
  .media-admin .export-background>select{width:100%;min-height:48px}
  .media-admin .export-background-custom{grid-column:1!important;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:9px;width:100%;max-width:100%;padding:0}
  .media-admin .export-background-custom[hidden]{display:none}
  .media-admin .export-background-custom>*{grid-column:1!important;width:100%;max-width:100%}
  .media-admin .export-background-custom input[type=file]{display:block;width:100%;max-width:100%;min-height:48px;padding:8px;font-size:13px;overflow:hidden}
  .media-admin .export-background-name{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
  .media-admin .export-background-row{grid-column:1!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px;width:100%}
  .media-admin .export-background-row label{width:100%;gap:5px}
  .media-admin .export-background-row select{width:100%;min-height:48px}
  .media-admin .export-range{grid-column:1!important;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;width:100%}
  .media-admin .export-range>span:first-child{font-weight:750}
  .media-admin .export-range>output,.media-admin .export-range>strong{justify-self:end;white-space:nowrap}
  .media-admin .export-range input[type=range]{grid-column:1/-1;width:100%;min-height:32px;margin:0;padding:0}
  .media-admin .export-auto-contrast{grid-column:1!important;display:flex!important;align-items:flex-start;gap:10px;width:100%;padding:4px 0;line-height:1.35}
  .media-admin .export-auto-contrast input{flex:0 0 auto;width:24px!important;height:24px;margin:0}
  .media-admin .export-background-clear{grid-column:1!important;width:100%!important;min-height:48px}
  .media-admin #generate-export,.media-admin #download-export{width:100%;min-height:52px;font-size:16px;border-radius:10px}
  .media-admin .canvas-wrap{margin-top:14px;padding:10px;border-radius:12px;overflow:hidden}
  .media-admin .canvas-wrap canvas{width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain}
  .media-admin #export-preview,.media-admin .export-preview{width:100%;max-width:100%;overflow:hidden}
}

@media(max-width:390px){
  .media-admin .page{padding-left:7px;padding-right:7px}
  .media-admin .panel{padding-left:8px;padding-right:8px}
  .media-admin .export-controls{padding:10px}
  .media-admin .export-background{padding:12px 10px}
  .media-admin .export-background-head strong{font-size:18px}
}

.protocol-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.protocol-picker select{width:100%;min-width:0;min-height:46px}.export-controls select,#bundle-match{min-width:0;max-width:100%;min-height:46px}.protocol-player-events{display:flex;flex-wrap:wrap;gap:5px}.semantic-event{display:inline-block;font-size:12px;line-height:1.4;padding:3px 6px;border-radius:5px;border:1px solid #8799aa}.semantic-event[data-event-kind="penalty_scored"]{background:#d9f9e6;color:#145232}.semantic-event[data-event-kind="missed_penalty"]{background:#ffe2e5;color:#982231}.squad-list table{width:100%;table-layout:fixed}.squad-list td{overflow-wrap:anywhere}.squad-list th:first-child{width:40px}@media(max-width:600px){.protocol-picker,.squad-grid{grid-template-columns:1fr}.protocol-summary{gap:8px;font-size:14px}.squad-list td{font-size:13px}}

.export-range :focus-visible{outline:3px solid var(--accent,#165aca);outline-offset:3px}@media(max-width:740px){.tabs .tab,.button,button,select,summary{min-height:44px;min-width:44px}.inline:has(input[type=checkbox]){min-height:44px;display:flex;align-items:center}}

@media(max-width:740px){body.media-admin label:has(#standings-live-media){display:flex;align-items:center;gap:8px;min-height:44px;min-width:44px}}
