/* panel.css — patches FHD e mitigação 1080i */
:root{--bg:#0B0F17;--surface:#111827;--surface-2:#0F172A;--text:#E5E7EB;--muted:#A7B0BE;--chip:#1F2937;--border:#1E293B;--shadow:rgba(0,0,0,.35);--pill-partida:#F59E0B;--pill-paragem:#10B981;--pill-exterior:#3B82F6;--pill-atraso:#FB923C;--pill-cancelado:#EF4444;--accent:#00D084}
html,body{height:100%;background:var(--bg);margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--text)}
*{box-sizing:border-box}
body {padding: 30px; overflow-y: hidden}
/* Fundo */
body::before{content:"";position:fixed;inset:0;background:radial-gradient(1200px 600px at 10% 0%, rgba(0,208,132,.08), transparent 60%),radial-gradient(900px 700px at 85% 30%, rgba(59,130,246,.08), transparent 65%),linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));pointer-events:none}

/* Cabeçalho */
.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:2vw;padding:1.2rem max(24px,4vw);background:linear-gradient(180deg, rgba(17,24,39,.85), rgba(17,24,39,.6));backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:48px;padding-right:36px}
.title{display:flex;flex-direction:column;line-height:1.15}
.title .h1{font-weight:800;font-size:1.6rem}
.title .h2{font-weight:600;font-size:.95rem;color:var(--muted)}
.clock{margin-left:auto;display:flex;align-items:center;gap:16px;font-weight:700}
.clock .date{color:var(--muted);font-weight:600;min-width:220px}
.clock .time{font-size:1.8rem;background:var(--chip);border:1px solid var(--border);padding:6px 12px;border-radius:12px;box-shadow:0 4px 12px var(--shadow);min-width:160px;text-align:center}

/* Área de conteúdo com margem segura para TVs (overscan 2-4%) */
.board{max-width:1850px;margin:18px auto;padding:0 max(24px,4vw);display:grid;grid-template-columns:1fr;gap:14px}

.card{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:center;background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--border);border-radius:12px;padding:5px 24px;box-shadow:0 10px 24px var(--shadow);position:relative;overflow:hidden;will-change:transform}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--color);opacity:.85}

.time-col{display:flex;flex-direction:column;gap:6px}
.time-col .hhmm{font-size:3rem;font-weight:800;letter-spacing:.5px}
.time-col .line{display:inline-flex;align-items:center;gap:8px;font-size:1.1rem;color:var(--muted)}

.chip{background:var(--chip);border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-weight:600;color:#D1D5DB}
.chip.platform {background: #0d6efd; border-radius: 5px}
/*
.route{display:flex;flex-direction:column;gap:8px}
.route .main{font-size:2.2rem;font-weight:700}
*/
.route{display:flex;flex-direction:column;gap:8px}
.route .main{font-size:2.2rem;font-weight:700}

    .route .main {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        position: relative;
    }

        .route .main.scrolling span {
            display: inline-block;
            padding-left: 100%;
            animation: slideText 10s linear infinite;
        }

@keyframes slideText {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}



.route .sub{color:var(--muted);font-weight:600;font-size:1.4rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.status{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:200px}
.pill{display:inline-flex;align-items:center;gap:10px;color:#0B0F17;font-weight:800;letter-spacing:.3px;border-radius:12px;padding:12px 18px;box-shadow:0 6px 14px rgba(0,0,0,.3);user-select:none;font-size:1.3rem}
.pill[data-type]{width: 150px; color: #FFF; align-items: center; justify-content: center;}
.pill[data-type="partida"]{background:var(--pill-partida);}
.pill[data-type="paragem"]{background:var(--pill-paragem)}
.pill[data-type="exterior"]{background:var(--pill-exterior);color:#EAF2FF}
.pill[data-type="atraso"]{background:var(--pill-atraso)}
.pill[data-type="cancelado"]{background:var(--pill-cancelado);color:#FFECEC}
.pill[data-type="chegada"]{background: #0dcaf0;}

.countdown{color:var(--muted);font-size:1rem;font-weight:600; display: none;}

/* 1080p+ escala */
@media (min-width: 1280px){
  .title .h1{font-size:1.8rem}
  .clock .time{font-size:2rem;min-width:180px}
  .time-col .hhmm{font-size:3.2rem}
  .route .main{font-size:3rem; max-width: 1200px;}
  .route .sub{font-size:1.5rem}
}

/* 1080i mitigação: suavização e estabilidade de frames */
body.interlaced, body.interlaced *{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  backface-visibility: hidden;
  transform: translateZ(0); /* força camada separada para reduzir tearing */
}

/* Responsividade */
@media (max-width: 980px){
  .card{grid-template-columns:120px 1fr;gap:14px}
  .status{grid-column:1 / -1;flex-direction:row;justify-content:flex-end}
}
@media (max-width: 640px){
  .time-col .hhmm{font-size:2rem}
  .route .main{font-size:1.3rem}
  .board{padding:0 12px}
  .clock .time{font-size:1.4rem}
}



.footer-note {
    position: fixed;
    bottom: 30px;
    left: 0;
    width: 100%;
    background: rgba(17, 24, 39, 0.9);
    color: var(--muted);
    font-size: 1.5rem;
    text-align: center;
    padding: 12px 20px;
    border-top: 1px solid var(--border);
    backdrop-filter: blur(6px);
    z-index: 50;
}
    .footer-note p {
        margin: 0;
    }

    .footer-note strong {
        color: var(--text);
    }
