/* Montserrat (SIL Open Font License 1.1) alojada no nosso servidor, na pasta «fontes/»:
   nenhum pedido a serviços externos */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;
  src:url("fontes/montserrat-latin-400-normal.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;
  src:url("fontes/montserrat-latin-500-normal.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;
  src:url("fontes/montserrat-latin-600-normal.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;
  src:url("fontes/montserrat-latin-700-normal.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;
  src:url("fontes/montserrat-latin-800-normal.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
/* Paleta nuclear GTI */
--azul:#00467F;--azul-400:#005499;--azul-600:#003866;--azul-700:#002A4C;--noite:#001428;
--azul-100:#CCE8FF;--azul-50:#F7F9FC;
--laranja:#FAA635;--laranja-hover:#F99C1F;--laranja-txt:#A96304;--laranja-tint:#FFF3E0;
--branco:#FFFFFF;--neutro:#F7F9FC;--tinta:#2D3748;--tinta-sec:#6B7F93;--separador:#EFEFEF;
/* Estados */
--erro:#A32020;--erro-fundo:#FBEEEE;--erro-borda:#E3B4B4;
--sob:#002A4C;--sob-fundo:#E7ECF1;--sob-borda:#A9BBCC;
--ok:#00467F;--ok-fundo:#F7F9FC;
/* Escala de espaçamento 4 8 16 24 32 48 64 96 */
--e1:4px;--e2:8px;--e3:16px;--e4:24px;--e5:32px;--e6:48px;--e7:64px;
--raio:12px;--capsula:100px;
--sombra:0 2px 8px rgba(0,20,40,0.08);
}
body{font-family:'Montserrat',"Helvetica Neue",Arial,sans-serif;background:var(--neutro);color:var(--tinta);
  font-size:16px;line-height:1.625;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
.env{max-width:1120px;margin:0 auto;padding:0 var(--e4)}
.num{font-variant-numeric:tabular-nums}

/* topo */
.barra-topo{background:var(--branco);border-bottom:1px solid var(--separador);position:sticky;top:0;z-index:60}
.barra-topo .env{display:flex;align-items:center;gap:var(--e3);height:72px}
.marca-link{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.marca-logo{height:34px;width:auto;max-width:170px;display:block}
.marca-txt{font-weight:800;font-size:20px;letter-spacing:.02em;color:var(--azul)}
.marca-sub{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-sec);
  border-left:1px solid var(--separador);padding-left:var(--e3)}
.topo-acoes{margin-left:auto;display:flex;gap:var(--e2)}

/* herói */
.heroi{background:var(--branco);border-bottom:1px solid var(--separador);padding:var(--e6) 0 var(--e5)}
.sobretitulo{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--azul);margin-bottom:var(--e2)}
.heroi h1{font-size:40px;line-height:1.15;font-weight:700;color:var(--tinta);margin-bottom:var(--e3);letter-spacing:-.01em}
.heroi p{color:var(--tinta-sec);font-size:16px;max-width:70ch}

/* dossier */
.dossier{background:var(--branco);border-bottom:1px solid var(--separador);position:sticky;top:72px;z-index:50}
.dossier .env{display:flex;align-items:center;gap:var(--e3);padding-top:var(--e3);padding-bottom:var(--e3);flex-wrap:wrap}
.ctx{display:flex;gap:var(--e2);align-items:center;flex-wrap:wrap}
.ctx-i{font-size:13.6px;font-weight:600;background:var(--azul-50);color:var(--azul);padding:6px 14px;border-radius:var(--capsula);
  white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--separador)}
.ctx-i.vazio{background:var(--branco);color:var(--tinta-sec)}
.progresso{display:flex;align-items:center;gap:var(--e3);margin-left:auto;min-width:220px}
.prog-pista{flex:1;height:6px;background:var(--separador);border-radius:var(--capsula);overflow:hidden}
.prog-ench{height:100%;background:var(--azul);width:0;transition:width .3s;border-radius:var(--capsula)}
.prog-txt{font-size:13.6px;font-weight:600;color:var(--tinta-sec);white-space:nowrap}

.zona{padding:var(--e6) 0}
.grupo-bloco{margin-bottom:var(--e6)}
.grupo-cab{display:flex;align-items:baseline;gap:var(--e3);margin-bottom:var(--e3);padding-bottom:var(--e3);border-bottom:1px solid var(--separador)}
.grupo-n{font-size:13.6px;font-weight:700;color:var(--laranja-txt)}
.grupo-t{font-size:22px;line-height:32px;font-weight:700;color:var(--azul)}
.grupo-cont{font-size:13.6px;font-weight:600;color:var(--tinta-sec);margin-left:auto}
.grupo-nota{font-size:14px;line-height:22px;color:var(--tinta-sec);margin-bottom:var(--e4);max-width:72ch}

/* campos */
.campos{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--e4)}
.c{display:flex;flex-direction:column;gap:var(--e2);position:relative}
.c-3{grid-column:span 3}.c-4{grid-column:span 4}.c-5{grid-column:span 5}
.c-6{grid-column:span 6}.c-7{grid-column:span 7}.c-8{grid-column:span 8}.c-12{grid-column:span 12}
label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-sec)}
label b{color:var(--laranja-txt)}
input,select,textarea{font-family:inherit;font-size:16px;font-weight:400;border:1px solid #D8E0E8;background:var(--branco);
  padding:12px 16px;width:100%;color:var(--tinta);border-radius:var(--raio);-webkit-appearance:none;appearance:none;
  font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--azul);box-shadow:0 0 0 3px var(--azul-100)}
