/* ================= KRAFTSUN v0.7 — "prancheta de engenharia" ================= */
:root{
  --papel:#F4F3ED; --branco:#FFFFFF;
  --grafite:#1A2420; --grafite2:#2A3630;
  --texto:#22302A; --texto2:#68746C; --linha:#D9DAD2;
  --sol:#F7B500; --sol-escuro:#8A6400; --sol-fundo:#FCF0CC;
  --verde:#1B7A3F; --verde-c:#1B7A3F; --verde-fundo:#DEF0E2;
  --azul:#114E8C; --azul-fundo:#E2ECF7;
  --vermelho:#C33A28; --vermelho-fundo:#F9E5E0;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;background:var(--papel);color:var(--texto);font-size:15px;line-height:1.55}
.mono, code{font-family:'IBM Plex Mono',monospace}
button{font-family:inherit;cursor:pointer}
a{color:var(--azul)}

/* ---- cabeçalho grafite com abas ---- */
header.topo{background:var(--grafite);border-bottom:3px solid var(--sol);position:sticky;top:0;z-index:50}
.h-linha{max-width:1180px;margin:0 auto;padding:13px 26px 8px;display:flex;align-items:center;gap:16px}
.marca{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.marca .nome{font-family:'Archivo';font-weight:800;font-size:1.25rem;letter-spacing:.03em;color:#E9EDE9}
.marca .nome b{color:var(--sol)}
.marca .lema{font-family:'IBM Plex Mono';font-size:.55rem;letter-spacing:.26em;color:#8B968E;margin-top:3px}
.marca img{height:34px}
.h-quem{margin-left:auto;color:#A9B3AC;font-size:.8rem;display:flex;align-items:center;gap:9px}
.h-quem .av{width:30px;height:30px;border-radius:6px;background:var(--sol);color:var(--grafite);display:grid;place-items:center;font-family:'Archivo';font-weight:800;font-size:.75rem}
nav.abas{max-width:1180px;margin:0 auto;padding:0 26px;display:flex;gap:2px;overflow-x:auto}
nav.abas a{color:#A9B3AC;text-decoration:none;font-weight:500;font-size:.86rem;padding:9px 15px 11px;border-bottom:3px solid transparent;margin-bottom:-3px;white-space:nowrap;transition:.15s}
nav.abas a:hover{color:#fff}
nav.abas a.ativo{color:#fff;border-bottom-color:var(--sol);font-weight:600}
nav.abas a.sair{color:#D89A90;margin-left:auto}
.faixa{display:none}

main.wrap{max-width:1180px;margin:0 auto;padding:28px 26px 70px}

/* ---- títulos com régua ---- */
h1{font-family:'Archivo';font-weight:800;font-size:1.55rem;letter-spacing:-.01em;border-bottom:2px solid var(--grafite);padding-bottom:10px;margin-bottom:20px;position:relative}
h1::after{content:"";position:absolute;right:0;bottom:-2px;width:64px;height:8px;background:repeating-linear-gradient(-45deg,var(--sol) 0 6px,var(--grafite) 6px 12px)}
h2{font-family:'Archivo';font-weight:800;font-size:1.02rem;text-transform:uppercase;letter-spacing:.04em;margin:26px 0 12px}
.u-sub{color:var(--texto2);font-size:.8rem}
.vazio{color:var(--texto2);background:var(--branco);border:1.5px dashed var(--linha);border-radius:8px;padding:14px 18px}

/* ---- cartões ---- */
.cartao{background:var(--branco);border:1.5px solid var(--linha);border-radius:8px;padding:16px 18px;margin-bottom:14px}
.cartao.usina:hover{border-color:var(--grafite)}
.grade-usinas{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-bottom:8px}
.u-nome{font-family:'Archivo';font-weight:700;font-size:1rem}

/* ---- botões: tudo é botão de verdade ---- */
button, .abtn{background:var(--sol);color:var(--grafite);border:none;border-radius:7px;padding:9px 16px;font-weight:700;font-size:.85rem;box-shadow:0 2px 0 var(--sol-escuro);transition:.12s;text-decoration:none;display:inline-block}
button:hover,.abtn:hover{transform:translateY(-1px)}
button:active{transform:translateY(1px);box-shadow:none}
button.mini,.abtn.mini{padding:6px 12px;font-size:.76rem}
button.alt,.abtn.alt{background:var(--branco);color:var(--texto);border:1.5px solid var(--grafite);box-shadow:0 2px 0 var(--grafite)}
.abtn.azul,button.azul{background:var(--azul);color:#fff;box-shadow:0 2px 0 #0A335C}
button.perigo,.abtn.perigo{background:var(--branco);color:var(--vermelho);border:1.5px solid var(--vermelho);box-shadow:0 2px 0 var(--vermelho)}
button:disabled{opacity:.5;cursor:not-allowed}

/* ---- ficha de KPIs ---- */
.ficha{background:var(--branco);border:1.5px solid var(--grafite);border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:24px;overflow:hidden}
.ficha>div{padding:14px 18px;border-right:1px dashed var(--linha)}
.ficha>div:last-child{border-right:none;background:var(--sol-fundo)}
.ficha .rotulo{font-family:'Archivo';font-weight:700;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--texto2)}
.ficha .num{font-family:'IBM Plex Mono';font-weight:600;font-size:1.5rem;margin-top:2px}
.ficha .obs{font-size:.72rem;color:var(--texto2)}
.ficha>div:last-child .num{color:var(--sol-escuro)}

/* ---- selos e barra de bornes ---- */
.selo{font-family:'IBM Plex Mono';font-size:.6rem;font-weight:600;letter-spacing:.05em;padding:3px 8px;border-radius:4px;border:1.5px solid}
.selo.ok{color:var(--verde);border-color:var(--verde);background:var(--verde-fundo)}
.selo.alerta{color:var(--sol-escuro);border-color:var(--sol);background:var(--sol-fundo)}
.selo.critico{color:var(--vermelho);border-color:var(--vermelho);background:var(--vermelho-fundo)}
.bornes{display:flex;gap:2px;margin:12px 0 16px}
.bornes i{flex:1;height:18px;max-width:26px;border-radius:2px;background:var(--verde);border-bottom:4px solid #135A2F;position:relative}
.bornes i.alerta{background:var(--sol);border-bottom-color:var(--sol-escuro)}
.bornes i.morta{background:var(--vermelho);border-bottom-color:#8E2317}
.bornes i.desativada{background:#E2E4DC;border-bottom-color:#C7CAC0}
.bornes i span{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-family:'IBM Plex Mono';font-size:.5rem;color:var(--texto2);margin-top:4px}
.medidas{display:flex;border-top:1px dashed var(--linha);padding-top:10px;margin-top:4px;font-size:.74rem;color:var(--texto2)}
.medidas>div{flex:1;border-right:1px dashed var(--linha);padding-right:10px;margin-right:10px}
.medidas>div:last-child{border:none;margin:0;padding:0}
.medidas b{display:block;font-family:'IBM Plex Mono';font-weight:600;font-size:.88rem;color:var(--texto)}
.medidas small{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}

/* ---- tabela-prancheta ---- */
table.tab{width:100%;border-collapse:collapse;font-size:.84rem;background:var(--branco);border:1.5px solid var(--grafite);border-radius:8px;overflow:hidden}
.tab th{font-family:'Archivo';font-weight:700;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--grafite);text-align:left;padding:9px 14px}
.tab td{padding:10px 14px;border-bottom:1px solid #EFF0EA;vertical-align:middle}
.tab tr:last-child td{border-bottom:none}
.tab tr:hover td{background:#FAFAF5}

/* ---- tags/estados ---- */
.tag,.st{font-family:'IBM Plex Mono';font-size:.62rem;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:4px;border:1px solid var(--linha);color:var(--texto2)}
.tag-ativa,.st-concluido{color:var(--verde);border-color:var(--verde);background:var(--verde-fundo)}
.tag-pendente,.st-processando{color:var(--azul);border-color:var(--azul);background:var(--azul-fundo)}
.tag-assinatura{color:var(--azul);border-color:var(--azul);background:var(--azul-fundo)}
.tag-avulso,.tag-reverificação{color:var(--sol-escuro);border-color:var(--sol);background:var(--sol-fundo)}
.st-erro,.tag-inativa{color:var(--vermelho);border-color:var(--vermelho);background:var(--vermelho-fundo)}
.tipo-rev{color:var(--sol-escuro);border-color:var(--sol);background:var(--sol-fundo)}
.tipo-diag{color:var(--azul);border-color:var(--azul);background:var(--azul-fundo)}

/* ---- formulários ---- */
input,textarea,select{font-family:'IBM Plex Sans';font-size:.86rem;color:var(--texto);background:var(--branco);border:1.5px solid var(--linha);border-radius:6px;padding:9px 12px;width:100%}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--grafite)}
label{display:block;font-size:.76rem;color:var(--texto2);margin-bottom:10px}
label input,label textarea,label select{margin-top:4px}
.colunas{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
fieldset{border:1.5px solid var(--linha);border-radius:8px}
details summary{cursor:pointer;color:var(--texto2);font-size:.8rem}
.linha-acoes{display:flex;gap:8px;align-items:center;margin:10px 0}

/* ---- grade de strings (bornes clicáveis) ---- */
.grade-str{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.grade-str label{cursor:pointer;user-select:none;margin:0}
.grade-str input{display:none}
.grade-str span{display:inline-block;min-width:42px;text-align:center;padding:7px 8px 5px;border-radius:3px;font-family:'IBM Plex Mono';font-size:.7rem;font-weight:600;background:var(--verde);color:#fff;border-bottom:4px solid #135A2F;transition:.12s}
.grade-str input:not(:checked)+span{background:#E2E4DC;color:#9AA79E;border-bottom-color:#C7CAC0;text-decoration:line-through}

/* ---- laudo ---- */
.veredito{background:var(--branco);border:1.5px solid var(--grafite);border-radius:8px;padding:20px 24px;margin-bottom:14px;position:relative}
.carimbo{position:absolute;top:14px;right:18px;transform:rotate(6deg);font-family:'Archivo';font-weight:800;font-size:.74rem;letter-spacing:.14em;border:3px solid var(--verde);color:var(--verde);border-radius:6px;padding:4px 11px;opacity:.85}
.carimbo.rev{border-color:var(--sol-escuro);color:var(--sol-escuro)}
.achado{background:var(--branco);border:1.5px solid var(--linha);border-top:4px solid var(--sol);border-radius:8px;padding:13px 16px;margin-bottom:10px}
.achado.critico{border-top-color:var(--vermelho)}
.autorizar{border:2px solid var(--grafite);border-radius:8px;background:var(--branco);padding:18px 22px;box-shadow:6px 6px 0 var(--sol);margin:16px 0}
.comparativo{border:1.5px dashed var(--sol);border-radius:8px;background:var(--branco);padding:16px 20px;margin-bottom:14px}
.comparativo .li{display:flex;gap:10px;align-items:baseline;padding:5px 0;font-size:.85rem}
.cmp-ok{color:var(--verde);font-weight:700}
.cmp-x{color:var(--vermelho);font-weight:700}
.cmp-novo{color:var(--sol-escuro);font-weight:700}

/* ---- guia ---- */
.proc{counter-reset:passo;max-width:760px}
.proc .passo{background:var(--branco);border:1.5px solid var(--linha);border-left:4px solid var(--sol);border-radius:8px;padding:15px 20px 15px 60px;margin-bottom:10px;position:relative;counter-increment:passo}
.proc .passo::before{content:counter(passo,decimal-leading-zero);position:absolute;left:15px;top:13px;font-family:'IBM Plex Mono';font-weight:600;font-size:1.1rem;color:var(--sol-escuro)}
.proc h4{font-family:'Archivo';font-weight:700;font-size:.93rem;margin-bottom:3px}
.proc p{font-size:.8rem;color:var(--texto2)}

.resumo-plano{border-left:4px solid var(--sol)}
footer{max-width:1180px;margin:0 auto;padding:18px 26px 30px;text-align:center}
footer .pil{font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.24em;color:var(--texto2)}
footer div{font-family:'IBM Plex Mono'!important;color:var(--texto2)!important}

@media (max-width:840px){
  .h-linha{padding:11px 14px 6px}
  nav.abas{padding:0 14px}
  main.wrap{padding:20px 14px 60px}
  .ficha{grid-template-columns:1fr 1fr}
  .colunas{grid-template-columns:1fr}
  .bornes i span{display:none}
}

/* ================= corpo do laudo (v0.7.9) ================= */
.cab-diag{display:flex;align-items:flex-start;gap:16px;margin-bottom:6px}
.cab-diag>div{flex:1}
.st.grande{font-size:.72rem;padding:6px 12px;margin-top:6px}
h3.sec{font-family:'Archivo';font-weight:800;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;margin:26px 0 12px;display:flex;align-items:center;gap:10px}
h3.sec .cont{font-family:'IBM Plex Mono';font-size:.62rem;font-weight:600;color:var(--azul);background:var(--azul-fundo);border:1px solid var(--azul);border-radius:4px;padding:2px 8px;letter-spacing:.04em}
.veredito{display:flex;gap:16px;align-items:flex-start}
.veredito .v-ic{flex:none;width:44px;height:44px;border-radius:8px;display:grid;place-items:center;font-family:'Archivo';font-weight:800;font-size:1.3rem;background:var(--verde-fundo);color:var(--verde);border:2px solid var(--verde)}
.veredito .v-ic:has(+ div){}
.veredito p{margin-top:4px;line-height:1.65}
.cartao.aviso{border-left:4px solid var(--azul);display:flex;gap:10px;align-items:center}
.spin{width:16px;height:16px;border:2.5px solid var(--linha);border-top-color:var(--sol);border-radius:50%;animation:gira 1s linear infinite;display:inline-block}
@keyframes gira{to{transform:rotate(360deg)}}
.erro-box{border-left:4px solid var(--vermelho)}

/* leituras: grade de medidas */
.leituras{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.leituras .ct{background:var(--branco);border:1.5px solid var(--linha);border-radius:8px;padding:12px 14px}
.leituras .ct.ruim{border-color:var(--vermelho);background:var(--vermelho-fundo)}
.leituras .rot{font-family:'Archivo';font-weight:700;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto2)}
.leituras .val{font-family:'IBM Plex Mono';font-weight:600;font-size:1.15rem;margin-top:2px}
.leituras .nota{font-size:.68rem;color:var(--texto2);margin-top:1px}

/* strings: bornes com valor */
.strings{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.strings .str{min-width:58px;text-align:center;border-radius:4px;padding:7px 8px 5px;background:var(--verde);color:#fff;border-bottom:4px solid #135A2F}
.strings .str.morta{background:var(--vermelho);border-bottom-color:#8E2317}
.strings .str.repouso{background:#5E6B75;border-bottom-color:#465159;opacity:.9}
.strings .s-n{display:block;font-family:'Archivo';font-weight:700;font-size:.62rem;letter-spacing:.06em}
.strings .s-v{display:block;font-family:'IBM Plex Mono';font-size:.66rem;margin-top:1px}

/* achados */
.achados .ach{background:var(--branco);border:1.5px solid var(--linha);border-left:5px solid var(--sol);border-radius:8px;padding:14px 18px;margin-bottom:10px}
.achados .ach.sev-critico{border-left-color:var(--vermelho)}
.achados .ach.sev-alto{border-left-color:var(--sol)}
.achados .ach.sev-medio,.achados .ach.sev-info{border-left-color:var(--azul)}
.achados .a-sev{font-family:'IBM Plex Mono';font-size:.6rem;font-weight:600;letter-spacing:.08em;color:var(--texto2)}
.achados .ach.sev-critico .a-sev{color:var(--vermelho)}
.achados h4{font-family:'Archivo';font-weight:700;font-size:.95rem;margin:4px 0 4px}
.achados p{font-size:.85rem;color:var(--texto);line-height:1.6}

/* narrativa e alerta */
.cartao.narrativa{line-height:1.7;font-size:.9rem}
.alerta{background:var(--branco);border:1.5px dashed var(--vermelho);border-radius:8px;padding:14px 18px;margin:16px 0}
.alerta h4{font-family:'Archivo';font-weight:800;font-size:.85rem;color:var(--vermelho);margin-bottom:8px}
.alerta ul{margin-left:18px}
.alerta li{font-size:.84rem;margin-bottom:5px;line-height:1.5}

/* plano de ação */
.passos .passo{background:var(--branco);border:1.5px solid var(--linha);border-radius:8px;padding:12px 16px;margin-bottom:8px;display:flex;gap:14px;align-items:center}
.passos .p-n{flex:none;width:30px;height:30px;border-radius:6px;background:var(--grafite);color:var(--sol);display:grid;place-items:center;font-family:'IBM Plex Mono';font-weight:600}
.passos .p-txt{flex:1}
.passos h4{font-family:'IBM Plex Sans';font-weight:600;font-size:.88rem}
.passos p{font-size:.72rem;color:var(--texto2)}
.passos .prazo{font-family:'IBM Plex Mono';font-size:.64rem;font-weight:600;border:1.5px solid var(--linha);border-radius:5px;padding:4px 10px;color:var(--texto2)}
.passos .prazo.ja{border-color:var(--vermelho);color:var(--vermelho);background:var(--vermelho-fundo)}
.assinatura{font-size:.66rem;color:var(--texto2);margin-top:22px;border-top:1px dashed var(--linha);padding-top:10px}

/* estado operacional standby na ficha */
.bornes i.repouso{background:#5E6B75;border-bottom-color:#465159}
.selo.info{color:var(--azul);border-color:var(--azul);background:var(--azul-fundo)}
