/* AMET Freight — operational workspace. Loaded after the legacy components. */
.efficiency-settings { margin-bottom: 24px; }
.efficiency-settings h3 { margin: 0; }
.efficiency-default-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.efficiency-search { display: grid; gap: 6px; font-size: 12px; width: 130px; }
.efficiency-table { min-width: 720px; }
.efficiency-table input[type="number"] { width: 100px; min-width: 80px; }
.efficiency-table input:disabled { opacity: .65; background: var(--bg-secondary); }
.efficiency-override { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.efficiency-override input { width: 16px; height: 16px; accent-color: var(--accent); }
.efficiency-critical { white-space: nowrap; color: var(--text-secondary); }
:root, [data-theme="light"] {
  --bg-base: #f4f6fa; --bg-secondary: #f4f6fa; --bg-card: #fff;
  --text-primary: #20283e; --text-secondary: #59677f; --text-muted: #68758b;
  --border: #e1e6ef; --accent: #e96732; --accent-hover: #cc4d1d;
  --sidebar-w: 248px; --sidebar-bg: #1e2036; --sidebar-text: #bfc5dc;
  --radius-lg: 16px; --radius-md: 11px;
  --shadow-sm: 0 3px 14px #24375405; --shadow-md: 0 8px 28px #2437540c;
  --freight-slate: var(--text-secondary); --freight-ink: var(--text-primary); --freight-line: var(--border);
}
[data-theme="dark"] {
  color-scheme: dark; --bg-base: #131722; --bg-secondary: #202738;
  --bg-surface: #1c2231; --bg-card: #1c2231; --bg-input: #171d2a; --bg-modal: #1c2231;
  --bg-card-hover: #232b3e; --sidebar-bg: #141827; --sidebar-text: #bbc5dc;
  --text-primary: #eef2fc; --text-secondary: #b4bfd4; --text-muted: #97a5bf;
  --border: #303b50; --border-hover: #495776; --shadow-sm: 0 3px 14px #00000014;
}
body { font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
[hidden] { display: none !important; }
.dashboard-freight-status-card .dashboard-freight-status-icon { display: grid !important; place-items: center; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 10002; padding: 12px 20px; background: var(--bg-card); border: 2px solid var(--accent); border-radius: 10px; }
.skip-link:focus { top: 12px; }
.sidebar { background: var(--sidebar-bg) !important; overflow-x: hidden !important; }
.sidebar-header { height: 84px !important; padding: 18px 20px !important; }
.sidebar .brand { justify-content: flex-start !important; }
.sidebar .brand-img-amet { width: 119px !important; max-width: 100%; }
.sidebar-nav { padding: 12px !important; overflow-x: hidden !important; min-width: 0; scrollbar-width: thin; scrollbar-color: #626b82 transparent; }
.sidebar .nav-item { min-height: 40px; gap: 11px !important; padding: 10px 11px !important; border: 0 !important; border-radius: 9px !important; }
.sidebar .nav-item span { font-size: 12px !important; }
.sidebar .nav-item.active { background: #f379421c !important; box-shadow: inset 3px 0 #ff975e !important; color: #ffb48b !important; }
.sidebar .nav-item.active i { color: #ffad79 !important; }
.sidebar .nav-badge { background: #ffffff16 !important; color: #f6d2be !important; font-size: 10px !important; }
.nav-section-label { color: #919cb9; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; margin: 17px 12px 7px; }
.sidebar-utility { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 8px; margin: 0 0 9px; width: 100%; min-width: 0; }
.sidebar-utility button { display: flex; justify-content: center; align-items: center; gap: 9px; flex: 1; min-height: 36px; border: 1px solid #ffffff1a; border-radius: 8px; color: #c8d1e6; background: #ffffff06; font-size: 11px; }
.sidebar-utility button:hover { color: #fff; background: #ffffff12; }
.sidebar-utility button { min-width: 0; padding: 8px 4px; }
.sidebar-utility button span { white-space: nowrap; }
body.sidebar-collapsed .nav-section-label { display: none; }
body.sidebar-collapsed .sidebar-utility { flex-direction: column; }
body.sidebar-collapsed .sidebar-utility button { flex: 0 0 36px; width: 40px; max-width: 100%; align-self: center; }
body.sidebar-collapsed .sidebar-utility span { display: none; }
.topbar { background: var(--bg-surface) !important; border-bottom: 1px solid var(--border); min-height: 76px; padding-inline: 28px !important; }
.topbar h2 { font-size: 19px !important; font-weight: 800; letter-spacing: -.6px; }
.topbar .page-header-left p { color: var(--text-secondary); font-size: 12px !important; }
.page-content { padding: 16px 28px 36px; }
.page-view.active { animation: workspace-appear .18s ease-out; }
@keyframes workspace-appear { from { opacity: .55; } to { opacity: 1; } }
.card, .stat-card { border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); background: var(--bg-card); }
.card-header { padding: 18px 21px; border-color: var(--border); gap: 14px; flex-wrap: wrap; }
.card-title { font-size: 14px; font-weight: 750; color: var(--text-primary); }
.card-title i { color: var(--accent); }
.card-body { padding: 21px; }
.stats-grid { gap: 16px; }
.stat-card { padding: 20px; min-width: 0; transition: border-color .18s, box-shadow .18s; }
.stat-card:hover { transform: none; border-color: var(--border-hover); box-shadow: var(--shadow-md); }
.stat-value { font-size: clamp(22px, 2vw, 30px); line-height: 1.3; font-weight: 800; letter-spacing: -1px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.stat-label { color: var(--text-secondary); font-size: 12px; font-weight: 550; }
.stat-icon { width: 35px; height: 35px; border-radius: 11px; }
.stat-caption { display: block; font-size: 10px; color: var(--text-muted); margin-top: 8px; line-height: 1.5; }
.btn { min-height: 38px; border-radius: 10px !important; font-size: 12px !important; font-weight: 700 !important; transition: background .15s, box-shadow .15s; }
.btn-primary { background: #e96832 !important; border: 1px solid #e96832 !important; box-shadow: 0 4px 10px #e9683224 !important; color: #fff !important; }
.btn-primary:hover { background: #cf5322 !important; border-color: #cf5322 !important; transform: none !important; }
.btn-secondary { background: var(--bg-card) !important; border-color: var(--border) !important; color: var(--text-primary) !important; box-shadow: none !important; }
.btn-secondary:hover { background: var(--bg-card-hover) !important; border-color: var(--border-hover) !important; }
.form-control, input[type="text"], input[type="search"], input[type="date"], input[type="number"], select, textarea {
  color: var(--text-primary) !important; background-color: var(--bg-input) !important; border-color: var(--border) !important;
  border-radius: 9px !important; min-height: 38px; padding: 9px 12px; box-shadow: none !important;
}
.form-control:focus, input:focus, select:focus, textarea:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px #e9683218 !important; }
input::placeholder, textarea::placeholder { color: var(--text-muted) !important; opacity: 1; }
.search-wrapper { position: relative; background: var(--bg-input) !important; border: 1px solid var(--border) !important; border-radius: 9px !important; }
.search-wrapper .search-input { width: 100%; padding-left: 42px !important; border: none !important; background: transparent !important; }
.search-wrapper > i { pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); }
.data-table th, .freight-data-table th, .report-freight-data-table th { background: var(--bg-secondary) !important; color: var(--text-secondary) !important; font-size: 10px; letter-spacing: .4px; }
.data-table td, .freight-data-table td, .report-freight-data-table td { font-size: 12px; padding: 14px 16px; border-color: var(--border); font-variant-numeric: tabular-nums; }
.data-table tbody tr:hover { background: var(--bg-card-hover); }
.table-container { overflow-x: auto; overscroll-behavior-x: contain; }
.badge { border-radius: 6px; padding: 4px 8px; font-weight: 600; }
.empty-state { padding: 44px 24px; }
.empty-state h3 { font-size: 16px; margin: 12px 0 5px; }
.empty-state p { font-size: 13px; color: var(--text-secondary); max-width: 480px; margin: 0 auto; }
.empty-state > i { background: var(--bg-secondary); padding: 18px; border-radius: 18px; font-size: 28px; }
.nf-card { border-color: var(--border); border-radius: 12px; }
.nf-details { row-gap: 7px; }
.nf-card:hover { transform: none; }
.tabs, .freight-tabs { border-color: var(--border); }
.freight-tabs { background: var(--bg-card) !important; padding: 5px; border: 1px solid var(--border); border-radius: 12px; }
.freight-tab { color: var(--text-secondary) !important; min-height: 39px; font-size: 12px; }
.freight-tab.active { color: #fff !important; background: #253450 !important; box-shadow: 0 2px 6px #13203918; }
.freight-callout { background: var(--bg-card) !important; color: var(--text-primary); border-color: var(--border) !important; }
.freight-callout strong { color: var(--text-primary) !important; }
.freight-stats-grid .stat-value { white-space: normal; }
.dashboard-freight-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.dashboard-freight-status-card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
.dashboard-freight-status-card strong { font-size: 24px; }
.dashboard-freight-status-card small { font-size: 10px; }
.dashboard-freight-status-card:hover { cursor: pointer; }
.dashboard-subsidy-card { background: linear-gradient(120deg, var(--bg-card), var(--bg-secondary)); }
.dashboard-subsidy-card .stat-value { font-size: 34px; }
.dashboard-subsidy-hint { max-width: 300px; line-height: 1.5; }
.command-center { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; background: linear-gradient(110deg, #232a45, #283c58); color: #fff; padding: 25px 28px; border-radius: 17px; margin-bottom: 21px; position: relative; overflow: hidden; }
.command-center::after { content: ''; position: absolute; pointer-events: none; width: 210px; height: 210px; right: -90px; top: -110px; border: 30px solid #ffffff05; border-radius: 50%; }
.command-kicker { display: flex; gap: 8px; align-items: center; font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; color: #efb090; font-weight: 700; }
.command-center h3 { color: white; font-size: 25px; margin: 9px 0 7px; line-height: 1.3; letter-spacing: -.8px; }
.command-center p { color: #c1cbe0; font-size: 12px; line-height: 1.7; max-width: 530px; }
.command-actions { display: flex; gap: 9px; margin-top: 17px; flex-wrap: wrap; }
.command-actions .btn-secondary { background: #ffffff08 !important; border-color: #ffffff30 !important; color: #fff !important; }
.command-pulse { display: flex; flex-direction: column; justify-content: center; gap: 11px; border-left: 1px solid #ffffff1a; padding-left: 28px; }
.command-pulse-row { display: flex; align-items: center; gap: 11px; color: #ced7e9; font-size: 12px; }
.command-pulse-row i { display: grid; place-items: center; border-radius: 9px; width: 31px; height: 31px; background: #ffffff0c; color: #ffc8a5; }
.command-pulse-row strong { color: #fff; margin-left: auto; font-size: 17px; font-variant-numeric: tabular-nums; }
.journey-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.journey-bar button { border: 1px solid var(--border); background: var(--bg-card); color: var(--text-secondary); font-size: 11px; border-radius: 8px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; }
.journey-bar button[aria-current="step"] { background: var(--accent-light); border-color: #eeaa8a; color: #ac3e14; }
.journey-bar b { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; }
.journey-bar > i { font-size: 9px; color: var(--text-muted); }
.context-strip { display: flex; gap: 12px; align-items: center; padding: 13px 17px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); margin-bottom: 18px; font-size: 12px; color: var(--text-secondary); }
.context-strip > i { color: var(--blue); }
.context-strip span { flex: 1; }
.context-strip button { border: none; background: transparent; color: var(--accent); font-size: 12px; white-space: nowrap; font-weight: 700; }
.connection-notice { margin-bottom: 14px; padding: 12px 16px; background: var(--yellow-bg); color: var(--text-primary); border: 1px solid var(--yellow); border-radius: 10px; font-size: 12px; }
.workspace-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-bottom: 17px; padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); }
.workspace-filters label { display: grid; gap: 5px; font-size: 10px; font-weight: 650; color: var(--text-secondary); }
.workspace-filters select { width: 160px; font-size: 12px; }
.workspace-filters input { width: 145px; font-size: 12px; }
.workspace-filters .filter-search { flex: 1; min-width: 180px; }
.workspace-filters .filter-search input { width: 100%; }
.workspace-filters .filter-reset { margin-left: auto; }
.filter-note { font-size: 10px; color: var(--text-muted); margin: -7px 3px 14px; }
.modal-overlay { position: fixed !important; inset: 0 !important; width: 100% !important; height: 100dvh !important; z-index: 9990 !important; padding: 18px !important; background: #11182788 !important; backdrop-filter: blur(5px); }
.modal { max-height: calc(100dvh - 36px) !important; margin: auto !important; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-modal); box-shadow: 0 30px 90px #0004; }
.modal-header, .modal-footer { padding: 18px 22px; flex-shrink: 0; }
.modal-body { padding: 22px; overflow-y: auto; }
.modal-close { min-width: 32px; min-height: 32px; }
body.modal-active { overflow: hidden; }
.treatment-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 22px; }
.treatment-metrics div { background: var(--bg-secondary); border-radius: 10px; padding: 12px; }
.treatment-metrics small { display: block; font-size: 10px; color: var(--text-secondary); margin-bottom: 5px; }
.treatment-metrics strong { font-size: 14px; font-variant-numeric: tabular-nums; }
.help-step { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--border); }
.help-step > b { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; background: var(--accent-light); color: var(--accent); border-radius: 9px; }
.help-step h4 { font-size: 14px; margin: 0 0 5px; }
.help-step p { font-size: 12px; color: var(--text-secondary); }
.metric-definitions { display: grid; gap: 10px; margin-top: 20px; font-size: 12px; }
.metric-definitions p { background: var(--bg-secondary); border-radius: 10px; padding: 12px; }
.command-search-results { display: grid; gap: 4px; margin-top: 12px; }
.command-search-results button { display: flex; gap: 12px; align-items: center; width: 100%; padding: 12px; border: 0; background: transparent; border-radius: 8px; color: var(--text-primary); text-align: left; font-size: 13px; }
.command-search-results button:hover, .command-search-results button:focus { background: var(--bg-secondary); }
.command-search-results button i { color: var(--accent); width: 20px; }
.command-search-results button span { color: var(--text-muted); margin-left: auto; font-size: 11px; }
.toast-container { z-index: 10000; max-width: calc(100vw - 28px); }
#contestacaoTexto { background: var(--bg-secondary) !important; }
.financial-note { padding: 11px 14px; margin-bottom: 15px; border-radius: 10px; background: var(--bg-secondary); color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
[data-theme="dark"] .journey-bar button[aria-current="step"] { color: #ffc7a6; background: #50352c; border-color: #8a573e; }
[data-theme="dark"] .btn-secondary { background: var(--bg-card) !important; color: var(--text-primary) !important; border-color: var(--border) !important; }
[data-theme="dark"] .form-control, [data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea, [data-theme="dark"] .search-wrapper { color: var(--text-primary) !important; background-color: var(--bg-input) !important; border-color: var(--border) !important; }
@media (max-width: 1200px) { .dashboard-freight-summary { grid-template-columns: 1fr; } .command-center { grid-template-columns: 1.25fr 1fr; gap: 18px; } }
@media (max-width: 900px) {
  .topbar { padding: 15px 18px !important; }
  .page-content { padding: 14px 18px 28px; }
  .topbar, .topbar-right, .dynamic-topbar-right { height: auto !important; min-width: 0; }
  .topbar { flex-wrap: wrap; gap: 12px; }
  .topbar-right { width: 100%; }
  .dynamic-topbar-right, .dynamic-topbar-right .page-header-right { flex-wrap: wrap; width: 100%; }
  .sidebar { width: var(--sidebar-w) !important; }
  body.sidebar-collapsed .nav-section-label { display: block; }
  body.sidebar-collapsed .sidebar-utility { flex-direction: row; }
  body.sidebar-collapsed .sidebar-utility button { flex: 1; width: auto; }
  body.sidebar-collapsed .sidebar-utility span { display: inline; }
  .command-center { grid-template-columns: 1fr; padding: 22px; }
  .command-pulse { border-left: 0; border-top: 1px solid #ffffff1a; padding: 15px 0 0; }
  #page-dashboard > div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 600px) {
  .freight-callout { display: grid !important; grid-template-columns: 36px minmax(0, 1fr); }
  .freight-callout > div { min-width: 0; }
  .freight-callout .btn { grid-column: 2; margin-left: 0 !important; justify-self: start; }
  .dynamic-topbar-right .page-header-right { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
  .dynamic-topbar-right .page-header-right .btn { width: auto !important; flex: 1 1 auto; }
  .dynamic-topbar-right .freight-header-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .freight-header-actions .btn-label { display: inline !important; }
  .page-content { padding-inline: 12px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
  .stat-card { padding: 15px; }
  .stat-value { font-size: 22px; }
  .stat-label { font-size: 11px; }
  .stat-icon { width: 29px; height: 29px; }
  .command-center h3 { font-size: 22px; }
  .command-actions { flex-direction: column; align-items: stretch; }
  .command-actions .btn { justify-content: center; }
  .journey-bar { gap: 6px; }
  .journey-bar button { font-size: 10px; padding: 7px; }
  .journey-bar > i { display: none; }
  .context-strip { align-items: flex-start; flex-wrap: wrap; }
  .context-strip button { margin-left: 26px; }
  .dashboard-freight-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-freight-status-card { flex-direction: row; }
  .workspace-filters label { flex: 1 1 130px; }
  .workspace-filters label select, .workspace-filters label input { width: 100%; min-width: 0; }
  .treatment-metrics { grid-template-columns: repeat(2, 1fr); }
  .card-header, .card-body { padding: 16px; }
  .freight-table-body, .report-freight-table-body { padding: 0 !important; }
  .freight-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .freight-tab { flex-shrink: 0; }
  .form-grid-2 { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sidebar .sidebar-footer { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 8px !important; padding: 12px !important; min-height: 64px; flex-shrink: 0; border-top: 1px solid var(--sidebar-border); }
.sidebar-account { display: flex; gap: 8px; align-items: center; min-width: 0; }
.sidebar-avatar { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 10px; background: #f3794226; color: #ffb48b; font-size: 12px; font-weight: 800; }
.sidebar-identity { display: grid; gap: 3px; min-width: 0; }
.sidebar-identity strong { font-size: 11px; color: #eef2fc; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-identity small { font-size: 9px; color: #a6b0c9; }
.sidebar-account-actions { display: flex; gap: 4px; flex-shrink: 0; }
.sidebar-account-actions button { display: grid; place-items: center; width: 30px; height: 32px; padding: 0; background: transparent; border: 1px solid transparent; border-radius: 8px; color: #bdc8e1; }
.sidebar-account-actions button:hover { background: #ffffff0e; color: #fff; border-color: #ffffff1a; }
/* The compact rail must fit even when its navigation has a vertical scrollbar. */
@media (min-width: 901px) {
  body.sidebar-collapsed .sidebar .sidebar-header { display: flex; flex-direction: column; gap: 4px; padding: 8px 0 !important; height: 90px !important; min-height: 90px; flex-shrink: 0; }
  body.sidebar-collapsed .sidebar .brand { flex: 0 0 40px; width: 40px; height: 40px; justify-content: center !important; margin: 0 auto; }
  body.sidebar-collapsed .sidebar .collapse-btn { display: grid !important; place-items: center; width: 32px; height: 24px; min-height: 24px; padding: 0; margin: 0 auto; flex-shrink: 0; }
  body.sidebar-collapsed .sidebar .sidebar-nav { padding: 8px 0 !important; align-items: stretch; }
  body.sidebar-collapsed .sidebar-utility { grid-template-columns: minmax(0, 1fr); justify-items: center; padding: 0; }
  body.sidebar-collapsed .sidebar-utility button { width: 36px; height: 36px; min-height: 36px; margin: 0; }
  body.sidebar-collapsed .sidebar .nav-item { width: 40px; min-width: 40px; gap: 0 !important; }
  body.sidebar-collapsed .sidebar .sidebar-footer { flex-direction: column !important; gap: 4px !important; padding: 8px 4px !important; min-height: 0; }
  body.sidebar-collapsed .sidebar-identity { display: none; }
  body.sidebar-collapsed .sidebar-account-actions { gap: 2px; }
  body.sidebar-collapsed .sidebar-account-actions button { width: 26px; height: 28px; }
}