input:disabled{background:var(--neutro);color:var(--tinta-sec)}
input[readonly]{background:var(--neutro);color:var(--tinta-sec);cursor:default}
input[readonly]:focus{border-color:#D8E0E8;box-shadow:none}
select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236B7F93' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}
.c-msg{font-size:13.6px;color:var(--erro);font-weight:500}
.c[data-mau="1"] input,.c[data-mau="1"] select{border-color:var(--erro)}
select[data-vazio="1"]{color:var(--tinta-sec)}
select option{color:var(--tinta)}
.c-ajuda{font-size:13.6px;color:var(--tinta-sec)}
.c-fixo{font-size:16px;font-weight:600;color:var(--tinta);padding:12px 16px;background:var(--neutro);
  border:1px solid var(--separador);border-radius:var(--raio)}
.cx{display:flex;align-items:center;gap:var(--e2);border:1px solid #D8E0E8;background:var(--branco);
  padding:12px 16px;border-radius:var(--raio);cursor:pointer;font-size:14px;font-weight:500;
  letter-spacing:0;text-transform:none;color:var(--tinta)}
.cx input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--azul);cursor:pointer;padding:0;
  -webkit-appearance:checkbox;appearance:auto;border:0;border-radius:0;background:none;box-shadow:none}
.cx input:focus-visible{outline:2px solid var(--azul);outline-offset:2px;box-shadow:none}
.cx:has(input:disabled){background:var(--neutro);color:var(--tinta-sec);cursor:not-allowed}
.cx:has(input:disabled) input{cursor:not-allowed}

/* botões */
.btn-p{font-family:inherit;font-size:15px;font-weight:600;background:var(--laranja);color:var(--noite);
  border:1px solid var(--laranja);padding:12px 28px;border-radius:var(--capsula);cursor:pointer;transition:.16s}
.btn-p:hover:not(:disabled){background:var(--laranja-hover);border-color:var(--laranja-hover)}
.btn-p:disabled{opacity:.45;cursor:not-allowed}
.btn-s{font-family:inherit;font-size:15px;font-weight:600;background:var(--azul);color:var(--branco);
  border:1px solid var(--azul);padding:12px 28px;border-radius:var(--capsula);cursor:pointer;transition:.16s}
