/* Shared visual language observed in the EQS Salas portal. */
:root {
  color-scheme: light;
  --bg: #a1a9ba;
  --ink: #171c26;
  --muted: #171c26a6;
  --line: #171c262e;
  --panel: #edeff3bd;
  --panel-strong: #f3f4f7e8;
  --accent: #861719;
  --accent-strong: #861719;
  --green: #2d5d43;
  --red: #8d3330;
  --gold: #87601d;
  --shadow-xl: 0 22px 60px #20293c24;
  --shadow-lg: 0 16px 34px #20293c14;
  --radius-xl: 8px;
  --radius-lg: 8px;
  --radius-md: 4px;
}
html { min-width: 320px; min-height: 100%; zoom: .8; background: var(--bg); }
body {
  min-height: 125vh;
  background: linear-gradient(145deg, #aeb6c6, #9ba4b5);
  color: var(--ink);
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
body::before {
  background-image: linear-gradient(#171c260d 1px, transparent 1px), linear-gradient(90deg, #171c260d 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .24;
  mask-image: linear-gradient(#000, transparent 72%);
}
body *, body *::before, body *::after { letter-spacing: 0; }
h1, h2, h3, h4, .topbar h1, .login-card h2, .field-hero h1,
.field-section-title h2, .checklist-header h2, .list-panel h3, .details-panel h3, .table-panel h3 {
  font-family: "Space Grotesk", system-ui, sans-serif;
  color: var(--ink);
  font-weight: 500;
}
h1 { font-size: 40px; line-height: 1.05; }
h2 { font-size: 28px; }
h3 { font-size: 20px; }
body h1, body h2, body h3, body h4, body strong { font-family: "Space Grotesk", system-ui, sans-serif !important; }
.portal-screen.active-screen { display: block; padding: 0; min-height: 125vh; }
.eqs-header { flex-direction: row; align-items: center; gap: 24px; padding: 14px 24px 0; position: relative; z-index: 50; }
.eqs-brand-block { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; }
.app-brand-header { padding: 0; }
.brand-logo { min-height: 48px; }
.brand-logo-default { height: 48px; }
.brand-system-meta { color: #171c2694; font: 600 10px "JetBrains Mono", monospace; white-space: nowrap; }
.sidebar { min-width: 0; padding: 3px; border: 1px solid #171c264d; border-radius: 999px; background: #e7e9ef47; box-shadow: inset 0 0 0 1px #f9fafb3d, 0 10px 30px #20293c14; backdrop-filter: blur(16px); overflow-x: auto; flex: 1; scrollbar-width: none; }
.sidebar::-webkit-scrollbar { display: none; }
.sidebar > div { min-width: 0; }
.nav-menu { display: flex; gap: 0; width: max-content; min-width: 100%; }
.nav-item, .nav-item-highlight { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: #20293c; font: 600 11px "JetBrains Mono", monospace; text-transform: uppercase; white-space: nowrap; flex: 1 0 auto; }
.nav-item:hover { color: var(--accent); background: #f3f4f757; border: 0; }
.nav-item.active, .nav-item.active:hover { color: #edeff3; background: #20293c; border: 0; }
.main-content { width: min(100% - 32px, 1440px); margin: 0 auto; padding: 24px 0 48px; gap: 22px; }
.main-content > .topbar { align-items: flex-end; flex-wrap: wrap; padding: 0; background: transparent; border: 0; box-shadow: none; }
.topbar h1 { margin: 8px 0 0; font-size: 40px; font-weight: 400; overflow-wrap: anywhere; }
.eyebrow, .brand-kicker, .hero-badge, .section-kicker { color: var(--accent); font: 600 11px/1.4 "JetBrains Mono", monospace; text-transform: uppercase; }
.fleet-summary { margin: 0 0 6px; }
.fleet-summary h2 { margin: 8px 0 0; font-size: 40px; font-weight: 400; line-height: 1.05; }
.fleet-summary em { color: var(--accent); font-style: normal; }
.fleet-summary p { margin: 14px 0 0; color: var(--muted); }
.stats-grid { gap: 16px; }
.stat-card, .stat-card.danger, .stat-card.warning, .stat-card.accent { min-height: 126px; padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: var(--shadow-xl); }
.stat-card::after { content: none; }
.stat-card::before { content: ""; display: block; width: 28px; height: 4px; margin-bottom: 16px; border-radius: 999px; background: linear-gradient(90deg, var(--accent), #93c5dc); }
.stat-card strong { margin: 0 0 10px; font: 500 32px/1 "Space Grotesk", sans-serif; }
.stat-card span { color: var(--muted); font: 500 11px "JetBrains Mono", monospace; }
.list-panel, .details-panel, .table-panel, .single-form-panel, .review-hero,
.field-form-shell, .field-card-preview, .login-card, .checklist-card,
.checklist-success-card, .admin-form-card, .admin-list-card, .modal-card {
  border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: var(--shadow-xl); padding: 24px;
}
.panel-grid, .upload-grid, .checklist-grid { gap: 20px; }
.admin-shell, .review-shell, .maintenance-manager-shell, .table-card { min-width: 0; max-width: 100%; }
.table-card { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: var(--shadow-xl); }
.table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; }
.maintenance-manager-grid { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 18px; align-items: start; }
.summary-tile { background: #f3f4f77a; border-radius: 8px; border-color: var(--line); box-shadow: none; }
.summary-tile strong { color: var(--ink); font: 500 28px "Space Grotesk", sans-serif; }
.table-panel.wide, .disponibilidade-table-panel { max-width: 100%; min-width: 0; }
.vehicle-flow-card, .vehicle-item, .review-item, .simple-row, .admin-user-card,
.review-photo-card, .upload-card, .check-question-card, .checklist-upload-card,
.comparison-card, .reserve-toggle-card, .pipeline-column, .detail-row,
.admin-target-card, .checklist-choice-card, .checklist-step-card {
  border-radius: 8px; background-color: #f3f4f77a; border-color: var(--line); box-shadow: none;
}
.pipeline-column { background: #edeff361; }
.preventivas-columns { grid-template-columns: repeat(5, minmax(210px, 1fr)) !important; }
.preventivas-header-copy h3 { font-family: "Space Grotesk", sans-serif; }
.stage-column, .stage-column-soft { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: none; }
.stage-header strong { font-family: "Space Grotesk", sans-serif; font-size: 28px; font-weight: 500; }
.stage-kicker { color: var(--muted); font: 600 11px "JetBrains Mono", monospace; }
.empty-state { border-radius: 8px; background: #f3f4f77a; color: var(--muted); }
.pipeline-card { border-radius: 8px; }
.pipeline-head, .panel-head { color: var(--ink); }
.detail-row strong, .vehicle-item strong, .simple-row strong { color: var(--ink); }
.btn, .table-action-btn, .load-more-btn {
  min-height: 42px; padding: 10px 16px; border: 1px solid #20293c; border-radius: 4px;
  color: #edeff3; background: #20293c; box-shadow: none; font: 600 12px/1.4 "JetBrains Mono", monospace; text-transform: uppercase; white-space: normal; text-align: center;
}
.btn-primary, .btn-login-muted, .table-action-btn.highlight { background: #20293c; border-color: #20293c; color: #edeff3; }
.btn-secondary, .btn-ghost, .table-action-btn.secondary, .table-action-btn { background: transparent; border-color: #171c2657; color: #20293c; }
.btn:hover, .table-action-btn:hover, .load-more-btn:hover { color: #fff; background: var(--accent); border-color: var(--accent); transform: translateY(-1px); }
button:disabled, input:disabled { opacity: .55; cursor: not-allowed; }
.form-row label, .single-form-panel label, .modal-form label, .login-form label,
.checklist-form-grid label, .filter-bar-inline label { color: #171c26b8; font: 600 11px/1.5 "JetBrains Mono", monospace; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]), select, textarea {
  min-height: 46px; max-width: 100%; border: 1px solid #171c2657; border-radius: 4px;
  color: var(--ink); background-color: #f9fafba6; box-shadow: none; font: 400 13px/1.5 "JetBrains Mono", monospace; padding: 11px 13px;
}
select:not([multiple]) { padding-right: 40px; appearance: none; -webkit-appearance: none; }
select[multiple] { min-height: 112px; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--accent); background-color: var(--panel-strong); box-shadow: 0 0 0 3px #86171929; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent); }
::placeholder { color: #171c2666; }
.filter-pill { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; flex-direction: column; align-items: stretch; gap: 7px; }
.filter-pill-form { min-width: 200px; max-width: 100%; }
.filter-pill span { font: 600 11px "JetBrains Mono", monospace; text-transform: uppercase; color: var(--muted); }
.filter-pill select { width: 100%; padding: 11px 40px 11px 13px; font-weight: 400; border: 1px solid #171c2657; background-color: #f9fafba6; background-position: right 14px center; }
.topbar-actions { flex-wrap: wrap; max-width: 100%; }
.data-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #f6f7f975; }
.data-table, .history-print-table { border-collapse: collapse; color: var(--ink); }
.data-table thead tr, .history-print-table thead tr { background: #20293c12; }
.data-table th, .history-print-table th { background: transparent; color: #4c5a76; font: 600 11px/1.4 "JetBrains Mono", monospace; padding: 15px 14px; border-color: var(--line); text-transform: uppercase; }
.data-table thead th { background: #dadee7; }
.data-table td, .history-print-table td { padding: 15px 14px; border-color: var(--line); color: #171c26d1; font-size: 14px; }
.data-table tbody tr { background: transparent; }
.data-table tbody tr:hover { background: #86171912; }
.data-table tbody tr.row-overdue { background: #f4e3e1f0; }
.table-status, .status-chip, .counter-badge, .stage-count { font: 600 11px "JetBrains Mono", monospace; border: 1px solid #86171947; border-radius: 999px; color: var(--accent); background: #86171914; }
.table-status.status-ok, .table-status.status-admin, .status-concluido { color: var(--green); border-color: #2d5d435c; background: #e1efe7eb; }
.table-status.status-vencido, .status-vencido { color: var(--red); border-color: #8d333057; background: #f4e3e1f0; }
.table-status.status-a-vencer, .status-a-vencer { color: var(--gold); border-color: #87601d57; background: #f5eedceb; }
.modal-backdrop { background: #12172185; backdrop-filter: blur(8px); }
.modal-card { background: #edeff3fa; }
.modal-close { color: #20293c; border-radius: 4px; background: transparent; }
.message-box { color: var(--ink); background: var(--panel-strong); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow-lg); }
.site-footer { padding: 8px 0 28px; }
.site-footer-inner { gap: 14px; padding: 12px 20px; }
.site-footer-inner p { font: 500 11px "JetBrains Mono", monospace; text-transform: uppercase; color: var(--muted); }
.footer-logo { height: 30px; }
.login-screen, .login-scene, .checklist-mobile-body { background: transparent; }
.login-screen { padding: 24px; }
.login-panel { min-height: calc(125vh - 110px); }
.login-card { width: min(480px, 100%); background: var(--panel-strong); }
.login-elevated { transform: none; }
.login-card h2 { font-size: 28px; color: var(--accent); }
.login-card .login-brand-top { margin-bottom: 12px; }
.forgot-link { color: var(--accent); font: 500 12px "JetBrains Mono", monospace; }
.checklist-mobile-shell { width: min(100% - 32px, 960px); padding: 20px 0 32px; }
.checklist-mobile-topbar { background: transparent; border-radius: 0; box-shadow: none; }
.checklist-card h1, .checklist-card h2 { font-family: "Space Grotesk", sans-serif; font-weight: 500; }
.admin-hero, .review-hero, .field-hero, .checklist-mobile-shell .intro-card { background: var(--panel); border-radius: 8px; border-color: var(--line); }
.admin-hero::before, .admin-hero::after, .field-hero::before, .field-hero::after { content: none; }
.admin-hero h2, .review-hero h2 { font-family: "Space Grotesk", sans-serif; font-size: 28px; color: var(--ink); }
.checklist-choice input:checked + span, .checklist-choice-card.is-selected, .review-item.selected, .vehicle-item.selected { background: #86171914; border-color: #8617197a; color: var(--ink); }
.checklist-upload-card { background: #f3f4f77a; }
.draft-resume-card { padding: 20px 0 0; border-radius: 0; border: 0; border-top: 1px solid var(--line); background: transparent; box-shadow: none; }
.admin-metric strong, .review-metric strong, .summary-count { font-family: "Space Grotesk", sans-serif; }
.single-form-panel .single-form-panel, .disponibilidade-panel .single-form-panel { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.ticketlog-check, .ticketlog-check-neutral, .ticketlog-check-error { background: #f3f4f77a; border-color: var(--line); border-radius: 8px; color: var(--ink); box-shadow: none; }
.search-select-toggle { border-radius: 4px; background: #dadee7; color: var(--accent); }
.legend-chip { font: 600 11px "JetBrains Mono", monospace; }
.legend-chip.ok { background: #e1efe7eb; color: var(--green); }
.legend-chip.warning { background: #f5eedceb; color: var(--gold); }
.legend-chip.danger { background: #f4e3e1f0; color: var(--red); }
.checklist-progress, .step-indicator { color: var(--accent); }
.loading-overlay { background: #dce2ec; backdrop-filter: none; padding: 40px 24px; transition: opacity 260ms ease, visibility 260ms ease; }
.loading-overlay .loading-card { box-sizing: border-box; display: flex; width: 100%; max-width: 384px; min-width: 0; flex-direction: column; align-items: center; gap: 24px; padding: 40px 32px; border: 1px solid #c8d0dc; border-radius: 12px; background: #f7f8fb; box-shadow: 0 1px 2px #121a2a0a, 0 12px 32px #121a2a0f; animation: eqs-blocks-fade-up .5s ease-out both; }
.eqs-blocks-brand { display: flex; align-items: center; gap: 8px; }
.eqs-blocks-brand-mark { width: 12px; height: 12px; flex: 0 0 12px; border-radius: 3px; background: #861719; }
.loading-card .eqs-blocks-brand-text { color: #121a2a; font: 600 12px "JetBrains Mono", monospace !important; }
.eqs-blocks-grid { display: grid; grid-template-columns: repeat(3, 12px); min-height: 56px; align-content: center; gap: 6px; }
.eqs-blocks-grid span { width: 12px; height: 12px; border-radius: 3px; background: #861719; animation: eqs-blocks-pulse 1.2s ease-in-out infinite; animation-delay: var(--eqs-block-delay); }
.eqs-blocks-text { text-align: center; }
.loading-card .eqs-blocks-title { margin: 0; color: #1d293d; font: 600 16px "Space Grotesk", sans-serif; }
.loading-card .eqs-blocks-message { margin: 4px 0 0; color: #667085; font: 400 14px "Space Grotesk", sans-serif; }
@keyframes eqs-blocks-pulse { 0%, 100% { opacity: .25; transform: scale(.85); } 50% { opacity: 1; transform: scale(1); } }
@keyframes eqs-blocks-fade-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 520px) { .loading-overlay .loading-card { max-width: 320px; padding: 32px 24px; } }
@media (prefers-reduced-motion: reduce) { .loading-overlay .loading-card, .eqs-blocks-grid span { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } .loading-overlay { transition-duration: .01ms; } }
@keyframes eqs-progress { to { transform: translateX(125%); } }
@media (max-width: 1100px) { .brand-system-meta { display: none; } }
@media (max-width: 900px) {
  .eqs-header { flex-direction: column; align-items: stretch; gap: 14px; padding: 14px 16px 0; }
  .eqs-brand-block { justify-content: space-between; }
  .sidebar { width: 100%; }
  .main-content { width: min(100% - 24px, 1440px); padding-top: 20px; }
  .panel-grid-2, .panel-grid-3 { grid-template-columns: 1fr; }
  .maintenance-manager-grid { grid-template-columns: 1fr; }
  .review-panel-span { grid-column: auto; }
}
@media (max-width: 720px) {
  .eqs-header { padding-top: 10px; }
  .brand-logo-default { height: 36px; }
  .main-content { width: min(100% - 20px, 1440px); padding-bottom: 32px; }
  .topbar h1, .fleet-summary h2 { font-size: 32px; }
  .stats-grid, .upload-grid { grid-template-columns: 1fr; }
  .preventivas-columns { grid-template-columns: 1fr !important; }
  .stage-column { min-height: 0; }
  .list-panel, .details-panel, .table-panel, .single-form-panel, .checklist-card, .modal-card { padding: 20px 18px; }
  .topbar-actions, .filter-form, .filter-pill-form { width: 100%; min-width: 0; }
  .form-row { flex-wrap: wrap; }
  .form-row > * { min-width: 0; }
  .login-panel { align-items: center; }
  .login-card { min-height: 0; }
  .footer-logo { height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  html { zoom: 1; }
  body { background: white; min-height: 0; }
  body::before, .eqs-header, .loading-overlay { display: none; }
  .main-content { width: 100%; padding: 0; }
}

/* Navigation keeps the Salas silhouette without hiding fleet modules. */
.sidebar { position: relative; overflow: visible; flex: 0 1 auto; width: max-content; max-width: 100%; margin-left: auto; }
.nav-menu { width: max-content; min-width: 0; align-items: center; gap: 2px; }
.nav-menu > .nav-item { flex: 0 0 auto; }
.nav-menu .nav-item { min-width: 0; min-height: 30px; padding: 0 14px; font-size: 10px; }
.navigation-submenu { position: absolute; top: calc(100% + 10px); right: 0; display: flex; align-items: center; gap: 2px; width: max-content; max-width: 100%; padding: 3px; background: #e7e9ef70; border: 1px solid #171c264d; border-radius: 999px; box-shadow: inset 0 0 0 1px #f9fafb3d; }
.navigation-submenu .nav-item { flex: 0 0 auto; min-height: 28px; padding: 0 12px; border-radius: 999px; white-space: nowrap; font-size: 9px; }
@media (min-width: 1051px) { .sidebar:has(.navigation-submenu) { margin-bottom: 44px; } }
.mobile-navigation-bar { display: none; }
.navigation-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid #171c2657; border-radius: 999px; background: transparent; color: #20293c; font: 600 11px "JetBrains Mono", monospace; cursor: pointer; }
.navigation-toggle svg { width: 18px; height: 18px; }
.nav-item:focus-visible, .navigation-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 1050px) {
  .eqs-header { flex-direction: column; align-items: stretch; padding: 14px 16px 0; gap: 12px; }
  .mobile-navigation-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 4px 4px 16px; border: 1px solid #171c264d; border-radius: 999px; background: #e7e9ef47; }
  .mobile-navigation-bar > span { font: 500 12px "JetBrains Mono", monospace; min-width: 0; overflow-wrap: anywhere; }
  .navigation-enhanced .sidebar { display: none; }
  .navigation-enhanced.is-navigation-open .sidebar { display: block; }
  .sidebar { width: 100%; max-width: none; margin-left: 0; border-radius: 8px; padding: 6px; margin-bottom: 0; }
  .nav-menu { display: flex; width: 100%; flex-direction: column; align-items: stretch; }
  .nav-menu > .nav-item { width: 100%; }
  .nav-menu .nav-item { justify-content: flex-start; border-radius: 4px; font-size: 12px; min-height: 44px; }
  .navigation-submenu { position: static; display: flex; flex-wrap: wrap; width: auto; max-width: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; margin: 6px 0 0; padding: 8px 0 0; background: transparent; box-shadow: none; }
  .navigation-submenu .nav-item { white-space: normal; padding: 0 12px; min-height: 36px; }
  .navigation-logout { order: 10; border-top: 1px solid var(--line); }
}
