:root{
  --ink:#121212;
  --paper:#F5F3EE;
  --card:#FFFFFF;
  --line:#E4E1D6;
  --line-strong:#CFCBBC;
  --muted:#7A766C;
  --accent:#FF4322;
  --ok:#1E9E5A; --ok-bg:#E3F4EA; --ok-ink:#0F5C34;
  --warn:#E0961E; --warn-bg:#FCF0DA; --warn-ink:#7A4F0B;
  --bad:#D93A2B; --bad-bg:#FBE4E1; --bad-ink:#7E1F15;
  --wait:#9A958A; --wait-bg:#EEECE3; --wait-ink:#57534A;
}
body{background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;}
.display{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:0.01em;}
.mono{font-family:'JetBrains Mono',monospace;}
.gt-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.gt-top{border-bottom:2px solid var(--ink);background:var(--paper);}
.gt-topinner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;}
.gt-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);}
.gt-brand img{width:42px;height:42px;border-radius:10px;object-fit:contain;background:#fff;padding:4px;border:1px solid var(--line);}
.gt-brand h1{font-size:22px;margin:0;line-height:1;}
.gt-brand p{margin:3px 0 0;font-size:11px;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;}
.gt-nav{display:flex;align-items:center;gap:18px;font-size:14px;}
.gt-nav a{color:var(--ink);text-decoration:none;font-weight:600;}
.gt-nav a:hover{color:var(--accent);}
.gt-user{color:var(--muted);font-size:13px;}
.btn-sair{background:var(--ink);color:#fff !important;padding:7px 14px;border-radius:8px;}
.gt-main{padding:28px 24px 80px;}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:28px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.stat .n{font-family:'Anton',sans-serif;font-size:32px;line-height:1;}
.stat .l{font-size:12px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:0.04em;}

.sectionhead{display:flex;align-items:center;justify-content:space-between;margin:34px 0 14px;flex-wrap:wrap;gap:10px;}
.sectionhead h2{font-size:14px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin:0;}

.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.filters a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;}
.filters a.active{background:var(--ink);color:#fff;border-color:var(--ink);}

.track{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:12px;text-decoration:none;color:inherit;display:block;}
.track:hover{border-color:var(--line-strong);color:inherit;}
.trackrow1{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap;}
.evname{font-size:19px;font-weight:700;margin:0 0 3px;}
.evmeta{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;}
.pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap;display:inline-block;}
.pill.ok{background:var(--ok-bg);color:var(--ok-ink);}
.pill.warn{background:var(--warn-bg);color:var(--warn-ink);}
.pill.bad{background:var(--bad-bg);color:var(--bad-ink);}
.pill.wait{background:var(--wait-bg);color:var(--wait-ink);}

.rail{position:relative;height:54px;margin-top:6px;}
.railline{position:absolute;top:26px;left:0;right:0;height:3px;background:var(--line);border-radius:2px;}
.railfill{position:absolute;top:26px;left:0;height:3px;background:var(--ink);border-radius:2px;}
.checkpoint{position:absolute;top:8px;transform:translateX(-50%);text-align:center;width:74px;}
.cpdot{width:20px;height:20px;border-radius:50%;margin:0 auto 4px;border:3px solid #fff;box-shadow:0 0 0 2px var(--line);position:relative;z-index:2;background:var(--wait);}
.cpdot.ok{background:var(--ok);box-shadow:0 0 0 2px var(--ok);}
.cpdot.warn{background:var(--warn);box-shadow:0 0 0 2px var(--warn);}
.cpdot.bad{background:var(--bad);box-shadow:0 0 0 2px var(--bad);}
.cplabel{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--ink);letter-spacing:0.02em;}
.cpdate{font-size:10px;color:var(--muted);}
.today-flag{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);z-index:3;}
.today-flag::after{content:'HOJE';position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:800;color:var(--accent);letter-spacing:0.05em;}

/* Lista vertical das etapas — alternativa à trilha horizontal em telas estreitas */
.rail-mobile{display:none;margin-top:10px;border-top:1px solid var(--line);padding-top:10px;}
.rail-mobile .rm-item{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);gap:10px;}
.rail-mobile .rm-item:last-child{border-bottom:none;}
.rail-mobile .rm-left{display:flex;align-items:center;gap:8px;min-width:0;}
.rail-mobile .rm-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:var(--wait);}
.rail-mobile .rm-dot.ok{background:var(--ok);}
.rail-mobile .rm-dot.warn{background:var(--warn);}
.rail-mobile .rm-dot.bad{background:var(--bad);}
.rail-mobile .rm-label{font-size:12px;font-weight:700;text-transform:uppercase;white-space:nowrap;}
.rail-mobile .rm-date{font-size:11px;color:var(--muted);white-space:nowrap;}