.btn-s:hover{background:var(--azul-600);border-color:var(--azul-600)}
.btn-c{font-family:inherit;font-size:14px;font-weight:600;background:var(--branco);color:var(--azul);
  border:1px solid #D8E0E8;padding:10px 20px;border-radius:var(--capsula);cursor:pointer;transition:.16s}
.btn-c:hover{border-color:var(--azul);background:var(--azul-50)}
.btn-mini{font-family:inherit;font-size:13.6px;font-weight:600;background:var(--branco);color:var(--tinta-sec);
  border:1px solid #D8E0E8;padding:8px 18px;border-radius:var(--capsula);cursor:pointer;transition:.16s}
.btn-mini:hover{border-color:var(--azul);color:var(--azul)}

/* cartões UC */
.cart{background:var(--branco);border:1px solid var(--separador);border-radius:var(--raio);
  margin-bottom:var(--e2);box-shadow:var(--sombra);overflow:hidden}
.cart[data-aberto="1"]{border-color:var(--azul-100);box-shadow:0 2px 8px rgba(0,20,40,0.12)}
.cart-cab{display:flex;align-items:center;gap:var(--e3);width:100%;padding:var(--e4);background:transparent;
  border:0;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}
.cart-cab:hover{background:var(--azul-50)}
.cart-seta{font-size:12px;color:var(--tinta-sec);transition:transform .18s;flex-shrink:0}
.cart[data-aberto="1"] .cart-seta{transform:rotate(90deg);color:var(--azul)}
.cart-n{font-weight:700;font-size:16px;color:var(--azul);flex-shrink:0}
.cart-res{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cart-t{font-size:16px;font-weight:600;color:var(--tinta);line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-t.vazio{color:var(--tinta-sec);font-weight:400}
.cart-d{font-size:13.6px;color:var(--tinta-sec);line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-est{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;
  border-radius:var(--capsula);flex-shrink:0}
.cart-est[data-ok="1"]{background:var(--azul-50);color:var(--azul);border:1px solid var(--azul-100)}
.cart-est[data-ok="0"]{background:var(--laranja-tint);color:var(--laranja-txt);border:1px solid var(--laranja)}
.cart-est[data-ok="erro"]{background:var(--erro-fundo);color:var(--erro);border:1px solid var(--erro-borda)}
.cart-est[data-ok="sob"]{background:var(--sob-fundo);color:var(--sob);border:1px solid var(--sob-borda)}
.cart-rem{font-size:13.6px;font-weight:600;background:var(--branco);border:1px solid #D8E0E8;color:var(--tinta-sec);
  padding:8px 18px;border-radius:var(--capsula);cursor:pointer;flex-shrink:0;transition:.15s;font-family:inherit}
.cart-rem:hover{border-color:var(--erro);color:var(--erro)}
.cart-corpo{padding:0 var(--e4) var(--e4);border-top:1px solid var(--separador)}
.cart-corpo[hidden]{display:none}
.cart-corpo>.campos{padding-top:var(--e4)}
.cart-rod{display:flex;gap:var(--e3);align-items:center;flex-wrap:wrap;margin-top:var(--e4);padding-top:var(--e3);
  border-top:1px solid var(--separador)}
.cart-rod .cart-rem{margin-left:auto}

/* pesquisa */
.sug{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--branco);border:1px solid var(--azul-100);
  border-radius:var(--raio);margin-top:var(--e1);max-height:320px;overflow-y:auto;box-shadow:0 2px 8px rgba(0,20,40,.12)}
.sug[hidden]{display:none}
.sug button{display:block;width:100%;text-align:left;background:transparent;border:0;
  border-bottom:1px solid var(--separador);padding:12px 16px;cursor:pointer;font-family:inherit}
.sug button:last-child{border-bottom:0}
.sug button:hover,.sug button.act{background:var(--azul-50)}
.sug-c{font-size:13.6px;color:var(--azul);font-weight:700}
.sug-n{font-size:14px;line-height:22px;color:var(--tinta)}
.sug-h{font-size:13.6px;color:var(--tinta-sec);font-weight:600}
.sug-vazio{padding:16px;font-size:14px;color:var(--tinta-sec)}
mark{background:var(--laranja-tint);color:var(--laranja-txt);padding:0 2px;font-weight:600}

/* horário semanal */
.horario{border:1px solid var(--separador);border-radius:var(--raio);overflow:hidden;background:var(--branco)}
.hor-l{display:grid;grid-template-columns:96px 1fr 1fr 96px;gap:var(--e3);align-items:center;
  padding:var(--e2) var(--e3);border-bottom:1px solid var(--separador)}
.hor-l:last-child{border-bottom:0}
.hor-l.cab{background:var(--neutro)}
.hor-l.cab span{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-sec)}
.hor-dia{font-family:inherit;font-size:14px;font-weight:600;background:var(--branco);border:1px solid #D8E0E8;
  color:var(--tinta-sec);padding:10px 0;border-radius:var(--capsula);cursor:pointer;transition:.15s;width:100%}
.hor-dia:hover{border-color:var(--azul);color:var(--azul)}
.hor-dia[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:var(--branco)}
.hor-l input{font-size:14px;padding:10px 12px}
.hor-dur{font-size:14px;font-weight:600;color:var(--azul);text-align:right}
.hor-dur[data-mau="1"]{color:var(--erro)}
.hor-resumo{font-size:14px;font-weight:500;color:var(--azul);margin-top:var(--e3);padding:12px 16px;
  background:var(--azul-50);border-radius:var(--raio);border:1px solid var(--azul-100)}
.hor-resumo[hidden]{display:none}

/* cronograma */
.crono{margin-top:var(--e4);padding-top:var(--e4);border-top:1px solid var(--separador)}
.crono-cab{display:flex;align-items:center;gap:var(--e3);flex-wrap:wrap;margin-bottom:var(--e3)}
.crono-t{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-sec)}
.crono-s{font-size:14px;color:var(--tinta);font-weight:500}
.crono-s b{color:var(--azul);font-weight:700}
.crono-s[data-ok="0"] b{color:var(--erro)}
.vista[hidden],.crono-reset[hidden],.crono-add[hidden]{display:none}
.carga-chip{display:inline-block;font-size:12px;font-weight:700;line-height:18px;padding:1px 8px;
  border-radius:var(--capsula);margin-left:8px;vertical-align:middle;white-space:nowrap}
.carga-chip.falta{background:var(--laranja-tint);color:var(--laranja-txt)}
.carga-chip.mais{background:var(--erro-fundo);color:var(--erro)}
.carga-chip.ok{background:var(--azul-50);color:var(--azul)}
.cart-d .carga-chip{margin:0 8px 0 0}
.carga-nota{font-size:14px;line-height:22px;font-weight:600;color:var(--azul);margin:var(--e3) 0 var(--e2)}
.carga-nota[hidden]{display:none}
.carga-nota.falta{color:var(--laranja-txt)}
.carga-nota.mais{color:var(--erro)}
.crono-tit{font-size:18px;line-height:26px;font-weight:700;color:var(--azul);margin-bottom:var(--e3)}
.vista{display:flex;gap:var(--e1);background:var(--neutro);padding:var(--e1);border-radius:var(--capsula)}
.vista button{font-family:inherit;font-size:13.6px;font-weight:600;background:transparent;border:0;color:var(--tinta-sec);
  padding:6px 16px;border-radius:var(--capsula);cursor:pointer;transition:.15s}
.vista button[aria-pressed="true"]{background:var(--branco);color:var(--azul);box-shadow:var(--sombra)}
.crono-reset{font-family:inherit;font-size:13.6px;font-weight:600;background:var(--branco);border:1px solid #D8E0E8;
  color:var(--tinta-sec);padding:8px 18px;border-radius:var(--capsula);cursor:pointer;margin-left:auto}
.crono-reset:hover{border-color:var(--azul);color:var(--azul)}
.sessoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:var(--e2)}
.ses{background:var(--branco);border:1px solid var(--separador);border-radius:var(--raio);padding:var(--e3);
  display:grid;grid-template-columns:1fr auto;gap:var(--e2);align-items:center;box-shadow:var(--sombra)}
.ses[data-exc="1"]{background:var(--laranja-tint);border-color:var(--laranja)}
.ses[data-sob="1"]{background:var(--sob-fundo);border-color:var(--sob-borda)}
.ses[data-fer="1"]{background:var(--erro-fundo);border-color:var(--erro-borda)}
.ses-d{display:flex;align-items:center;gap:var(--e2);min-width:0}
.ses-dow{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--tinta-sec);flex-shrink:0}
.ses-data{font-size:14px;padding:6px 10px;min-width:0;width:100%;cursor:pointer;border-radius:var(--raio)}
.ses-x{background:transparent;border:0;color:var(--tinta-sec);cursor:pointer;font-size:20px;line-height:1;padding:0 4px}
.ses-x:hover{color:var(--erro)}
.ses-h{grid-column:1/-1;display:flex;gap:var(--e1);align-items:center}
.ses-h input{font-size:13.6px;padding:6px 8px;min-width:0;border-radius:var(--raio)}
.ses-dur{font-size:14px;font-weight:700;color:var(--azul);white-space:nowrap;background:var(--azul-50);
  padding:6px 12px;border-radius:var(--capsula)}
