/*
 * Expedição — CSS próprio do módulo novo (Ledger DS 3.0).
 *
 * Prefixo `exp-`: não colide com o `xp-` do módulo legado e torna o módulo
 * autocontido — quando o legado sair da árvore, nada aqui depende dele.
 */

.exp-heading { margin-bottom: 12px; }
.exp-kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 1.1px; color: var(--ds-color-text-secondary); font-weight: 600; }
.exp-etapas { margin-bottom: 16px; }
.exp-scope { margin: 0 0 12px; font-size: 12px; color: var(--ds-color-text-secondary); }
.exp-read-note { padding: 11px 14px; font-size: 12px; color: var(--ds-color-text-secondary); }

/* Arranjo de 3 colunas, herdado do MWOS: fila · conferência · a faturar. */
.exp-3col { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) minmax(240px, 300px); gap: 16px; align-items: start; }
.exp-col { min-width: 0; background: var(--ds-color-background-surface); border: 1px solid var(--ds-color-border-default); border-radius: var(--ds-component-panel-radius, 8px); overflow: hidden; }
.exp-fila, .exp-side { max-height: calc(100dvh - 190px); overflow: auto; }
.exp-conf { padding: 0 4px 12px; }

/* Manchete de alarme: renderiza sempre, mesmo vazia. */
.exp-manchete { margin-bottom: 16px; }
.exp-alarmes { display: flex; gap: 18px; flex-wrap: wrap; font-size: 12px; color: var(--ds-color-text-secondary); }

.exp-grupo { padding: 8px 10px 4px; }
.exp-grupo h3 { font-size: 11px; text-transform: uppercase; letter-spacing: .09em; color: var(--ds-color-text-secondary); margin: 6px 2px; }

.exp-card { display: flex; flex-direction: column; gap: 3px; width: 100%; align-items: stretch; justify-content: flex-start; text-align: left; padding: 10px 11px; margin-bottom: 8px; border-radius: var(--ds-component-button-radius, 6px); white-space: normal; min-height: 0; }
.exp-card[aria-expanded="true"], .exp-card:focus-visible { border-color: var(--ds-color-border-focus); }
.exp-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.exp-card-ref { font-family: var(--font-mono, monospace); font-size: 11px; color: var(--ds-color-text-secondary); }
.exp-card-meta { font-size: 11px; color: var(--ds-color-text-secondary); }
.exp-card-foot { font-size: 11px; color: var(--ds-color-text-secondary); }

.exp-side-empty { color: var(--ds-color-text-secondary); }
.exp-fatgrupo { padding: 10px 12px; border-bottom: 1px solid var(--ds-color-border-default); }
.exp-fatgrupo-cli { font-weight: 600; font-size: 12px; }
.exp-fatgrupo-sub { font-size: 11px; color: var(--ds-color-text-secondary); margin: 2px 0 6px; }
.exp-fatlista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.exp-fatlista a { font-size: 12px; }

.exp-room-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); gap: 16px; align-items: start; }
.exp-cards { display: flex; flex-direction: column; gap: 8px; }
.exp-cards button { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; text-align: left; width: 100%; white-space: normal; padding: 10px 12px; }
.exp-cards button span { font-size: 11px; color: var(--ds-color-text-secondary); }

