:root {
  --preto: #1A1A1A;
  --amarelo: #FFCD11;
  --cinza: #595959;
  --azul: #00A0DF;
  --ok: #2E7D32;
  --atencao: #F9A825;
  --critico: #C62828;
  --semdado: #9E9E9E;
}
* { box-sizing: border-box; }
body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  background: #f2f2f2;
  color: var(--preto);
}
.login-body {
  display: flex; align-items: center; justify-content: center; height: 100vh;
  background: var(--preto);
}
.login-box {
  background: white; padding: 40px; border-radius: 8px; width: 320px;
  border-top: 6px solid var(--amarelo);
}
.login-box h1 { margin: 0; color: var(--preto); letter-spacing: 1px; }
.login-box .subtitulo { color: var(--cinza); margin-top: 0; }
.login-box form { display: flex; flex-direction: column; margin-top: 20px; }
.login-box label { font-size: 13px; color: var(--cinza); margin-top: 10px; }
.login-box input {
  padding: 10px; border: 1px solid #ccc; border-radius: 4px; margin-top: 4px;
}
.login-box button {
  margin-top: 20px; padding: 12px; background: var(--preto); color: var(--amarelo);
  border: none; border-radius: 4px; font-weight: bold; cursor: pointer;
}
.erro { color: var(--critico); font-weight: bold; }