.ses[data-exc="1"] .ses-dur{color:var(--laranja-txt);background:var(--branco)}
.ses[data-fer="1"] .ses-dur{color:var(--erro);background:var(--branco)}
.ses[data-sob="1"] .ses-dur{color:var(--sob);background:var(--branco)}
.ses-nota{grid-column:1/-1;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;gap:var(--e2);line-height:1.3}
.ses-nota.exc{color:var(--laranja-txt)}
.ses-nota.fer{color:var(--erro)}
.ses-nota.sob{color:var(--sob)}
.ses-tipo{grid-column:1/-1;display:flex;gap:var(--e1)}
.ses-tipo button{flex:1;font-family:inherit;font-size:11.5px;font-weight:600;background:var(--branco);
  border:1px solid #D8E0E8;color:var(--tinta-sec);padding:6px 4px;border-radius:var(--capsula);cursor:pointer;transition:.15s}
.ses-tipo button[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:var(--branco)}
.crono-vazio{font-size:14px;color:var(--tinta-sec)}
.crono-add{margin-top:var(--e3)}

/* vista semanal */
.semana{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13.6px;
  border:1px solid var(--separador);border-radius:var(--raio);overflow:hidden}
.semana th{background:var(--neutro);padding:10px 4px;font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tinta-sec);border-bottom:1px solid var(--separador)}
.semana th.sem-wk{width:72px}
.semana td{border-bottom:1px solid var(--separador);border-right:1px solid var(--separador);
  vertical-align:top;padding:var(--e2);height:76px;background:var(--branco)}
