/* Botón «Asiento» de la cabecera y su modal. Mismos tokens y medidas que el buscador de módulos. */
#appHeader .asiento-trigger {
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:36px; height:36px; padding:0;
  border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg);
  color:var(--text-2); font:500 12px var(--font-sans); cursor:pointer; white-space:nowrap;
}
#appHeader .asiento-trigger[hidden] { display:none; }
#appHeader .asiento-trigger:hover { border-color:var(--accent); background:var(--accent-weak); color:var(--accent-strong); }
#appHeader .asiento-trigger:focus-visible, .asiento-close:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.asiento-trigger svg { width:19px; height:19px; flex:none; }
#asientoDialog {
  box-sizing:border-box; width:min(980px, calc(100vw - 40px)); max-width:none;
  max-height:min(820px, 86vh); max-height:min(820px, 86dvh);
  margin:7vh auto auto; padding:0; border:1px solid var(--border); border-radius:var(--radius-lg);
  color:var(--text); background:var(--surface); box-shadow:var(--shadow-modal);
  font:14px/1.5 var(--font-sans); overflow:hidden;
}
#asientoDialog[open] { display:flex; flex-direction:column; }
#asientoDialog::backdrop { background:rgba(22,42,56,.42); }
.asiento-heading { display:flex; align-items:flex-start; gap:16px; padding:20px 20px 10px; flex:none; }
.asiento-heading h2 { font-size:19px; line-height:1.35; margin:0 0 4px; font-weight:700; }
.asiento-heading p { font-size:12px; color:var(--text-2); margin:0; }
.asiento-close { margin-left:auto; width:44px; height:44px; flex:none; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); color:var(--text-2); font:24px/1 var(--font-sans); cursor:pointer; }
#asientoContexto { margin:0 20px 8px; padding:6px 10px; border-radius:var(--radius-sm); background:var(--accent-weak); color:var(--accent-strong); font-size:12px; font-weight:600; flex:none; }
#asientoContexto[hidden] { display:none; }
#asientoForm { display:flex; gap:8px; margin:0 20px 12px; flex:none; }
#asientoInput { flex:1; min-width:0; height:42px; padding:0 12px; border:2px solid var(--accent); border-radius:var(--radius-sm); background:transparent; color:var(--text); font:16px var(--font-code); }
#asientoForm button { height:42px; padding:0 16px; border:0; border-radius:var(--radius-sm); background:var(--accent); color:#fff; font:600 13px var(--font-sans); cursor:pointer; }
#asientoResultado { overflow:auto; overscroll-behavior:contain; min-height:0; padding:0 20px 20px; }
.asiento-msg { margin:8px 0; font-size:14px; color:var(--text); }
.asiento-msg--nota { font-size:12px; color:var(--text-2); }
.asiento-msg--error { color:var(--neg); }
.asiento-bloque + .asiento-bloque { margin-top:18px; }
.asiento-cab { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:8px 0; font-size:13px; color:var(--text-2); }
.asiento-cab b { color:var(--text); font-size:14px; }
.asiento-ok, .asiento-ko { margin-left:auto; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:700; }
.asiento-ok { background:var(--pos-bg, var(--accent-weak)); color:var(--pos, var(--accent-strong)); }
.asiento-ko { background:var(--warn-bg); color:var(--warn); }
.asiento-tabla { overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-sm); }
.asiento-tabla table { width:100%; border-collapse:collapse; font-size:12.5px; }
.asiento-tabla th { text-align:left; padding:7px 10px; background:var(--bg); color:var(--text-3); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid var(--border); }
.asiento-tabla td { padding:7px 10px; border-bottom:1px solid var(--border); vertical-align:top; }
.asiento-tabla tfoot td { font-weight:700; border-bottom:0; background:var(--bg); }
.asiento-tabla .num { text-align:right; font-family:var(--font-num); white-space:nowrap; }
.asiento-cta { font-family:var(--font-code); white-space:nowrap; }
.asiento-nombre { display:block; font-weight:600; color:var(--text); }
.asiento-tercero { display:block; font-size:12px; font-weight:600; color:var(--accent-strong); }
.asiento-concepto { display:block; font-size:11.5px; color:var(--text-2); overflow-wrap:anywhere; }
.asiento-marcas { white-space:nowrap; text-align:right; }
.asiento-origen { display:inline-block; padding:1px 6px; border:1px solid var(--border); border-radius:999px; font-size:10px; color:var(--text-3); }
@media (max-width:768px) {
  #appHeader .asiento-trigger { width:44px; height:44px; background:var(--surface); }
  #asientoDialog { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); margin:12px auto auto; border-radius:var(--radius); }
  .asiento-heading { padding:16px 14px 10px; }
  #asientoContexto, #asientoForm { margin-left:14px; margin-right:14px; }
  #asientoResultado { padding:0 14px 16px; }
  .asiento-marcas { display:none; }
}