/* Checklist de aptidão: distingue verificado, bloqueio e NÃO verificado. */
.exp-checklist { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
.exp-checkitem { display: flex; gap: 10px; align-items: flex-start; }
.exp-checkico { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 12px; }
.exp-check.ok { background: var(--ds-color-status-success-background); color: var(--ds-color-status-success-foreground); }
.exp-check.block { background: var(--ds-color-status-critical-background); color: var(--ds-color-status-critical-foreground); }
.exp-check.unknown { background: var(--ds-color-status-neutral-background); color: var(--ds-color-status-neutral-foreground); }
.exp-checktxt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.exp-checktxt small { color: var(--ds-color-text-secondary); font-size: 11px; }

.exp-volumes { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; }
.exp-volumes label { max-width: 170px; }

.exp-trilha { font-family: var(--font-mono, monospace); font-size: 11px; color: var(--ds-color-text-secondary); }
.exp-seta { padding: 0 5px; color: var(--ds-color-text-secondary); }

@media (max-width: 1100px) {
  .exp-3col { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .exp-side { grid-column: 1 / -1; max-height: none; }
}
@media (max-width: 760px) {
  .exp-3col, .exp-room-grid { grid-template-columns: 1fr; }
  .exp-fila, .exp-side { max-height: none; }
}

/* Nome do cliente: sem negrito, uma linha só, reticências quando não couber. */
.exp-card-cli{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}
.exp-card-top .badge{flex:none}

/* Topo compacto: título, etapas e avisos na mesma linha. */
.exp-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 12px}
.exp-top-title{display:flex;flex-direction:column;min-width:0}
.exp-top-title h1{margin:0;font-size:20px;line-height:1.2}
.exp-etapas{margin:0;flex:1 1 auto}
.exp-avisos-wrap{position:relative;margin-left:auto}
.exp-avisos{display:inline-flex;align-items:center;gap:7px;font-size:12px;min-height:30px;padding:4px 11px}
.exp-avisos-dot{width:9px;height:9px;border-radius:50%;background:var(--ds-color-status-warning-foreground);box-shadow:0 0 0 3px rgba(245,158,11,.25)}
.exp-avisos-lista{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:260px;max-width:340px;background:var(--ds-color-background-surface);border:1px solid var(--ds-color-border-default);border-radius:8px;box-shadow:0 8px 28px #0003;padding:10px 12px;font-size:12px}
.exp-avisos-lista ul{margin:0;padding-left:16px}
.exp-avisos-lista li{margin:3px 0}
.exp-hint,.exp-empty{margin:0;padding:10px 12px;font-size:12px}

/* Ação principal em destaque: preenchimento sólido no CTA da conferência. */
#acaoBox .primary,form[data-record] button.primary{background:var(--ds-color-action-primary-background,#111);color:var(--ds-color-action-primary-foreground,#fff);border-color:var(--ds-color-action-primary-background,#111);font-weight:600}

/* Topo: "Sair" discreto e afastado de "Voltar ao Hub" (evita clique acidental). */
.module-header .module-actions{gap:14px}
.module-header .module-actions #logout{background:transparent;border-color:transparent;color:var(--ds-color-text-secondary);padding:7px 8px}
.module-header .module-actions #logout:hover{background:var(--ds-color-background-fill-secondary,#f2f2f2)}

/* Data grid da conferência: SKU e Tam. não podem espremer; Produto pode quebrar. */
form[data-record] table{table-layout:fixed}
form[data-record] th:nth-child(1),form[data-record] td:nth-child(1){width:18%}
form[data-record] th:nth-child(2),form[data-record] td:nth-child(2){width:34%;white-space:normal;overflow-wrap:anywhere}
form[data-record] th:nth-child(3),form[data-record] td:nth-child(3){width:16%}
form[data-record] th:nth-child(4),form[data-record] td:nth-child(4){width:8%}
form[data-record] th:nth-child(5),form[data-record] td:nth-child(5){width:10%}
form[data-record] th:nth-child(6),form[data-record] td:nth-child(6){width:14%}

/* Topo: UMA linha — título · etapas · escopo · avisos. */
.exp-top{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;margin:0 0 10px;min-width:0}
.exp-top h1{margin:0;font-size:20px;line-height:1.2;white-space:nowrap}
.exp-top .exp-etapas{margin:0 0 0 auto;flex:0 1 auto;border:0}
.exp-escopo{font-size:12px;color:var(--ds-color-text-secondary);white-space:nowrap}
.exp-avisos-wrap{position:relative;flex:none}
.exp-kicker{display:none}

/* Empresa | Local no topo, compactos. */
.exp-filtros{display:flex;align-items:center;gap:10px;flex:none}
.exp-filtros label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:11px;color:var(--ds-color-text-secondary);font-weight:600}
.exp-filtros select{min-height:30px;padding:4px 8px;font-size:12px;background:var(--ds-color-background-surface);color:inherit;border:1px solid var(--ds-color-border-control,#c9c9c9);border-radius:6px;width:auto;min-width:120px}

/* Header fixo: título à esquerda, abas centradas, filtros e avisos à direita. */
.exp-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:10px 0;margin:0 0 10px;background:var(--ds-color-background-canvas);border-bottom:1px solid var(--ds-color-border-default)}
.exp-header h1{margin:0;font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-self:start}
.exp-header .exp-etapas{margin:0;justify-self:center;border:0;flex-wrap:nowrap}
.exp-header-right{display:flex;align-items:center;gap:12px;justify-self:end;min-width:0}
.exp-top{display:none}