.semana td:last-child{border-right:0}
.semana tr:last-child td{border-bottom:0}
.semana td.fer{background:var(--erro-fundo)}
.semana td.fds{background:var(--neutro)}
.sem-wk-c{font-size:11.5px;font-weight:700;color:var(--tinta-sec);text-align:center;vertical-align:middle!important;
  background:var(--neutro)!important}
.sem-dia{font-size:11.5px;font-weight:700;color:var(--tinta-sec);display:block;margin-bottom:var(--e1)}
.sem-bl{background:var(--azul-50);border-left:3px solid var(--azul);padding:6px 8px;border-radius:6px;
  font-size:11.5px;line-height:1.4;color:var(--azul);font-weight:600}
.sem-bl b{display:block;font-weight:700}
.sem-bl.exc{background:var(--laranja-tint);border-left-color:var(--laranja);color:var(--laranja-txt)}
.sem-bl.sobbl{background:var(--sob-fundo);border-left-color:var(--sob);color:var(--sob)}
.sem-bl.ferbl{background:var(--erro-fundo);border-left-color:var(--erro);color:var(--erro)}
.sem-fer{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--erro);line-height:1.25}
.sem-scroll{overflow-x:auto}
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--e2)}

/* faixas de alerta */
.faixa{padding:var(--e3) var(--e4);border-radius:var(--raio);margin-bottom:var(--e3);display:flex;gap:var(--e3);align-items:flex-start}
.faixa[hidden]{display:none}
.faixa .fx-i{font-weight:800;color:var(--branco);width:24px;height:24px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;border-radius:50%;font-size:14px}
.faixa .fx-t{flex:1;min-width:0}
.faixa .fx-tit{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--e1)}
.faixa .fx-l{font-size:14px;line-height:22px;color:var(--tinta)}
.faixa-fer{background:var(--erro-fundo);border:1px solid var(--erro-borda)}
.faixa-fer .fx-i{background:var(--erro)}
.faixa-fer .fx-tit{color:var(--erro)}
.faixa-sob{background:var(--sob-fundo);border:1px solid var(--sob-borda)}
.faixa-sob .fx-i{background:var(--sob)}
.faixa-sob .fx-tit{color:var(--sob)}

/* ações */
.acoes{background:var(--branco);border:1px solid var(--separador);border-radius:var(--raio);padding:var(--e4);
  display:flex;gap:var(--e4);align-items:center;flex-wrap:wrap;margin-top:var(--e5);box-shadow:var(--sombra)}
