:root{--bg: #0a1a3a;--bg-row: #112a52;--bg-row-alt: #0d2347;--line: #1f3a66;--text: #ffffff;--muted: #c4d2ec;--accent: #ffb020;--live: #ff3b3b;--soon: #ffb020;--live-bg: rgba(255, 59, 59, .12);--soon-bg: #ffb120d0}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;background:#081530;gap:24px}.brand{display:flex;align-items:center;gap:20px}.logo{height:56px;width:auto}.logo-placeholder{height:56px;width:120px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--accent);border-radius:8px;color:var(--muted);font-size:14px;font-weight:800;letter-spacing:2px}.brand h1{margin:0;font-size:34px;font-weight:800;letter-spacing:.5px}.topbar-right{display:flex;align-items:center;gap:32px}.contador{display:flex;flex-direction:column;align-items:flex-end}.contador-num{font-size:38px;font-weight:800;color:var(--text);line-height:1}.contador-lbl{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.filtro{display:flex;flex-direction:column;gap:4px}.filtro span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.filtro select{background:var(--bg-row);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:16px;min-width:180px}.relogio{display:flex;flex-direction:column;align-items:flex-end;min-width:150px}.relogio-hora{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1}.relogio-data{font-size:13px;color:var(--muted);text-transform:capitalize}.grade-head,.linha{display:grid;grid-template-columns:160px 110px 1.4fr 1.4fr 1.4fr 1.2fr 1fr;align-items:center;gap:12px;padding:0 32px}.col-status{display:flex;align-items:center;gap:12px}.timer{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--live);letter-spacing:.5px}.grade-head{height:46px;background:#081530;border-bottom:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700}.grade-body{flex:1;overflow-y:auto}.linha{min-height:62px;font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);background:var(--bg-row-alt)}.linha:nth-child(2n){background:var(--bg-row)}.col-hora{font-variant-numeric:tabular-nums}.linha.status-ao-vivo{box-shadow:inset 4px 0 #28c76f;animation:liveRow 2s ease-in-out infinite}@keyframes liveRow{0%,to{background:#28c76f2e}50%{background:#28c76f66}}.linha.status-proximo{background:var(--soon-bg);box-shadow:inset 4px 0 0 var(--soon)}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge-live{background:var(--live);color:#fff}.badge-soon{background:var(--soon);color:#000;font-size:11px;padding:5px 8px;line-height:1.1;white-space:normal;text-align:center}.badge-live .dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:pulse 1.1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}.aviso{padding:40px 32px;font-size:22px;color:var(--muted);text-align:center}.aviso.erro{color:var(--live)}.sessao{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.sessao-nome{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sair-btn{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .15s ease}.sair-btn:hover{background:var(--live);border-color:var(--live);color:#fff}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,#112a52 0%,var(--bg) 60%);padding:24px}.login-card{width:100%;max-width:380px;background:#081530;border:1px solid var(--line);border-radius:16px;padding:40px 36px;display:flex;flex-direction:column;align-items:center;box-shadow:0 24px 60px #00000073}.login-logo{height:64px;width:auto;margin-bottom:24px}.login-titulo{margin:0;font-size:26px;font-weight:800;text-align:center}.login-sub{margin:6px 0 28px;font-size:14px;color:var(--muted)}.login-field{width:100%;display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.login-field span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.login-field input{background:var(--bg-row);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:16px;outline:none;transition:border-color .15s ease}.login-field input:focus{border-color:var(--accent)}.login-erro{width:100%;background:var(--live-bg);color:#ff8a8a;border:1px solid var(--live);border-radius:8px;padding:10px 14px;font-size:14px;text-align:center;margin-bottom:18px}.login-btn{width:100%;background:var(--accent);color:#081530;border:none;border-radius:8px;padding:13px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:filter .15s ease}.login-btn:hover{filter:brightness(1.08)}.login-btn:disabled{opacity:.6;cursor:default}
