/* App Mantención — mismo diseño que las apps de Ingeniería (proyectos.easywood.cl)
   y el Panel de visualizadores: fondo crema, paneles blancos con borde fino y
   acento madera. Paleta y medidas tomadas de su app.css el 19-10-2026, a pedido
   ("que el diseño sea similar a las App de Jesús"). Bootstrap sigue debajo: acá
   sólo se le cambian colores, radios y tamaños, así las plantillas no cambian. */
:root {
  --bg: #f5f3ef;
  --panel: #ffffff;
  --panel-2: #faf8f5;
  --line: #e4dfd7;
  --line-2: #f0ece6;
  --text: #25221e;
  --muted: #7a7268;
  --accent: #8a5a2b;
  --accent-2: #b98452;
  --accent-osc: #744a22;
  --ok: #2f7d4f;
  --warn: #c98a12;
  --alert: #c0392b;
  --info: #3b6ea8;
  --shadow: 0 1px 2px rgba(40, 30, 20, .06), 0 2px 8px rgba(40, 30, 20, .05);
  --radius: 10px;
  --anillo: 0 0 0 3px rgba(138, 90, 43, .2);

  --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-body-font-size: .875rem;
  --bs-body-color: #25221e;
  --bs-body-color-rgb: 37, 34, 30;
  --bs-emphasis-color: #25221e;
  --bs-secondary-color: #7a7268;
  --bs-tertiary-bg: #faf8f5;
  --bs-border-color: #e4dfd7;
  --bs-border-radius: 8px;
  --bs-border-radius-sm: 6px;
  --bs-border-radius-lg: 10px;
  --bs-primary: #8a5a2b;
  --bs-primary-rgb: 138, 90, 43;
  --bs-secondary-rgb: 122, 114, 104;
  --bs-success: #2f7d4f;
  --bs-success-rgb: 47, 125, 79;
  --bs-danger: #c0392b;
  --bs-danger-rgb: 192, 57, 43;
  --bs-warning: #c98a12;
  --bs-warning-rgb: 201, 138, 18;
  --bs-info: #3b6ea8;
  --bs-info-rgb: 59, 110, 168;
  --bs-link-color: #8a5a2b;
  --bs-link-color-rgb: 138, 90, 43;
  --bs-link-hover-color: #744a22;
  --bs-link-hover-color-rgb: 116, 74, 34;
  --bs-focus-ring-color: rgba(138, 90, 43, .2);
  /* Avisos con los colores de las alertas de Ingeniería */
  --bs-success-text-emphasis: #1f5c39;
  --bs-success-bg-subtle: #e8f4ec;
  --bs-success-border-subtle: #b9dcc5;
  --bs-danger-text-emphasis: #8a2a1f;
  --bs-danger-bg-subtle: #fbe9e7;
  --bs-danger-border-subtle: #e8b4ad;
  --bs-warning-text-emphasis: #7a5410;
  --bs-warning-bg-subtle: #fff4e0;
  --bs-warning-border-subtle: #ecd29a;
  --bs-info-text-emphasis: #2c527d;
  --bs-info-bg-subtle: #eaf0f7;
  --bs-info-border-subtle: #c6d6ea;
  --bs-light-text-emphasis: #25221e;
  --bs-light-bg-subtle: #faf8f5;
  --bs-light-border-subtle: #e4dfd7;
}

body { background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
body.con-tabs { padding-bottom: 76px; }
@media (min-width: 992px) { body.con-tabs { padding-bottom: 0; } }
main.container { max-width: 1080px; }
a { text-underline-offset: 2px; }
h5, .h5 { font-size: 1.2rem; font-weight: 650; letter-spacing: -.005em; }
h6, .h6 { font-weight: 650; }
.text-hint { color: var(--muted); font-size: 12.5px; }
/* Título de bloque, como los grupos de Ingeniería */
.ew-sec { margin: 22px 0 8px; padding-bottom: 4px; border-bottom: 1px solid var(--line);
  font-size: 12px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--accent); }