.acoes-t{flex:1;min-width:240px}
.acoes-t p{font-size:14px;line-height:22px;color:var(--tinta-sec)}
.acoes-t p b{color:var(--tinta);font-weight:700}
.acoes-ajuda{font-size:13.6px!important;color:var(--tinta-sec)!important;margin-top:var(--e1)}
.relat{margin-top:var(--e3);border:1px solid var(--separador);background:var(--branco);border-radius:var(--raio);padding:var(--e4)}
.relat[hidden]{display:none}
.relat h3{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-sec);margin-bottom:var(--e3)}
.relat ul{list-style:none;display:flex;flex-direction:column;gap:var(--e2)}
.relat li{font-size:14px;line-height:22px;padding-left:var(--e4);position:relative;color:var(--tinta-sec)}
.relat li::before{position:absolute;left:0;font-weight:700}
.relat li.erro{color:var(--tinta)}
.relat li.erro::before{content:"×";color:var(--erro);font-size:18px;line-height:20px}
.relat li.falta::before{content:"•";color:var(--tinta-sec)}
.relat li.fer{color:var(--erro);font-weight:500}
.relat li.fer::before{content:"!";color:var(--erro)}
.relat li.sob{color:var(--sob);font-weight:500}
.relat li.sob::before{content:"⇄";color:var(--sob)}
.relat li.aviso{color:var(--laranja-txt)}
.relat li.aviso::before{content:"▲";color:var(--laranja-txt);font-size:11px}
.sem{font-size:14px;color:var(--tinta-sec);padding:var(--e5);border:1px dashed #D8E0E8;border-radius:var(--raio);
  text-align:center;margin-bottom:var(--e2);background:var(--branco)}
.sem[hidden]{display:none}
.add{font-family:inherit;font-size:14px;font-weight:600;background:var(--branco);border:1px dashed #D8E0E8;
  color:var(--azul);padding:16px var(--e4);border-radius:var(--raio);cursor:pointer;width:100%;transition:.16s}
.add:hover{border-color:var(--azul);border-style:solid;background:var(--azul-50)}

/* ===== mapa de ocupação ===== */
.mapa-cab{display:flex;align-items:center;gap:var(--e3);flex-wrap:wrap;margin-bottom:var(--e3)}
.mapa-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:var(--e2);margin-bottom:var(--e3)}
.mp-m{background:var(--branco);border:1px solid var(--separador);border-radius:var(--raio);padding:var(--e3);box-shadow:var(--sombra)}
.mp-m-l{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-sec);margin-bottom:var(--e1)}
.mp-m-v{font-size:22px;line-height:28px;font-weight:700;color:var(--azul)}
.mp-m-s{font-size:13.6px;color:var(--tinta-sec)}
.mp-leg{display:flex;flex-wrap:wrap;gap:var(--e2);margin-bottom:var(--e3)}
.mp-leg-i{display:flex;align-items:center;gap:var(--e2);font-size:13.6px;font-weight:600;color:var(--tinta);
  background:var(--branco);border:1px solid var(--separador);border-radius:var(--capsula);padding:6px 14px}
.mp-leg-c{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.mp-leg-h{color:var(--tinta-sec);font-weight:500}
.mapa-tab{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;
  border:1px solid var(--separador);border-radius:var(--raio);overflow:hidden;background:var(--branco)}
.mapa-tab th{background:var(--neutro);padding:10px 4px;font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tinta-sec);border-bottom:1px solid var(--separador)}
.mapa-tab th.mp-wk{width:76px}
.mapa-tab td{border-bottom:1px solid var(--separador);border-right:1px solid var(--separador);
  vertical-align:top;padding:6px;height:88px;background:var(--branco)}
.mapa-tab td:last-child{border-right:0}
.mapa-tab tr:last-child td{border-bottom:0}
.mapa-tab td.fer{background:var(--erro-fundo)}
.mapa-tab td.fds{background:var(--neutro)}
.mp-wk-c{font-size:11.5px;font-weight:700;color:var(--tinta-sec);text-align:center;
  vertical-align:middle!important;background:var(--neutro)!important}
.mp-dia{font-size:11.5px;font-weight:700;color:var(--tinta-sec);display:block;margin-bottom:var(--e1)}
.mp-dia-t{font-size:11px;font-weight:600;color:var(--azul);float:right}
.mp-b{border-left:3px solid var(--azul);background:var(--neutro);border-radius:6px;padding:4px 6px;
  font-size:11px;line-height:1.35;margin-bottom:3px;color:var(--tinta)}