.topo {
  background: var(--preto); color: white; padding: 16px 24px;
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: 4px solid var(--amarelo);
}
.topo h1 { margin: 0; font-size: 20px; letter-spacing: 1px; }
.topo .subtitulo { color: var(--amarelo); font-size: 13px; }
.usuario-info { font-size: 13px; }
.usuario-info .nivel { color: #ccc; }
.usuario-info .sair { color: var(--amarelo); margin-left: 12px; text-decoration: none; }
.voltar { display: inline-block; margin: 12px 24px; color: var(--azul); text-decoration: none; }

.avisos { margin: 12px 24px; }
.aviso { background: #fff3cd; border-left: 4px solid var(--atencao); padding: 8px 12px; margin-bottom: 6px; font-size: 13px; }

.resumo { display: flex; gap: 12px; margin: 16px 24px; flex-wrap: wrap; }
.pill { padding: 8px 16px; border-radius: 20px; font-weight: bold; font-size: 13px; color: white; }
.pill.ok { background: var(--ok); }
.pill.atencao { background: var(--atencao); color: var(--preto); }
.pill.critico { background: var(--critico); }
.pill.sem_dado { background: var(--semdado); }

.nota-metodologia { margin: 0 24px 16px; font-size: 12px; color: var(--cinza); max-width: 900px; }

.grid-frota {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px; margin: 0 24px 24px;
}
.card {
  display: block; padding: 14px; border-radius: 8px; text-decoration: none; color: var(--preto);
  background: white; border-left: 8px solid var(--semdado); box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.card.farol-ok { border-left-color: var(--ok); }
.card.farol-atencao { border-left-color: var(--atencao); }
.card.farol-critico { border-left-color: var(--critico); }
.card.farol-sem_dado { border-left-color: var(--semdado); }
.card-tag { font-size: 18px; font-weight: bold; }
.card-modelo { color: var(--cinza); font-size: 13px; margin-bottom: 8px; }
.card-rt { font-size: 13px; }
.rt-obs { color: var(--cinza); font-size: 11px; }
.card-horimetro { font-size: 12px; color: var(--cinza); margin-top: 4px; }

.ficha, .pilares, .sos { margin: 20px 24px; }
h2 { font-size: 16px; border-bottom: 2px solid var(--amarelo); padding-bottom: 6px; }
table { border-collapse: collapse; width: 100%; background: white; }
td, th { padding: 8px 10px; border: 1px solid #ddd; font-size: 13px; text-align: left; }
th { background: var(--preto); color: white; }
.tabela-ficha td:first-child { font-weight: bold; width: 200px; color: var(--cinza); }
.pilar-sem_dado td, .sos-sem_dado td { color: var(--semdado); }
.pilar-critico td, .sos-critico td { background: #fdecea; }
.pilar-atencao td, .sos-atencao td { background: #fff8e1; }
.pilar-ok td, .sos-ok td { background: #eef7ee; }
.motivo-row .motivo { font-size: 11px; color: var(--cinza); font-style: italic; border-top: none; }
.rt-total { font-weight: bold; margin-top: 10px; }

/* ===== RT v2 layout: dossie e login ===== */
:root{--ok:#278546;--atencao:#E5C138;--critico:#9B1C1C}
body{background:#f5f5f6}
.topo{border-bottom:6px solid var(--amarelo)}
.topo h1{font-weight:900;letter-spacing:.06em}
h2{color:#1f4e79;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
th{background:#121315;color:var(--amarelo);text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.login-body{background:#121315}
.login-box{border-top:6px solid var(--amarelo)}

/* Dossie: leitura consistente com o Farol e tabelas largas sem sobreposicao. */
body.dossie-page { background:#10151b; color:#e6edf3; }
body.dossie-page .ficha, body.dossie-page .pilares, body.dossie-page .sos { margin:16px 24px; padding:18px; background:#171d24; border:1px solid #2b343d; border-radius:8px; }
body.dossie-page h2 { color:#ffcd11; border-bottom:1px solid #35404a; padding-bottom:10px; margin-top:0; }
body.dossie-page table { display:block; width:100%; overflow-x:auto; white-space:nowrap; background:#121920; border-radius:6px; }
body.dossie-page td, body.dossie-page th { color:#e0e7ee; border-color:#303a44; }
body.dossie-page th { position:sticky; top:0; z-index:1; background:#222a33; color:#ffcd11; }
body.dossie-page .tabela-ficha td:first-child { color:#aeb9c4; }
body.dossie-page .pilar-critico td, body.dossie-page .sos-critico td { background:#351d22; color:#f2d9dc; }
body.dossie-page .pilar-atencao td, body.dossie-page .sos-atencao td { background:#332b18; color:#f2e6c4; }
body.dossie-page .pilar-ok td, body.dossie-page .sos-ok td { background:#192c28; color:#d5eee4; }
@media (max-width:700px) { body.dossie-page .ficha, body.dossie-page .pilares, body.dossie-page .sos { margin:12px; padding:12px; } body.dossie-page td, body.dossie-page th { padding:8px; font-size:12px; } }

/* Dossiê da Máquina — layout baseado nas referências visuais de 21/10/2026 */
body.dossie-page { margin:0 !important; background:#f4f6f8 !important; color:#243447 !important; font:14px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif !important; }
.dossie-page * { box-sizing:border-box; }
.dossie-page .dossie-top { background:#fff; border:1px solid #d9dee4; border-radius:8px; margin:10px auto 12px; max-width:1500px; padding:16px 20px; box-shadow:0 1px 3px #172b3a12; }
.dossie-page .dossie-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.dossie-page .eyebrow { color:#36526d; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.dossie-page .eyebrow span { color:#8a97a4; }
.dossie-page h1 { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:3px 0 5px; color:#173d5d; font-size:22px; }
.dossie-page .tag-code { color:#1f2b36; }
.dossie-page .risk-label { border-radius:4px; padding:4px 7px; font-size:9px; letter-spacing:.04em; }
.dossie-page .risk-label.critical { background:#fde5e8; color:#a51d31; }
.dossie-page .risk-label.attention { background:#fff1d5; color:#8b5d00; }
.dossie-page .risk-label.stable { background:#e3f4ea; color:#216344; }
.dossie-page .machine-meta { display:flex; flex-wrap:wrap; gap:6px 14px; color:#75808a; font-size:11px; }
.dossie-page .machine-meta span+span:before { content:"·"; margin-right:14px; color:#a5adb5; }
.dossie-page .machine-meta b { color:#3f4d5a; font-weight:700; }
.dossie-page .dossie-actions { display:flex; flex-wrap:wrap; gap:7px; }
.dossie-page .button { display:inline-flex; align-items:center; justify-content:center; min-height:34px; border:1px solid #c9d0d7; border-radius:4px; padding:7px 11px; color:#33495d; background:#fff; text-decoration:none; font-family:inherit; font-size:11px; font-weight:700; line-height:1.2; white-space:nowrap; cursor:pointer; }
.dossie-page .button:hover { background:#f3f6f8; }
.dossie-page .button-dark { border-color:#1e252c; background:#1e252c; color:#fff; }
.dossie-page .button-dark:hover { background:#344452; }
.dossie-page .button:disabled { color:#89939c; background:#f1f3f5; cursor:not-allowed; }
.dossie-page .dossie-wrap { max-width:1500px; margin:0 auto; padding:0 10px 24px; }
.dossie-page .kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.dossie-page .kpi-card,.dossie-page .panel { border:1px solid #d9dee4; border-radius:7px; background:#fff; box-shadow:0 1px 3px #172b3a0a; }
.dossie-page .kpi-card { min-height:88px; padding:13px 15px; }
.dossie-page .kpi-title { color:#536575; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.dossie-page .kpi-value { margin:2px 0; color:#172d3f; font-size:26px; font-weight:800; line-height:1.1; }
.dossie-page .kpi-value small { color:#9ba5ae; font-size:11px; font-weight:500; }
.dossie-page .kpi-foot { color:#85909a; font-size:10px; }
.dossie-page .panel { margin-bottom:12px; padding:15px; }
.dossie-page .section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:12px; }
.dossie-page .section-heading h2,.dossie-page .panel h2 { margin:2px 0 0; color:#254864; font-size:16px; }
.dossie-page .section-heading p { margin:4px 0 0; }
.dossie-page .section-subtitle { color:#788591; font-size:11px; }
.dossie-page .section-tag { border-radius:4px; padding:5px 8px; background:#f0f3f5; color:#52616e; font-size:10px; font-weight:700; white-space:nowrap; }
.dossie-page .selector-label { display:flex; align-items:center; gap:8px; color:#5c6b78; font-size:11px; font-weight:700; }
.dossie-page select { min-width:220px; max-width:360px; border:1px solid #c9d1d8; border-radius:4px; background:#fff; color:#2b3946; padding:8px 28px 8px 10px; font:inherit; }
.dossie-page .status-strip { display:flex; flex-wrap:wrap; gap:6px; margin:5px 0 12px; }
.dossie-page .status-pill { border:1px solid #d7dde2; border-radius:12px; padding:4px 9px; background:#f6f7f8; color:#596773; font-size:10px; font-weight:700; }
.dossie-page .rt-pill { border-color:#f0bdc5; background:#fff0f2; color:#9b2738; }
.dossie-page .status-ok { border-color:#b8d8c6; background:#edf7f1; color:#286347; }
.dossie-page .cycle-card { margin:10px 0; border:1px solid #cdd4da; border-radius:6px; padding:12px; background:#fafbfc; }
.dossie-page .cycle-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dossie-page .cycle-head h3 { margin:3px 0 0; color:#304555; font-size:13px; }
.dossie-page .cycle-state { margin-left:7px; border-radius:10px; padding:3px 7px; background:#e9eef1; color:#53616c; font-size:9px; text-transform:uppercase; }
.dossie-page .cycle-card p { margin:7px 0; color:#707c86; font-size:11px; }
.dossie-page .cycle-metrics { display:flex; flex-wrap:wrap; gap:8px 20px; border-top:1px solid #e0e4e8; padding-top:8px; color:#73808b; font-size:10px; }
.dossie-page .cycle-metrics b { display:block; margin-top:2px; color:#334858; font-size:11px; }
.dossie-page .analysis-card { margin:10px 0; border-left:3px solid #edc84c; border-radius:3px; padding:11px 13px; background:#fffbed; }
.dossie-page .analysis-card p { margin:6px 0; color:#485764; font-size:12px; }
.dossie-page .recommendation { display:flex; align-items:flex-start; gap:12px; margin-top:9px; border-top:1px solid #eee1ad; padding-top:8px; color:#8e2632; font-size:11px; }
.dossie-page .recommendation b { white-space:nowrap; }
.dossie-page .recommendation span { color:#534b3b; }
.dossie-page .table-wrap { width:100%; overflow:auto; }
.dossie-page .data-table { width:100%; border-collapse:collapse; background:#fff; font-size:11px; }
.dossie-page .data-table th { position:sticky; top:0; z-index:1; background:#202830; color:#fff; text-align:left; font-size:10px; }
.dossie-page .data-table th,.dossie-page .data-table td { border:1px solid #dce1e5; padding:8px; vertical-align:top; }
.dossie-page .data-table tbody tr:hover { background:#f7f9fa; }
.dossie-page .data-table a { color:#24587e; font-weight:700; text-decoration:none; }
.dossie-page .data-table a:hover { text-decoration:underline; }
.dossie-page .data-table td small { display:block; color:#7c8790; }
.dossie-page .score { display:inline-block; min-width:27px; border-radius:4px; padding:3px 5px; color:#fff; text-align:center; font-weight:800; }
.dossie-page .score-high { background:#a92838; }
.dossie-page .score-mid { background:#d69b22; }
.dossie-page .score-low { background:#5c9d75; }
.dossie-page .table-status { display:inline-block; border:1px solid #d7dde1; border-radius:10px; padding:2px 6px; color:#586773; font-size:9px; font-weight:700; }
.dossie-page .empty-cell { padding:18px !important; color:#7c8790; text-align:center; }
.dossie-page .empty-state { border:1px dashed #ccd4da; border-radius:5px; padding:18px; color:#707d88; background:#fafbfc; font-size:12px; text-align:center; }
.dossie-page .notice { border-radius:6px; padding:16px; background:#fff; }
.dossie-page .notice-error { border:1px solid #edc2c7; color:#9b2738; }
.dossie-page .event-list { border-top:1px solid #e0e4e8; }
.dossie-page .event-row { display:grid; grid-template-columns:130px 1fr auto; gap:12px; border-bottom:1px solid #e8ecef; padding:10px 4px; font-size:11px; }
.dossie-page .event-row time,.dossie-page .event-row span,.dossie-page .muted { color:#788591; }
.dossie-page .event-row p { margin:2px 0 0; color:#586571; }
.dossie-page .bottom-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; }
.dossie-page .bottom-grid .panel { margin-bottom:12px; }
.dossie-page .bottom-grid h3 { margin:14px 0 5px; color:#43596b; font-size:11px; }
.dossie-page .record-list { margin:4px 0; padding-left:18px; color:#4f5e6a; font-size:11px; }
.dossie-page .record-list li { padding:4px 0; }
.dossie-page .method-list { display:grid; gap:9px; margin:12px 0 0; padding:0; list-style:none; }
.dossie-page .method-list li { display:grid; grid-template-columns:120px 1fr; gap:10px; border-bottom:1px solid #e5e9ec; padding:7px 0; font-size:11px; }
.dossie-page .method-list b { color:#36526d; }
.dossie-page .method-list span { color:#6e7b86; }
.dossie-page .dossie-footer { padding:6px 2px; color:#8b959e; font-size:10px; text-align:center; }
@media (max-width:900px) { .dossie-page .dossie-heading { align-items:flex-start; flex-direction:column; } .dossie-page .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dossie-page .bottom-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .dossie-page .dossie-top { margin:0 0 10px; border-radius:0; padding:13px; } .dossie-page .dossie-wrap { padding:0 8px 18px; } .dossie-page .kpi-grid { gap:7px; } .dossie-page .kpi-card { min-height:82px; padding:10px; } .dossie-page .kpi-value { font-size:22px; } .dossie-page .section-heading { flex-direction:column; } .dossie-page .selector-label { align-items:flex-start; flex-direction:column; width:100%; } .dossie-page select { width:100%; max-width:none; } .dossie-page .dossie-actions { width:100%; } .dossie-page .button { flex:1; white-space:normal; text-align:center; } .dossie-page .event-row { grid-template-columns:1fr; gap:3px; } .dossie-page .cycle-head { align-items:flex-start; flex-direction:column; } .dossie-page .data-table { min-width:760px; } }
@media print { body.dossie-page { background:#fff !important; } .dossie-page .dossie-actions,.dossie-page .button { display:none !important; } .dossie-page .dossie-top,.dossie-page .panel,.dossie-page .kpi-card { box-shadow:none; break-inside:avoid; } .dossie-page .dossie-wrap { max-width:none; padding:0; } }
body.dossie-page table.data-table { display:table !important; width:100% !important; min-width:760px; overflow:visible !important; white-space:normal !important; table-layout:auto; }
body.dossie-page table.data-table th { white-space:normal !important; }
body.dossie-page table.data-table td { color:#3c4b58 !important; }
body.dossie-page .data-table td small { color:#7c8790 !important; }
.dossie-page .risk-current { border:1px solid #e0e5e9; border-radius:5px; padding:15px; background:#fbfcfd; }
.dossie-page .risk-current-head { display:flex; justify-content:space-between; color:#435867; font-size:12px; }
.dossie-page .risk-current-head strong { color:#a12c3b; }
.dossie-page .risk-track { height:8px; margin:9px 0; overflow:hidden; border-radius:8px; background:#e4e9ed; }
.dossie-page .risk-track span { display:block; height:100%; border-radius:8px; background:#d89023; }
.dossie-page .risk-current p { margin:8px 0 0; color:#71808b; font-size:11px; }
.dossie-page .loss-summary { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.dossie-page .loss-summary span { min-width:140px; border:1px solid #e0e5e9; border-radius:5px; padding:8px; color:#6e7b86; font-size:10px; }
.dossie-page .loss-summary b { display:block; margin-top:3px; color:#34495a; font-size:13px; }
.dossie-page .event-status { display:inline-block; margin-left:5px; color:#617486; font-size:9px; }
.dossie-page .week-table { min-width:1700px !important; font-size:9px; }
.dossie-page .week-table th,.dossie-page .week-table td { padding:5px 4px; text-align:center; }
.dossie-page .week-table td:first-child,.dossie-page .week-table th:first-child { position:sticky; left:0; z-index:2; min-width:180px; background:#fff; text-align:left; }
.dossie-page .week-table th:first-child { background:#202830; }
.dossie-page .week-table td.matrix-t { background:#f7dfe3; color:#9d2738 !important; font-weight:800; }
.dossie-page .week-table td.matrix-p { background:#fff1c6; color:#805c00 !important; font-weight:800; }
.dossie-page .planning-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:12px; }
.dossie-page .planning-kpis article { border:1px solid #dce2e6; border-radius:5px; padding:10px; }
.dossie-page .planning-kpis span { display:block; color:#6d7b86; font-size:10px; }
.dossie-page .planning-kpis b { display:block; margin-top:3px; color:#263d50; font-size:18px; }
.dossie-page .month-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:10px 0 14px; }
.dossie-page .month-grid article { min-height:58px; border:1px solid #dce1e5; border-radius:5px; padding:9px; background:#fafbfc; }
.dossie-page .month-grid b { display:block; color:#43576a; font-size:10px; }
.dossie-page .month-grid span { display:block; margin-top:4px; color:#84909a; font-size:9px; }
.dossie-page .planning-premise,.dossie-page .planning-notes { color:#788590; font-size:10px; }
.dossie-page .planning-notes { margin:9px 0 0; padding-left:18px; }
@media (max-width:600px) { .dossie-page .month-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dossie-page .planning-kpis { grid-template-columns:1fr; } }