.ic { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.25em; }

/* Barra superior */
.topbar { position: sticky; top: 0; z-index: 1020; background: var(--panel); border-bottom: 1px solid var(--line); }
.topbar-in { max-width: 1080px; min-height: 52px; margin: 0 auto; padding: 8px 16px;
  display: flex; align-items: center; gap: 18px; }
.brand { display: flex; align-items: center; gap: 8px; font-weight: 650; letter-spacing: .01em;
  color: var(--text); text-decoration: none; white-space: nowrap; }
a.brand:hover { color: var(--text); }
.brand-mark { width: 18px; height: 18px; flex: none; border-radius: 4px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.tabs { display: flex; gap: 2px; }
.tabs a { padding: 7px 12px; border-radius: 8px; color: var(--muted); font-weight: 550; text-decoration: none; }
.tabs a:hover { color: var(--text); }
.tabs a.active { background: var(--bg); color: var(--text); }
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.topbar-right .btn .ic { margin-right: 4px; }
.yo { display: flex; align-items: center; gap: 7px; padding: 4px 6px; border: 0; border-radius: 8px;
  background: none; color: var(--text); font-weight: 550; }
.yo:hover, .yo[aria-expanded="true"] { background: var(--bg); }
.av { display: inline-grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%;
  background: var(--accent-2); color: #fff; font-size: 11.5px; font-weight: 700; }
@media (max-width: 991.98px) { .tabs, .solo-escritorio { display: none !important; } }
@media (max-width: 400px) { .yo-nombre { display: none; } }

.dropdown-menu {
  --bs-dropdown-min-width: 230px;
  --bs-dropdown-padding-x: 4px;
  --bs-dropdown-padding-y: 4px;
  --bs-dropdown-font-size: .875rem;
  --bs-dropdown-color: var(--text);
  --bs-dropdown-border-color: var(--line);
  --bs-dropdown-border-radius: 10px;
  --bs-dropdown-link-color: var(--text);
  --bs-dropdown-link-hover-color: var(--text);
  --bs-dropdown-link-hover-bg: var(--bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--accent);
  --bs-dropdown-item-padding-x: 10px;
  --bs-dropdown-item-padding-y: 7px;
  --bs-dropdown-item-border-radius: 6px;
  --bs-dropdown-divider-bg: var(--line);
  --bs-dropdown-divider-margin-y: 4px;
  box-shadow: 0 10px 30px rgba(40, 30, 20, .2);
}
.dropdown-item { display: flex; align-items: center; gap: 9px; }
.dropdown-item .ic { color: var(--muted); }
.dropdown-item:active .ic { color: #fff; }
.menu-title { padding: 6px 10px 4px; font-size: 12px; font-weight: 650; color: var(--muted); }
.menu-ver { padding: 2px 10px 4px; font-size: 11px; color: var(--muted); opacity: .75; }

/* Barra inferior (celular) */
.ew-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex;
  background: var(--panel); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom);
  box-shadow: 0 -2px 10px rgba(40, 30, 20, .04); }
.ew-tabs a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 0 7px;
  color: var(--muted); font-size: 11px; font-weight: 550; line-height: 1.1; text-decoration: none; }