.mp-b b{display:block;font-weight:700;font-size:11.5px}
.mp-b.sob{outline:2px solid var(--sob);outline-offset:-2px}
.mp-b.fer{background:var(--erro-fundo)}
.mp-vazio{font-size:14px;color:var(--tinta-sec);padding:var(--e5);text-align:center;
  border:1px dashed #D8E0E8;border-radius:var(--raio);background:var(--branco)}
.mp-lista{border:1px solid var(--separador);border-radius:var(--raio);overflow:hidden;background:var(--branco)}
.mp-mes{background:var(--neutro);padding:10px var(--e3);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--azul);border-bottom:1px solid var(--separador)}
.mp-l{display:grid;grid-template-columns:112px 1fr 132px 96px;gap:var(--e3);align-items:center;
  padding:10px var(--e3);border-bottom:1px solid var(--separador);font-size:14px}
.mp-l:last-child{border-bottom:0}
.mp-l:hover{background:var(--azul-50)}
.mp-l.sob{background:var(--sob-fundo)}
.mp-l.fer{background:var(--erro-fundo)}
.mp-l-d{font-weight:600;color:var(--tinta)}
.mp-l-u{display:flex;align-items:center;gap:var(--e2);min-width:0}
.mp-l-u span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tinta-sec);font-size:13.6px}
.mp-l-h{font-weight:600;color:var(--azul)}
.mp-l-n{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:right}
.mp-l-n.sob{color:var(--sob)}.mp-l-n.fer{color:var(--erro)}.mp-l-n.exc{color:var(--laranja-txt)}
@media(max-width:900px){
  .mp-l{grid-template-columns:1fr;gap:var(--e1);padding:var(--e2) var(--e3)}
  .mp-l-n{text-align:left}
  .mapa-tab td{height:auto;min-height:56px;padding:4px}
}