.gt-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:18px;}
.autocalc{background:var(--wait-bg);border:1px dashed var(--line-strong);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--wait-ink);margin:14px 0;}
.autocalc .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:8px;}
.autocalc .cell{background:#fff;border-radius:8px;padding:8px;text-align:center;}
.autocalc .cell .lb{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:700;}
.autocalc .cell .dt{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;margin-top:3px;}

.stagecard{border:1px solid var(--line);border-radius:12px;padding:14px;}
.stagecard .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px;}
.stagecard .name{font-size:13px;font-weight:700;}
.stagecard .date{font-size:12px;color:var(--muted);font-family:'JetBrains Mono',monospace;}

.logothumb{display:inline-flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;padding:10px;width:110px;background:#fff;}
.logothumb img{width:80px;height:80px;object-fit:contain;}
.logothumb span{font-size:10px;color:var(--muted);text-align:center;word-break:break-all;}

.npsbadge{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;background:var(--ok-bg);color:var(--ok-ink);padding:3px 9px;border-radius:8px;}

.login-wrap{max-width:380px;margin:80px auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px;}
.approve-wrap{max-width:640px;margin:40px auto;padding:0 20px;}
.desc-box{background:var(--paper);border-radius:10px;padding:14px 16px;white-space:pre-wrap;font-size:14px;line-height:1.6;}

.deskfy-preview{background:var(--paper);border-radius:12px;padding:18px 20px;}
.deskfy-bloco{margin:10px 0;font-size:14px;}
.deskfy-bloco strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:2px;}
.bloco-row{margin-bottom:8px;}
.suggestion-card{background:var(--card);border:1px dashed var(--line-strong);border-radius:14px;padding:14px 18px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.hidden{display:none !important;}

/* ============ RESPONSIVIDADE — TABLET (até 992px) ============ */
@media (max-width: 992px){
  .gt-wrap{padding:0 16px;}
  .gt-main{padding:20px 16px 60px;}
  .stats{grid-template-columns:repeat(2,1fr);}
}

/* ============ RESPONSIVIDADE — CELULAR (até 640px) ============ */
@media (max-width: 640px){
  .gt-wrap{padding:0 12px;}
  .gt-main{padding:16px 12px 50px;}

  /* Cabeçalho: empilha marca e navegação, permite rolagem horizontal no menu */
  .gt-topinner{flex-wrap:wrap;padding:12px 12px;gap:10px;}
  .gt-brand h1{font-size:18px;}
  .gt-brand img{width:36px;height:36px;}
  .gt-nav{gap:12px;font-size:13px;overflow-x:auto;white-space:nowrap;width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch;}
  .gt-user{display:none;}

  .stats{grid-template-columns:1fr 1fr;gap:10px;}
  .stat{padding:12px 14px;}
  .stat .n{font-size:24px;}

  .sectionhead h2{font-size:12px;}
  .sectionhead{margin:22px 0 12px;}

  .track{padding:14px 16px;}
  .evname{font-size:16px;}
  .trackrow1{gap:10px;}
  .trackrow1 > div:last-child{align-items:flex-start !important;flex-direction:row;flex-wrap:wrap;width:100%;}

  /* Trilha horizontal vira lista vertical em telas de celular */
  .rail{display:none;}
  .rail-mobile{display:block;}

  .gt-card{padding:16px 16px;}
  .display{font-size:22px;}

  .logothumb{width:96px;}

  .login-wrap{margin:32px auto;padding:24px;max-width:92vw;}
  .approve-wrap{margin:20px auto;padding:0 12px;}

  .deskfy-preview{padding:14px 16px;}

  /* Formulários: reduz o respiro entre campos empilhados */
  .row > [class*="col-"]{margin-bottom:2px;}

  /* Tabelas da Grade TF Sports: permite rolagem horizontal suave */
  .table-responsive{-webkit-overflow-scrolling:touch;}
}