.ew-tabs .ic { width: 22px; height: 22px; }
.ew-tabs a.active { color: var(--accent); }
/* Reportar es la acción principal: va resaltada al centro */
.ew-tabs a.rep .ic { width: 26px; height: 26px; margin-top: -2px; padding: 4px; border-radius: 8px;
  background: var(--accent); color: #fff; stroke-width: 2.4; }
@media (min-width: 992px) { .ew-tabs { display: none; } }

/* Ingreso */
.login { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 12px; padding: 24px 16px; }
.login > .alert { width: 100%; max-width: 400px; margin: 0; }
.login-card { width: 100%; max-width: 400px; display: grid; gap: 14px; padding: 28px; background: var(--panel);
  border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.login-card .brand { font-size: 15px; }
.login-card h1 { margin: 0; font-size: 1.05rem; font-weight: 650; }
.login-card label { display: grid; gap: 6px; margin: 0; font-weight: 550; }
.login-card .form-text { margin: 0; font-weight: 400; }
.login-card .error { margin: 0; color: var(--alert); }
.login-card .help { margin: 0; font-size: 13px; color: var(--muted); }
.login-card .ver { margin: 0; font-size: 11px; color: var(--muted); opacity: .7; text-align: center; }
@media (max-width: 420px) { .login-card { padding: 22px 18px; } }

/* Botones: primario madera, secundario blanco con borde fino */
.btn { --bs-btn-font-size: .875rem; --bs-btn-font-weight: 550; --bs-btn-padding-x: 14px; --bs-btn-padding-y: 7px;
  --bs-btn-border-radius: 8px; --bs-btn-focus-box-shadow: var(--anillo); }
.btn-lg { --bs-btn-font-size: 1rem; --bs-btn-padding-x: 18px; --bs-btn-padding-y: 11px; --bs-btn-border-radius: 10px; }
.btn-sm { --bs-btn-font-size: .8125rem; --bs-btn-padding-x: 10px; --bs-btn-padding-y: 4px; --bs-btn-border-radius: 7px; }
.btn .ic { margin-right: 6px; }
.btn-primary { --bs-btn-color: #fff; --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--accent-osc); --bs-btn-hover-border-color: var(--accent-osc);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #5f3c1b; --bs-btn-active-border-color: #5f3c1b;
  --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #c4a68a; --bs-btn-disabled-border-color: #c4a68a; }
.btn-outline-primary { --bs-btn-color: var(--accent); --bs-btn-bg: var(--panel); --bs-btn-border-color: var(--accent-2);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--accent); --bs-btn-hover-border-color: var(--accent);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--accent-osc); --bs-btn-active-border-color: var(--accent-osc);
  --bs-btn-disabled-color: var(--accent-2); --bs-btn-disabled-bg: var(--panel); --bs-btn-disabled-border-color: var(--line); }
.btn-outline-secondary, .btn-outline-dark, .btn-light {
  --bs-btn-color: var(--text); --bs-btn-bg: var(--panel); --bs-btn-border-color: var(--line);
  --bs-btn-hover-color: var(--text); --bs-btn-hover-bg: var(--panel); --bs-btn-hover-border-color: var(--accent-2);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--accent); --bs-btn-active-border-color: var(--accent);
  --bs-btn-disabled-color: var(--muted); --bs-btn-disabled-bg: var(--panel); --bs-btn-disabled-border-color: var(--line); }