.rodape a{color:var(--azul);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.rodape a:hover{color:var(--azul-600)}
.rodape{border-top:1px solid var(--separador);background:var(--branco);padding:var(--e4) 0;margin-top:var(--e6)}.rodape .env{display:flex;gap:var(--e4);flex-wrap:wrap;font-size:13.6px;color:var(--tinta-sec)}
.carregar-txt{font-size:14px;color:#6B7F93}
.sem-bl{margin-bottom:3px}
.aviso-corte{margin-top:8px;color:var(--laranja-txt);font-weight:600}
.crono-vazio.erro-txt{color:var(--erro);font-weight:600}
.mp-m-v.mp-m-v-peq{font-size:16px;line-height:28px}
.mp-l-tipo{font-weight:500;color:var(--tinta-sec);font-size:11.5px}
.txt-sob{color:var(--sob)}
.txt-erro{color:var(--erro)}
.falha-caixa{max-width:460px;text-align:center;padding:24px}
.falha-tit{font-size:22px;font-weight:700;color:#00467F;margin-bottom:16px}
.falha-txt{font-size:14px;color:#6B7F93;line-height:22px}
.falha-det{font-size:13.6px;color:#6B7F93;margin-top:16px}
.mp-leg-c.cor0{background:#00467F}.mp-leg-c.cor1{background:#0070CC}.mp-leg-c.cor2{background:#002A4C}.mp-leg-c.cor3{background:#6B7F93}
.mp-leg-c.cor4{background:#005499}.mp-leg-c.cor5{background:#A96304}.mp-leg-c.cor6{background:#001428}.mp-leg-c.cor7{background:#80C6FF}
.mp-b.cor0{border-left-color:#00467F}.mp-b.cor1{border-left-color:#0070CC}.mp-b.cor2{border-left-color:#002A4C}.mp-b.cor3{border-left-color:#6B7F93}
.mp-b.cor4{border-left-color:#005499}.mp-b.cor5{border-left-color:#A96304}.mp-b.cor6{border-left-color:#001428}.mp-b.cor7{border-left-color:#80C6FF}
.carregar{position:fixed;inset:0;background:var(--neutro);z-index:200;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:var(--e3)}
.roda{width:36px;height:36px;border:3px solid var(--separador);border-top-color:var(--azul);border-radius:50%;
  animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* ajuda contextual */
.aj{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;padding:0;
  border-radius:50%;border:1px solid #D8E0E8;background:var(--branco);color:var(--tinta-sec);
  font-family:inherit;font-size:11px;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;
  cursor:pointer;vertical-align:middle;transition:.16s}
.aj:hover,.aj[aria-expanded="true"]{border-color:var(--azul);color:var(--azul);background:var(--azul-50)}
.aj:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
@media(hover:none){.aj{width:22px;height:22px;font-size:12px}}
.aj-balao{position:fixed;z-index:200;background:var(--branco);color:var(--tinta);border:1px solid #D8E0E8;
  border-radius:var(--raio);box-shadow:0 8px 24px rgba(0,20,40,.14);padding:12px 16px;
  font-size:13.6px;line-height:21px;font-weight:500;letter-spacing:0;text-transform:none}
.aj-balao[hidden]{display:none}
.aj-balao b{color:var(--azul);font-weight:700}
.aj-balao p+p,.aj-balao p+ul,.aj-balao ul+p{margin-top:6px}
.aj-balao ul{padding-left:18px}
.leg-sinais{font-size:12.5px;line-height:20px;color:var(--tinta-sec);margin-bottom:var(--e3);display:flex;flex-wrap:wrap;gap:4px 16px}
.leg-sinais .fer{color:var(--erro);font-weight:700}
.leg-sinais .sob{color:var(--sob);font-weight:700}
.leg-sinais .exc{color:var(--laranja-txt);font-weight:700}
.relat-dica{display:block;font-size:13px;line-height:20px;color:var(--tinta-sec);font-weight:500;margin-top:2px}
a.btn-mini{text-decoration:none;display:inline-flex;align-items:center}
.aj-ico{display:none}
@media(max-width:480px){
  .barra-topo .env{gap:var(--e3)}
  .topo-acoes{gap:6px}
  .topo-acoes .btn-mini{padding:8px 12px}
  #btn-ajuda{padding:0;width:36px;height:36px;justify-content:center}
  #btn-ajuda .aj-txt{display:none}
  #btn-ajuda .aj-ico{display:inline;font-weight:700}
  .marca-sub{min-width:0;overflow:hidden}
}
@media(max-width:400px){
  .barra-topo .env{gap:12px}
  .topo-acoes .btn-mini{padding:8px 10px}
  #btn-ajuda{width:32px;height:32px}
  .marca-sub{font-size:10px;letter-spacing:.06em}
}

@media(max-width:900px){
  .env{padding:0 var(--e3)}
  .c-3,.c-4,.c-5,.c-6,.c-7,.c-8{grid-column:span 12}
  .heroi h1{font-size:28px}
  .heroi{padding:var(--e5) 0 var(--e4)}
  .marca-sub{font-size:11px;padding-left:var(--e2)}
  .marca-logo{height:28px;max-width:130px}
  .barra-topo .env{height:64px}
  .dossier{top:64px}
  .hor-l{grid-template-columns:60px 1fr 1fr 40px;gap:var(--e2);padding:var(--e2) 10px}
  .hor-dia{font-size:12px;padding:9px 0}
  .hor-l input{font-size:13px;padding:9px 6px;text-align:center}
  .hor-dur{font-size:12.5px}
  .hor-l.cab{padding-left:10px;padding-right:10px}
  .hor-l.cab span{font-size:10px;letter-spacing:.04em}
  .hor-l.cab span:nth-child(2),.hor-l.cab span:nth-child(3){text-align:center}
  .hor-l.cab span:nth-child(4){text-align:right}
  .cart-cab{padding:var(--e3);flex-wrap:wrap}
  .cart-cab .cart-rem{display:none}
  .cart-corpo{padding:0 var(--e3) var(--e3)}
  .progresso{width:100%;margin-left:0}
  .acoes{flex-direction:column;align-items:stretch}
  .acoes .btn-p{width:100%}
  .campos{gap:var(--e3)}
}
@media(max-width:400px){
  /* ecrãs muito estreitos: a duração é informação derivada, sai da linha */
  .hor-l{grid-template-columns:56px 1fr 1fr;gap:6px;padding:var(--e2) 8px}
  .hor-dur{display:none}
  .hor-l.cab span:nth-child(4){display:none}
  .hor-dia{font-size:11.5px;padding:9px 0}
  .hor-l input{font-size:12.5px;padding:9px 4px}
}
.acoes-envio{margin-top:2px}
.acoes-envio a{color:var(--azul);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.acoes-envio a:hover{color:var(--azul-600)}
