:root {
  --navy: #0b111e;
  --navy-2: #111827;
  --ink: #111827;
  --muted: #64748b;
  --line: #e2e8f0;
  --canvas: #f1f5f9;
  --white: #fff;
  --mint: #dc2626;
  --mint-dark: #b91c1c;
  --blue: #2563eb;
  --amber: #f59e0b;
  --red: #dc2626;
  --violet: #7c3aed;
  --slate: #222f44;
  --slate-soft: #334155;
  --red-soft: #fee2e2;
  --red-glow: rgba(220, 38, 38, .22);
  --radius: 15px;
}
* { box-sizing: border-box; }
html { min-height:100%; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at top right, rgba(220,38,38,.10), transparent 32%), linear-gradient(135deg, #f8fafc 0%, var(--canvas) 48%, #fff1f2 100%); font-family: Inter, "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; }
body:has(.login-screen:not(.hidden)) { overflow:hidden; }
button { font: inherit; }
.login-screen { position: fixed; inset: 0; z-index: 100; width:100vw; height: 100vh; height:100dvh; display: grid; place-items:center; padding: clamp(10px,2.7vh,28px); background: radial-gradient(circle at 82% 10%, rgba(220,38,38,.22), transparent 25%), radial-gradient(circle at 14% 85%, rgba(248,250,252,.10), transparent 28%), linear-gradient(135deg, #020617 0%, #0b111e 45%, #450a0a 140%); overflow: hidden; overscroll-behavior: contain; }
.login-screen.hidden { display: none; }
body.login-active .app-shell { visibility:hidden; pointer-events:none; }
.login-screen:not(.hidden) + .app-shell { visibility:hidden; pointer-events:none; }
.legacy-login { display:none!important; }
.login-orb { position:absolute; pointer-events:none; border-radius:50%; filter: blur(44px); opacity:.82; }
.login-orb-red { width: 380px; height: 380px; right: -110px; top: -115px; background: rgba(220,38,38,.42); }
.login-orb-white { width: 300px; height: 300px; left: -90px; bottom: -110px; background: rgba(248,250,252,.16); }
.login-card { position:relative; width:min(760px,100%); max-height:calc(100dvh - clamp(20px,5.4vh,56px)); margin:0 auto; padding:clamp(22px,3.5vh,34px); border:1px solid rgba(248,250,252,.14); border-radius:24px; background: rgba(15,23,42,.78); color:white; text-align:center; box-shadow:0 28px 90px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(18px); transform-origin:center center; }
.login-logo { width:clamp(92px,15vh,132px); height:clamp(62px,10vh,88px); margin:0 auto clamp(10px,2vh,18px); border-radius:18px; background:#020617; display:grid; place-items:center; overflow:hidden; box-shadow:0 18px 55px rgba(127,29,29,.42), 0 0 0 1px rgba(248,250,252,.14); }
.login-logo img { width:100%; height:100%; object-fit:cover; transform:scale(1.06); }
.login-kicker { margin:0 0 8px; color:#fca5a5; font-size:10px; font-weight:900; letter-spacing:2.8px; }
.login-card h1 { margin:0; font:900 25px/1.05 Manrope, Inter, sans-serif; letter-spacing:.8px; }
.login-copy { margin:clamp(8px,1.5vh,14px) auto clamp(12px,2.4vh,24px); max-width:330px; color:#cbd5e1; font-size:12px; line-height:1.55; }
.legacy-login { display:none; }
.login-step { display:flex; align-items:center; gap:10px; margin:clamp(10px,2vh,18px) 0 clamp(6px,1.1vh,10px); text-align:left; }
.login-step span { width:24px; height:24px; border-radius:8px; background:#dc2626; display:grid; place-items:center; font-size:11px; font-weight:900; }
.login-step b,.login-step small { display:block; }
.login-step b { font-size:11px; }
.login-step small { color:#94a3b8; font-size:8px; margin-top:2px; }
.login-events { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.login-screen.event-selected .login-step-event,
.login-screen.event-selected .login-events,
.login-screen.event-selected .login-copy { display:none; }
.login-screen:not(.event-selected) .login-step-panel,
.login-screen:not(.event-selected) .login-panels,
.login-screen:not(.event-selected) .login-register-note { display:none; }
.login-selected-event { grid-column:1/-1; display:grid; gap:5px; padding:18px; border:1px solid rgba(248,113,113,.32); border-radius:18px; background:linear-gradient(145deg,rgba(127,29,29,.42),rgba(15,23,42,.78)); text-align:center; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.login-selected-event span { color:#fca5a5; font-size:9px; font-weight:900; letter-spacing:1.6px; }
.login-selected-event strong { color:#fff; font:900 22px/1.08 Manrope,Inter,sans-serif; }
.login-selected-event small { color:#cbd5e1; font-size:10px; }
.login-selected-event .secondary-button { justify-self:center; margin-top:8px; }
.login-selected-actions { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.login-module-separator { grid-column:1/-1; display:flex; align-items:center; gap:12px; margin:6px 0 0; color:#fca5a5; font-size:9px; font-weight:900; letter-spacing:1.8px; }
.login-module-separator:before,.login-module-separator:after { content:""; flex:1; height:1px; background:rgba(248,113,113,.24); }
.login-event,.login-panel { border:1px solid rgba(148,163,184,.22); border-radius:13px; padding:clamp(8px,1.45vh,12px); background:rgba(34,47,68,.62); color:#e2e8f0; text-align:left; cursor:pointer; }
.login-event:hover,.login-panel:hover,.login-event.active { border-color:#ef4444; background:rgba(127,29,29,.24); }
.login-event strong,.login-event span,.login-panel strong,.login-panel span { display:block; }
.login-event strong,.login-panel strong { font-size:11px; color:white; }
.login-event span,.login-panel span { margin-top:4px; color:#94a3b8; font-size:8px; line-height:1.35; }
.login-panels { display:grid; grid-template-columns:1fr; gap:8px; }
.login-panel { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; padding-inline:18px; }
.login-panel strong { flex:0 0 210px; }
.login-panel span { flex:1; text-align:right; margin-top:0!important; }
.login-panel-admin-root { border-color:rgba(248,113,113,.34); background:linear-gradient(145deg,rgba(127,29,29,.34),rgba(34,47,68,.62)); }
.login-form { display:none; position:absolute; inset:18px; z-index:2; gap:10px; text-align:left; padding:28px; border-radius:20px; background:rgba(15,23,42,.96); border:1px solid rgba(248,250,252,.12); box-shadow:0 20px 70px rgba(0,0,0,.45); max-height:calc(100vh - 56px); max-height:calc(100dvh - 56px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.login-form.open { display:grid; align-content:start; }
.login-form.open:before { content:""; position:fixed; inset:0; z-index:-1; background:rgba(2,6,23,.72); backdrop-filter:blur(3px); }
.login-form[data-mode="register-club"] { position:fixed; inset:24px; z-index:120; display:flex; flex-direction:column; align-content:stretch; justify-content:flex-start; width:min(860px,calc(100vw - 48px)); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); margin:auto; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:30px; background:#0f172a; border-radius:24px; }
.login-form[data-mode="register-club"] .login-fields { grid-template-columns:1fr 1fr; align-items:end; }
.login-form[data-mode="register-club"] .login-fields>.full { grid-column:1/-1; }
.login-form[data-mode="register-club"] .login-help { margin:2px 0 0; }
.login-form[data-mode="register-club"] .login-submit { position:sticky; bottom:-30px; margin:12px -30px -30px; border-radius:0 0 24px 24px; height:56px; flex:0 0 auto; box-shadow:0 -18px 34px rgba(15,23,42,.92); }
.login-close { position:absolute; right:18px; top:14px; border:0; background:transparent; color:#94a3b8; font-size:28px; cursor:pointer; }
.login-form-kicker { margin:0; color:#fca5a5; font-size:9px; font-weight:900; letter-spacing:1.7px; }
.login-form h2 { margin:0 0 10px; font:900 24px/1.1 Manrope, Inter, sans-serif; }
.login-fields { display:grid; gap:8px; }
.login-form label { color:#94a3b8; font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.login-form select,.login-form input { width:100%; height:44px; border:1px solid rgba(148,163,184,.28); border-radius:12px; padding:0 13px; color:white; background:#111827; outline:none; }
.login-form select:focus,.login-form input:focus { border-color:#ef4444; box-shadow:0 0 0 4px rgba(220,38,38,.18); }
.login-submit { height:46px; margin-top:4px; border:0; border-radius:12px; background:linear-gradient(135deg,#ef4444,#b91c1c); color:white; font-size:11px; font-weight:900; letter-spacing:1.2px; cursor:pointer; box-shadow:0 18px 35px rgba(185,28,28,.28); }
.login-help,.login-register-note { color:#94a3b8; font-size:9px; line-height:1.5; }
.login-register-note { margin-top:15px; }
.login-roles { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px; }
.login-role { border:1px solid rgba(148,163,184,.22); border-radius:12px; padding:11px 10px; background:rgba(34,47,68,.62); color:#e2e8f0; text-align:left; cursor:pointer; }
.login-role:hover { border-color:#ef4444; background:rgba(127,29,29,.24); }
.login-role strong,.login-role span { display:block; }
.login-role strong { font-size:10px; }
.login-role span { color:#94a3b8; font-size:8px; margin-top:3px; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 244px; height: 100vh; height: 100dvh; padding: 28px 18px 20px; color: #e2e8f0; background: radial-gradient(circle at -40px -60px, rgba(220,38,38,.32), transparent 38%), linear-gradient(180deg, #0b111e 0%, #111827 52%, #450a0a 150%); display: flex; flex-direction: column; z-index: 20; box-shadow: 12px 0 42px rgba(15,23,42,.14); overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(248,250,252,.32) rgba(15,23,42,.35); }
.sidebar::-webkit-scrollbar { width: 8px; }
.sidebar::-webkit-scrollbar-track { background: rgba(15,23,42,.35); border-radius: 999px; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(248,250,252,.22); border-radius: 999px; border: 2px solid rgba(15,23,42,.35); }
.sidebar:hover::-webkit-scrollbar-thumb { background: rgba(248,250,252,.36); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 29px; }
.brand-mark { flex:0 0 auto; width: 46px; height: 46px; border-radius: 13px; background: #020617; display: grid; place-items: center; overflow: hidden; box-shadow: 0 18px 35px rgba(127,29,29,.36), 0 0 0 1px rgba(248,250,252,.16), 0 0 0 5px rgba(220,38,38,.14); }
.brand-mark img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.18); }
.brand strong { display: block; max-width: 150px; font: 800 11px/1.15 Manrope; letter-spacing: .7px; color: white; }
.brand small { font-size: 8px; letter-spacing: 2.1px; color: #94a3b8; }
.nav { display: flex; flex-direction: column; gap: 4px; flex: 0 0 auto; min-height: 0; }
.nav-label { margin: 21px 11px 7px; color: #64748b; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; }
.nav-item { position: relative; border: 0; width: 100%; padding: 10px 11px; display: flex; align-items: center; gap: 13px; border-radius: 9px; color: #cbd5e1; background: transparent; cursor: pointer; text-align: left; transition: .2s; }
.nav-item.is-hidden { display: none; }
.nav-item:hover { background: rgba(248,250,252,.08); color: white; }
.nav-item.active { color: white; background: linear-gradient(90deg, rgba(220,38,38,.22), rgba(248,250,252,.08)); }
.nav-item.active:before { content: ""; position: absolute; left: -18px; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0; background: var(--mint); }
.nav-item .icon { width: 19px; font-size: 18px; text-align: center; color: #94a3b8; }
.nav-item.active .icon { color: var(--mint); }
.live-dot { margin-left: auto; width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(220,38,38,.18); }
.event-card { margin-top: auto; padding: 14px; background: rgba(34,47,68,.76); border: 1px solid rgba(148,163,184,.18); border-radius: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); flex: 0 0 auto; }
.page-head .event-card,.dashboard-event-card { margin:0 18px 0 auto; min-width:240px; max-width:320px; background:linear-gradient(145deg,rgba(34,47,68,.92),rgba(127,29,29,.34)); }
.event-status { display: inline-block; color: var(--mint); font-size: 8px; letter-spacing: 1.2px; font-weight: 800; margin-bottom: 8px; }
.event-card strong, .event-card small { display: block; }
.event-card strong { color: white; font-size: 12px; }
.event-card small { color: #7e9094; font-size: 10px; margin: 3px 0 12px; }
.event-progress { height: 4px; background: #334155; border-radius: 3px; overflow: hidden; }
.event-progress span { display: block; width: 54%; height: 100%; background: var(--mint); }
.event-card > div:last-child { display: flex; justify-content: space-between; margin-top: 7px; font-size: 9px; color: #71858a; }
.event-card b { color: #afbec0; }
.top-user { position:relative; flex:0 0 auto; }
.profile { border: 1px solid rgba(148,163,184,.18); margin: 0; padding: 6px 10px 6px 7px; min-width:190px; background: rgba(15,23,42,.62); border-radius:13px; color: white; display: flex; align-items: center; gap: 9px; cursor: pointer; text-align: left; flex: 0 0 auto; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.profile > span:nth-child(2) { flex: 1; }
.profile b, .profile small { display: block; }
.profile b { font-size: 10px; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.profile small { color: #94a3b8; font-size: 9px; margin-top: 2px; }
.role-menu { display:none; position:absolute; top:calc(100% + 8px); right:0; width:270px; margin:0; padding:9px; border-radius:12px; background:#1b2932; border:1px solid #2b3a42; max-height:min(60vh, 430px); overflow:auto; overscroll-behavior:contain; flex:0 0 auto; box-shadow:0 20px 50px rgba(0,0,0,.32); z-index:40; }
.role-menu.open { display:block; }
.admin-menu-head { padding:3px 3px 9px; border-bottom:1px solid #2c3b44; margin-bottom:8px; }
.admin-menu-head b,.admin-menu-head small { display:block; }
.admin-menu-head b { color:white; font-size:10px; }
.admin-menu-head small { color:var(--mint); font-size:8px; margin-top:2px; }
.admin-menu-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:8px; }
.admin-menu-grid button { border:1px solid #2c3b44; background:#16252d; color:white; border-radius:9px; padding:9px 7px; text-align:left; cursor:pointer; }
.admin-menu-grid strong,.admin-menu-grid span { display:block; }
.admin-menu-grid strong { color:var(--mint); font:800 14px Manrope; }
.admin-menu-grid span { color:#8fa1a4; font-size:8px; margin-top:2px; }
.admin-menu-actions { display:grid; gap:6px; margin-bottom:9px; }
.admin-action { border:0; background:#263741; color:#dce4e5; border-radius:8px; padding:8px; text-align:left; cursor:pointer; font-size:9px; }
.admin-action:hover,.admin-menu-grid button:hover { filter:brightness(1.08); }
.admin-action.danger { color:#ffaaa9; background:#33242a; }
.admin-menu-label { margin:9px 3px 5px; color:#617176; font-size:8px; font-weight:800; letter-spacing:1px; }
.avatar { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; background: rgba(220,38,38,.18); color: #fecaca; font-size: 9px; font-weight: 800; }
.main { margin-left: 244px; width: calc(100% - 244px); }
.topbar { height: 70px; background: rgba(248,250,252,.86); border-bottom: 1px solid rgba(226,232,240,.92); display: flex; align-items: center; justify-content: space-between; padding: 0 31px; position: sticky; top: 0; z-index: 10; backdrop-filter: blur(16px); box-shadow: 0 8px 30px rgba(15,23,42,.04); }
.top-left, .top-actions { display: flex; align-items: center; gap: 17px; }
.event-switch { font-size: 11px; font-weight: 800; letter-spacing: .5px; padding-right: 17px; border-right: 1px solid var(--line); display:flex; align-items:center; gap:9px; max-width:520px; }
.event-switch span { color:#94a3b8; font-size:8px; letter-spacing:1px; }
.event-switch strong { max-width:330px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.event-switch b { margin-left: 8px; }.event-date { color: var(--muted); font-size: 11px; }
.event-context-select { max-width:340px; height:34px; border:1px solid var(--line); border-radius:9px; padding:0 32px 0 10px; color:#111827; background:white; font-size:11px; font-weight:900; outline:none; }
.sync { color: #64748b; font-size: 10px; }.sync i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 4px #fee2e2; }
.icon-button, .menu-toggle { position: relative; border: 1px solid var(--line); background: white; width: 36px; height: 36px; border-radius: 9px; cursor: pointer; }
.notification-dot { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--red); top: 8px; right: 9px; }
.primary-button { border: 0; border-radius: 9px; padding: 10px 15px; color: white; background: linear-gradient(135deg, #ef4444, #b91c1c); font-size: 11px; font-weight: 700; cursor: pointer; box-shadow: 0 12px 24px rgba(185,28,28,.22); }
.primary-button:hover { filter: brightness(.96); transform: translateY(-1px); }
.menu-toggle { display: none; }
.content { max-width: 1510px; padding: 30px 31px 48px; margin: auto; }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 26px; }
.eyebrow { color: var(--mint-dark)!important; font-size: 9px!important; letter-spacing: 1.5px; font-weight: 800; margin-bottom: 8px!important; }
.page-head h1 { font: 800 25px/1.2 Manrope; margin: 0 0 8px; letter-spacing: -.6px; }.page-head h1 span { font-size: 19px; }
.page-head p { margin: 0; color: var(--muted); font-size: 11px; }
.clock-block { text-align: right; }.clock-block small { display: block; color: #98a1a5; font-size: 8px; letter-spacing: 1.3px; margin-bottom: 3px; }.clock-block strong { font: 700 24px Manrope; letter-spacing: 1px; }
.tournament-timer { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.tournament-timer span { color:#94a3b8; font-size:9px; font-weight:700; }
.timer-start-button { border:0; border-radius:999px; padding:7px 14px; color:white; background:linear-gradient(135deg,#ef4444,#991b1b); font-size:10px; font-weight:900; letter-spacing:.4px; cursor:pointer; box-shadow:0 12px 24px rgba(185,28,28,.22); }
.timer-start-button:hover { filter:brightness(.96); transform:translateY(-1px); }
.timer-start-button:disabled { cursor:not-allowed; opacity:.55; transform:none; filter:none; box-shadow:none; }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 16px; }
.stat-card { padding: 19px; min-height: 110px; background: rgba(255,255,255,.96); border: 1px solid rgba(226,232,240,.95); border-radius: var(--radius); display: flex; align-items: center; gap: 15px; box-shadow: 0 16px 40px rgba(15,23,42,.05); }
.stat-icon { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 20px; }
.stat-icon.mint { background: #fee2e2; color: var(--mint-dark); }.stat-icon.blue { background: #dbeafe; color: var(--blue); }.stat-icon.amber { background: #fef3c7; color: #b45309; }.stat-icon.violet { background: #ede9fe; color: var(--violet); }
.stat-card span { color: var(--muted); display: block; font-size: 10px; margin-bottom: 2px; }.stat-card strong { display: block; font: 800 22px Manrope; }.stat-card strong em { color: #adb5b8; font-size: 11px; font-style: normal; }.stat-card small { color: #9aa3a6; font-size: 8px; }.stat-card small b { color: var(--mint-dark); }.stat-card small .amber-text { color: #d79020; }
.main-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(330px,.8fr); gap: 16px; margin-bottom: 16px; }
.panel { background: rgba(255,255,255,.96); border: 1px solid rgba(226,232,240,.95); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(15,23,42,.05); }
.panel-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 15px; border-bottom: 1px solid #e2e8f0; }
.panel-head h2 { font: 800 14px Manrope; margin: 0 0 4px; }.panel-head p { color: #8b969b; font-size: 9px; margin: 0; }
.text-button, .more-button { border: 0; background: transparent; color: var(--mint-dark); font-size: 9px; font-weight: 700; cursor: pointer; }.text-button span { font-size: 14px; margin-left: 4px; }.more-button { color: #899398; letter-spacing: 1px; }
.arena-list { padding: 6px 20px 12px; }
.arena-row { display: grid; grid-template-columns: 115px minmax(150px,1.1fr) minmax(140px,.8fr) 80px 32px; gap: 14px; align-items: center; min-height: 67px; border-bottom: 1px solid #e2e8f0; }
.arena-row:last-child { border-bottom: 0; }
.arena-name { display: flex; align-items: center; gap: 10px; }.arena-badge { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; font: 800 14px Manrope; }.arena-badge.a1 { background: #fee2e2; color: #b91c1c; }.arena-badge.a2 { background: #dbeafe; color: #1d4ed8; }.arena-badge.a3 { background: #fef3c7; color: #b45309; }.arena-badge.a4 { background: #ede9fe; color: #6d28d9; }
.arena-name b, .arena-current b, .arena-next b { display: block; font-size: 10px; }.arena-name small, .arena-current small, .arena-next small { color: #919b9f; display: block; font-size: 8px; margin-top: 2px; }
.arena-current { padding-left: 13px; border-left: 2px solid var(--mint); }.arena-current.blue-line { border-color: var(--blue); }.arena-current.amber-line { border-color: var(--amber); }.arena-current.violet-line { border-color: var(--violet); }
.arena-current .fight-live { color: #df6564; font-size: 7px; font-weight: 800; letter-spacing: .6px; }.arena-current .fight-live:before { content:""; width: 5px; height: 5px; background: var(--red); border-radius: 50%; display: inline-block; margin-right: 4px; }
.arena-next span { color: #9aa3a6; font-size: 7px; letter-spacing: .5px; font-weight: 700; }.arena-time { font: 800 12px Manrope; text-align: right; }.arena-time small { color: #96a0a4; font: 400 7px DM Sans; display:block; }.arena-open { border: 1px solid var(--line); background: white; width: 28px; height: 28px; border-radius: 8px; cursor:pointer; color: #69767c; }
.activity-panel { min-height: 100%; }.timeline { padding: 11px 20px 3px; }.timeline-item { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; position: relative; padding: 8px 0 12px; }.timeline-item:not(:last-child):before { content:""; position:absolute; left:14px; top:34px; bottom:-6px; width:1px; background:#e2e8f0; }.timeline-icon { width: 29px; height: 29px; border-radius: 9px; display:grid; place-items:center; font-size:11px; z-index:1; }.timeline-icon.win { background:#fee2e2;color:var(--mint-dark); }.timeline-icon.move { background:#dbeafe;color:var(--blue); }.timeline-icon.warn { background:#fef3c7;color:#b45309; }.timeline-icon.user { background:#ede9fe;color:var(--violet); }
.timeline-copy b { display:block; font-size:9px; margin-bottom:2px; }.timeline-copy span { color:#8a959a; font-size:8px; line-height:1.5; display:block; }.timeline-time { color:#a2aaad; font-size:7px; white-space:nowrap; padding-top:2px; }.timeline-more { width:calc(100% - 40px); margin: 4px 20px 15px; height:31px; border:1px solid var(--line); border-radius:8px; background:#fbfcfb; color:#69777d; font-size:8px; font-weight:700; cursor:pointer; }
.activity-panel .panel-head { padding:22px 24px 18px; }
.activity-panel .panel-head h2 { font-size:21px; }
.activity-panel .panel-head p { font-size:14px; line-height:1.35; }
.activity-panel .more-button { font-size:14px; }
.activity-panel .timeline { padding:15px 24px 8px; }
.activity-panel .timeline-item { grid-template-columns:44px 1fr auto; gap:14px; padding:13px 0 17px; }
.activity-panel .timeline-item:not(:last-child):before { left:21px; top:48px; bottom:-8px; }
.activity-panel .timeline-icon { width:44px; height:44px; border-radius:13px; font-size:17px; }
.activity-panel .timeline-copy b { font-size:14px; margin-bottom:4px; line-height:1.25; }
.activity-panel .timeline-copy span { font-size:12px; line-height:1.45; }
.activity-panel .timeline-time { font-size:11px; padding-top:5px; }
.activity-panel .timeline-more { width:calc(100% - 48px); margin:8px 24px 20px; height:45px; font-size:12px; border-radius:11px; }
.next-panel { overflow:hidden; }.delay-legend { color:#8b969b; font-size:8px; }.delay-legend span { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--mint); margin-right:5px; }.fight-table { overflow-x:auto; }.table-row { min-width:820px; display:grid; grid-template-columns:70px 70px 1.2fr 1.2fr 1fr 90px 35px; align-items:center; gap:12px; min-height:48px; padding:0 20px; border-bottom:1px solid #e2e8f0; }.table-row:last-child { border:0; }.table-head { min-height:32px; background:#f8fafc; color:#94a3b8; font-size:7px; font-weight:700; letter-spacing:.6px; }.fight-no { font-weight:800; font-size:9px; }.mat-pill { display:inline-block; border-radius:5px; padding:4px 6px; font-size:7px; font-weight:800; background:#fee2e2; color:#b91c1c; }.mat-pill.m2{background:#dbeafe;color:#1d4ed8}.mat-pill.m3{background:#fef3c7;color:#b45309}.table-fighter b { display:block;font-size:9px; }.table-fighter small { display:block;color:#939da1;font-size:7px;margin-top:2px; }.table-category { color:#596970;font-size:8px; }.table-time b { display:block;font-size:10px; }.table-time small { font-size:7px;color:var(--mint-dark); }.table-action { border:0;background:transparent;cursor:pointer;color:#76848a; }
.table-row.schedule-row { min-width:940px; grid-template-columns:58px 70px 1.1fr 1.1fr 1fr 80px 100px; }
.schedule-filters { display:flex; flex-wrap:wrap; gap:8px; padding:14px 20px 8px; }
.schedule-filter { border:1px solid rgba(255,255,255,.14); background:rgba(15,23,42,.72); color:#e2e8f0; border-radius:999px; padding:8px 12px; font-size:12px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; gap:7px; }
.schedule-filter small { min-width:20px; height:20px; border-radius:999px; display:inline-grid; place-items:center; background:rgba(255,255,255,.12); color:#f8fafc; font-size:11px; }
.schedule-filter.active { border-color:#ef4444; background:linear-gradient(135deg,#ef4444,#991b1b); color:#fff; box-shadow:0 10px 24px rgba(239,68,68,.22); }
.schedule-filter-info { padding:0 20px 10px; color:#94a3b8; font-size:12px; font-weight:700; }
.fight-no b,.fight-no small { display:block; }
.fight-no small { margin-top:2px; color:#94a3b8; font-size:10px; font-weight:700; }
.mat-pill.m4{background:#dcfce7;color:#15803d}.mat-pill.m5{background:#f3e8ff;color:#7e22ce}.mat-pill.m6{background:#cffafe;color:#0e7490}
.scope-pill { display:block; width:max-content; margin-top:5px; padding:3px 6px; border-radius:999px; font-size:7px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; }
.scope-pill.mine { color:#fff; background:#dc2626; box-shadow:0 8px 20px rgba(220,38,38,.24); }
.scope-pill.club { color:#fecaca; background:rgba(127,29,29,.42); border:1px solid rgba(248,113,113,.25); }
.registration-list { display:grid; gap:10px; padding:18px; }
.registration-athlete { display:grid; gap:12px; padding:12px; border:1px solid rgba(148,163,184,.18); border-radius:14px; background:rgba(15,23,42,.42); transition:.18s ease; }
.registration-athlete:hover,.registration-athlete.selected { border-color:rgba(248,113,113,.45); background:rgba(127,29,29,.26); }
.registration-athlete input { width:18px; height:18px; accent-color:#dc2626; flex:0 0 auto; }
.registration-athlete input:disabled { opacity:.45; }
.registration-athlete-head { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; min-width:0; }
.registration-athlete b { color:#f8fafc; font-size:12px; }
.registration-athlete small { color:#94a3b8; font-size:9px; }
.registration-categories { display:grid; gap:8px; padding-left:48px; }
.registration-category { display:flex; align-items:flex-start; gap:10px; padding:10px; border:1px solid rgba(148,163,184,.14); border-radius:12px; background:rgba(2,6,23,.38); cursor:pointer; transition:.18s ease; }
.registration-category.checked { border-color:rgba(248,113,113,.46); background:rgba(127,29,29,.28); }
.registration-category span { display:grid; gap:3px; }
.registration-admin-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:16px; align-items:start; }
.registration-details { overflow:hidden; }
.registration-detail-meta { padding:0 18px 12px; color:#94a3b8; font-size:10px; }
.registration-detail-list { display:grid; gap:10px; padding:0 18px 18px; }
.registration-detail-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border-radius:14px; background:rgba(15,23,42,.42); border:1px solid rgba(148,163,184,.14); }
@media (max-width:1050px){ .registration-admin-layout { grid-template-columns:1fr; } }
.mat-station-grid { display:grid; grid-template-columns:minmax(420px,1.1fr) minmax(360px,.9fr); gap:16px; }
.mat-current-panel { overflow:hidden; }
.mat-current-card { padding:22px; display:grid; gap:18px; }
.mat-fighters { display:grid; grid-template-columns:1fr 70px 1fr; gap:14px; align-items:stretch; }
.mat-fighter { border-radius:16px; padding:18px; color:white; min-height:150px; display:flex; flex-direction:column; justify-content:center; }
.mat-fighter.red { background:linear-gradient(145deg,#7f1d1d,#dc2626); }
.mat-fighter.blue { background:linear-gradient(145deg,#1e3a8a,#2563eb); }
.mat-fighter span { font-size:8px; font-weight:900; letter-spacing:1.4px; opacity:.78; }
.mat-fighter b { font:900 22px/1.08 Manrope, Inter, sans-serif; margin:10px 0 6px; }
.mat-fighter small { color:rgba(255,255,255,.72); font-size:10px; }
.mat-vs { display:grid; place-items:center; border-radius:16px; background:#0f172a; color:white; font:900 18px Manrope; }
.mat-meta { display:flex; gap:8px; flex-wrap:wrap; }
.mat-meta span { border-radius:999px; padding:7px 10px; background:#f8fafc; color:#475569; font-size:9px; font-weight:800; }
.mat-queue { padding:12px 18px 18px; display:grid; gap:8px; }
.mat-queue-item { width:100%; border:1px solid var(--line); border-radius:12px; background:white; padding:12px; text-align:left; cursor:pointer; }
.mat-queue-item:hover { border-color:#ef4444; box-shadow:0 0 0 3px #fee2e2; }
.mat-queue-item span { display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.mat-queue-item span b { color:#64748b; font-size:8px; }
.mat-queue-item strong { display:block; color:var(--ink); font-size:10px; }
.mat-queue-item small { display:block; color:#879398; font-size:8px; margin-top:3px; }
.modal-backdrop { position:fixed; inset:0; z-index:50; display:grid; place-items:center; padding:20px; background:rgba(8,15,20,.72); backdrop-filter:blur(5px); opacity:0; visibility:hidden; transition:.2s; }.modal-backdrop.open { opacity:1; visibility:visible; }.fight-modal { position:relative; width:min(760px,100%); border-radius:20px; padding:31px; background:linear-gradient(160deg,#0b111e,#111827 70%,#2b0606); color:white; box-shadow:0 25px 80px rgba(0,0,0,.35); text-align:center; }.modal-close { position:absolute;right:18px;top:14px;border:0;background:transparent;color:#849298;font-size:27px;cursor:pointer; }.modal-kicker { color:#fca5a5;font-size:8px;font-weight:800;letter-spacing:1.5px; }.fight-modal h2 { font:800 23px Manrope;margin:8px 0 3px; }.modal-category { color:#94a3b8;font-size:10px;margin:0 0 27px; }.fighters { display:grid;grid-template-columns:1fr 180px 1fr;gap:20px;align-items:center; }.fighter { padding:22px 10px;border-radius:14px;background:#1f2937;border-top:3px solid var(--red); }.fighter.blue-fighter { border-color:var(--blue); }.fighter-avatar { width:50px;height:50px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:#3a292d;color:#ffaaa9;font-weight:800; }.blue-fighter .fighter-avatar { background:#23394c;color:#8dc4ff; }.fighter strong,.fighter small { display:block; }.fighter small { color:#94a3b8;font-size:8px;margin-top:3px; }.timer-center span,.timer-center small { display:block;color:#94a3b8;font-size:8px;letter-spacing:1px; }.timer-center strong { display:block;font:800 43px Manrope;letter-spacing:2px;margin:2px 0; }.fight-controls { margin-top:25px;display:flex;justify-content:center;gap:9px; }.fight-controls button { border:0;border-radius:9px;padding:11px 17px;font-size:9px;font-weight:800;cursor:pointer; }.control-secondary { background:#26343d;color:#b7c1c3; }.control-main { background:linear-gradient(135deg,#ef4444,#b91c1c);color:white;min-width:155px; }.control-danger { background:#3a262c;color:#ee8584; }.toast { position:fixed;right:25px;bottom:25px;z-index:80;min-width:270px;padding:13px 16px;border-radius:12px;background:#152129;color:white;display:flex;align-items:center;gap:12px;box-shadow:0 15px 35px rgba(0,0,0,.2);transform:translateY(100px);opacity:0;transition:.3s; }.toast.show { transform:none;opacity:1; }.toast>span { width:26px;height:26px;border-radius:8px;background:#3f1115;color:#fca5a5;display:grid;place-items:center; }.toast b,.toast small { display:block; }.toast b{font-size:10px}.toast small{font-size:8px;color:#86969a;margin-top:2px}
.result-modal { position:relative; width:min(760px,calc(100vw - 34px)); padding:30px; border-radius:24px; background:radial-gradient(circle at 20% 0%,rgba(239,68,68,.22),transparent 32%),radial-gradient(circle at 80% 0%,rgba(59,130,246,.2),transparent 32%),linear-gradient(145deg,#080d17,#111827 70%,#220909); color:white; text-align:center; box-shadow:0 30px 100px rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.1); }
.result-modal h2 { margin:8px 0 5px; font:900 25px/1.1 Manrope,Inter,sans-serif; }
.winner-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:22px 0 18px; }
.winner-card { position:relative; min-height:210px; padding:24px 18px; border:1px solid rgba(255,255,255,.12); border-radius:20px; color:white; cursor:pointer; overflow:hidden; text-align:left; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); transition:.18s ease; }
.winner-card:before { content:""; position:absolute; inset:auto -35px -55px auto; width:140px; height:140px; border-radius:50%; opacity:.25; }
.winner-card.red { background:linear-gradient(150deg,#2a0b12,#7f1d1d 72%,#ef4444); }
.winner-card.red:before { background:#fecaca; }
.winner-card.blue { background:linear-gradient(150deg,#071625,#1d4ed8 72%,#60a5fa); }
.winner-card.blue:before { background:#bfdbfe; }
.winner-card:hover { transform:translateY(-3px) scale(1.01); box-shadow:0 22px 45px rgba(0,0,0,.35); border-color:rgba(255,255,255,.28); }
.winner-side { display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.12); font-size:9px; font-weight:900; letter-spacing:1px; }
.winner-card strong { display:block; margin-top:30px; font:900 28px/1.05 Manrope,Inter,sans-serif; }
.winner-card small { display:block; margin-top:8px; color:rgba(255,255,255,.72); font-size:11px; }
.winner-card em { position:absolute; left:18px; bottom:18px; font-style:normal; font-size:11px; font-weight:900; color:white; }
.result-cancel { margin-top:2px; }
.podium-modal { position:relative; width:min(820px,calc(100vw - 34px)); padding:30px; border-radius:24px; background:radial-gradient(circle at 50% 0%,rgba(245,158,11,.24),transparent 34%),linear-gradient(145deg,#080d17,#111827 72%,#241107); color:white; text-align:center; box-shadow:0 30px 100px rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.1); }
.podium-modal h2 { margin:8px 0 5px; font:900 25px/1.1 Manrope,Inter,sans-serif; }
.podium-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:14px; align-items:stretch; margin:22px 0 18px; }
.podium-place { min-height:150px; padding:18px; border-radius:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); text-align:left; }
.podium-place span { display:inline-flex; padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.12); color:#fde68a; font-size:8px; font-weight:900; letter-spacing:1px; }
.podium-place strong { display:block; margin-top:16px; font:900 20px/1.05 Manrope,Inter,sans-serif; }
.podium-place small { display:block; margin-top:6px; color:#cbd5e1; font-size:10px; }
.podium-place.p1 { background:linear-gradient(145deg,rgba(180,83,9,.55),rgba(39,24,10,.92)); border-color:rgba(251,191,36,.5); transform:translateY(-8px); }
.podium-place.p2 { background:linear-gradient(145deg,rgba(148,163,184,.28),rgba(15,23,42,.9)); }
.podium-place.p3 { background:linear-gradient(145deg,rgba(146,64,14,.35),rgba(15,23,42,.9)); }
.certificate-question { margin:8px auto 16px; padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); max-width:560px; }
.certificate-question strong,.certificate-question span { display:block; }
.certificate-question span { margin-top:4px; color:#cbd5e1; font-size:10px; }
.podium-actions { display:flex; justify-content:center; gap:10px; }
.data-page { animation:fadeIn .2s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }
.data-page .page-head { align-items:center; }
.head-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.database-actions { display:flex; gap:12px; flex-wrap:wrap; padding:0 18px 18px; }
.database-switch { display:flex; gap:14px; align-items:center; flex-wrap:wrap; padding:0 18px 18px; }
.database-switch label { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid rgba(148,163,184,.22); border-radius:12px; background:rgba(15,23,42,.04); font-size:10px; font-weight:900; }
.database-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.database-config-card .form-grid { padding:0 18px 18px; }
.db-test-result { padding:11px 12px; border-radius:12px; background:rgba(15,23,42,.48); border:1px solid rgba(148,163,184,.18); color:#cbd5e1; }
.db-test-result strong,.db-test-result span { display:block; }
.db-test-result strong { color:#f8fafc; font-size:13px; }
.db-test-result span { margin-top:3px; font-size:11px; }
.db-test-result.is-hidden { display:none; }
.subnav-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:-12px 0 18px; }
.subnav-tabs button { border:1px solid rgba(148,163,184,.22); background:rgba(15,23,42,.46); color:#cbd5e1; border-radius:999px; padding:9px 13px; font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.subnav-tabs button.active { background:#dc2626; color:#fff; border-color:#ef4444; box-shadow:0 12px 26px rgba(220,38,38,.22); }
.subnav-tabs span { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:6px; border-radius:999px; background:rgba(255,255,255,.2); font-size:8px; }
.secondary-button { border:1px solid var(--line); background:white; color:#53636a; border-radius:9px; padding:10px 14px; font-size:10px; font-weight:700; cursor:pointer; }
.data-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px; }
.summary-card { background:white; border:1px solid var(--line); border-radius:13px; padding:16px 18px; }
.summary-card small { color:#879398; font-size:9px; }.summary-card strong { display:block; font:800 22px Manrope; margin-top:4px; }.summary-card em { color:var(--mint-dark); font-size:8px; font-style:normal; }
.summary-card.warning-card { border-color:#ffe0b1; background:#fffaf1; }
.summary-card.warning-card strong,.summary-card.warning-card em { color:#b5711c; }
.data-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border-bottom:1px solid var(--line); }
.search-box { position:relative; flex:1; max-width:340px; }.search-box span { position:absolute; left:11px; top:9px; color:#9aa3a6; }.search-box input,.filter-select { width:100%; height:34px; border:1px solid var(--line); border-radius:8px; background:#fbfcfb; color:#36464d; font-size:9px; outline:none; }.search-box input { padding:0 12px 0 31px; }.filter-select { width:150px; padding:0 9px; }
.quick-filter { height:34px; display:flex; align-items:center; gap:7px; padding:0 11px; border:1px solid rgba(148,163,184,.22); border-radius:999px; background:rgba(15,23,42,.64); color:#e2e8f0; font-size:9px; font-weight:800; white-space:nowrap; cursor:pointer; }
.bulk-tools { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:0 18px 14px; }
.bulk-tools .wide-select { width:min(260px,100%); }
.bulk-hint { color:#94a3b8; font-size:12px; line-height:1.35; }
.quick-filter input { accent-color:#ef4444; }
.data-table-wrap { overflow:auto; }.data-table { width:100%; border-collapse:collapse; min-width:760px; }.data-table th { padding:10px 16px; background:#fafbfa; color:#929da1; font-size:7px; letter-spacing:.7px; text-align:left; }.data-table td { padding:13px 16px; border-top:1px solid #eef1ef; font-size:9px; }.data-table td b { display:block; font-size:10px; }.data-table td small { display:block; color:#929ca1; font-size:8px; margin-top:2px; }
.identity-cell { display:flex; align-items:center; gap:10px; min-width:0; }
.identity-cell > span { min-width:0; }
.mini-photo,.club-logo { flex:0 0 auto; width:34px; height:34px; border-radius:50%; object-fit:cover; border:1px solid rgba(255,255,255,.2); background:#111827; box-shadow:0 6px 16px rgba(0,0,0,.12); }
.club-logo { border-radius:10px; background:#050505; }
.identity-fallback { display:grid; place-items:center; color:#f8fafc; font-size:10px; font-weight:900; letter-spacing:.3px; background:linear-gradient(145deg,#111827,#7f1d1d); }
.identity-cell small .club-logo,.bracket-fighter small .club-logo,.mat-fighter small .club-logo { width:18px; height:18px; border-radius:5px; margin-right:6px; vertical-align:middle; }
.bracket-fighter .identity-cell { align-items:flex-start; }
.mat-fighter > .mini-photo { width:58px; height:58px; margin-bottom:10px; border:2px solid rgba(255,255,255,.35); }
.mat-fighter small .club-logo { border-color:rgba(255,255,255,.25); box-shadow:none; }
.station-picker-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px; }
.station-mat-card { min-height:210px; border:1px solid rgba(226,232,240,.95); border-radius:20px; padding:22px; background:linear-gradient(145deg,#ffffff,#fff1f2); color:var(--ink); cursor:pointer; text-align:left; box-shadow:0 18px 46px rgba(15,23,42,.07); transition:.18s ease; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.station-mat-card:hover { transform:translateY(-3px); border-color:#fecaca; box-shadow:0 24px 60px rgba(127,29,29,.16); }
.station-mat-card span { color:#b91c1c; font-size:10px; font-weight:1000; letter-spacing:2px; }
.station-mat-card strong { display:block; margin:4px 0 10px; font:1000 72px/.85 Manrope,Inter,sans-serif; letter-spacing:-5px; color:#111827; }
.station-mat-card small { display:block; color:#334155; font-size:14px; font-weight:900; }
.station-mat-card em { display:block; margin-top:12px; color:#64748b; font-style:normal; font-size:12px; font-weight:800; line-height:1.3; }
.station-head-actions { align-items:center; gap:14px; }
.station-active-mat { display:flex; flex-direction:column; justify-content:center; min-width:160px; padding:10px 16px; border-radius:16px; background:linear-gradient(135deg,#dc2626,#7f1d1d); color:white; box-shadow:0 18px 42px rgba(127,29,29,.24); text-align:left; }
.station-active-mat span { font-size:8px; font-weight:1000; letter-spacing:1.8px; color:#fecaca; }
.station-active-mat strong { font:1000 30px/.9 Manrope,Inter,sans-serif; letter-spacing:-1.5px; }
.mat-display-mode { background:#020617; overflow:hidden; }
.mat-display-mode .sidebar,.mat-display-mode .topbar { display:none; }
.mat-display-mode .main { margin:0; width:100%; min-height:100vh; min-height:100dvh; }
.mat-display-mode .content { padding:0; min-height:100vh; min-height:100dvh; background:#020617; }
.mat-display-screen { min-height:100vh; min-height:100dvh; display:grid; grid-template-rows:auto minmax(0,1.75fr) minmax(0,.72fr); gap:1.5vh; padding:2.3vh 3vw; color:white; background:radial-gradient(circle at 12% 15%,rgba(220,38,38,.34),transparent 30%),radial-gradient(circle at 88% 20%,rgba(37,99,235,.24),transparent 28%),linear-gradient(135deg,#020617 0%,#0b111e 48%,#2b0507 140%); overflow:hidden; }
.display-header { display:flex; justify-content:space-between; align-items:center; min-height:7vh; }
.display-header span,.display-current-meta span,.display-time span,.display-player small { display:block; color:#fca5a5; font-weight:900; letter-spacing:.22em; text-transform:uppercase; }
.display-header span { font-size:clamp(12px,1.1vw,18px); }
.display-header strong { display:block; margin-top:.4vh; font:900 clamp(26px,3.2vw,56px)/.95 Manrope,Inter,sans-serif; letter-spacing:.04em; }
.display-header time { font:900 clamp(30px,5vw,86px)/1 Manrope,Inter,sans-serif; color:#f8fafc; text-shadow:0 0 38px rgba(248,250,252,.22); }
.display-exit { position:fixed; right:18px; bottom:16px; z-index:5; border:1px solid rgba(248,250,252,.18); border-radius:999px; padding:9px 14px; background:rgba(15,23,42,.55); color:#cbd5e1; font-size:11px; cursor:pointer; opacity:.42; }
.display-exit:hover { opacity:1; background:rgba(127,29,29,.8); color:white; }
.display-corner-actions { position:fixed; right:18px; bottom:16px; z-index:5; display:flex; gap:8px; }
.display-corner-actions button { border:1px solid rgba(248,250,252,.18); border-radius:999px; padding:9px 14px; background:rgba(15,23,42,.55); color:#cbd5e1; font-size:11px; cursor:pointer; opacity:.48; }
.display-corner-actions button:hover { opacity:1; background:rgba(127,29,29,.8); color:white; }
.display-current { display:grid; grid-template-rows:auto 1fr auto; gap:1.7vh; min-height:0; padding:2.2vh 2.4vw; border:1px solid rgba(248,250,252,.14); border-radius:32px; background:rgba(15,23,42,.64); box-shadow:0 30px 90px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08); }
.display-current-meta { display:flex; justify-content:space-between; gap:18px; }
.display-current-meta span { font-size:clamp(11px,1.15vw,20px); color:#cbd5e1; }
.display-current-meta span:first-child { color:#fca5a5; }
.display-fight { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:2.3vw; min-height:0; }
.display-player { min-width:0; height:100%; display:flex; flex-direction:column; justify-content:center; padding:2vh 2.2vw; border-radius:28px; overflow:hidden; }
.display-player { position:relative; }
.display-player.red { background:linear-gradient(145deg,rgba(127,29,29,.82),rgba(220,38,38,.48)); border:1px solid rgba(252,165,165,.22); }
.display-player.blue { background:linear-gradient(145deg,rgba(30,58,138,.82),rgba(37,99,235,.46)); border:1px solid rgba(147,197,253,.22); text-align:right; }
.display-player.display-winner-side { box-shadow:0 0 0 3px rgba(250,204,21,.9),0 0 80px rgba(250,204,21,.38), inset 0 1px 0 rgba(255,255,255,.18); animation:winnerPulse 1s ease-in-out infinite alternate; }
.display-winner-banner { position:absolute; top:1.3vh; left:50%; transform:translateX(-50%); width:max-content; max-width:90%; padding:.8vh 1.4vw; border-radius:999px; color:#3b2500; background:linear-gradient(135deg,#fde68a,#f59e0b,#fef3c7); box-shadow:0 0 42px rgba(251,191,36,.52); font:1000 clamp(16px,2vw,36px)/1 Manrope,Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; animation:winnerBanner 1.1s ease-in-out infinite; z-index:2; }
.display-player small { font-size:clamp(11px,1.1vw,19px); }
.display-player strong { display:block; margin:.8vh 0; font:900 clamp(40px,6.4vw,124px)/.9 Manrope,Inter,sans-serif; letter-spacing:-.06em; text-wrap:balance; }
.display-player em { color:rgba(255,255,255,.74); font-style:normal; font-size:clamp(16px,1.7vw,34px); font-weight:800; }
.display-vs { display:grid; place-items:center; width:clamp(82px,9vw,150px); height:clamp(82px,9vw,150px); border-radius:50%; background:#f8fafc; color:#111827; font:1000 clamp(30px,4vw,66px)/1 Manrope,Inter,sans-serif; box-shadow:0 0 0 12px rgba(248,250,252,.08),0 22px 60px rgba(0,0,0,.36); }
.display-time { display:flex; align-items:end; justify-content:space-between; gap:18px; padding-top:.8vh; border-top:1px solid rgba(248,250,252,.12); }
.display-time strong { font:900 clamp(34px,5.8vw,92px)/.9 Manrope,Inter,sans-serif; color:#fca5a5; }
.display-time.live-timer strong { color:#fff; text-shadow:0 0 28px rgba(239,68,68,.75),0 0 70px rgba(239,68,68,.4); animation:timerGlow 1s ease-in-out infinite alternate; }
.display-time em { color:#cbd5e1; font-style:normal; font-size:clamp(14px,1.5vw,28px); font-weight:800; text-align:right; }
.display-next { min-height:0; display:grid; grid-template-rows:auto 1fr; gap:1.3vh; }
.display-next h2 { margin:0; color:#f8fafc; font:900 clamp(20px,2.6vw,42px)/1 Manrope,Inter,sans-serif; }
.display-queue { min-height:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:1fr; gap:1.1vh 1.2vw; }
.display-queue-item { min-width:0; border-radius:20px; padding:1.15vh 1.2vw; background:rgba(248,250,252,.08); border:1px solid rgba(248,250,252,.12); display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.display-queue-item span { color:#fca5a5; font-size:clamp(13px,1.4vw,24px); font-weight:1000; letter-spacing:.08em; }
.display-queue-item strong { display:block; margin:.45vh 0; font:900 clamp(24px,2.5vw,48px)/.95 Manrope,Inter,sans-serif; letter-spacing:-.04em; color:#fff; }
.display-queue-item strong i { color:#94a3b8; font-style:normal; font-size:.66em; margin:0 .25em; }
.display-queue-item small { color:#cbd5e1; font-size:clamp(13px,1.25vw,22px); font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.compact-next h2 { font-size:clamp(16px,2vw,32px); }
.compact-next .display-queue-item strong { font-size:clamp(20px,2.1vw,38px); }
.compact-next .display-queue-item span,.compact-next .display-queue-item small { font-size:clamp(11px,1.05vw,18px); }
@keyframes winnerBanner { 0%{transform:translateX(-50%) scale(1); filter:brightness(1)} 50%{transform:translateX(-50%) scale(1.055); filter:brightness(1.18)} 100%{transform:translateX(-50%) scale(1); filter:brightness(1)} }
@keyframes winnerPulse { from{filter:brightness(1)} to{filter:brightness(1.12)} }
@keyframes timerGlow { from{transform:scale(1)} to{transform:scale(1.025)} }
.display-empty { display:grid; place-items:center; text-align:center; min-height:100vh; min-height:100dvh; color:white; }
.display-empty strong { display:block; font:900 clamp(42px,7vw,120px)/1 Manrope,Inter,sans-serif; }
.display-empty span { color:#cbd5e1; font-size:clamp(18px,2vw,38px); }
.display-picker-screen { grid-template-rows:auto 1fr; }
.display-picker-grid { min-height:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:clamp(14px,2vw,30px); align-content:stretch; }
.display-mat-card { min-height:28vh; border:1px solid rgba(248,250,252,.14); border-radius:34px; padding:clamp(20px,3vw,44px); color:white; background:linear-gradient(145deg,rgba(15,23,42,.76),rgba(127,29,29,.36)); box-shadow:0 28px 80px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08); cursor:pointer; text-align:left; display:flex; flex-direction:column; justify-content:center; overflow:hidden; transition:.18s ease; }
.display-mat-card:hover { transform:translateY(-4px); border-color:rgba(252,165,165,.54); background:linear-gradient(145deg,rgba(127,29,29,.82),rgba(220,38,38,.42)); }
.display-mat-card span { color:#fca5a5; font-size:clamp(14px,1.6vw,28px); font-weight:1000; letter-spacing:.24em; }
.display-mat-card strong { display:block; margin:.5vh 0 1.2vh; font:1000 clamp(78px,11vw,190px)/.82 Manrope,Inter,sans-serif; letter-spacing:-.08em; }
.display-mat-card small { color:#f8fafc; font-size:clamp(18px,2vw,34px); font-weight:900; }
.display-mat-card em { margin-top:1.2vh; color:#cbd5e1; font-style:normal; font-size:clamp(14px,1.5vw,26px); font-weight:800; line-height:1.15; }
.code-badge { display:inline-grid; place-items:center; min-width:34px; height:27px; border-radius:7px; background:#fee2e2; color:#b91c1c; font-weight:800; font-size:8px; }.status-pill { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; border-radius:10px; color:#b91c1c; background:#fee2e2; font-size:7px; font-weight:700; }.status-pill.pending { color:#b5711c; background:#fff2df; }.status-pill.danger { color:#c34f4e; background:#fff0f0; }.row-action { border:1px solid var(--line); background:white; border-radius:7px; padding:6px 9px; color:#66757b; font-size:8px; cursor:pointer; }.empty-state { padding:50px 20px; text-align:center; color:#879398; }.empty-state strong { display:block; color:var(--ink); margin-bottom:5px; }
.assignment-panel { margin-top:16px; }
.assignment-list { padding:8px 20px 14px; }
.assignment-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid #eef1ef; }
.assignment-row:last-child { border-bottom:0; }
.assignment-row b,.assignment-row small { display:block; }
.assignment-row b { font-size:10px; }
.assignment-row small { color:#879398; font-size:8px; margin-top:3px; }
.verification-layout { display:grid; grid-template-columns:minmax(520px,1.15fr) minmax(360px,.85fr); gap:16px; align-items:start; }
.verification-list-panel,.verification-detail-panel { min-height:420px; }
.data-table tr.selected-row td { background:rgba(220,38,38,.14); }
.verification-cards { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin:14px 0; }
.verification-card { padding:13px; border:1px solid rgba(148,163,184,.16); border-radius:12px; background:rgba(15,23,42,.58); }
.verification-card small,.verification-card span { display:block; color:#94a3b8; font-size:9px; }
.verification-card b { display:block; color:#f8fafc; margin:5px 0; font-size:13px; }
.verification-card input { width:100%; height:36px; border:1px solid rgba(148,163,184,.24); border-radius:8px; padding:0 10px; color:#f8fafc; background:#111827; font-weight:900; }
.verification-suggestion { margin:12px 0; padding:12px; border-radius:12px; border:1px solid rgba(148,163,184,.18); }
.verification-suggestion b,.verification-suggestion span { display:block; }
.verification-suggestion span { color:#cbd5e1; font-size:11px; margin-top:4px; }
.verification-suggestion.ok { background:rgba(22,101,52,.22); border-color:rgba(74,222,128,.24); }
.verification-suggestion.warn { background:rgba(127,29,29,.24); border-color:rgba(248,113,113,.28); }
.verification-form-grid { margin-top:12px; }
.event-config-grid { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr); gap:16px; }
.config-form { padding:18px; }
.competition-list { padding:12px 18px 18px; display:grid; gap:10px; }
.competition-card { border:1px solid #eef1ef; border-radius:12px; background:#fbfcfb; overflow:hidden; }
.competition-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border-bottom:1px solid #eef1ef; }
.competition-head b,.competition-head small { display:block; }
.competition-head b { font-size:12px; }
.competition-head small { color:#879398; font-size:8px; margin-top:2px; }
.competition-categories { display:grid; gap:6px; padding:10px; }
.competition-categories button { border:1px solid #e8ecea; background:white; border-radius:9px; padding:10px; text-align:left; cursor:pointer; }
.competition-categories button:hover { border-color:var(--mint); box-shadow:0 0 0 3px #fee2e2; }
.competition-categories strong,.competition-categories span { display:block; }
.competition-categories strong { font-size:10px; color:var(--ink); }
.competition-categories span { color:#879398; font-size:8px; margin-top:3px; }
.cascade-layout { display:grid; grid-template-columns:1.05fr .9fr 1.15fr; gap:16px; align-items:start; }
.cascade-column { min-height:540px; overflow:hidden; }
.cascade-list { display:grid; gap:10px; padding:14px; }
.cascade-card { border:1px solid rgba(148,163,184,.16); border-radius:15px; padding:13px; background:rgba(15,23,42,.64); color:#e2e8f0; cursor:pointer; transition:.18s ease; }
.cascade-card:hover,.cascade-card.active { border-color:rgba(252,165,165,.46); background:linear-gradient(145deg,rgba(127,29,29,.5),rgba(15,23,42,.82)); box-shadow:0 18px 42px rgba(0,0,0,.18); }
.cascade-card.archived { opacity:.78; border-style:dashed; background:linear-gradient(145deg,rgba(30,41,59,.74),rgba(15,23,42,.88)); }
.cascade-card-main { display:flex; gap:12px; align-items:center; min-width:0; }
.cascade-card b,.cascade-card small,.cascade-card em { display:block; }
.cascade-card b { color:#f8fafc; font-size:12px; }
.cascade-card small { margin-top:4px; color:#94a3b8; font-size:9px; line-height:1.35; }
.cascade-card em { margin-top:5px; color:#fca5a5; font-style:normal; font-size:8px; font-weight:800; }
.cascade-card .row-actions { margin-top:12px; justify-content:flex-start; flex-wrap:wrap; }
.dictionary-panel { display:grid; gap:10px; margin-bottom:12px; padding:12px; border:1px solid rgba(252,165,165,.22); border-radius:16px; background:linear-gradient(145deg,rgba(127,29,29,.22),rgba(15,23,42,.78)); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.dictionary-head { display:grid; gap:4px; padding:2px 2px 4px; }
.dictionary-head b { color:#f8fafc; font-size:12px; }
.dictionary-head small { color:#94a3b8; font-size:8px; line-height:1.45; }
.dictionary-card { background:rgba(2,6,23,.55); border-color:rgba(252,165,165,.18); cursor:default; }
.dictionary-card:hover { background:rgba(2,6,23,.72); border-color:rgba(252,165,165,.38); box-shadow:none; }
.event-poster-button { flex:0 0 auto; border:0; padding:0; background:transparent; cursor:zoom-in; border-radius:10px; }
.inline-check { display:flex!important; align-items:flex-start; gap:8px; padding:10px 12px; border:1px solid rgba(148,163,184,.18); border-radius:12px; background:rgba(15,23,42,.48); color:#e2e8f0!important; font-size:9px!important; line-height:1.35; text-transform:none!important; letter-spacing:0!important; }
.inline-check input { width:auto; margin-top:1px; accent-color:#ef4444; }
.event-poster-thumb { display:block; width:44px; height:62px; border-radius:10px; object-fit:cover; border:1px solid rgba(248,250,252,.16); background:#020617; transition:.18s ease; }
.event-poster-button:hover .event-poster-thumb { transform:scale(1.06); border-color:#fca5a5; box-shadow:0 12px 28px rgba(127,29,29,.35); }
.poster-modal { position:relative; width:min(760px,calc(100vw - 34px)); max-height:92vh; padding:24px; border-radius:24px; background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(69,10,10,.82)); color:#f8fafc; border:1px solid rgba(248,250,252,.14); box-shadow:0 32px 100px rgba(0,0,0,.52); text-align:center; overflow:auto; }
.poster-modal h2 { margin:0 34px 18px; font:900 22px/1.1 Manrope,Inter,sans-serif; }
.poster-preview-frame { display:grid; place-items:center; min-height:220px; }
.poster-preview-frame img { max-width:100%; max-height:76vh; border-radius:18px; object-fit:contain; box-shadow:0 24px 80px rgba(0,0,0,.4); background:#020617; }
.empty-state.compact { padding:18px; }
.row-actions { display:flex; gap:6px; justify-content:flex-end; }
.wide-select { width:230px; }
.bracket-layout { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(420px,1.3fr); gap:16px; }
.roster-list,.match-list { padding:14px 18px 18px; }
.bracket-fighter { border:1px solid #e8ecea; border-left:3px solid var(--mint); border-radius:10px; padding:10px 11px; background:#fbfcfb; }
.bracket-fighter + .bracket-fighter { margin-top:7px; }
.bracket-fighter.red { border-left-color:var(--red); }
.bracket-fighter.blue { border-left-color:var(--blue); }
.bracket-fighter.bye { border-left-color:var(--amber); background:#fffaf1; }
.bracket-fighter.pending { border-left-color:#aab4b8; background:#f7f8f7; }
.bracket-fighter b,.bracket-fighter small { display:block; }
.bracket-fighter b { font-size:10px; }
.bracket-fighter small { color:#879398; font-size:8px; margin-top:3px; }
.match-card { padding:12px; border-bottom:1px solid #eef1ef; }
.match-card:last-child { border-bottom:0; }
.match-no { display:flex; align-items:center; justify-content:space-between; color:#68777d; font-size:8px; font-weight:800; letter-spacing:.5px; margin-bottom:8px; text-transform:uppercase; }
.match-warning { color:#b5711c; background:#fff2df; border-radius:10px; padding:4px 7px; font-size:7px; letter-spacing:0; text-transform:none; }
.match-result { color:#b91c1c; background:#fee2e2; border-radius:10px; padding:4px 7px; font-size:7px; letter-spacing:0; text-transform:none; }
.round-section { border-bottom:1px solid #eef1ef; padding-bottom:8px; margin-bottom:8px; }
.round-section:last-child { border-bottom:0; margin-bottom:0; }
.round-section h3 { margin:2px 0 7px; color:#68777d; font-size:9px; letter-spacing:.7px; text-transform:uppercase; }
.entity-modal { position:relative; width:min(610px,100%); max-height:90vh; overflow:auto; padding:28px; border-radius:18px; background:white; color:var(--ink); box-shadow:0 25px 80px rgba(0,0,0,.3); }.entity-modal h2 { font:800 21px Manrope; margin:0 0 4px; }.entity-intro { margin:0 0 20px; color:#829096; font-size:10px; }.entity-modal .modal-close { color:#77858b; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.form-field { display:flex; flex-direction:column; gap:5px; }.form-field.full { grid-column:1/-1; }.form-field label { color:#68777d; font-size:8px; font-weight:700; letter-spacing:.4px; }.form-field input,.form-field select { width:100%; height:39px; border:1px solid #dfe5e2; border-radius:8px; padding:0 11px; color:#29383f; background:#fbfcfb; font-size:10px; outline:none; }.form-field input:focus,.form-field select:focus { border-color:var(--mint); box-shadow:0 0 0 3px #fee2e2; }.form-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; padding-top:7px; }.validation { display:none; grid-column:1/-1; color:#c34f4e; background:#fff0f0; border-radius:8px; padding:9px; font-size:9px; }.validation.show { display:block; }
.readonly-note { min-height:39px; display:flex; align-items:center; border:1px solid rgba(148,163,184,.24); border-radius:8px; padding:0 11px; color:#fca5a5; background:rgba(127,29,29,.18); font-size:10px; font-weight:700; }
.image-file-input { display:none; }
.image-dropzone { min-height:88px; display:flex; align-items:center; gap:13px; padding:13px; border:1px dashed rgba(148,163,184,.34); border-radius:14px; background:rgba(15,23,42,.54); color:#e2e8f0; cursor:pointer; transition:.18s ease; }
.image-dropzone:hover,.image-dropzone.is-dragover { border-color:#fca5a5; background:rgba(127,29,29,.34); box-shadow:0 0 0 4px rgba(220,38,38,.12); }
.image-dropzone img,.image-dropzone > span:first-child { flex:0 0 auto; width:58px; height:58px; border-radius:16px; border:1px solid rgba(248,250,252,.18); background:#020617; object-fit:cover; display:grid; place-items:center; color:#fca5a5; font-size:10px; font-weight:900; }
.image-dropzone.poster-dropzone img,.image-dropzone.poster-dropzone > span:first-child { width:92px; height:130px; border-radius:18px; }
.image-dropzone > div { flex:1; min-width:0; }
.image-dropzone strong,.image-dropzone small { display:block; }
.image-dropzone strong { color:#f8fafc; font-size:11px; }
.image-dropzone small { margin-top:4px; color:#94a3b8; font-size:9px; line-height:1.35; }
.federation-add-row { display:grid; grid-template-columns:1fr auto; gap:8px; }
.federation-list { display:flex; flex-wrap:wrap; gap:7px; min-height:32px; padding:8px; border:1px solid rgba(148,163,184,.18); border-radius:10px; background:rgba(15,23,42,.42); }
.federation-list small { color:#94a3b8; font-size:9px; }
.federation-chip { display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:6px 8px; border-radius:999px; background:rgba(127,29,29,.45); color:#fee2e2; border:1px solid rgba(248,113,113,.24); font-size:9px; font-weight:800; }
.federation-chip button { border:0; width:18px; height:18px; border-radius:50%; background:rgba(15,23,42,.65); color:#fecaca; cursor:pointer; line-height:1; }

/* Prawy panel w kolorystyce zgodnej z bocznym panelem Oyama */
body {
  color:#e2e8f0;
  background:
    radial-gradient(circle at 88% 8%, rgba(220,38,38,.16), transparent 30%),
    radial-gradient(circle at 15% 92%, rgba(248,250,252,.06), transparent 24%),
    linear-gradient(135deg,#020617 0%,#0b111e 45%,#450a0a 145%);
}
.main {
  min-height:100vh;
  background:
    radial-gradient(circle at 86% 2%, rgba(220,38,38,.18), transparent 32%),
    radial-gradient(circle at 8% 98%, rgba(248,250,252,.045), transparent 25%),
    linear-gradient(135deg,#020617 0%,#0b111e 55%,#1f0708 140%);
}
.topbar {
  color:#e2e8f0;
  background:rgba(11,17,30,.88);
  border-bottom:1px solid rgba(148,163,184,.14);
  box-shadow:0 10px 34px rgba(0,0,0,.24);
}
.content { color:#e2e8f0; }
.event-switch { color:#f8fafc; border-right-color:rgba(148,163,184,.22); }
.event-context-select { color:#f8fafc; background:#111827; border-color:rgba(148,163,184,.24); }
.event-context-select:focus { border-color:#ef4444; box-shadow:0 0 0 3px rgba(220,38,38,.18); }
.event-date,.sync,.page-head p,.clock-block small,.panel-head p,.stat-card span,.stat-card small,.summary-card small,.data-table td small,.arena-name small,.arena-current small,.arena-next small,.table-fighter small,.table-category,.timeline-copy span,.timeline-time,.delay-legend,.assignment-row small,.competition-head small,.competition-categories span,.bracket-fighter small,.match-no,.round-section h3,.entity-intro,.form-field label { color:#94a3b8; }
.page-head h1,.clock-block strong,.panel-head h2,.stat-card strong,.summary-card strong,.data-table td b,.arena-name b,.arena-current b,.arena-next b,.table-fighter b,.table-time b,.timeline-copy b,.assignment-row b,.competition-head b,.competition-categories strong,.bracket-fighter b,.station-mat-card strong { color:#f8fafc; }
.eyebrow,.text-button,.more-button { color:#fca5a5!important; }
.panel,.stat-card,.summary-card,.station-mat-card,.competition-card,.entity-modal {
  color:#e2e8f0;
  background:linear-gradient(145deg,rgba(15,23,42,.94),rgba(34,47,68,.74));
  border-color:rgba(148,163,184,.16);
  box-shadow:0 22px 60px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
}
.panel-head,.data-toolbar,.arena-row,.table-row,.assignment-row,.competition-head,.round-section,.match-card,.data-table td {
  border-color:rgba(148,163,184,.14);
}
.data-table th,.table-head {
  background:rgba(15,23,42,.94);
  color:#fca5a5;
}
.data-table td,.table-row,.fight-no,.arena-time { color:#e2e8f0; }
.search-box input,.filter-select,.form-field input,.form-field select {
  color:#f8fafc;
  background:#111827;
  border-color:rgba(148,163,184,.24);
}
.search-box input:focus,.filter-select:focus,.form-field input:focus,.form-field select:focus {
  border-color:#ef4444;
  box-shadow:0 0 0 3px rgba(220,38,38,.18);
}
.icon-button,.menu-toggle,.secondary-button,.row-action,.arena-open,.timeline-more,.competition-categories button {
  color:#e2e8f0;
  background:rgba(15,23,42,.72);
  border-color:rgba(148,163,184,.22);
}
.row-action.danger {
  color:#fecaca;
  background:rgba(127,29,29,.42);
  border-color:rgba(248,113,113,.32);
}
.icon-button:hover,.menu-toggle:hover,.secondary-button:hover,.row-action:hover,.arena-open:hover,.timeline-more:hover,.competition-categories button:hover {
  border-color:rgba(252,165,165,.52);
  box-shadow:0 0 0 3px rgba(220,38,38,.13);
}
.sync i { box-shadow:0 0 0 4px rgba(220,38,38,.18); }
.timeline-item:not(:last-child):before { background:rgba(148,163,184,.18); }
.summary-card.warning-card,.bracket-fighter.bye {
  background:linear-gradient(145deg,rgba(69,26,3,.76),rgba(120,53,15,.44));
  border-color:rgba(245,158,11,.28);
}
.summary-card.warning-card strong,.summary-card.warning-card em,.match-warning { color:#fbbf24; }
.competition-categories button,.bracket-fighter {
  background:rgba(15,23,42,.72);
  border-color:rgba(148,163,184,.16);
}
.bracket-fighter.pending {
  background:rgba(15,23,42,.54);
  border-left-color:#64748b;
}
.station-mat-card {
  background:linear-gradient(145deg,rgba(15,23,42,.95),rgba(127,29,29,.32));
}
.station-mat-card span { color:#fca5a5; }
.station-mat-card small,.station-mat-card em { color:#cbd5e1; }
.station-mat-card:hover {
  border-color:rgba(252,165,165,.54);
  background:linear-gradient(145deg,rgba(127,29,29,.76),rgba(220,38,38,.28));
}
.empty-state { color:#94a3b8; }
.empty-state strong { color:#f8fafc; }
.entity-modal {
  border:1px solid rgba(148,163,184,.18);
}
.entity-modal .modal-close { color:#cbd5e1; }
.validation {
  color:#fecaca;
  background:rgba(127,29,29,.34);
  border:1px solid rgba(248,113,113,.25);
}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.bracket-layout{grid-template-columns:1fr}.event-config-grid{grid-template-columns:1fr}.cascade-layout{grid-template-columns:1fr}.verification-layout{grid-template-columns:1fr}.cascade-column{min-height:auto}.mat-station-grid{grid-template-columns:1fr}.activity-panel{min-height:auto}.arena-row{grid-template-columns:105px 1fr 1fr 70px 30px}}
@media(max-height:760px){
  .sidebar { padding-top:18px; padding-bottom:16px; }
  .brand { padding-bottom:18px; }
  .brand-mark { width:40px; height:40px; border-radius:11px; }
  .nav-label { margin:14px 11px 5px; }
  .nav-item { padding-top:8px; padding-bottom:8px; }
  .sidebar .event-card { margin-top:14px; padding:11px; }
  .role-menu { max-height:42vh; }
}
@media(max-height:620px){
  .sidebar .event-card small,.sidebar .event-card .event-progress,.sidebar .event-card > div:last-child { display:none; }
  .sidebar .event-card { padding:9px 11px; }
  .role-menu { max-height:50vh; }
}
@media(max-width:760px){.login-screen{padding:14px}.login-card{padding:22px;margin:0 auto}.login-events,.login-panels{grid-template-columns:1fr}.login-form{inset:10px;padding:20px;max-height:calc(100dvh - 20px)}.login-form[data-mode="register-club"]{inset:10px;width:auto;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:20px}.login-form[data-mode="register-club"] .login-fields{grid-template-columns:1fr}.login-form[data-mode="register-club"] .login-submit{bottom:-20px;margin:12px -20px -20px}.mat-fighters{grid-template-columns:1fr}.mat-vs{min-height:44px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:15px 0 40px rgba(0,0,0,.25)}.main{margin:0;width:100%}.menu-toggle{display:block}.topbar{height:62px;padding:0 15px}.event-date,.sync{display:none}.content{padding:22px 15px 40px}.page-head{align-items:flex-start}.clock-block{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:13px;min-height:90px}.stat-icon{width:35px;height:35px}.main-grid{display:block}.activity-panel{margin-top:14px}.arena-row{grid-template-columns:90px 1fr 60px 28px;gap:8px}.arena-next{display:none}.top-actions{gap:7px}.primary-button{font-size:0;padding:10px}.primary-button:after{content:"＋";font-size:16px}.fighters{grid-template-columns:1fr 1fr}.timer-center{grid-column:1/3;grid-row:1}.fight-controls{flex-wrap:wrap}.fight-modal{padding:28px 16px}.next-panel{margin-top:14px}}
@media(max-width:470px){.stats-grid{grid-template-columns:1fr}.event-switch{border:0;padding:0}.icon-button{display:none}.arena-list{padding-inline:12px}.panel-head{padding-inline:14px}.arena-row{grid-template-columns:80px 1fr 45px 28px}.arena-time{font-size:10px}.page-head h1{font-size:22px}}
@media(max-width:900px){.profile{min-width:auto;padding-right:8px}.profile > span:nth-child(2){display:none}.role-menu{right:-8px;width:min(270px,calc(100vw - 24px))}}

/* Warstwa czytelności: najmniejsze teksty ~2×, większe elementy ~30%. */
body { font-size:13.12px; }
.login-kicker,.login-form-kicker,.login-form label,.login-help,.login-register-note,.nav-label,.event-card > div:last-child,.profile small,.admin-action,.admin-menu-label,.event-switch span,.eyebrow,.page-head p,.tournament-timer span,.panel-head p,.text-button,.more-button,.fight-no,.table-category,.registration-athlete small,.mat-meta span,.winner-side,.summary-card small,.search-box input,.filter-select,.quick-filter,.data-table td,.verification-card small,.verification-card span,.cascade-card small,.inline-check,.entity-intro,.form-field label,.validation,.image-dropzone small,.federation-list small,.federation-chip { font-size:13.12px!important; }
.login-step small,.login-event span,.login-panel span,.login-role span,.brand small,.event-status,.admin-menu-head small,.admin-menu-grid span,.stat-card small,.arena-name small,.arena-current small,.arena-next small,.arena-current .fight-live,.arena-next span,.arena-time small,.timeline-copy span,.timeline-time,.timeline-more,.delay-legend,.table-head,.mat-pill,.table-fighter small,.table-time small,.scope-pill,.mat-fighter span,.modal-kicker,.fighter small,.timer-center span,.timer-center small,.podium-place span,.subnav-tabs span,.summary-card em,.data-table th,.data-table td small,.code-badge,.status-pill,.row-action,.assignment-row small,.competition-head small,.competition-categories span,.cascade-card em,.dictionary-head small,.bracket-fighter small,.match-no,.match-warning,.match-result,.round-section h3 { font-size:11.66px!important; }
.login-event strong,.login-panel strong,.login-step b,.brand strong,.event-card small,.profile b,.admin-menu-head b,.avatar,.event-date,.event-context-select,.sync,.primary-button,.secondary-button,.stat-card span,.arena-name b,.arena-current b,.arena-next b,.table-fighter b,.table-time b,.registration-detail-meta,.mat-fighter small,.modal-category,.toast b,.toast small,.winner-card small,.winner-card em,.podium-place small,.certificate-question span,.database-switch label,.data-table td b,.identity-fallback,.assignment-row b,.competition-categories strong,.bracket-fighter b,.entity-modal .form-field input,.entity-modal .form-field select,.readonly-note,.image-dropzone img,.image-dropzone > span:first-child,.image-dropzone strong { font-size:14.58px!important; }
.login-copy,.event-card strong,.registration-athlete b,.mat-queue-item strong,.competition-head b,.cascade-card b,.dictionary-head b { font-size:11.66px!important; }
.panel-head h2,.admin-menu-grid strong,.arena-badge,.timeline-icon,.verification-card b { font-size:13.12px!important; }
.page-head h1 { font-size:24.06px!important; }
.page-head h1 span { font-size:18.23px!important; }
.login-card h1,.login-form h2,.result-modal h2,.podium-modal h2 { font-size:24.06px!important; }
.entity-modal h2,.poster-modal h2 { font-size:21.14px!important; }
.stat-card strong { font-size:21.14px!important; }
.stat-card strong em { font-size:10.21px!important; }
.clock-block strong { font-size:22.6px!important; }
.mat-fighter b { font-size:21.14px!important; }
.mat-vs { font-size:17.5px!important; }
.winner-card strong { font-size:26.24px!important; }
.podium-place strong { font-size:18.95px!important; }
.timer-center strong { font-size:40.82px!important; }
.station-mat-card strong { font-size:68.53px!important; }
.station-mat-card small { font-size:13.12px!important; }
.station-mat-card em { font-size:11.66px!important; }
.station-active-mat span { font-size:11.66px!important; }
.station-active-mat strong { font-size:28.43px!important; }
.brand strong {
  width: auto;
  max-width: 156px;
  text-align: center;
  text-align-last: center;
  text-justify: auto;
  line-height: 1.12;
  letter-spacing: .15px;
  font-size: 11.6px!important;
  overflow-wrap: normal;
  word-break: normal;
}
.brand small {
  display: block;
  max-width: 156px;
  text-align: center;
}

/* Ekran startowy: jeden obszar bez dwóch suwaków + automatyczne dopasowanie do wysokości okna. */
/* Skalowanie karty logowania wykonuje JS (fitLoginLayout) — dopasowanie do rozdzielczości i orientacji. */
@media(max-width:760px){
  .login-panel{display:block;min-height:auto}
  .login-panel strong{display:block}
  .login-panel span{text-align:left;margin-top:4px!important}
  .login-selected-actions{display:grid}
}

/* Graficzna drabinka turniejowa */
.bracket-scroll-hint { padding:12px 16px 0; color:#94a3b8; font-size:12px; font-weight:800; }
.bracket-board { display:flex; gap:18px; overflow:auto; padding:16px; scroll-snap-type:x proximity; scrollbar-color:#ef4444 rgba(15,23,42,.7); }
.bracket-board::-webkit-scrollbar { height:10px; }
.bracket-board::-webkit-scrollbar-track { background:rgba(15,23,42,.72); border-radius:999px; }
.bracket-board::-webkit-scrollbar-thumb { background:linear-gradient(90deg,#ef4444,#991b1b); border-radius:999px; }
.bracket-column { position:relative; flex:0 0 min(360px,78vw); display:flex; flex-direction:column; gap:12px; scroll-snap-align:start; }
.bracket-column:not(:last-child):after { content:""; position:absolute; top:72px; right:-15px; width:12px; height:calc(100% - 96px); border-top:2px solid rgba(239,68,68,.38); border-right:2px solid rgba(239,68,68,.38); border-bottom:2px solid rgba(239,68,68,.38); border-radius:0 16px 16px 0; pointer-events:none; }
.bracket-column h3 { margin:0; min-height:48px; padding:12px 14px; border-radius:16px; color:#f8fafc; background:linear-gradient(135deg,rgba(127,29,29,.9),rgba(15,23,42,.96)); border:1px solid rgba(248,113,113,.2); font-size:15px!important; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.bracket-column h3 small { display:block; margin-top:3px; color:#fecaca; font-size:11px!important; font-weight:800; text-transform:none; letter-spacing:0; }
.bracket-column-matches { display:grid; gap:14px; align-content:center; min-height:100%; }
.bracket-node { position:relative; padding:12px; border-radius:18px; background:linear-gradient(145deg,rgba(15,23,42,.9),rgba(2,6,23,.96)); border:1px solid rgba(148,163,184,.18); box-shadow:0 16px 36px rgba(0,0,0,.2); }
.bracket-node.completed { border-color:rgba(34,197,94,.38); box-shadow:0 18px 42px rgba(22,163,74,.13); }
.bracket-node.pending { border-color:rgba(251,191,36,.24); }
.bracket-node:after { content:""; position:absolute; top:50%; right:-18px; width:18px; border-top:2px solid rgba(239,68,68,.34); }
.bracket-column:last-child .bracket-node:after { display:none; }
.bracket-node-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; color:#94a3b8; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.bracket-node-head b { color:#fecaca; font-size:11px; }
.bracket-slots { display:grid; gap:8px; }
.bracket-slot { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; min-height:62px; padding:10px; border-radius:14px; background:rgba(15,23,42,.7); border:1px solid rgba(148,163,184,.16); }
.bracket-slot.red { border-left:4px solid #ef4444; }
.bracket-slot.blue { border-left:4px solid #3b82f6; }
.bracket-slot.winner { background:linear-gradient(135deg,rgba(22,101,52,.82),rgba(15,23,42,.9)); border-color:rgba(34,197,94,.55); }
.bracket-slot.bye { border-left:4px solid #f59e0b; color:#fde68a; }
.bracket-slot.pending { border-left:4px solid #64748b; color:#cbd5e1; }
.bracket-slot b,.bracket-slot small,.bracket-slot em { display:block; }
.bracket-slot b { color:#f8fafc; font-size:14px!important; line-height:1.15; }
.bracket-slot small { margin-top:3px; color:#cbd5e1; font-size:11px!important; }
.slot-side { color:#94a3b8; font-style:normal; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.winner-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:999px; color:#052e16; background:#86efac; font-style:normal; font-weight:1000; }
.bracket-note { margin-top:8px; padding:7px 9px; border-radius:10px; font-size:11px; font-weight:900; }
.bracket-note.warning { color:#fbbf24; background:rgba(146,64,14,.18); }
.bracket-winner { display:grid; gap:3px; margin-top:10px; padding:10px; border-radius:14px; background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(239,68,68,.12)); border:1px solid rgba(34,197,94,.25); }
.bracket-winner span { color:#86efac; font-size:10px; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; }
.bracket-winner strong { display:flex; align-items:center; gap:8px; color:#f8fafc; font-size:15px!important; }
.bracket-winner small { color:#cbd5e1; font-size:11px!important; }
.bracket-podium { margin:4px 16px 16px; padding:16px; border-radius:20px; background:radial-gradient(circle at 20% 0%,rgba(251,191,36,.2),transparent 32%),linear-gradient(145deg,rgba(15,23,42,.96),rgba(2,6,23,.96)); border:1px solid rgba(251,191,36,.25); }
.bracket-podium h3 { margin:0; color:#f8fafc; font-size:18px!important; }
.bracket-podium p { margin:4px 0 14px; color:#94a3b8; font-size:12px; }
.bracket-podium-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:12px; align-items:stretch; }
.bracket-medal { padding:14px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.bracket-medal span { display:block; font-size:34px; line-height:1; margin-bottom:6px; }
.bracket-medal b { display:block; color:#fde68a; font-size:12px!important; text-transform:uppercase; letter-spacing:.08em; }
.bracket-medal strong { display:block; margin-top:10px; color:#f8fafc; font-size:16px!important; }
.bracket-medal small { display:block; margin-top:4px; color:#cbd5e1; font-size:11px!important; }
.bracket-medal.place-1 { background:linear-gradient(145deg,rgba(180,83,9,.55),rgba(39,24,10,.92)); border-color:rgba(251,191,36,.55); transform:translateY(-4px); }
.bracket-medal.place-2 { background:linear-gradient(145deg,rgba(148,163,184,.28),rgba(15,23,42,.9)); border-color:rgba(203,213,225,.35); }
.bracket-medal.place-3 { background:linear-gradient(145deg,rgba(146,64,14,.35),rgba(15,23,42,.9)); border-color:rgba(251,146,60,.32); }
@media(max-width:760px){.bracket-podium-grid{grid-template-columns:1fr}.bracket-medal.place-1{transform:none}}

.excel-pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 14px;max-height:260px;overflow:auto;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px}
.excel-pick{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}
.excel-pick small{opacity:.6}

/* --- Konsola SQL --- */
.sql-layout { display: grid; grid-template-columns: 250px 1fr; gap: 18px; align-items: start; }
.sql-side { position: sticky; top: 12px; max-height: calc(100vh - 40px); overflow: auto; }
.sql-side .sql-object { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; background: none; border: 0; padding: 7px 10px; border-radius: 9px; cursor: pointer; font: inherit; color: inherit; }
.sql-side .sql-object:hover { background: rgba(185, 28, 28, 0.08); }
.sql-side-note { opacity: 0.65; font-size: 0.85rem; padding: 4px 10px; }
.sql-main { display: grid; gap: 18px; min-width: 0; }
.sql-editor { width: 100%; min-height: 120px; resize: vertical; border: 1px solid rgba(15, 23, 42, 0.18); border-radius: 11px; padding: 12px; font-family: 'JetBrains Mono', 'Consolas', monospace; font-size: 0.9rem; line-height: 1.45; background: #0f172a; color: #e2e8f0; }
.sql-editor:focus { outline: 2px solid rgba(185, 28, 28, 0.45); }
.sql-grid-scroll { overflow: auto; max-height: 55vh; border: 1px solid rgba(15, 23, 42, 0.12); border-radius: 11px; }
.sql-grid { border-collapse: collapse; width: 100%; font-size: 0.85rem; }
.sql-grid th { position: sticky; top: 0; background: #1e293b; color: #f8fafc; text-align: left; padding: 8px 10px; white-space: nowrap; z-index: 1; }
.sql-grid td { border-bottom: 1px solid rgba(15, 23, 42, 0.08); border-right: 1px solid rgba(15, 23, 42, 0.05); padding: 6px 10px; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sql-grid td[contenteditable="true"]:focus { outline: 2px solid rgba(185, 28, 28, 0.55); white-space: normal; overflow: visible; background: #fff; }
.sql-grid td.sql-null { color: #94a3b8; font-style: italic; }
.sql-grid td.sql-dirty { background: rgba(217, 119, 6, 0.16); box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.5); }
.sql-pk { font-size: 0.65rem; background: rgba(248, 250, 252, 0.2); border-radius: 5px; padding: 1px 5px; vertical-align: middle; }
.sql-dirty-info { align-self: center; font-size: 0.85rem; color: #b45309; font-weight: 600; }
.sql-generated { margin-top: 10px; }
.sql-login-panel { max-width: 620px; }
@media (max-width: 980px) { .sql-layout { grid-template-columns: 1fr; } .sql-side { position: static; max-height: 320px; } }

/* --- Podgląd hasła (oczko) --- */
.pw-wrap { position: relative; display: block; width: 100%; }
.pw-wrap input { width: 100%; padding-right: 42px; }
.pw-eye { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); border: 0; background: none; cursor: pointer; font-size: 1.05rem; line-height: 1; padding: 4px 6px; border-radius: 7px; opacity: 0.55; user-select: none; -webkit-user-select: none; }
.pw-eye:hover { opacity: 0.9; background: rgba(15, 23, 42, 0.06); }
.pw-eye.pw-on { opacity: 1; background: rgba(185, 28, 28, 0.12); }

/* --- Okno podsumowania importu Excel --- */
.import-result-modal { background: #101726; border: 1px solid rgba(148, 163, 184, 0.25); border-radius: 18px; padding: 26px 28px; width: min(560px, 92vw); max-height: 86vh; overflow-y: auto; position: relative; box-shadow: 0 30px 70px rgba(2, 6, 23, 0.6); }
.import-result-table { width: 100%; border-collapse: collapse; margin: 14px 0 16px; }
.import-result-table th, .import-result-table td { padding: 8px 10px; text-align: center; border-bottom: 1px solid rgba(148, 163, 184, 0.18); }
.import-result-table td:first-child { text-align: left; font-weight: 600; }
.import-result-table th { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: #94a3b8; }
.import-result-clean { color: #4ade80; font-size: 0.92rem; }
.import-result-errors { background: rgba(242, 181, 81, 0.08); border: 1px solid rgba(242, 181, 81, 0.35); border-radius: 12px; padding: 12px 14px; font-size: 0.88rem; }
.import-result-errors ul { margin: 8px 0 0; padding-left: 18px; }
.import-result-errors li { margin-bottom: 4px; }

/* --- Numer wersji aplikacji --- */
.app-version { font-size: inherit; font-weight: 700; color: rgba(148, 163, 184, 0.9); letter-spacing: 0.08em; white-space: nowrap; }

/* Wybór godziny i minuty w formularzu wydarzenia */
.time-select-row{display:flex;align-items:center;gap:6px}
.time-select-row select{flex:1;min-width:0}
.time-select-sep{font-weight:700;opacity:.7}

/* Litera trybu bazy przy wersji: zielona — połączenie, czerwona — brak */
.db-badge{font-weight:800}
.db-badge.db-ok{color:#34d399}
.db-badge.db-off{color:#f87171}