.btn-outline-dark .ic, .btn-outline-secondary .ic { color: var(--accent); }
.btn-success, .btn-wa { --bs-btn-color: #fff; --bs-btn-bg: var(--ok); --bs-btn-border-color: var(--ok);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #256641; --bs-btn-hover-border-color: #256641;
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #1d5234; --bs-btn-active-border-color: #1d5234; }
.btn-outline-success { --bs-btn-color: var(--ok); --bs-btn-bg: var(--panel); --bs-btn-border-color: #9cc7a6;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--ok); --bs-btn-hover-border-color: var(--ok);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--ok); --bs-btn-active-border-color: var(--ok); }
.btn-outline-danger { --bs-btn-color: var(--alert); --bs-btn-bg: var(--panel); --bs-btn-border-color: #e8b4ad;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--alert); --bs-btn-hover-border-color: var(--alert);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--alert); --bs-btn-active-border-color: var(--alert); }
.btn-warning { --bs-btn-color: #7a5410; --bs-btn-bg: #fbefd5; --bs-btn-border-color: #efd9a8;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--warn); --bs-btn-hover-border-color: var(--warn);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #a8730f; --bs-btn-active-border-color: #a8730f; }
.btn-link { --bs-btn-font-weight: 500; }
/* Punto de color en los botones de sí/no (antes eran emojis) */
.dot { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%; vertical-align: 1px; }
.dot.rojo { background: var(--alert); }
.dot.verde { background: var(--ok); }
.btn-check:checked + .btn .dot { background: #fff; }

/* Formularios */
.form-label { margin-bottom: 4px; font-weight: 600; }
.form-control, .form-select { border-color: var(--line); background-color: var(--panel); color: var(--text); }
.form-control::placeholder { color: #a39a8f; }
.form-control:focus, .form-select:focus { border-color: var(--accent-2); box-shadow: var(--anillo); }
/* En el celular quedan en 16 px: con menos, el iPhone hace zoom al escribir */
@media (min-width: 768px) {
  .form-control:not(.form-control-sm), .form-select:not(.form-select-sm) { font-size: .875rem; }
}
.form-check-input { border-color: #cfc6ba; }
.form-check-input:checked { background-color: var(--accent); border-color: var(--accent); }
.form-check-input:focus { border-color: var(--accent-2); box-shadow: var(--anillo); }
.input-group-text { border-color: var(--line); color: var(--muted); }
.ew-ia-ok { background-color: #fbefd5 !important; }

/* Avisos */
.alert { --bs-alert-padding-x: 12px; --bs-alert-padding-y: 8px; --bs-alert-border-radius: 8px;
  --bs-alert-margin-bottom: 12px; font-size: 13px; }
.alert-dismissible { padding-right: 40px; }
.alert-dismissible .btn-close { padding: 11px 12px; }

/* Tarjetas, como los paneles de Ingeniería */
.card { --bs-card-border-color: var(--line); --bs-card-border-radius: var(--radius); --bs-card-inner-border-radius: 9px;
  --bs-card-cap-bg: var(--panel-2); --bs-card-cap-padding-x: 14px; --bs-card-cap-padding-y: 10px;
  --bs-card-spacer-x: 16px; --bs-card-spacer-y: 14px; box-shadow: var(--shadow); }
.card-header { font-weight: 650; }
details.card > summary { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; }
details.card > summary::-webkit-details-marker { display: none; }
details.card > summary::after { content: ""; flex: none; width: 7px; height: 7px; margin-left: auto;
  border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted);
  transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
details.card[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
details.card:not([open]) > summary { border-bottom: 0; border-radius: var(--bs-card-inner-border-radius); }
details.card > summary .ic { color: var(--accent); }

.ew-kpi { display: block; height: 100%; padding: 14px 16px; background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow); color: inherit; text-decoration: none;
  transition: border-color .15s; }
.ew-kpi:hover { border-color: var(--accent-2); color: inherit; }
.ew-kpi .num { font-size: 28px; font-weight: 700; line-height: 1.1; }
.ew-kpi .lbl { margin-top: 2px; color: var(--muted); font-size: 12px; }
.ew-kpi.alerta .num { color: var(--alert); }

.ew-fila { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; padding: 10px 12px;
  background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow);
  color: inherit; text-decoration: none; transition: border-color .15s; }
.ew-fila:hover { border-color: var(--accent-2); color: inherit; }
.ew-fila .min { flex: 1; min-width: 0; }
.ew-fila .titulo { font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
.ew-fila .sub { color: var(--muted); font-size: 12.5px; }
.ew-fila .sub .ic, .ew-dato .ic { width: 14px; height: 14px; vertical-align: -2px; color: var(--muted); }
/* Máquina detenida: marca roja a la izquierda, como lo atrasado en Ingeniería */
.ew-detenida { box-shadow: inset 3px 0 0 var(--alert), var(--shadow); }
.ew-thumb { width: 52px; height: 52px; flex: none; display: grid; place-items: center; border-radius: 8px;
  background: #ece8e1; color: var(--muted); object-fit: cover; }
.ew-thumb .ic { width: 24px; height: 24px; }

/* Estados de la OM, con los colores de las insignias de Ingeniería */
.badge { --bs-badge-padding-x: 7px; --bs-badge-padding-y: 2px; --bs-badge-font-size: 11px;
  --bs-badge-font-weight: 650; --bs-badge-border-radius: 6px; --bs-badge-color: var(--muted);
  background: #eeeae4; vertical-align: 1px; }
.badge.st-nueva { background: #fbefd5; color: #8a5d05; }
.badge.st-en_curso { background: #e3ecf6; color: var(--info); }
.badge.st-esperando { background: #ede7f6; color: #4a3aa7; }
.badge.st-terminada { background: #dcefe3; color: var(--ok); }
.badge.st-anulada { background: #eeeae4; color: var(--muted); }
.badge.detenida { background: #f8dcd8; color: var(--alert); }
.badge.text-bg-secondary { background: #eeeae4 !important; color: var(--muted) !important; }
.badge.text-bg-light { background: var(--panel-2) !important; color: var(--text) !important; }

.ew-chip { display: inline-flex; align-items: center; margin: 0 4px 6px 0; padding: 4px 11px;
  border: 1px solid var(--line); border-radius: 14px; background: var(--panel); color: var(--muted);
  font-size: 12.5px; font-weight: 550; text-decoration: none; }
.ew-chip:hover { border-color: var(--accent-2); color: var(--text); }
.ew-chip.on { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Tablas */
.table { --bs-table-border-color: var(--line-2); margin-bottom: 0; }
.table thead th { background: var(--panel-2); color: var(--muted); font-size: 11px; font-weight: 600; }
.table-responsive { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); }

/* Fotos */
.ew-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 6px; }
.ew-galeria .ph { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px;
  background: #ece8e1; border: 1px solid var(--line); }
.ew-galeria .ph > a { display: block; width: 100%; height: 100%; }
.ew-galeria img { width: 100%; height: 100%; object-fit: cover; }
.ew-galeria .ph form { position: absolute; top: 3px; right: 3px; margin: 0; }
.ew-galeria .ph form .quitar { position: static; }
.ew-galeria .clase { position: absolute; left: 0; right: 0; bottom: 0; padding: 1px 5px;
  background: rgba(37, 34, 30, .6); color: #fff; font-size: 11px; }
.ew-galeria .quitar { position: absolute; top: 3px; right: 3px; width: 24px; height: 24px; border: 0;
  border-radius: 50%; background: rgba(37, 34, 30, .65); color: #fff; font-size: 15px; line-height: 1; }
.ew-foto-btn { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 10px;
  border: 1.5px dashed #d6cec2; border-radius: var(--radius); background: var(--panel-2); color: var(--muted);
  font-weight: 550; text-align: center; cursor: pointer; transition: border-color .15s, color .15s; }
.ew-foto-btn:hover { border-color: var(--accent-2); color: var(--text); }
.ew-foto-btn .ic { width: 26px; height: 26px; color: var(--accent); }
.ew-foto-btn input[type=file] { display: none; }

/* Mensaje de WhatsApp: verde suave, como lo "libre" en Ingeniería */
.ew-wa { padding: 12px 14px; background: #eef7f0; border: 1px solid #b9dcc5; border-radius: var(--radius); }
.ew-wa.destacado { box-shadow: 0 0 0 3px rgba(47, 125, 79, .16); }
.ew-wa strong .ic { color: var(--ok); }
.ew-wa textarea { white-space: pre-wrap; font-size: 13px; background: var(--panel); }
/* Partes del mensaje que se eligen antes de enviar */
.wa-partes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.wa-parte { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 4px 10px;
  border: 1px solid #b9dcc5; border-radius: 14px; background: var(--panel); font-size: 12.5px;
  font-weight: 550; cursor: pointer; }
.wa-parte .form-check-input { margin: 0; }
.wa-parte .form-check-input:checked { background-color: var(--ok); border-color: var(--ok); }

/* Bitácora: línea de tiempo de Ingeniería */
.ew-bitacora { list-style: none; margin: 0; padding: 0; }
.ew-bitacora li { position: relative; padding: 0 0 12px 24px; }
.ew-bitacora li::before { content: ""; position: absolute; left: 0; top: 2px; width: 14px; height: 14px;
  border-radius: 50%; background: var(--accent-2); border: 3px solid var(--bg); box-shadow: 0 0 0 1px var(--line); }
.ew-bitacora li::after { content: ""; position: absolute; left: 6px; top: 18px; bottom: 0; width: 2px; background: #e9e3da; }
.ew-bitacora li:last-child::after { display: none; }
.ew-bitacora .cuando { color: var(--muted); font-size: 12px; }

.ok-grande .ic { width: 56px; height: 56px; color: var(--ok); stroke-width: 1.6; }

/* Equipo: tabla editable como la de Ingeniería; en el celular, una tarjeta por persona */
.badge.ok { background: #dcefe3; color: var(--ok); }
.badge.warn { background: #fbefd5; color: #8a5d05; }
.badge.info { background: #e3ecf6; color: var(--info); }
.team-table { width: 100%; border-collapse: collapse; }
.team-table th { padding: 8px 10px; border-bottom: 1px solid var(--line); background: var(--panel-2);
  color: var(--muted); font-size: 11px; font-weight: 600; text-align: left; white-space: nowrap; }
.team-table td { padding: 8px 10px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.team-table tr:last-child td { border-bottom: 0; }
.team-table tr.inactiva td { background: var(--panel-2); }
.team-table tr.inactiva .form-control, .team-table tr.inactiva .form-select { color: var(--muted); }
.team-table .acceso { font-size: 12px; white-space: nowrap; }
.team-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.team-acciones form { margin: 0; }
@media (min-width: 768px) {
  .team-table .form-control, .team-table .form-select { padding: 5px 8px; font-size: 13px; }
  .team-table td:nth-child(1) { min-width: 170px; }
  .team-table td:nth-child(2), .team-table td:nth-child(4) { min-width: 200px; }
  .team-table td:nth-child(3) { min-width: 165px; }
}
@media (max-width: 767.98px) {
  .team-table thead { display: none; }
  .team-table, .team-table tbody, .team-table tr, .team-table td { display: block; width: 100%; }
  .team-table tr { padding: 12px 14px; border-bottom: 1px solid var(--line); }
  .team-table tr:last-child { border-bottom: 0; }
  .team-table td { padding: 4px 0; border: 0; }
  .team-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px;
    color: var(--muted); font-size: 11px; font-weight: 600; }
  .team-table td.team-acciones { display: flex; padding-top: 8px; }
}
.ew-temporal { border-color: var(--accent-2); box-shadow: 0 0 0 3px rgba(185, 132, 82, .18); }
.pw-show { display: inline-block; padding: 6px 14px; border: 1px dashed var(--accent-2); border-radius: 8px;
  background: var(--panel-2); font: 700 22px/1.3 ui-monospace, "Cascadia Mono", Consolas, monospace;
  letter-spacing: .08em; user-select: all; }
.ew-registro .fila { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 7px 0; border-bottom: 1px solid var(--line-2);
  font-size: 13px; }
.ew-registro .fila:last-child { border-bottom: 0; }
.ew-registro .cuando { min-width: 118px; color: var(--muted); font-size: 12px; white-space: nowrap; }

/* Hoja de QR para imprimir */
.qr-hoja { display: grid; grid-template-columns: repeat(auto-fill, minmax(62mm, 1fr)); gap: 4mm; }
.qr-etq { padding: 3mm; border: 1px dashed #b3a999; border-radius: 2mm; background: #fff; text-align: center;
  break-inside: avoid; }
.qr-etq img, .qr-chico img { image-rendering: pixelated; }
.qr-etq img { width: 38mm; height: 38mm; }
.qr-chico img { width: 132px; height: 132px; }
.qr-etq .t { margin-top: 1mm; font-weight: 700; font-size: 11pt; line-height: 1.15; }
.qr-etq .s { font-size: 8pt; color: #444; }
@media print {
  body, body.con-tabs { background: #fff; padding: 0; }
  .no-print, .topbar, .ew-tabs, .alert { display: none !important; }
  main.container { max-width: none; padding: 0; }
}
