:root { --azul: #1F3A5F; }
body { background: #F4F6F9; }
.barra { background: var(--azul); }
.tarjeta { transition: box-shadow .15s, transform .15s; }
.tarjeta:hover { box-shadow: 0 .4rem 1rem rgba(0,0,0,.08); transform: translateY(-1px); }
.card { border-color: #E3E7ED; }
.card-header { background: #FAFBFC; }

.tabla-lineas td { vertical-align: top; }
.tabla-lineas input.form-control-sm { min-width: 80px; }
.precio-mod { background-color: #FFF3BF !important; }
input.guardando { background-image: linear-gradient(90deg, #E7F1FF, #fff); }
.texto-largo { white-space: pre-line; max-width: 60ch; }

.notas-lista { max-height: 60vh; overflow-y: auto; }
.nota { border-left: 3px solid #CED4DA; padding: .35rem .6rem; margin-bottom: .6rem; background: #FAFBFC; border-radius: 0 .3rem .3rem 0; }
.nota.de-admin { border-left-color: var(--azul); }
.nota.propia { background: #EEF4FF; }
.texto-nota { white-space: pre-line; font-size: .9rem; }

.exp-izq { min-height: 60vh; }
.exp-lista { max-height: 65vh; overflow-y: auto; }
.exp-der { max-height: 72vh; overflow-y: auto; }
.explorador[data-modo="ver"] { background: #fff; border: 1px solid #E3E7ED; border-radius: .4rem; }
.actividad { max-height: 50vh; overflow-y: auto; }

/* Móvil: cada partida como una tarjeta */
@media (max-width: 767.98px) {
  .tabla-lineas thead { display: none; }
  .tabla-lineas tbody tr { display: grid; grid-template-columns: 1fr 1fr auto; gap: .25rem .75rem;
    padding: .6rem .75rem; border-bottom: 1px solid #DEE2E6; }
  .tabla-lineas tbody td { border: 0; padding: 0; text-align: left !important; }
  .tabla-lineas .c-desc { grid-column: 1 / 3; grid-row: 1; }
  .tabla-lineas .c-acc { grid-column: 3; grid-row: 1; }
  .tabla-lineas .c-cod { grid-column: 1; grid-row: 2; }
  .tabla-lineas .c-ud { grid-column: 2; grid-row: 2; }
  .tabla-lineas .c-med { grid-column: 1; grid-row: 3; }
  .tabla-lineas .c-precio { grid-column: 2 / 4; grid-row: 3; }
  .tabla-lineas .c-imp { grid-column: 1 / 4; grid-row: 4; text-align: right !important; }
  .tabla-lineas .c-med::before, .tabla-lineas .c-precio::before, .tabla-lineas .c-imp::before, .tabla-lineas .c-ud::before {
    content: attr(data-label); display: block; font-size: .72rem; color: #6C757D; font-weight: 400; }
  .tabla-lineas .c-imp::before, .tabla-lineas .c-ud::before { display: inline; margin-right: .4rem; }
  .tabla-lineas tfoot td { background: #F8F9FA; }
  .tabla-lineas tfoot tr { display: flex; justify-content: space-between; }
  .tabla-lineas tfoot td:empty { display: none; }
  .tabla-lineas tfoot td[colspan] { text-align: left !important; }
}
