/* Hoy, Cuentas y recibos and Ajustes (batch BO: bo3 created this file with the rules of web/manage/app.css at HEAD
   6ee02b6 that Hoy, Salud, Cuentas y recibos, Ajustes and Sedes use; bo7 owns it and adds the rules of its views:
   Resumen's three blocks with Atención and Ventas de hoy, Movimientos' lists, the day stepper, Operaciones perdidas'
   acknowledgement block, Salud's strip and labelled rows, the Factura completa form and Ajustes' blocks;
   BO-2.0-DESIGN 3.1, 4.3, 5.2, 5.3). Wholly inside @layer app. The Management floor classes (bo-btn, bo-input,
   bo-check, bo-chip, bo-link, bo-row, bo-icon) keep their one source in web/platform/shell.css and editor.css: no
   selector here ends in one of them. Colours come from the tokens only; the locked status classes are used by name
   in the markup and never restyled here (design 8.6). */
@layer app {
  .kv { display: grid; grid-template-columns: max-content 1fr; gap: var(--space-1) var(--space-4); font-size: var(--font-size-200); }
  .kv dd { margin: 0; overflow-wrap: anywhere; }
  .fleet-row { flex-wrap: wrap; }
  .fleet-flag { font-weight: 700; }
  .z-variance { font-weight: 700; }
  .z-section { margin: var(--space-3) 0; }
  .z-table { border-collapse: collapse; font-size: var(--font-size-200); }
  .z-table th, .z-table td { border-bottom: 1px solid var(--border); padding: var(--space-1) var(--space-3); text-align: left; }

  /* The page of each tab: blocks one under the other; the list column beside the panel keeps its own width. */
  .hoy-page, .hoy, .invoices { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
  .hoy-main { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
  .hoy-block { display: flex; flex-direction: column; gap: var(--space-2); }
  /* A table-of-contents heading (design 2.5 and 5.2): 16 px bold, and a jump never lands under the sticky layers. */
  .hoy-h { margin: 0; font-size: var(--font-size-300); font-weight: 700; scroll-margin-top: calc(var(--bo-sticky-top) + var(--space-4)); }
  .hoy-title { margin: 0; font-size: var(--font-size-300); font-weight: 700; }
  .hoy-line { margin: 0; font-size: var(--font-size-200); }
  .hoy-muted { color: var(--text-muted); font-size: var(--font-size-200); }
  .hoy-unknown { margin: 0; font-size: var(--font-size-200); font-weight: 700; }
  .hoy-kv { margin: var(--space-2) 0; }

  /* Atención: one line per thing that needs the owner, its mark, its words and its action. */
  .hoy-att-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-1); }
  .hoy-att, .hoy-att-none { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; min-height: var(--touch-pointer);
    font-size: var(--font-size-200); }
  .hoy-att-mark { flex: none; }

  /* Ventas de hoy: three figures in a row, the amounts in tabular digits (design 5.2). */
  .hoy-figures { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); margin: 0; }
  .hoy-figure { display: flex; flex-direction: column; gap: var(--space-1); }
  .hoy-figure dt { color: var(--text-muted); font-size: var(--font-size-100); }
  .hoy-figure dd { margin: 0; font-size: var(--font-size-400); font-weight: 700; font-variant-numeric: tabular-nums; }

  /* Movimientos: the lists with rows, one card per list. */
  .hoy-lists { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--space-3); }
  .hoy-list { display: flex; flex-direction: column; gap: var(--space-1); }
  .hoy-rows { list-style: none; margin: 0; padding: 0; }
  .hoy-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); padding: var(--space-1) 0;
    border-bottom: 1px solid var(--panel); font-size: var(--font-size-200); }

  /* The day stepper of Informes and Cuentas y recibos: ‹ the date field › and Actualizar on one line. */
  .hoy-stepper { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-2); }
  .hoy-date { margin: 0; }
  .hoy-step { padding: 0 var(--space-2); }

  /* Operaciones perdidas: the one acknowledgement block under the list (BO-D37). */
  .lost-type { display: inline-flex; align-items: center; gap: var(--space-1); }
  .lost-ack { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); max-width: 560px; padding: var(--space-3) 0;
    border-top: 1px solid var(--border); }
  .lost-ack .bo-field { align-self: stretch; }

  /* Salud: the status strip's counters, then the labelled rows. */
  .health-strip { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
  .health-counter { display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--font-size-200); }
  .health-rows { max-width: 880px; }

  /* Cuentas y recibos: the Factura completa form inside the panel. */
  .inv-form { display: flex; flex-direction: column; gap: var(--space-1); max-width: 560px; }
  .inv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-2); }

  /* Ajustes > Local: one block per setting; the save bar sits under them (editor.css .bo-editor). */
  .settings { display: flex; flex-direction: column; gap: var(--space-4); }
  .settings-block { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; }
  .settings-hours { display: flex; flex-wrap: wrap; gap: var(--space-3); }
}
