:root{--verde:#0cd03e;--verde-esc:#09a832;--navy:#011d4b;--navy2:#0a2d66;--cinza:#5b6475;--linha:#dfe4ec;--fundo:#f4f6fa;--branco:#fff;--vermelho:#c62828;--ambar:#b26a00;--raio:10px}
*{box-sizing:border-box}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;font-size:15px;color:var(--navy);background:var(--fundo);line-height:1.5}
a{color:var(--navy2)}
h1{font-size:26px;margin:4px 0 6px;font-weight:800}
h2{font-size:18px;margin:0 0 12px;font-weight:700}
.miolo{max-width:1180px;margin:0 auto;padding:0 16px}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* topo */
.topo{background:linear-gradient(180deg,#fff,#eef2f8);border-bottom:1px solid var(--linha)}
.topo .miolo{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
.marca img{width:42px;height:42px}
.nome{display:flex;flex-direction:column;line-height:1.15}
.nome small{color:var(--cinza);font-size:12px;font-weight:600}
.nome strong{font-size:16px;font-weight:800}
.menu{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.menu a{text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;color:var(--navy)}
.menu a:hover{background:#e6ecf5}
.menu a[aria-current]{background:var(--navy);color:#fff}
.quem{color:var(--cinza);font-weight:600;padding:0 6px}
.sair{margin:0}.sair button{background:none;border:1px solid var(--linha);border-radius:8px;padding:7px 12px;font:inherit;font-weight:600;color:var(--navy);cursor:pointer}
.conteudo{padding-top:24px;padding-bottom:48px;min-height:70vh}
/* blocos */
.cabeca-pagina{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.olho{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--verde-esc)}
.voltar{display:inline-block;margin-bottom:6px;font-weight:600;text-decoration:none;font-size:14px}
.nota{color:var(--cinza);margin:4px 0 0}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:20px;margin-bottom:18px}
.cartao.perigo{border-color:#f1c4c4}
.botao{display:inline-block;background:var(--verde);color:var(--navy);border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.botao:hover{background:var(--verde-esc);color:#fff}
.botao.vazado{background:transparent;border:2px solid var(--navy);color:var(--navy)}
.botao.vazado:hover{background:var(--navy);color:#fff}
.botao.perigo{background:var(--vermelho);color:#fff}
.link-perigo{background:none;border:0;color:var(--vermelho);font:inherit;cursor:pointer;text-decoration:underline;padding:0}
.aviso{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-weight:600}
.aviso.ok{background:#e3f8e9;color:#0b6b24}
.aviso.erro{background:#fdeaea;color:var(--vermelho)}
.etiqueta{display:inline-block;font-size:11px;font-weight:700;background:#e6ecf5;color:var(--navy2);padding:2px 8px;border-radius:20px;vertical-align:middle}
.vazio{color:var(--cinza);padding:24px;text-align:center;background:#fff;border:1px dashed var(--linha);border-radius:var(--raio)}
.titulo-sec{font-size:16px;margin:26px 0 12px}
/* entrada */
.entrada{max-width:420px;margin:40px auto}
.entrada-texto{text-align:center;margin-bottom:18px}
.form-entrada{display:grid;gap:14px}
/* formulários */
label{font-weight:600;font-size:13px}
input,select,textarea{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1px solid #c8d0dc;border-radius:7px;background:#fff;color:var(--navy)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--verde);border-color:var(--verde)}
input[type=checkbox],input[type=radio]{width:auto}
input:disabled,select:disabled,textarea:disabled{background:#f3f5f8;color:#333}
.campo{display:flex;flex-direction:column;gap:4px}
.form-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}
.largo{grid-column:1/-1}
.acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.acoes-topo{display:flex;gap:10px;flex-wrap:wrap}
.marcar{display:flex;gap:8px;align-items:center;margin-top:24px}
.busca{display:flex;gap:10px;margin-bottom:14px}
.busca input{max-width:420px}
/* portal */
.portal-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:10px}
.portal-menu a,.portal-menu span{display:block;padding:16px;border-radius:var(--raio);background:#fff;border:1px solid var(--linha);font-weight:700;text-decoration:none;color:var(--navy)}
.portal-menu .ativo{background:var(--navy);color:#fff;border-color:var(--navy)}
.portal-menu .breve{color:#9aa3b2}
.portal-menu .breve small{display:block;font-weight:600;font-size:11px}
.grade-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.embarcacao{display:block;text-decoration:none;color:inherit}
.embarcacao:hover{border-color:var(--verde)}
.barra{height:8px;background:#e6ecf5;border-radius:8px;overflow:hidden;margin-top:8px}
.barra span{display:block;height:100%;background:var(--verde)}
.barra.mini{height:6px;width:120px;display:inline-block;vertical-align:middle}
/* tabelas */
.tabela-rolar{overflow-x:auto}
.lista{width:100%;border-collapse:collapse;font-size:14px}
.lista th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--cinza);border-bottom:2px solid var(--linha);padding:10px}
.lista td{border-bottom:1px solid var(--linha);padding:10px;vertical-align:middle}
.lista.compacta td{padding:6px 10px}
.vazio-linha{text-align:center;color:var(--cinza)}
.status{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px}
.status.ok{background:#e3f8e9;color:#0b6b24}.status.perto{background:#fff3dc;color:var(--ambar)}
.status.vencido{background:#fdeaea;color:var(--vermelho)}.status.sem{background:#eef1f5;color:var(--cinza)}
/* nova */
.escolha{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.opcao{display:flex;gap:10px;align-items:flex-start;padding:16px;border:2px solid var(--linha);border-radius:var(--raio);background:#fff;cursor:pointer}
.opcao:has(input:checked){border-color:var(--verde);background:#f2fdf5}
/* vessel */
.grade-vessel{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--cinza);font-size:13px;margin-bottom:12px}
.capitulos{list-style:none;padding:0;margin:0 0 12px}
.capitulos li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--linha)}
.publicar{margin-top:10px}
.envio-pdf{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.envio-pdf input{max-width:320px}
.arquivos{list-style:none;padding:0;margin:0}
.arquivos li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--linha)}
.arquivos small{color:var(--cinza)}
.breve-bloco{color:var(--cinza);background:#f7f9fc;border:1px dashed var(--linha);border-radius:var(--raio);padding:16px}
.excluir{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.excluir label{font-weight:500}
/* ficha */
.ficha-grade{display:grid;grid-template-columns:250px 1fr;gap:18px;align-items:start}
.menu-ficha{position:sticky;top:12px;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:10px}
.menu-ficha a{display:block;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--navy);font-weight:600;font-size:14px}
.menu-ficha a[aria-current]{background:var(--navy);color:#fff}
.menu-ficha .sub{display:block;font-size:12px;font-weight:500;opacity:.75}
.ficha{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:20px}
.subcap{font-size:16px;background:var(--navy);color:#fff;padding:8px 12px;border-radius:7px;margin:22px 0 10px}
.subcap:first-child{margin-top:0}
.pergunta{padding:12px 0;border-bottom:1px solid var(--linha)}
.q-tit{font-weight:700;margin-bottom:8px}
.q-num{color:var(--verde-esc);margin-right:4px}
.sub-rot{font-weight:600;color:var(--cinza);margin:8px 0 4px;font-size:13px}
.campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.tab{border-collapse:collapse;width:100%;font-size:13px}
.tab th,.tab td{border:1px solid var(--linha);padding:6px;text-align:left}
.tab thead th{background:#f3f6fa}
.tab tbody th{font-weight:600;min-width:180px}
.sn{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:6px 0}
.sn label{font-weight:500;display:flex;gap:5px;align-items:center}
.sn .limpar{color:#9aa3b2}
.barra-salvar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--linha);padding:12px 0;margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
/* rodapé */
.rodape{background:var(--navy);color:#cdd6e6;font-size:13px;padding:18px 0}
/* impressão */
.impressao{background:#fff}
.barra-impressao{display:flex;gap:10px;padding:12px 16px;background:var(--navy)}
.cab-imp{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--navy);padding:12px 0;margin-bottom:12px}
.cap-imp{break-before:page;font-size:17px;background:var(--navy);color:#fff;padding:6px 10px}
.cap-imp:first-of-type{break-before:auto}
.rod-imp{font-size:11px;color:var(--cinza);margin-top:20px}
@media print{@page{size:A4 landscape;margin:12mm}.barra-impressao{display:none}body{background:#fff}.cap-imp,.subcap{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media (max-width:820px){.form-grade,.grade-vessel,.ficha-grade,.escolha{grid-template-columns:1fr}.menu-ficha{position:static}.busca{flex-direction:column}}
/* v2 */
.barra i{display:block;height:100%;background:var(--verde)}
.quem{text-decoration:none}
.capitulos li a{display:flex;justify-content:space-between;width:100%;text-decoration:none;color:var(--navy);font-weight:600}
.correcao{margin-top:10px;border-left:4px solid #f0a500;background:#fff8e6;border-radius:0 8px 8px 0;padding:10px 12px;display:grid;gap:8px}
.coment{font-size:14px}
.coment-quem{display:block;font-size:12px;font-weight:700;color:var(--ambar)}
.coment-apagar{font-size:12px;font-weight:500;color:var(--vermelho);margin-left:6px}
.coment-novo{background:#fff}
.correcao-resumo{border-color:#f0c766;background:#fffbf0}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:4px}
.kpi{display:flex;flex-direction:column;gap:2px}
.kpi b{font-size:30px;font-weight:800}
.kpi span{color:var(--cinza);font-size:13px;font-weight:600}
.kpi.atencao b{color:var(--ambar)}
.lista .status{margin:2px 0}
/* marca igual ao site */
.marca{gap:14px}
.marca img{width:64px;height:64px;display:block}
.nome-topo{display:grid;line-height:1.05;padding-left:14px;border-left:2px solid rgba(20,34,79,.15)}
.nome-topo small{font-weight:600;font-size:12px;letter-spacing:.38em;text-transform:uppercase;color:#57586e;padding-left:2px}
.nome-topo strong{font-weight:800;font-size:24px;letter-spacing:.06em;text-transform:uppercase;color:#011d4b;margin-top:2px}
@media (max-width:820px){.marca img{width:52px;height:52px}.nome-topo strong{font-size:18px}}
/* rodapé sempre no fim da tela */
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
.conteudo{min-height:0}
.rodape-linha{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
.rodape-linha{align-items:center}.assinatura{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:600}.assinatura:hover{text-decoration:underline}.assinatura img{width:28px;height:28px}
.creditos{display:inline-flex;align-items:center;gap:6px 10px;flex-wrap:wrap}
.credito-linha{display:inline-flex;align-items:center;gap:6px}
.credito{display:inline-flex;align-items:center;gap:5px;font-family:'Bricolage Grotesque',Montserrat,sans-serif;font-weight:800;font-size:14px;letter-spacing:-.02em;color:#fff;text-decoration:none}
.credito img{width:18px;height:18px;border-radius:4px}
.credito-ponto{color:#f4bd6a}
.credito:hover .credito-nome{text-decoration:underline}
/* entrada em dois blocos */
.entrada-dupla{max-width:940px;display:grid;grid-template-columns:1.1fr 1fr;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(1,29,75,.14);background:#fff}
.entrada-dupla .form-entrada.cartao{border:0;border-radius:0;margin:0;padding:36px;align-content:center}
.entrada-capa{position:relative;color:#fff;padding:40px 36px;background:linear-gradient(150deg,#011d4b 0%,#0a2d66 60%,#0b4a7a 100%);overflow:hidden}
.entrada-capa::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:28px solid rgba(12,208,62,.12)}
.entrada-capa .olho{color:var(--verde)}
.entrada-capa h1{font-size:34px;line-height:1.1;margin:8px 0 14px;color:#fff}
.entrada-capa h1 span{display:block;color:var(--verde)}
.entrada-capa p{color:#cdd6e6;margin:0 0 20px}
.entrada-itens{list-style:none;padding:0;margin:0;display:grid;gap:10px;position:relative;z-index:1}
.entrada-itens li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:14px}
.entrada-itens li::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23011d4b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
@media (max-width:820px){.entrada-dupla{grid-template-columns:1fr;margin:16px auto}.entrada-capa{padding:28px 22px}.entrada-capa h1{font-size:28px}.entrada-dupla .form-entrada.cartao{padding:24px 22px}}
/* capa com foto real, sem enfeite */
.entrada-capa{display:flex;flex-direction:column;justify-content:flex-end;min-height:380px;background:linear-gradient(180deg,rgba(1,29,75,.15) 0%,rgba(1,29,75,.88) 70%),url("img/capa-entrada.jpg") center/cover}
.entrada-capa::after{display:none}
.entrada-capa .olho{color:#fff;opacity:.85}
.entrada-capa h1{font-size:28px;margin:6px 0 8px}
.entrada-capa p{margin:0;color:#e3e9f3;font-size:14px}
