@layer legacy {
:root { --surface:#fff; --surface-soft:#f5f7fa; --text:#17202a; --muted:#65717d; --line:#dbe1e7; --primary:#165d8f; --primary-hover:#0f4c77; --danger:#aa2e25; --danger-soft:#fff0ef; --success:#176b45; --success-soft:#edf8f2; --radius:.8rem; color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; background:var(--surface-soft); color:var(--text); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.catalog-open { overflow:hidden; }
#app-shell { min-height:100vh; }
.app-header { position:sticky; top:0; z-index:20; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem max(1rem,calc((100vw - 92rem)/2)); background:color-mix(in srgb,var(--surface) 96%,transparent); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.brand-block h1 { margin:0; font-size:clamp(1.3rem,2vw,1.8rem); }
.brand-block p { margin:.2rem 0 0; color:var(--muted); }
.eyebrow { margin:0 0 .2rem!important; color:var(--primary)!important; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.header-actions { display:flex; align-items:center; gap:.6rem; }
.module-trigger { display:inline-flex; align-items:center; gap:.45rem; }
.global-logout { border-color:var(--danger); background:var(--danger-soft); color:var(--danger); }
#module-stage { width:min(92rem,100%); margin:0 auto; padding:1.25rem 1rem 5rem; }
.ui-module { display:none!important; margin:0; }
.ui-module.ui-active { display:block!important; }
.ui-module>h2,.screen-heading h2 { margin:0; font-size:clamp(1.45rem,3vw,2rem); }
.ui-module>h2+p { color:var(--muted); }
.screen-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:1rem; }
section,.ui-module>section { border:1px solid var(--line); border-radius:var(--radius); padding:1rem; background:var(--surface); box-shadow:0 1px 2px #1018200a; }
.ui-home { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ui-home:not(.ui-active) { display:none!important; }
.ui-home .screen-heading { grid-column:1/-1; }
.home-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.home-context div { padding:.8rem; border:1px solid var(--line); border-radius:.65rem; background:var(--surface); }
.home-context span { display:block; color:var(--muted); font-size:.8rem; }
.home-context strong { display:block; margin-top:.2rem; }
.module-pergola.ui-active { display:grid!important; grid-template-columns:minmax(20rem,.75fr) minmax(34rem,1.4fr); gap:1rem; align-items:start; }
.module-polls #poll-list,.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:.85rem; }
.module-polls #poll-list .row,.card { min-width:0; border:1px solid var(--line)!important; border-radius:var(--radius); padding:1rem!important; background:var(--surface); display:grid; gap:.55rem; }
.module-access #access-form,.module-users #user-form { margin-bottom:1rem; }
#gate-devices-panel { margin-top:1rem; background:var(--surface-soft); }
.users-gate-policy { padding:1rem; border:1px solid #d9e1ec; border-radius:.85rem; background:#fff; }
.users-gate-policy > summary { cursor:pointer; color:#123761; font-weight:750; }
.gate-policy-form { display:grid; gap:1rem; margin-top:1rem; }
.gate-policy-form fieldset { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:.75rem; min-width:0; margin:0; padding:1rem; border:1px solid #d9e1ec; border-radius:.75rem; }
.gate-policy-form legend { padding:0 .35rem; color:#123761; font-weight:750; }
.gate-policy-field { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-height:2.65rem; color:#34455e; font-weight:650; }
.gate-policy-field select,.gate-policy-field input[type=number] { width:min(100%,13rem); min-height:2.5rem; padding:.35rem .55rem; border:1px solid #c9d4e2; border-radius:.6rem; background:#fff; font:inherit; }
.gate-policy-field input[type=checkbox] { flex:none; width:1.25rem; height:1.25rem; accent-color:#123761; }
.gate-policy-form .muted { grid-column:1/-1; margin:.1rem 0; line-height:1.4; }
.gate-policy-categories { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:.4rem .8rem; }
.gate-policy-categories[hidden] { display:none; }
.gate-policy-categories > p { grid-column:1/-1; margin:.15rem 0; font-weight:700; }
.gate-policy-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; }
.gate-policy-actions [role=status] { margin:0; color:#174a87; }
.ui-form:not(.conv-policy-card) { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:.8rem!important; align-items:end; }
.ui-form:not(.conv-policy-card) label { min-width:0!important; display:grid; gap:.35rem; color:var(--muted); font-size:.88rem; font-weight:650; }
input,select,textarea { width:100%; min-width:0; min-height:2.75rem; border:1px solid #b9c3cd; border-radius:.55rem; padding:.6rem .7rem; background:var(--surface); color:var(--text); font:inherit; }
textarea { min-height:7rem; resize:vertical; }
button { min-height:2.75rem; border:1px solid var(--primary); border-radius:.55rem; padding:.58rem .85rem; background:var(--primary); color:white; font:inherit; font-weight:700; cursor:pointer; }
button:hover { background:var(--primary-hover); }
button:disabled { opacity:.56; cursor:not-allowed; }
button.button-secondary { background:var(--surface); color:var(--primary); }
button.button-danger { border-color:var(--danger); background:var(--danger-soft); color:var(--danger); }
.card>button { justify-self:stretch!important; }
.badge,.status { display:inline-flex; width:fit-content; border-radius:999px; padding:.25rem .55rem; background:#e8eef4; font-size:.78rem; font-weight:800; }
.muted { color:var(--muted); opacity:1!important; }
.notice { width:min(92rem,calc(100% - 2rem)); margin:.75rem auto 0; border-radius:.6rem; padding:.7rem 1rem; font-weight:650; white-space:pre-line; }
.notice-success { background:var(--success-soft); color:var(--success); }
.notice-error { background:var(--danger-soft); color:var(--danger); }
.frontend-update-notice { position:fixed; z-index:90; right:1rem; bottom:1rem; display:flex; width:min(32rem,calc(100vw - 2rem)); align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border:1px solid #bfdbfe; border-radius:.8rem; background:#eff6ff; color:#1e3a8a; box-shadow:0 .75rem 2rem rgb(15 23 42 / .18); }
.frontend-update-notice[hidden] { display:none!important; }
.frontend-update-notice>div:first-child { display:grid; gap:.2rem; min-width:0; }
.frontend-update-notice strong { font-size:.9rem; }
.frontend-update-notice small { color:#475569; font-size:.75rem; line-height:1.35; }
.frontend-update-notice>div:last-child { display:flex; flex:none; gap:.5rem; }
.frontend-update-notice button { width:auto; min-height:2.35rem; padding:.4rem .7rem; font-size:.78rem; }
.ui-legacy-message,.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.qr { display:grid; place-items:center; padding:.8rem; background:white; border-radius:.7rem; }
.qr svg { width:min(100%,20rem)!important; }
table { width:100%; }
td:last-child { display:flex; flex-wrap:wrap; gap:.4rem; }
#module-catalog { width:min(72rem,calc(100vw - 2rem)); max-height:min(48rem,calc(100vh - 2rem)); padding:0; border:0; border-radius:1rem; color:var(--text); background:transparent; }
#module-catalog::backdrop { background:#14223380; backdrop-filter:blur(3px); }
#module-catalog.catalog-fallback-open { position:fixed; inset:1rem; display:block; margin:auto; z-index:40; }
.catalog-surface { overflow:auto; max-height:inherit; border:1px solid var(--line); border-radius:1rem; padding:1.25rem; background:var(--surface); box-shadow:0 1.5rem 4rem #14223340; }
.catalog-header { display:flex; justify-content:space-between; gap:1rem; align-items:start; margin-bottom:1rem; }
.catalog-header h2 { margin:0; font-size:1.7rem; }
.catalog-header p:not(.eyebrow) { margin:.25rem 0 0; color:var(--muted); }
.catalog-header button { width:2.75rem; padding:0; font-size:1.5rem; }
.module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.module-card { position:relative; display:grid; grid-template-columns:2.6rem 1fr; grid-template-rows:auto auto; width:100%; min-height:7.4rem; padding:.85rem; text-align:left; border-color:var(--line); background:var(--surface); color:var(--text); }
.module-card:hover:not(:disabled),.module-card.active { border-color:var(--primary); background:#eef6fb; }
.module-card--pergola .pergola-pending-badge,.module-card--tickets .pergola-pending-badge { position:absolute; inset-block-start:-.45rem; inset-inline-end:-.45rem; z-index:1; display:grid; min-width:1.65rem; height:1.65rem; place-items:center; padding:0 .3rem; border:2px solid var(--surface); border-radius:999px; background:#dc2626; color:#fff; font-size:.7rem; font-weight:800; line-height:1; box-shadow:0 1px 3px rgb(127 29 29 / .28); pointer-events:none; }
.module-card:disabled { color:var(--muted); background:var(--surface-soft); }
.module-icon { grid-row:1/-1; display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:.6rem; background:#e8eef4; color:var(--primary); font-size:1.2rem; }
.module-card-copy { display:grid; gap:.2rem; }
.module-card-copy small { color:var(--muted); font-weight:500; }
.module-state { justify-self:start; margin-top:.45rem; border-radius:999px; padding:.18rem .45rem; font-size:.7rem; font-weight:800; }
.module-state.enabled { background:var(--success-soft); color:var(--success); }
.module-state.disabled { background:#e8eef4; color:var(--muted); }
.catalog-footer { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }
@media(max-width:760px) {
  .app-header { position:sticky; align-items:start; padding:.8rem .75rem; }
  .brand-block h1 { font-size:1.25rem; }
  .header-actions { flex-direction:column; align-items:stretch; }
  .header-actions button { min-height:2.65rem; white-space:nowrap; }
  .global-logout { font-size:.78rem; }
  .module-trigger { justify-content:center; }
  #module-stage { padding:.8rem .65rem 6rem; }
  .ui-home,.module-pergola.ui-active { display:grid!important; grid-template-columns:1fr; }
  .ui-home:not(.ui-active),.module-pergola:not(.ui-active) { display:none!important; }
  .home-context { grid-template-columns:1fr 1fr; }
  section,.ui-module>section,.card { padding:.85rem; }
  .ui-form { grid-template-columns:1fr; }
  button { width:100%; min-height:3rem; }
  table,thead,tbody,tr,th,td { display:block; width:100%; }
  thead { display:none; }
  tr { border:1px solid var(--line); border-radius:var(--radius); margin:.7rem 0; padding:.7rem; background:var(--surface); }
  td { border:0!important; padding:.3rem!important; }
  td:last-child { display:grid; }
  #module-catalog { width:100vw; max-width:none; max-height:100vh; height:100vh; border-radius:0; }
  #module-catalog.catalog-fallback-open { inset:0; }
  .catalog-surface { min-height:100vh; border-radius:0; padding:1rem; }
  .module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
  .module-card { min-height:8rem; grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .module-icon { grid-row:auto; }
  .module-state { margin-top:.15rem; }
  .catalog-header button { width:3rem; min-height:3rem; }
  .frontend-update-notice { align-items:stretch; flex-direction:column; }
  .frontend-update-notice>div:last-child { width:100%; }
  .frontend-update-notice button { flex:1; }
}

/* Eliminación administrativa del saldo disponible: alcance exclusivo de Finanzas. */
.module-finance .finance-credit-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px}
.module-finance .finance-credit-actions button{width:100%;margin:0}
.module-finance .finance-credit-remove{border-color:#fecaca!important;background:#fff7f7!important;color:#b42318!important}
.module-finance .finance-credit-remove:disabled{opacity:.55;cursor:not-allowed}
.finance-dialog .finance-credit-removal-form{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;align-items:stretch}
.finance-dialog .finance-credit-removal-warning{border:1px solid #fecaca;border-radius:14px;background:#fff7f7;padding:16px;color:#7f1d1d}
.finance-dialog .finance-credit-removal-warning p{margin:8px 0}
.finance-dialog .finance-credit-removal-warning ul{margin:12px 0 0;padding-left:20px}
.finance-dialog .finance-credit-removal-form label{display:grid;gap:7px}
.finance-dialog .finance-credit-removal-form textarea{width:100%;min-height:110px}
.finance-dialog .finance-credit-removal-confirm{grid-template-columns:auto minmax(0,1fr)!important;align-items:start}
.finance-dialog .finance-credit-removal-form .finance-danger{background:#b42318;color:#fff;border-color:#b42318}
@media(max-width:520px){.finance-dialog .finance-credit-removal-warning{padding:14px}.finance-dialog .finance-credit-removal-form{gap:14px!important}}

/* DOCUMENTOS · biblioteca documental privada. Fidelidad de la biblioteca aprobada. */
.module-documents.ui-active { display:grid!important; gap:1.25rem; width:min(100%,var(--content-max)); margin-inline:auto; font-family:var(--font-product); }
.documents-heading { display:grid; gap:.35rem; padding:1.5rem; border:1px solid var(--border); border-radius:1.25rem; background:linear-gradient(125deg,#fff 0%,#f8fbff 100%); box-shadow:var(--shadow-subtle); }
.documents-heading h2,.documents-heading p { margin:0; }.documents-heading h2 { color:var(--text); font-size:clamp(2rem,4vw,2.5rem); letter-spacing:-.035em; }.documents-heading>p:last-child { color:var(--text-secondary); line-height:1.5; }
.documents-library { display:grid; gap:1rem; padding:1.25rem; border:1px solid var(--border); border-radius:1.25rem; background:#fff; box-shadow:var(--shadow-subtle); }
.documents-toolbar { display:flex; justify-content:flex-end; }.documents-toolbar button,.documents-selected-actions button { display:inline-flex; align-items:center; gap:.4rem; }.documents-toolbar svg,.documents-selected-actions svg { width:1rem; height:1rem; }
.documents-toolbar.hidden,.documents-selected-actions.hidden { display:none!important; }
.documents-folders { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr)); gap:.75rem; }
.documents-folder { --folder-color:#2563eb; display:grid; grid-template-columns:2.75rem minmax(0,1fr); align-items:center; gap:.75rem; min-width:0; min-height:6.5rem; padding:1rem; border:1px solid color-mix(in srgb,var(--folder-color) 25%,var(--border)); border-radius:1rem; background:color-mix(in srgb,var(--folder-color) 8%,white); color:var(--text); text-align:left; box-shadow:none; }
.documents-folder:hover,.documents-folder.is-active { border-color:var(--folder-color); background:color-mix(in srgb,var(--folder-color) 13%,white); color:var(--text); transform:translateY(-1px); }
.documents-folder.is-active { box-shadow:0 0 0 2px color-mix(in srgb,var(--folder-color) 18%,transparent); }
.documents-folder__icon { display:grid; width:2.75rem; height:2.75rem; place-items:center; border-radius:.8rem; background:var(--folder-color); color:#fff; }.documents-folder__icon svg { width:1.45rem; height:1.45rem; }
.documents-folder>span:nth-child(2) { display:grid; min-width:0; gap:.2rem; }.documents-folder strong,.documents-folder small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.documents-folder strong { font-size:.95rem; }.documents-folder small { color:var(--text-secondary); font-size:.75rem; }.documents-folder em { grid-column:2; width:max-content; border-radius:999px; padding:.2rem .45rem; background:rgb(255 255 255 / .72); color:var(--text-secondary); font-size:.65rem; font-style:normal; font-weight:700; }
.documents-content { display:grid; gap:1rem; min-width:0; padding-top:1rem; border-top:1px solid var(--border); }.documents-content>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.documents-content h3,.documents-content p { margin:0; }.documents-content h3 { font-size:1.25rem; }.documents-content p { color:var(--text-secondary); font-size:.8rem; }.documents-selected-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
.documents-search { display:flex; align-items:center; gap:.5rem; max-width:28rem; min-width:0; border:1px solid var(--border); border-radius:.75rem; padding:0 .75rem; background:#fff; }.documents-search:focus-within { border-color:var(--brand-600); box-shadow:0 0 0 3px var(--focus-ring); }.documents-search svg { flex:0 0 1.1rem; width:1.1rem; height:1.1rem; color:var(--text-secondary); }.documents-search input { min-height:2.75rem; border:0; padding-inline:0; outline:0; }
.documents-list { display:grid; gap:.5rem; min-width:0; }.documents-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-width:0; padding:.8rem .9rem; border:1px solid var(--border); border-radius:.85rem; background:#fff; }.documents-row__info { display:flex; align-items:center; gap:.75rem; min-width:0; }.documents-row__info>span:last-child { display:grid; min-width:0; gap:.15rem; }.documents-row__info strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.documents-row__info small { color:var(--text-secondary); }.documents-row__pdf { display:grid; flex:0 0 2.5rem; width:2.5rem; height:2.5rem; place-items:center; border-radius:.7rem; background:#fff1f2; color:#be123c; }.documents-row__pdf svg { width:1.35rem; height:1.35rem; }.documents-row__actions { display:flex; align-items:center; gap:.35rem; }.documents-download { display:inline-flex; min-height:2.35rem; align-items:center; border:1px solid var(--brand-600); border-radius:.6rem; padding:.4rem .7rem; color:var(--brand-700); font-size:.78rem; font-weight:700; text-decoration:none; }.documents-download:hover { background:var(--brand-50); }.documents-icon-action { display:grid; width:2.35rem; min-height:2.35rem; place-items:center; padding:0; border-color:var(--border); background:#fff; color:var(--text-secondary); }.documents-icon-action svg { width:1rem; height:1rem; }.documents-icon-action--danger { color:var(--danger); }.documents-empty { margin:0; padding:1.5rem; border:1px dashed var(--border); border-radius:.85rem; color:var(--text-secondary); text-align:center; }
.documents-dialog { width:min(34rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:1rem; background:transparent; }.documents-dialog::backdrop { background:rgb(15 23 42 / .5); }.documents-dialog form { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:1rem!important; max-height:inherit; overflow:auto; padding:1.25rem; border:1px solid var(--border); border-radius:1rem; background:#fff; }.documents-dialog header,.documents-dialog footer,.documents-dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }.documents-dialog h3 { margin:0; }.documents-dialog header [data-close] { width:2.5rem; min-height:2.5rem; padding:0; }.documents-dialog label { display:grid; gap:.35rem; color:var(--text); font-size:.85rem; font-weight:650; }.documents-dialog small { color:var(--text-secondary); font-weight:400; }.documents-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }.documents-dialog fieldset { display:flex; flex-wrap:wrap; gap:1rem; border:1px solid var(--border); border-radius:.75rem; padding:.8rem; }.documents-dialog fieldset label { display:flex; align-items:center; gap:.4rem; }.documents-dialog fieldset input { width:auto; min-height:0; }.documents-dialog footer { justify-content:flex-end; padding-top:.75rem; border-top:1px solid var(--border); }
.module-card--documents .module-icon { background:#7c3aed; color:#fff; }

/* La maqueta Documentos no sustituye el shell: sólo ocupa la superficie interior. */
.module-documents.ui-active { gap:1.5rem; }
.documents-heading { position:relative; min-height:9.5rem; grid-template-columns:3.25rem minmax(0,1fr); align-items:center; gap:1rem; overflow:hidden; padding:2rem; border-color:#dbe4f0; border-radius:1.125rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .04); }
.documents-heading::after { position:absolute; top:-4rem; right:-4rem; width:12rem; height:12rem; border-radius:50%; background:#eff6ff; content:""; }
.documents-heading::before { display:grid; z-index:1; width:3rem; height:3rem; place-items:center; border:1px solid #dbeafe; border-radius:1rem; background:#eff6ff; color:#2563eb; content:"▥"; font-size:1.45rem; font-weight:700; }
.documents-heading>div,.documents-heading>p,.documents-heading>h2 { z-index:1; }
.documents-heading { grid-auto-flow:column; }.documents-heading .eyebrow { grid-column:2; align-self:end; color:#2563eb; font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.documents-heading h2 { grid-column:2; font-size:clamp(1.8rem,3vw,2.35rem); font-weight:750; line-height:1.1; }
.documents-heading>p:last-child { grid-column:2; align-self:start; max-width:43rem; color:#61738f; font-size:1rem; }
.documents-library { gap:0; overflow:hidden; padding:0; border-color:#dbe4f0; border-radius:1.125rem; box-shadow:0 1px 3px rgb(15 23 42 / .06); }
.documents-toolbar { align-items:center; }.documents-toolbar button,.documents-selected-actions button { min-height:2.45rem; border-radius:.75rem; font-size:.875rem; }
.documents-toolbar button { border:1px solid #bfdbfe; background:#f8fbff; color:#1d4ed8; box-shadow:none; }
.documents-toolbar button:hover { background:#eff6ff; }
.documents-library::before { display:block; padding:1.55rem 1.55rem .1rem; color:#172033; content:"Secciones"; font-size:1rem; font-weight:700; }
.documents-library:has(.documents-toolbar:not(.hidden)) .documents-toolbar { position:absolute; right:1.55rem; margin-top:-2.5rem; }
.documents-folders { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding:1.55rem; border-top:1px solid #eef2f7; }
.documents-folder { display:flex; min-height:8.55rem; flex-direction:column; align-items:stretch; justify-content:space-between; gap:1rem; padding:1rem; border-color:#dbe4f0; border-radius:1rem; background:#fff; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.documents-folder:hover { border-color:color-mix(in srgb,var(--folder-color) 40%,#dbe4f0); background:#fff; box-shadow:0 8px 16px color-mix(in srgb,var(--folder-color) 11%,transparent); transform:translateY(-2px); }
.documents-folder.is-active { border:2px solid var(--folder-color); padding:calc(1rem - 1px); background:color-mix(in srgb,var(--folder-color) 4%,#fff); box-shadow:0 0 0 4px color-mix(in srgb,var(--folder-color) 11%,transparent),0 8px 16px color-mix(in srgb,var(--folder-color) 9%,transparent); transform:none; }
.documents-folder__icon { width:2.75rem; height:2.75rem; border-radius:.75rem; box-shadow:0 3px 6px color-mix(in srgb,var(--folder-color) 22%,transparent); }
.documents-folder>span:nth-child(2) { gap:.3rem; }.documents-folder strong { overflow:visible; font-size:.95rem; font-weight:700; white-space:normal; }.documents-folder small { color:#63748e; font-size:.85rem; white-space:normal; }
.documents-folder em { align-self:flex-end; margin-top:-3.35rem; border:0; padding:.32rem .65rem; background:#f1f5f9; color:#475569; font-size:.68rem; font-weight:650; }.documents-folder.is-active em { border:1px solid color-mix(in srgb,var(--folder-color) 24%,transparent); background:#fff; color:color-mix(in srgb,var(--folder-color) 80%,#1e293b); }
.documents-content { gap:1.25rem; padding:1.65rem 1.55rem 1.55rem; border-top-color:#eef2f7; }
.documents-content>header { align-items:center; }.documents-content h3 { font-size:1.15rem; font-weight:750; }.documents-content p { color:#60728e; font-size:.875rem; }
.documents-content>header>div:first-child::before { display:inline-grid; width:2.55rem; height:2.55rem; margin-right:.75rem; place-items:center; border:1px solid color-mix(in srgb,var(--folder-color,#db2777) 20%,transparent); border-radius:.75rem; background:color-mix(in srgb,var(--folder-color,#db2777) 10%,white); color:var(--folder-color,#db2777); content:"▱"; font-size:1.3rem; vertical-align:middle; }
.documents-content>header>div:first-child { display:flex; align-items:center; }
.documents-selected-actions button:first-child { border-color:#2563eb; background:#2563eb; color:#fff; box-shadow:0 4px 8px rgb(37 99 235 / .22); }
.documents-selected-actions button:last-child { border:1px solid #dbe4f0; background:#fff; color:#334155; box-shadow:0 1px 2px rgb(15 23 42 / .05); }
.documents-search { max-width:28rem; border-color:#dbe4f0; border-radius:.75rem; padding-inline:.9rem; }.documents-search input { min-height:2.55rem; color:#172033; }.documents-search input::placeholder { color:#8ba0be; }
.documents-list { gap:.75rem; }
.documents-row { min-height:4.9rem; padding:1rem; border-color:#dbe4f0; border-radius:.85rem; box-shadow:none; }.documents-row:hover { border-color:#cbd5e1; box-shadow:0 2px 5px rgb(15 23 42 / .04); }
.documents-row__pdf { width:2.8rem; height:2.8rem; flex-basis:2.8rem; flex-direction:column; gap:.05rem; border:1px solid #ffe0e5; border-radius:.6rem; background:#fff1f2; color:#e11d48; }.documents-row__pdf svg { width:1rem; height:1rem; }.documents-row__pdf::after { content:"PDF"; font-size:.55rem; font-weight:800; }.documents-row__info small { color:#60728e; font-size:.75rem; }.documents-row__info strong { color:#172033; font-size:.875rem; font-weight:650; }
.documents-row__actions { gap:.5rem; }.documents-download { min-height:2.2rem; gap:.4rem; border-color:#dbe4f0; border-radius:.6rem; color:#334155; font-size:.82rem; font-weight:650; }.documents-download svg { width:1rem; height:1rem; }.documents-download:hover { border-color:#bfdbfe; background:#eff6ff; color:#1d4ed8; }
.documents-icon-action { width:2rem; min-height:2rem; border:0; background:transparent; color:#60728e; }.documents-icon-action:hover:not(:disabled) { background:#f1f5f9; color:#172033; }.documents-icon-action:disabled { color:#cbd5e1; }.documents-action-divider { width:1px; height:1.5rem; margin-inline:.1rem; background:#e2e8f0; }
.documents-dialog { width:min(28rem,calc(100vw - 2rem)); border-radius:1rem; }.documents-dialog::backdrop { background:rgb(15 23 42 / .48); backdrop-filter:blur(3px); }.documents-dialog form { display:block!important; padding:0!important; border-color:#dbe4f0; border-radius:1rem; }.documents-dialog__header { min-height:4rem; padding:0 1.5rem; border-bottom:1px solid #eef2f7; }.documents-dialog__header h3 { color:#172033; font-size:1rem; font-weight:750; }.documents-dialog__header [data-close] { width:2rem; min-height:2rem; border:0; color:#8ba0be; }.documents-dialog__body { display:grid; gap:1.2rem; padding:1.45rem 1.5rem; }.documents-dialog label { gap:.45rem; color:#334155; font-size:.875rem; font-weight:600; }.documents-dialog input,.documents-dialog select { min-height:2.65rem; border-color:#dbe4f0; border-radius:.75rem; box-shadow:none; }.documents-dialog input:focus,.documents-dialog select:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgb(37 99 235 / .1); }
.documents-dialog fieldset { border-color:#dbe4f0; border-radius:.8rem; }.documents-dialog fieldset legend { color:#334155; font-size:.875rem; font-weight:600; }.documents-dialog footer { min-height:4.5rem; padding:0 1.5rem; border-top:1px solid #eef2f7; border-radius:0 0 1rem 1rem; background:#f8fafc; }.documents-dialog footer button { min-height:2.35rem; border-radius:.7rem; font-size:.85rem; font-weight:650; }.documents-dialog footer button[type="submit"] { border-color:#2563eb; background:#2563eb; color:#fff; }
.documents-dialog .documents-color-control { position:relative; grid-template-columns:minmax(0,1fr); }.documents-color-control>select { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.documents-color-preview { display:grid; width:3rem; height:3rem; place-items:center; border-radius:.75rem; color:#fff; box-shadow:0 3px 6px rgb(15 23 42 / .13); }.documents-color-preview svg { width:1.3rem; height:1.3rem; }.documents-color-swatches { display:flex; min-height:5.2rem; flex-wrap:wrap; align-items:center; gap:.55rem; padding:.8rem .8rem .8rem 4.8rem; border:1px solid #dbe4f0; border-radius:.75rem; }.documents-color-swatches button { width:1.7rem; height:1.7rem; min-height:auto; padding:0; border:2px solid #fff; border-radius:50%; background:var(--color); box-shadow:0 0 0 1px transparent; }.documents-color-swatches button.is-selected { transform:scale(1.13); box-shadow:0 0 0 2px var(--color),0 0 0 4px #fff; }.documents-color-control .documents-color-preview { position:absolute; top:2.25rem; left:.85rem; z-index:1; }
.documents-upload-field { position:relative; }.documents-upload-field>input[type="file"] { position:absolute; inset:1.75rem 0 0; z-index:2; width:100%; height:10.5rem; opacity:0; cursor:pointer; }.documents-upload-drop { display:grid; min-height:10.5rem; align-content:center; justify-items:center; gap:.5rem; border:2px dashed #dbe4f0; border-radius:.85rem; background:#fbfdff; color:#52657e; text-align:center; }.documents-upload-drop svg { width:1.45rem; height:1.45rem; padding:.55rem; box-sizing:content-box; border:1px solid #dbe4f0; border-radius:50%; color:#2563eb; }.documents-upload-drop b { padding:.4rem .7rem; border:1px solid #dbe4f0; border-radius:.55rem; background:#fff; color:#334155; font-size:.8rem; font-weight:600; }.documents-upload-drop small { color:#94a3b8; }
@media (max-width:47.5rem) { .module-documents.ui-active { gap:1rem; overflow-x:hidden; }.documents-heading { min-height:8rem; grid-template-columns:2.7rem minmax(0,1fr); padding:1.25rem; border-radius:1rem; }.documents-heading::before { width:2.5rem; height:2.5rem; }.documents-heading h2 { font-size:1.7rem; }.documents-heading>p:last-child { font-size:.88rem; }.documents-library { border-radius:1rem; }.documents-library::before { padding:1.15rem 1rem .1rem; }.documents-library:has(.documents-toolbar:not(.hidden)) .documents-toolbar { position:static; margin:0; padding:0 1rem 1rem; justify-content:stretch; }.documents-toolbar button { width:100%; justify-content:center; }.documents-folders { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; margin:0; padding:1rem; overflow-x:hidden; }.documents-folder { width:100%; min-width:0; }.documents-content { padding:1.25rem 1rem; }.documents-content>header { display:grid; gap:1rem; }.documents-selected-actions { display:grid; grid-template-columns:1fr; }.documents-selected-actions button { justify-content:center; }.documents-search { max-width:none; }.documents-row { align-items:flex-start; flex-direction:column; }.documents-row__info,.documents-row__actions { width:100%; }.documents-row__actions { flex-wrap:wrap; justify-content:flex-end; }.documents-download { margin-right:auto; }.documents-dialog { width:100vw; max-height:100dvh; border-radius:0; }.documents-dialog form { min-height:100dvh; border-radius:0; }.documents-dialog__body { padding:1.25rem; }.documents-color-swatches { padding-left:.8rem; padding-top:4.6rem; }.documents-color-control .documents-color-preview { top:2.25rem; left:50%; transform:translateX(-50%); }.documents-form-grid { grid-template-columns:1fr; } }

@media (max-width:47.5rem) {
  .module-documents.ui-active { gap:1rem; overflow-x:hidden; }.documents-heading,.documents-library { padding:1rem; border-radius:1rem; }.documents-folders { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; margin:0; padding:1rem; overflow-x:hidden; }.documents-folder { width:100%; min-width:0; }.documents-content>header { display:grid; }.documents-selected-actions { display:grid; grid-template-columns:1fr 1fr; justify-content:stretch; }.documents-selected-actions button { justify-content:center; min-width:0; }.documents-search { max-width:none; }.documents-row { align-items:flex-start; flex-direction:column; }.documents-row__info { width:100%; }.documents-row__actions { width:100%; justify-content:flex-end; }.documents-download { margin-right:auto; }.documents-dialog { width:100vw; max-height:100dvh; border-radius:0; }.documents-dialog form { min-height:100dvh; border-radius:0; }.documents-form-grid { grid-template-columns:1fr; }
}

/* DOCUMENTOS · los formularios reales no usan wrappers de maqueta: el espacio vive
   en sus hijos directos para que encabezado, cuerpo y pie conserven el mismo ritmo. */
.documents-dialog { width:min(28rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); border-radius:1rem; }
.documents-dialog form { display:block!important; max-height:inherit; overflow:auto; padding:0!important; border-color:#dbe4f0; border-radius:inherit; }
.documents-dialog form>header { display:flex; min-height:4rem; align-items:center; justify-content:space-between; gap:.6rem; padding:0 1.5rem; border-bottom:1px solid #eef2f7; }
.documents-dialog form>header h3 { color:#172033; font-size:1rem; font-weight:750; }
.documents-dialog form>header [data-close] { width:2rem; min-height:2rem; padding:0; border:0; color:#8ba0be; }
.documents-dialog form>:not(header):not(footer) { margin-inline:1.5rem; }
.documents-dialog form>header+* { margin-top:1.45rem; }
.documents-dialog form>label,.documents-dialog form>.documents-form-grid,.documents-dialog form>fieldset,.documents-dialog form>.documents-dialog-actions { margin-top:1.2rem; }
.documents-dialog form>.documents-dialog-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1.45rem; }
.documents-dialog form>.documents-dialog-actions button { flex:0 0 auto; width:auto; min-height:2.35rem; }
.documents-dialog form>.documents-dialog-actions #documents-category-delete { margin-left:auto; }
.documents-dialog form>fieldset { padding:.9rem; }
.documents-dialog form>fieldset label { padding:.2rem .25rem; }
.documents-dialog form>footer { display:flex; min-height:4.5rem; align-items:center; justify-content:flex-end; gap:.5rem; padding:0 1.5rem; border-top:1px solid #eef2f7; border-radius:0 0 1rem 1rem; background:#f8fafc; }
.documents-dialog form>footer button { min-height:2.35rem; border-radius:.7rem; font-size:.85rem; font-weight:650; }
.documents-dialog .documents-color-swatches { padding:.9rem .9rem .9rem 4.9rem; }
.documents-dialog .documents-upload-drop { margin-top:.1rem; }

@media (max-width:47.5rem) {
  .documents-dialog { width:min(28rem,calc(100vw - 1.25rem)); max-height:calc(100dvh - 1.25rem); border-radius:.875rem; }
  .documents-dialog form { min-height:0; border-radius:.875rem; }
  .documents-dialog form>header { min-height:3.75rem; padding-inline:1.125rem; }
  .documents-dialog form>:not(header):not(footer) { margin-inline:1.125rem; }
  .documents-dialog form>header+* { margin-top:1.2rem; }
  .documents-dialog form>label,.documents-dialog form>.documents-form-grid,.documents-dialog form>fieldset,.documents-dialog form>.documents-dialog-actions { margin-top:1rem; }
  .documents-dialog form>.documents-dialog-actions { margin-bottom:1.2rem; }
  .documents-dialog form>.documents-dialog-actions { justify-content:flex-start; gap:.5rem; }
  .documents-dialog form>footer { min-height:4.25rem; padding-inline:1.125rem; border-radius:0 0 .875rem .875rem; }
  .documents-dialog .documents-color-swatches { padding:.8rem .8rem .8rem 4.55rem; }
}

/* VISITAS · Operación reciente como registro operativo, no como tabla comprimida. */
.module-access .access-admin-operation-list { display:grid; gap:.625rem; }
.module-access .access-admin-operation-feed { display:grid; grid-template-columns:5.75rem minmax(0,1fr) minmax(8rem,10.5rem); column-gap:1.125rem; align-items:stretch; min-width:0; padding:1rem 1.125rem; border:1px solid color-mix(in srgb,var(--access-line) 82%,white); border-radius:1rem; background:#fff; box-shadow:0 2px 8px rgb(15 23 42 / .03); transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast); }
.module-access .access-admin-operation-feed:hover { border-color:var(--access-info-line); background:var(--access-soft); box-shadow:0 4px 12px rgb(15 23 42 / .055); }
.module-access .access-admin-operation-feed__time { align-self:start; min-width:0; border:0; padding:.15rem 0; background:transparent; color:var(--access-muted); cursor:pointer; font:inherit; font-size:.875rem; font-weight:750; font-variant-numeric:tabular-nums; text-align:left; white-space:nowrap; }
.module-access .access-admin-operation-feed__time:hover,.module-access .access-admin-operation-feed__time:focus-visible { color:var(--access-brand-strong); text-decoration:underline; }
.module-access .access-admin-operation-feed__main { display:grid; min-width:0; align-content:start; gap:.2rem; }
.module-access .access-admin-operation-feed__event,.module-access .access-admin-operation-feed__visitor,.module-access .access-admin-operation-feed__meta { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-admin-operation-feed__event { color:var(--access-brand-strong); font-size:.8125rem; font-weight:750; }
.module-access .access-admin-operation-feed__visitor { color:var(--access-ink); font-size:.9375rem; font-weight:750; }
.module-access .access-admin-operation-feed__meta { color:var(--access-muted); font-size:.78rem; font-weight:500; }
.module-access .access-admin-operation-feed__side { display:grid; min-width:0; justify-items:end; align-content:space-between; gap:.5rem; }
.module-access .access-admin-operation-feed__evidence { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; min-height:1.75rem; }
.module-access .access-admin-operation-feed__evidence[hidden] { display:none; }
.module-access .access-admin-operation-feed__evidence .access-evidence-chip { min-height:2rem; padding:.35rem .55rem; border:1px solid #f3d27a; cursor:pointer; }
.module-access .access-admin-operation-feed__more { display:none; }

@media (max-width:68rem) {
  .module-access .access-admin-operation-feed { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"time state" "main main" "evidence evidence" "more more"; gap:.65rem .875rem; padding:1rem; }
  .module-access .access-admin-operation-feed__time { grid-area:time; align-self:center; }
  .module-access .access-admin-operation-feed__main { grid-area:main; gap:.3rem; }
  .module-access .access-admin-operation-feed__event { font-size:.8rem; }
  .module-access .access-admin-operation-feed__visitor { font-size:1rem; }
  .module-access .access-admin-operation-feed__meta { overflow:visible; white-space:normal; line-height:1.4; }
  .module-access .access-admin-operation-feed__side { display:contents; }
  .module-access .access-admin-operation-feed__side .access-activity-status { grid-area:state; justify-self:end; }
  .module-access .access-admin-operation-feed__evidence { grid-area:evidence; justify-content:flex-start; min-height:0; padding-top:.625rem; border-top:1px solid color-mix(in srgb,var(--access-line) 65%,transparent); }
  .module-access .access-admin-operation-feed__more { display:inline-flex; grid-area:more; justify-self:end; min-height:1.5rem; border:0; padding:0; background:transparent; color:var(--access-brand-strong); cursor:pointer; font:inherit; font-size:.78rem; font-weight:700; }
  .module-access .access-admin-operation-feed__more:hover,.module-access .access-admin-operation-feed__more:focus-visible { color:var(--access-ink); text-decoration:underline; }
}

/* MI CUENTA · configuración estrictamente personal, mobile first. */
.module-account.ui-active { display:grid!important; width:min(100%,64rem); gap:1rem; margin-inline:auto; font-family:var(--font-product,"Geist",system-ui,sans-serif); }
.account-heading { display:flex; min-width:0; align-items:flex-start; gap:.75rem; padding:.2rem 0 .35rem; }
.account-heading>div { min-width:0; }.account-heading h2,.account-heading p { margin:0; }.account-heading h2 { color:var(--text); font-size:clamp(1.65rem,6vw,2.25rem); letter-spacing:-.035em; }.account-heading>div>p:last-child:not(.eyebrow) { margin-top:.25rem; color:var(--text-secondary); line-height:1.45; }
.module-account button.account-back { display:grid; flex:0 0 2.75rem; width:2.75rem; min-height:2.75rem; place-items:center; border-color:var(--border); border-radius:.75rem; padding:0; background:#fff; color:var(--text); box-shadow:var(--shadow-subtle); }
.account-back:hover { border-color:var(--brand-600); background:var(--brand-50); color:var(--brand-700); }.account-back svg { width:1.15rem; height:1.15rem; transform:rotate(90deg); }
.account-feedback { border:1px solid transparent; border-radius:.8rem; padding:.8rem .9rem; font-size:.88rem; font-weight:650; outline:0; }.account-feedback.is-success { border-color:#bbf7d0; background:#f0fdf4; color:#166534; }.account-feedback.is-error { border-color:#fecaca; background:#fff1f2; color:#9f1239; }
.module-account .account-identity { display:flex; min-width:0; align-items:center; gap:.9rem; padding:1rem; border:1px solid color-mix(in srgb,var(--brand-600) 18%,var(--border)); border-radius:1rem; background:linear-gradient(130deg,#fff 0%,var(--brand-50) 100%); box-shadow:var(--shadow-subtle); }
.account-avatar,.account-tenant__avatar { display:grid; flex:0 0 auto; place-items:center; border-radius:999px; background:linear-gradient(145deg,var(--brand-600),var(--brand-800)); color:#fff; font-weight:800; }
.account-avatar { width:3.4rem; height:3.4rem; font-size:1.25rem; }.account-identity>div { display:grid; min-width:0; gap:.12rem; }.account-identity h3,.account-identity p,.account-identity small { overflow:hidden; margin:0; text-overflow:ellipsis; white-space:nowrap; }.account-identity h3 { font-size:1.08rem; }.account-identity p { color:var(--brand-700); font-size:.82rem; font-weight:700; }.account-identity small { color:var(--text-secondary); font-size:.78rem; }
.account-grid { display:grid; min-width:0; gap:.85rem; }
.module-account .account-card { display:grid; min-width:0; align-content:start; gap:1rem; padding:1rem; border:1px solid var(--border); border-radius:1rem; background:#fff; box-shadow:var(--shadow-subtle); }
.account-card>header { display:flex; align-items:center; gap:.7rem; }.account-card>header>span { display:grid; flex:0 0 2.35rem; width:2.35rem; height:2.35rem; place-items:center; border-radius:.7rem; background:var(--brand-50); color:var(--brand-700); }.account-card>header svg { width:1.15rem; height:1.15rem; }.account-card h3,.account-card p { margin:0; }.account-card h3 { font-size:1rem; }.account-card p { margin-top:.12rem; color:var(--text-secondary); font-size:.78rem; }
#account-profile-form { display:grid!important; grid-template-columns:minmax(0,1fr)!important; align-items:stretch!important; gap:.4rem!important; }.module-account label { color:var(--text); font-size:.78rem; font-weight:700; }.module-account input { min-height:2.9rem; border-color:var(--border-strong); border-radius:.7rem; }.module-account input[readonly] { background:var(--surface-muted); color:var(--text-secondary); }.module-account form>small { margin:-.05rem 0 .45rem; color:var(--text-secondary); font-size:.72rem; }.account-primary { display:inline-flex; width:100%; min-height:2.85rem; align-items:center; justify-content:center; gap:.4rem; border-color:var(--brand-600); border-radius:.7rem; background:var(--brand-600); color:#fff; }.account-primary:hover { background:var(--brand-700); }.account-primary svg { width:1rem; height:1rem; }
.account-actions { display:grid; gap:.35rem; }.module-account button.account-action { display:grid; grid-template-columns:2.25rem minmax(0,1fr) auto; width:100%; min-height:3.5rem; align-items:center; gap:.65rem; border:0; border-radius:.75rem; padding:.55rem .35rem; background:transparent; color:var(--text); text-align:left; box-shadow:none; }.module-account button.account-action:hover { background:var(--surface-muted); color:var(--text); }.account-action__icon { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.65rem; background:var(--surface-muted); color:var(--brand-700); }.account-action__icon svg { width:1.05rem; height:1.05rem; }.account-action>span:nth-child(2) { display:grid; min-width:0; gap:.1rem; }.account-action strong,.account-action small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.account-action small { color:var(--text-secondary); font-size:.72rem; font-weight:500; }.account-action__trailing { color:var(--text-tertiary); font-size:1.2rem; }.module-account button.account-action--danger { color:var(--danger); }.account-action--danger .account-action__icon { background:var(--danger-soft); color:var(--danger); }
.module-account .account-tenants-surface { display:grid; min-width:0; gap:1rem; padding:1rem; border:1px solid var(--border); border-radius:1rem; background:#fff; box-shadow:var(--shadow-subtle); }.account-tenants-surface>header { display:grid; gap:.75rem; }.account-tenants-surface h3,.account-tenants-surface p { margin:0; }.account-tenants-surface h3 { font-size:1.05rem; }.account-tenants-surface p { margin-top:.12rem; color:var(--text-secondary); font-size:.78rem; }.account-tenant-list { display:grid; gap:.65rem; }.account-tenant { display:grid; min-width:0; gap:.7rem; padding:.85rem; border:1px solid var(--border); border-radius:.85rem; background:var(--surface-muted); }.account-tenant__main { display:flex; min-width:0; align-items:center; gap:.65rem; }.account-tenant__avatar { width:2.5rem; height:2.5rem; font-size:.88rem; }.account-tenant__main>div { display:grid; min-width:0; gap:.1rem; }.account-tenant__main strong,.account-tenant__main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.account-tenant__main small { color:var(--text-secondary); font-size:.75rem; }.account-state { display:inline-flex; width:max-content; min-height:1.55rem; align-items:center; border-radius:999px; padding:.2rem .55rem; font-size:.68rem; font-weight:800; }.account-state--active { background:#dcfce7; color:#166534; }.account-state--pending { background:#fef3c7; color:#92400e; }.account-tenant__actions { display:flex; flex-wrap:wrap; gap:.45rem; padding-top:.65rem; border-top:1px solid var(--border); }.account-tenant__actions button { flex:1 1 auto; min-height:2.6rem; border-color:var(--border-strong); background:#fff; color:var(--brand-700); font-size:.75rem; }.account-empty,.account-load-error { margin:0; padding:1.5rem; border:1px dashed var(--border); border-radius:.85rem; color:var(--text-secondary); text-align:center; }.account-load-error { border-color:#fecaca; background:#fff1f2; color:#9f1239; }
.account-dialog { width:min(31rem,calc(100vw - 1.25rem)); max-height:calc(100dvh - 1.25rem); padding:0; border:0; border-radius:1rem; background:transparent; color:var(--text); }.account-dialog::backdrop { background:rgb(15 23 42 / .52); backdrop-filter:blur(2px); }.account-dialog form { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:.9rem!important; max-height:inherit; overflow:auto; padding:1rem; border:1px solid var(--border); border-radius:1rem; background:#fff; box-shadow:var(--shadow-dialog); }.account-dialog header,.account-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:.65rem; }.account-dialog h3,.account-dialog p { margin:0; }.account-dialog header [data-close] { display:grid; flex:0 0 2.65rem; width:2.65rem; min-height:2.65rem; place-items:center; padding:0; }.account-dialog header [data-close] svg { width:1rem; height:1rem; }.account-dialog label { display:grid; gap:.35rem; }.account-dialog footer { display:grid; grid-template-columns:1fr; padding-top:.25rem; }.account-dialog-error { border-radius:.65rem; padding:.65rem .75rem; background:#fff1f2; color:#9f1239; font-size:.78rem; }.account-empty { background:#fff; }
@media (min-width:48rem) {
  .module-account.ui-active { gap:1.15rem; }.account-heading { align-items:center; }.module-account .account-identity { padding:1.25rem; }.account-avatar { width:4rem; height:4rem; font-size:1.4rem; }.account-identity h3 { font-size:1.2rem; }.account-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:1rem; }.module-account .account-card { padding:1.2rem; }.account-home-card { grid-column:1/-1; }.account-primary { width:max-content; min-width:9rem; justify-self:end; }.account-tenants-surface>header { display:flex; align-items:center; justify-content:space-between; }.account-tenants-surface>header .account-primary { flex:0 0 auto; }.account-tenant { grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:1rem; }.account-tenant__actions { grid-column:1/-1; justify-content:flex-end; }.account-tenant__actions button { flex:0 0 auto; }.account-dialog form { padding:1.25rem; }.account-dialog footer { display:flex; justify-content:flex-end; }.account-dialog footer button { width:auto; }
}
@media (max-width:47.99rem) {
  .module-account.ui-active { overflow-x:hidden; }.account-heading .account-back { width:2.75rem; }.account-action { width:100%; }.account-tenant__actions { display:grid; grid-template-columns:minmax(0,1fr); }.account-dialog { width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); }.account-dialog footer button { width:100%; }.account-dialog footer .account-primary { grid-row:1; }
}

/* CONFIGURACIÓN · Documentos y Amenidades replican las superficies aprobadas. */
.account-settings-heading { align-items:flex-start; max-width:64rem; padding:.15rem 0 1rem; }
.account-settings-heading .eyebrow { color:#2563eb; font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.account-settings-heading .eyebrow span { margin-inline:.35rem; color:#60a5fa; }.account-settings-heading h2 { margin-top:.2rem; font-size:clamp(1.8rem,4vw,2.25rem); }.account-settings-heading>div>p:last-child { max-width:44rem; color:#64748b; font-size:.93rem; }

.documents-permissions { width:min(100%,54rem); margin-inline:auto; padding:2rem; border:1px solid #dbe4f0; border-radius:1rem; background:#fff; box-shadow:0 1px 3px rgb(15 23 42 / .06); }
.documents-permissions>header h3,.documents-permissions>header p { margin:0; }.documents-permissions>header h3 { color:#172033; font-size:1.15rem; }.documents-permissions>header p { margin-top:.45rem; color:#64748b; font-size:.875rem; }
#account-documents-form { display:block!important; }.documents-permissions fieldset { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; padding:0; border:0; }
.documents-permission-card { display:flex; min-width:0; min-height:14.25rem; flex-direction:column; padding:1.25rem; border:1px solid #dbe4f0; border-radius:1rem; background:#fff; color:#172033; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.documents-permission-card:hover { border-color:#cbd5e1; }.documents-permission-card.is-enabled { border-color:#2563eb; background:#fafdff; box-shadow:0 0 0 2px rgb(37 99 235 / .1); }.documents-permission-card.is-locked { border-color:#e2e8f0; background:#f8fafc; cursor:not-allowed; box-shadow:none; }
.documents-permission-card>input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.documents-permission-card__top { display:flex; align-items:flex-start; justify-content:space-between; }.documents-permission-card__top>i,.documents-permission-card__top>b { display:grid; place-items:center; font-style:normal; }.documents-permission-card__top>i { width:2.65rem; height:2.65rem; border-radius:.75rem; background:#f1f5f9; color:#94a3b8; }.documents-permission-card.is-enabled .documents-permission-card__top>i { background:#dbeafe; color:#2563eb; }.documents-permission-card.is-locked .documents-permission-card__top>i { background:#e2e8f0; color:#64748b; }.documents-permission-card__top svg { width:1.25rem; height:1.25rem; }
.documents-permission-card__top>b { width:1.25rem; height:1.25rem; border:1px solid #cbd5e1; border-radius:.35rem; background:#fff; color:transparent; }.documents-permission-card__top>b svg { width:.95rem; height:.95rem; }.documents-permission-card.is-enabled .documents-permission-card__top>b { border-color:#2563eb; background:#2563eb; color:#fff; }.documents-permission-card.is-locked .documents-permission-card__top>b { border:0; background:#e2e8f0; color:#64748b; }
.documents-permission-card__title { display:flex; align-items:center; gap:.45rem; margin-top:1rem; font-size:.875rem; font-weight:750; letter-spacing:.035em; }.documents-permission-card__title em { border-radius:.3rem; padding:.2rem .4rem; background:#e2e8f0; color:#64748b; font-family:ui-monospace,SFMono-Regular,monospace; font-size:.65rem; font-style:normal; font-weight:650; letter-spacing:0; }.documents-permission-card>small { margin-top:.45rem; color:#64748b; font-size:.875rem; font-weight:400; line-height:1.55; }
.documents-permission-card__status { display:inline-flex; width:max-content; max-width:100%; align-items:center; gap:.4rem; margin-top:auto; padding:.38rem .65rem; border-top:1px solid transparent; border-radius:999px; background:#f8fafc; color:#64748b; box-shadow:inset 0 0 0 1px #e2e8f0; font-size:.72rem; font-weight:650; }.documents-permission-card__status>i { width:.38rem; height:.38rem; border-radius:50%; background:#cbd5e1; }.documents-permission-card__status svg { width:.75rem; height:.75rem; }.documents-permission-card.is-enabled:not(.is-locked) .documents-permission-card__status { background:#eff6ff; color:#1d4ed8; box-shadow:inset 0 0 0 1px #bfdbfe; }.documents-permission-card.is-enabled:not(.is-locked) .documents-permission-card__status>i { background:#2563eb; }.documents-permission-card.is-locked .documents-permission-card__status>i { display:none; }
.documents-permissions form>footer { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-top:1.25rem; border-top:1px solid #eef2f7; }.documents-permissions form>footer p { display:flex; max-width:31rem; align-items:flex-start; gap:.5rem; margin:0; color:#64748b; font-size:.875rem; line-height:1.55; }.documents-permissions form>footer p svg { flex:0 0 1rem; width:1rem; height:1rem; margin-top:.15rem; color:#94a3b8; }.documents-permissions form>footer .account-primary { flex:0 0 auto; min-width:10.5rem; }

.recurrence-settings { width:min(100%,44rem); margin-inline:auto; overflow:hidden; border:1px solid #dbe4f0; border-radius:1rem; background:#fff; box-shadow:0 1px 3px rgb(15 23 42 / .06); }.recurrence-settings>header { display:flex; align-items:center; gap:.9rem; padding:1.4rem 1.5rem; border-bottom:1px solid #e2e8f0; }.recurrence-settings>header>span { display:grid; flex:0 0 2.75rem; width:2.75rem; height:2.75rem; place-items:center; border-radius:.8rem; background:#dbeafe; color:#1d4ed8; }.recurrence-settings>header svg { width:1.3rem; height:1.3rem; }.recurrence-settings h3,.recurrence-settings p { margin:0; }.recurrence-settings>header h3 { color:#172033; font-size:1.05rem; }.recurrence-settings>header p { margin-top:.25rem; color:#64748b; font-size:.8rem; }.recurrence-transition { margin:1rem 1.5rem 0!important; border:1px solid #fde68a; border-radius:.75rem; padding:.8rem .9rem; background:#fffbeb; color:#854d0e; font-size:.8rem; line-height:1.5; }.recurrence-settings form { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:1rem!important; padding:1.5rem; }.recurrence-settings form>label { display:grid; gap:.45rem; }.recurrence-settings select { width:100%; min-height:3rem; border:1px solid #cbd5e1; border-radius:.75rem; padding:0 .8rem; background:#fff; color:#172033; font:inherit; }.recurrence-settings form>p { color:#52627a; font-size:.875rem; line-height:1.65; }.recurrence-settings form>footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid #eef2f7; }.recurrence-settings form>footer>span { display:flex; max-width:23rem; align-items:flex-start; gap:.45rem; color:#64748b; font-size:.78rem; line-height:1.45; }.recurrence-settings form>footer>span svg { flex:0 0 1rem; width:1rem; height:1rem; margin-top:.1rem; }

.amenities-settings-workspace { display:grid; min-width:0; gap:1.5rem; }.amenity-catalog,.amenity-editor>* { border:1px solid #dbe4f0; border-radius:1rem; background:#fff; box-shadow:0 1px 3px rgb(15 23 42 / .06); }.amenity-catalog>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; border-bottom:1px solid #dbe4f0; }.amenity-catalog>header h3,.amenity-catalog>header p { margin:0; }.amenity-catalog>header h3 { color:#172033; font-size:1rem; }.amenity-catalog>header p { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-top:.35rem; color:#64748b; font-size:.82rem; }.amenity-catalog>header p>b { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; padding:.18rem .5rem; background:#f1f5f9; color:#52627a; font-size:.72rem; font-weight:600; }.amenity-catalog>header p i,.amenity-status i { width:.38rem; height:.38rem; border-radius:50%; background:#94a3b8; }.amenity-catalog>header p i.is-active { background:#10b981; }.amenity-catalog>header .account-primary { border-color:#2563eb; background:#2563eb; color:#fff; }
.amenity-catalog-list { display:grid; gap:1rem; padding:1.25rem; }.amenity-catalog-card { overflow:hidden; border:1px solid #dbe4f0; border-radius:1rem; background:#fff; }.amenity-catalog-card.is-selected { border-color:#2563eb; box-shadow:0 0 0 4px rgb(37 99 235 / .1); }.amenity-catalog-card.is-inactive { border-style:dashed; border-color:#cbd5e1; background:#f8fafc; }.amenity-catalog-card__body { padding:1.25rem; }.amenity-catalog-card__heading { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }.amenity-catalog-card h3,.amenity-catalog-card p { margin:0; }.amenity-catalog-card h3 { margin-right:.2rem; color:#172033; font-size:1rem; }.amenity-catalog-card>div>p { margin-top:.85rem; color:#52627a; font-size:.875rem; line-height:1.55; }.amenity-catalog-card.is-inactive h3 { color:#64748b; }.amenity-catalog-card.is-inactive>div>p { color:#94a3b8; }
.amenity-status,.amenity-destination { display:inline-flex; min-height:1.4rem; align-items:center; gap:.35rem; border-radius:999px; padding:.2rem .55rem; font-size:.7rem; font-weight:650; }.amenity-status--active { background:#ecfdf5; color:#047857; box-shadow:inset 0 0 0 1px #a7f3d0; }.amenity-status--active i { background:#10b981; }.amenity-status--inactive { background:#f1f5f9; color:#64748b; box-shadow:inset 0 0 0 1px #cbd5e1; }.amenity-destination svg { width:.8rem; height:.8rem; }.amenity-destination--enabled { background:#eff6ff; color:#1d4ed8; box-shadow:inset 0 0 0 1px #bfdbfe; }.amenity-destination--disabled { background:#fff; color:#64748b; box-shadow:inset 0 0 0 1px #e2e8f0; }
.amenity-catalog-card>footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 1.25rem; border-top:1px solid #e2e8f0; background:#f8fafc; }.amenity-catalog-card>footer>small { display:inline-flex; align-items:center; gap:.4rem; color:#64748b; font-size:.72rem; }.amenity-catalog-card.is-selected>footer>small { color:#2563eb; }.amenity-catalog-card>footer>small i { width:.4rem; height:.4rem; border-radius:50%; background:#2563eb; }.amenity-catalog-card>footer>div { display:flex; gap:.45rem; }.amenity-catalog-card>footer button { display:inline-flex; min-height:2.2rem; align-items:center; gap:.35rem; border-color:#dbe4f0; border-radius:.6rem; padding:.4rem .7rem; background:#fff; color:#334155; font-size:.8rem; }.amenity-catalog-card>footer button svg { width:.9rem; height:.9rem; }.amenity-catalog-card>footer .amenity-toggle--disable { border-color:#fecaca; color:#dc2626; }.amenity-catalog-card>footer .amenity-toggle--enable { border-color:#a7f3d0; color:#047857; }
.amenity-editor { min-width:0; }.amenity-editor>form { overflow:hidden; }.amenity-editor>form>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; border-bottom:1px solid #dbe4f0; }.amenity-editor h3,.amenity-editor p,.amenity-editor small { margin:0; }.amenity-editor>form>header h3 { margin-top:.25rem; color:#172033; font-size:1rem; }.amenity-editor>form>header small { display:block; margin-top:.25rem; color:#64748b; font-size:.8rem; }.amenity-editor>form>header button { display:inline-flex; width:auto; min-height:2rem; align-items:center; gap:.3rem; border:0; padding:.25rem; background:transparent; color:#64748b; font-size:.72rem; }.amenity-editor>form>header button svg { width:.8rem; height:.8rem; }
.amenity-editor__body { display:grid; gap:1.15rem; padding:1.25rem; }.amenity-editor__body>label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem; color:#1e293b; font-size:.82rem; font-weight:650; }.amenity-editor__body>label>small { color:#94a3b8; font-size:.7rem; font-weight:400; }.amenity-editor__body input:not([type="checkbox"]),.amenity-editor__body textarea { grid-column:1/-1; width:100%; border-color:#dbe4f0; border-radius:.75rem; padding:.7rem .8rem; background:#fff; color:#172033; box-shadow:0 1px 2px rgb(15 23 42 / .03); }.amenity-editor__body textarea { min-height:7rem; resize:vertical; }.amenity-editor__body input:focus,.amenity-editor__body textarea:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgb(37 99 235 / .1); outline:0; }
.amenity-editor__body .amenity-destination-control { display:flex; grid-template-columns:none; align-items:flex-start; gap:.75rem; padding:1rem; border:1px solid #bfdbfe; border-radius:.75rem; background:#eff6ff80; cursor:pointer; }.amenity-destination-control input { flex:0 0 1.15rem; width:1.15rem; min-height:1.15rem; margin-top:.12rem; accent-color:#2563eb; }.amenity-destination-control span { display:grid; gap:.2rem; }.amenity-destination-control strong { color:#172033; font-size:.82rem; }.amenity-destination-control small { color:#64748b; font-size:.72rem; font-weight:400; line-height:1.5; }
.amenity-editor>form>footer { display:flex; justify-content:flex-end; gap:.5rem; padding:1rem 1.25rem; border-top:1px solid #dbe4f0; background:#f8fafc; }.amenity-editor>form>footer button { width:auto; min-height:2.5rem; border-radius:.7rem; padding:.5rem .9rem; }.amenity-editor>form>footer #account-amenity-cancel { border-color:#dbe4f0; background:#fff; color:#334155; }.amenity-editor>form>footer .account-primary { border-color:#2563eb; background:#2563eb; color:#fff; }.amenity-editor-empty { display:grid; min-height:17rem; place-items:center; align-content:center; gap:.5rem; padding:2rem; color:#64748b; text-align:center; }.amenity-editor-empty>svg { width:2rem; height:2rem; color:#2563eb; }.amenity-editor-empty h3,.amenity-editor-empty p { margin:0; }.amenity-editor-empty h3 { color:#172033; font-size:1rem; }.amenity-editor-empty p { max-width:17rem; font-size:.82rem; line-height:1.5; }

@media (min-width:60rem) { .amenities-settings-workspace { grid-template-columns:minmax(0,7fr) minmax(20rem,5fr); }.amenity-editor { position:sticky; top:1.5rem; align-self:start; } }
@media (max-width:47.99rem) {
  .account-settings-heading { padding-bottom:.5rem; }.documents-permissions { padding:1rem; }.documents-permissions fieldset { grid-template-columns:1fr; }.documents-permission-card { min-height:11.5rem; }.documents-permissions form>footer { align-items:stretch; flex-direction:column; }.documents-permissions form>footer .account-primary { width:100%; }.recurrence-settings>header,.recurrence-settings form { padding:1rem; }.recurrence-transition { margin:.85rem 1rem 0!important; }.recurrence-settings form>footer { align-items:stretch; flex-direction:column; }.recurrence-settings form>footer .account-primary { width:100%; }.amenity-catalog>header { align-items:stretch; flex-direction:column; }.amenity-catalog>header .account-primary { width:100%; }.amenity-catalog-card>footer { align-items:stretch; flex-direction:column; }.amenity-catalog-card>footer>div { display:grid; grid-template-columns:1fr 1fr; }.amenity-catalog-card>footer button { justify-content:center; }.amenity-editor>form>footer { display:grid; grid-template-columns:1fr 1fr; }.amenity-editor>form>footer button { width:100%; }.amenity-editor__body { padding:1.1rem; }
}

/* UI-3: cascarón de producto. Los módulos conservan sus propios contenidos. */
:root { --ink:#15263a; --blue:#1667a9; --navy:#123b61; --mist:#eef4f8; --shadow:0 18px 48px #102c4617; }
.brand-lockup { display:flex; align-items:center; gap:.75rem; }
.brand-mark,.login-mark { display:grid; place-items:center; flex:0 0 auto; color:#fff; background:linear-gradient(145deg,#1e78b9,#145283); box-shadow:0 8px 18px #14528335; }
.brand-mark { width:2.55rem; height:2.55rem; border-radius:.75rem; font-size:1.45rem; }
.brand-block h1 { color:var(--ink); font-size:1.2rem; letter-spacing:-.02em; }
.brand-block .eyebrow { margin:.05rem 0!important; font-size:.62rem; }
.brand-block #ui-identity { font-size:.76rem; }
.app-header { min-height:4.75rem; background:#fffefdf2; box-shadow:0 1px 0 #dce6ed; }
.module-trigger { border-color:#c7dae8; background:#edf6fb; color:#155a8c; }
.module-trigger:hover { background:#dceef9; }
.global-logout { box-shadow:none; }
.unauthenticated { min-height:100dvh; background:radial-gradient(circle at 50% -15%,#dceffb 0,transparent 42%),#f5f8fa; }
.unauthenticated .app-header,.unauthenticated #ui-message { display:none; }
.unauthenticated #module-stage { display:grid; min-height:100dvh; width:100%; padding:1.25rem; place-items:center; }
.unauthenticated .ui-home { display:block!important; width:min(100%,28rem); }
.unauthenticated .ui-home .screen-heading,.unauthenticated #home-context,.unauthenticated #session-panel { display:none!important; }
.unauthenticated #login-panel { display:block!important; margin:0; border:0; border-radius:1.3rem; padding:2rem; background:#fff; box-shadow:var(--shadow); }
.login-heading { margin-bottom:1.7rem; text-align:center; }
.login-mark { width:4rem; height:4rem; margin:0 auto .9rem; border-radius:1.1rem; font-size:2rem; }
.login-brand { margin:0 0 .2rem; color:var(--blue); font-size:.87rem; font-weight:800; letter-spacing:.03em; }
#login-panel h2 { margin:0; color:var(--ink); font-size:1.8rem; letter-spacing:-.03em; }
.login-heading>p:last-child { margin:.45rem 0 0; color:var(--muted); }
#login-form { display:grid; gap:1rem; }
#login-form label { display:grid; gap:.4rem; color:#425466; font-size:.84rem; font-weight:750; }
#login-form input { min-height:3.15rem; border-color:#c9d6df; border-radius:.7rem; padding:.7rem .8rem; }
#login-form input:focus { border-color:#2780bd; outline:3px solid #2780bd26; }
#login-form button { min-height:3.2rem; border:0; border-radius:.78rem; background:linear-gradient(135deg,#176aa8,#145687); box-shadow:0 8px 18px #14568730; }
#login-form button:hover { background:linear-gradient(135deg,#155e98,#104b78); }
.catalog-surface { border:0; border-radius:1.25rem; padding:1.45rem; background:linear-gradient(180deg,#fff,#f8fbfd); box-shadow:0 24px 65px #102c4645; }
.catalog-header { padding-bottom:1rem; border-bottom:1px solid #e0e9ef; }
.catalog-header h2 { color:var(--ink); font-size:1.9rem; letter-spacing:-.03em; }
.catalog-header button { border-color:#dce6ed; background:#f0f5f8; color:#4b6172; }
.module-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding:.3rem 0; }
.module-card { min-height:8.6rem; grid-template-columns:1fr; grid-template-rows:auto 1fr auto; align-content:start; gap:.55rem; border:1px solid #dce6ed; border-radius:1rem; padding:1rem; box-shadow:0 2px 5px #102c4608; }
.module-card:hover:not(:disabled),.module-card.active { border-color:#8ec2e3; background:#f0f8fd; box-shadow:0 8px 18px #14568712; transform:translateY(-1px); }
.module-icon { grid-row:auto; width:2.65rem; height:2.65rem; border-radius:.8rem; background:#e4f1f9; color:#176aa8; font-size:1.35rem; }
.module-card-copy strong { color:var(--ink); font-size:1rem; }
.module-card-copy small { line-height:1.25; }
.module-card:disabled { border-style:dashed; background:#f8fafb; }
.catalog-footer { color:#647889; }
@media (max-width:760px) {
  .unauthenticated #module-stage { padding:1rem; align-items:center; }
  .unauthenticated #login-panel { padding:1.7rem 1.35rem; border-radius:1.1rem; }
  .app-header { min-height:4.45rem; }
  .brand-mark { width:2.3rem; height:2.3rem; border-radius:.7rem; font-size:1.25rem; }
  .brand-block #ui-identity { display:none; }
  .catalog-surface { padding:1.15rem; }
  .module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .module-card { min-height:8.25rem; padding:.85rem; }
}

/* Pérgola: módulo piloto del sistema visual GEN2. */
.module-pergola.ui-active { --pergola-card-max:26rem; display:grid; inline-size:min(100%,var(--content-max)); grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "tabs" "content"; gap:var(--space-6); margin-inline:auto; align-items:start; font-family:var(--font-product); }
.pergola-heading { grid-area:heading; padding:var(--space-1); }.pergola-heading h2 { margin:0; color:var(--text); font-size:var(--text-page-title); font-weight:var(--weight-semibold); letter-spacing:-.025em; line-height:1.15; }.pergola-heading p:not(.eyebrow) { margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-pergola>section,.pergola-planning>section { margin:0; border:1px solid var(--border); border-radius:var(--radius-surface); padding:var(--space-5); background:var(--surface); box-shadow:var(--shadow-subtle); }
.pergola-heading { grid-area:heading; }.pergola-tabs { grid-area:tabs; display:flex; gap:var(--space-2); padding:0 var(--space-1); border-bottom:1px solid var(--border); }.pergola-tabs[hidden],.module-pergola [role="tabpanel"][hidden] { display:none; }.pergola-tabs button { min-height:var(--touch-target); padding:var(--space-2) var(--space-4); border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--text-secondary); font-weight:var(--weight-semibold); }.pergola-tabs button[aria-selected="true"] { border-bottom-color:var(--brand-600); color:var(--brand-700); }.pergola-reservations-view,.pergola-admin-view { grid-area:content; display:grid; gap:var(--space-6); min-width:0; }.pergola-planning { display:grid; min-width:0; grid-template-columns:minmax(34rem,1.3fr) minmax(20rem,.7fr); gap:var(--space-4); }.pergola-reservations-card,.pergola-management,.pergola-amenities { margin:0; border:1px solid var(--border); border-radius:var(--radius-surface); padding:var(--space-5); background:var(--surface); box-shadow:var(--shadow-subtle); }.pergola-amenities { display:grid; gap:var(--space-4); max-width:52rem; }.pergola-amenity-form,.pergola-amenity-card { display:grid; gap:var(--space-3); }.pergola-amenity-form { grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:var(--space-4); border-bottom:1px solid var(--border); }.pergola-amenity-form .pergola-amenity-check,.pergola-amenity-form button { grid-column:1/-1; }.pergola-amenity-check { display:flex; align-items:center; gap:var(--space-2); color:var(--text-secondary); font-size:var(--text-secondary-size); }.pergola-amenity-list { display:grid; gap:var(--space-3); }.pergola-amenity-card { grid-template-columns:minmax(0,1fr) auto; align-items:start; padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-control); }.pergola-amenity-card>div:first-child { display:grid; gap:var(--space-2); }.pergola-amenity-state { padding:var(--space-1) var(--space-2); border-radius:999px; background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-caption); }.pergola-amenity-state.is-active { background:var(--success-soft); color:var(--success); }.pergola-amenity-card>div:last-child { display:flex; grid-column:1/-1; gap:var(--space-2); }
.pergola-availability-heading { grid-column:1/-1; padding:var(--space-2) var(--space-1) 0; }.pergola-availability-heading h3 { margin:0; color:var(--text); font-size:var(--text-section-title); font-weight:var(--weight-semibold); letter-spacing:-.015em; }.pergola-availability-heading p:not(.eyebrow) { margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
.pergola-management-header,.pergola-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-4); }.pergola-management-header { padding-bottom:var(--space-4); border-bottom:1px solid var(--border); }.pergola-management h3,.pergola-section-heading h3 { margin:0; color:var(--text); font-size:var(--text-section-title); font-weight:var(--weight-semibold); letter-spacing:-.015em; line-height:1.25; }.pergola-management-header p:not(.eyebrow),.pergola-section-heading p { margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-pergola .pergola-action { display:inline-flex; width:auto; min-height:var(--touch-target); align-items:center; justify-content:center; border-radius:var(--radius-control); padding:var(--space-2) var(--space-4); font-weight:var(--weight-semibold); line-height:1.2; box-shadow:none; transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast); }.module-pergola .pergola-action--primary { border-color:var(--brand-600); background:var(--brand-600); color:var(--surface); }.module-pergola .pergola-action--primary:hover:not(:disabled) { border-color:var(--brand-700); background:var(--brand-700); }.module-pergola .pergola-action--secondary { border-color:var(--border-strong); background:var(--surface); color:var(--brand-700); }.module-pergola .pergola-action--secondary:hover:not(:disabled) { border-color:color-mix(in srgb,var(--brand-600) 42%,var(--border)); background:var(--brand-50); }.module-pergola .pergola-action--danger { border-color:color-mix(in srgb,var(--danger) 35%,var(--border)); background:var(--surface); color:var(--danger); }.module-pergola .pergola-action--danger:hover:not(:disabled) { border-color:var(--danger); background:var(--danger-soft); }
.pergola-management-groups { margin-top:var(--space-2); }.pergola-accordion { margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }.pergola-accordion+.pergola-accordion { border-top:1px solid var(--border); }.pergola-accordion-top { display:flex; min-width:0; align-items:center; gap:var(--space-4); }.pergola-accordion-trigger { display:flex; width:100%; min-height:3.75rem; flex:1 1 auto; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-3) var(--space-1); border:0; border-radius:var(--radius-control); background:transparent; color:var(--text); text-align:left; box-shadow:none; }.pergola-accordion-trigger:hover { background:var(--surface-muted); }.pergola-accordion-copy { display:grid; min-width:0; gap:var(--space-1); }.pergola-accordion-copy strong { font-size:.9375rem; font-weight:var(--weight-semibold); }.pergola-accordion-copy small { color:var(--text-secondary); font-size:var(--text-caption); font-weight:400; }.pergola-accordion-meta { display:flex; flex:0 0 auto; align-items:center; gap:var(--space-2); }.pergola-accordion-count { min-width:1.75rem; color:var(--text-secondary); font-size:var(--text-secondary-size); font-variant-numeric:tabular-nums; font-weight:var(--weight-semibold); text-align:center; }.pergola-accordion-chevron { display:grid; width:var(--touch-target); height:var(--touch-target); place-items:center; border-radius:var(--radius-control); color:var(--text-secondary); transition:transform var(--transition-fast); }.pergola-accordion-chevron svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.75; }.pergola-accordion.is-open .pergola-accordion-chevron { transform:rotate(180deg); }.pergola-accordion-content { display:grid; grid-template-rows:0fr; visibility:hidden; opacity:0; transition:grid-template-rows var(--transition-normal),opacity var(--transition-fast),visibility 0s var(--transition-normal); }.pergola-accordion-content__inner { min-height:0; overflow:hidden; }.pergola-accordion.is-open .pergola-accordion-content { grid-template-rows:1fr; visibility:visible; opacity:1; transition:grid-template-rows var(--transition-normal),opacity var(--transition-fast); }.pergola-work-list,#pergola-admin-reservations-slot { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),var(--pergola-card-max))); justify-content:center; gap:var(--space-3); padding:0 var(--space-1) var(--space-4); }.pergola-stage-empty,.pergola-empty { grid-column:1/-1; margin:0; padding:var(--space-3) 0; color:var(--text-secondary); font-size:var(--text-secondary-size); text-align:left; }
.pergola-admin-filter-slot { flex:0 0 12rem; }.pergola-accordion:not(.is-open) .pergola-admin-filter-slot { display:none; }#pergola-filter { display:grid; min-width:10rem; gap:var(--space-1); color:var(--text); font-size:var(--text-caption); font-weight:var(--weight-semibold); }#pergola-filter select { min-height:var(--touch-target); border-color:var(--border-strong); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--text); }
.pergola-section-heading { margin-bottom:var(--space-4); }.pergola-section-heading label { display:grid; min-width:10rem; gap:var(--space-1); color:var(--text); font-size:var(--text-caption); font-weight:var(--weight-semibold); }.pergola-section-heading select { min-height:var(--touch-target); border-color:var(--border-strong); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--text); }
.pergola-icon { display:grid; width:2.75rem; height:2.75rem; flex:0 0 2.75rem; place-items:center; border-radius:var(--radius-control); background:var(--brand-50); color:var(--brand-600); }.pergola-icon svg { width:1.4rem; height:1.4rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.75; }
.pergola-create-card #create-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); align-items:end; }.pergola-create-card #create-form label { display:grid; min-width:0; gap:var(--space-2); color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }.pergola-create-card #create-form input,.pergola-create-card #create-form select { min-height:var(--control-height); border-color:var(--border-strong); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--text); font-size:1rem; }.pergola-feedback { min-height:1.4rem; margin:var(--space-3) 0 0; color:var(--brand-700); font-size:var(--text-secondary-size); font-weight:var(--weight-medium); }.pergola-feedback:empty { min-height:0; margin:0; }.pergola-help { margin:var(--space-4) 0 0; padding:var(--space-3) var(--space-4); border-left:3px solid color-mix(in srgb,var(--brand-600) 42%,var(--border)); border-radius:var(--space-1); background:var(--brand-50); color:var(--text-secondary); font-size:var(--text-caption); line-height:1.5; }
.pergola-calendar-nav { display:grid; grid-template-columns:var(--touch-target) 1fr var(--touch-target); align-items:center; gap:var(--space-2); padding-bottom:var(--space-4); border-bottom:1px solid var(--border); text-align:center; }.pergola-calendar-nav h3 { margin:0; color:var(--text); font-size:var(--text-section-title); font-weight:var(--weight-semibold); text-transform:capitalize; }.pergola-calendar-nav p:not(.eyebrow) { margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-caption); }.pergola-calendar-step { width:var(--touch-target); min-height:var(--touch-target); padding:0; border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--brand-700); font-size:1.65rem; font-weight:400; line-height:1; box-shadow:none; }.pergola-calendar-step:hover:not(:disabled) { border-color:color-mix(in srgb,var(--brand-600) 38%,var(--border)); background:var(--brand-50); }
.pergola-weekdays,.pergola-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:var(--space-1); }.pergola-weekdays { margin-top:var(--space-4); color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-semibold); text-align:center; }.pergola-calendar-grid { margin-top:var(--space-2); }.pergola-calendar-grid>span,.pergola-day { min-height:clamp(3.5rem,6vw,4.75rem); }.pergola-day { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-1); padding:var(--space-1); border:1px solid var(--border); border-radius:calc(var(--radius-control) - .125rem); background:var(--surface); color:var(--text-secondary); text-align:center; box-shadow:none; transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast); }.pergola-day strong { color:inherit; font-size:.875rem; font-variant-numeric:tabular-nums; font-weight:var(--weight-semibold); line-height:1; }.pergola-day small { max-width:100%; overflow:hidden; color:inherit; font-size:.625rem; font-weight:var(--weight-medium); line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }.pergola-day.available { border-color:color-mix(in srgb,var(--brand-600) 30%,var(--border)); background:var(--brand-50); color:var(--brand-700); }.pergola-day.available:hover { border-color:var(--brand-600); background:var(--brand-100); }.pergola-day.pending { border-color:color-mix(in srgb,var(--warning) 34%,var(--border)); background:var(--warning-soft); color:var(--warning); }.pergola-day.approved { border-color:color-mix(in srgb,var(--success) 30%,var(--border)); background:var(--success-soft); color:var(--success); }.pergola-day.blocked { background:var(--surface-muted); color:color-mix(in srgb,var(--text-secondary) 72%,white); }.pergola-day:disabled { cursor:default; opacity:1; }
.pergola-calendar-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-2) var(--space-4); margin-top:var(--space-4); color:var(--text-secondary); font-size:var(--text-caption); }.pergola-calendar-legend span { display:inline-flex; align-items:center; gap:var(--space-1); }.pergola-calendar-legend i { display:inline-block; width:.625rem; height:.625rem; border-radius:50%; }.pergola-calendar-legend .available { background:var(--brand-600); }.pergola-calendar-legend .pending { background:var(--warning); }.pergola-calendar-legend .approved { background:var(--success); }.pergola-calendar-legend .blocked { background:var(--border-strong); }
.pergola-reservation-list,.pergola-reservation-group__list { display:grid; gap:var(--space-3); }.pergola-reservation-card { display:grid; gap:var(--space-3); min-width:0; padding:var(--space-4); border:1px solid var(--border); border-left-width:3px; border-radius:var(--radius-control); background:var(--surface); box-shadow:none; }.pergola-reservation-card.status-pending { border-left-color:var(--warning); }.pergola-reservation-card.status-approved { border-left-color:var(--success); }.pergola-reservation-card.status-denied { border-left-color:var(--danger); }.pergola-reservation-card.status-cancelled,.pergola-reservation-card.status-closed { border-left-color:var(--border-strong); background:var(--surface-muted); }.pergola-reservation-head { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-3); }.pergola-reservation-identity { display:grid; min-width:0; gap:var(--space-1); }.pergola-reservation-identity strong { color:var(--text); font-size:1rem; font-weight:var(--weight-semibold); }.pergola-reservation-identity span,.pergola-reservation-meta { color:var(--text-secondary); font-size:var(--text-secondary-size); }.pergola-reservation-identity span { font-variant-numeric:tabular-nums; }.pergola-reservation-event { color:var(--text-secondary); font-size:var(--text-secondary-size); font-variant-numeric:tabular-nums; }.pergola-reservation-requested { display:inline-flex; width:fit-content; max-width:100%; align-items:center; border:1px solid color-mix(in srgb,var(--brand-600) 20%,var(--border)); border-radius:var(--radius-pill); padding:.22rem .55rem; background:color-mix(in srgb,var(--brand-600) 8%,var(--surface)); color:var(--brand-700); font-size:var(--text-caption); font-variant-numeric:tabular-nums; font-weight:var(--weight-semibold); line-height:1.25; }.pergola-reservation-meta { margin:0; line-height:1.45; }
.pergola-status { display:inline-flex; width:fit-content; flex:0 0 auto; align-items:center; border:1px solid; border-radius:var(--radius-pill); padding:var(--space-1) var(--space-2); font-size:var(--text-caption); font-weight:var(--weight-semibold); }.pergola-status.pending { border-color:color-mix(in srgb,var(--warning) 28%,var(--border)); background:var(--warning-soft); color:var(--warning); }.pergola-status.approved { border-color:color-mix(in srgb,var(--success) 26%,var(--border)); background:var(--success-soft); color:var(--success); }.pergola-status.denied { border-color:color-mix(in srgb,var(--danger) 26%,var(--border)); background:var(--danger-soft); color:var(--danger); }.pergola-status.cancelled,.pergola-status.closed { border-color:var(--border); background:var(--surface-muted); color:var(--text-secondary); }
.pergola-requirements { display:flex; flex-wrap:wrap; gap:var(--space-2); }.pergola-requirement { display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:var(--radius-pill); padding:var(--space-1) var(--space-2); background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-medium); }.pergola-requirement.complete { border-color:color-mix(in srgb,var(--success) 24%,var(--border)); background:var(--success-soft); color:var(--success); }.pergola-requirement.pending { border-color:color-mix(in srgb,var(--warning) 26%,var(--border)); background:var(--warning-soft); color:var(--warning); }.pergola-denial-reason { flex-basis:100%; color:var(--danger); font-size:var(--text-caption); }
.pergola-actions { display:flex; flex-wrap:wrap; gap:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--border); }.pergola-actions .pergola-action { flex:1 1 9rem; min-height:var(--touch-target); padding-inline:var(--space-3); font-size:var(--text-secondary-size); }
.pergola-reservation-list--grouped { gap:var(--space-5); }.pergola-reservation-group { margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }.pergola-reservation-group+.pergola-reservation-group { padding-top:var(--space-5); border-top:1px solid var(--border); }.pergola-reservation-group__heading { margin-bottom:var(--space-3); }.pergola-reservation-group__heading h4 { margin:0; color:var(--text); font-size:1rem; font-weight:var(--weight-semibold); }.pergola-reservation-group__heading p { margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-caption); }
.pergola-sheet { width:min(48rem,calc(100vw - (var(--space-4) * 2))); max-height:min(42rem,calc(100dvh - (var(--space-4) * 2))); padding:0; border:0; border-radius:var(--radius-dialog); background:transparent; }.pergola-sheet::backdrop { background:color-mix(in srgb,var(--text) 48%,transparent); }.pergola-sheet>section { max-height:inherit; overflow:auto; border:1px solid var(--border); border-radius:var(--radius-dialog); padding:var(--space-5); background:var(--surface); box-shadow:var(--shadow-dialog); }.pergola-sheet header { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-4); padding-bottom:var(--space-4); border-bottom:1px solid var(--border); }.pergola-sheet h3 { margin:0; color:var(--text); font-weight:var(--weight-semibold); }.pergola-sheet header p:not(.eyebrow) { margin:var(--space-1) 0 0; color:var(--text-secondary); }.pergola-sheet header button { width:var(--touch-target); min-height:var(--touch-target); padding:0; border-color:var(--border); background:var(--surface-muted); color:var(--text-secondary); font-size:1.4rem; }.pergola-sheet>section>label { display:grid; gap:var(--space-2); margin:var(--space-4) 0; color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }.pergola-sheet-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:var(--space-3); }.pergola-sheet-list article { display:grid; gap:var(--space-1); padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }.pergola-sheet-list span { color:var(--text-secondary); font-size:var(--text-caption); }.pergola-sheet-list b { color:var(--brand-700); font-size:var(--text-secondary-size); font-weight:var(--weight-semibold); }
@media (max-width:52rem) { .module-pergola.ui-active,.module-pergola.ui-active:has(.pergola-management:not(.hidden)) { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "tabs" "content"; }.pergola-management.hidden { display:none; } }
@media (max-width:47.5rem) { .module-pergola.ui-active,.pergola-planning { gap:var(--space-3); }.module-pergola>section,.pergola-planning>section { padding:var(--space-4); }.pergola-management-header,.pergola-section-heading { align-items:stretch; flex-direction:column; }.pergola-create-card .pergola-section-heading { flex-direction:row; }.pergola-management-header .pergola-action { width:100%; }.pergola-section-heading label { width:100%; min-width:0; }.pergola-create-card #create-form { grid-template-columns:minmax(0,1fr); }.pergola-work-list { grid-template-columns:minmax(0,1fr); }.pergola-calendar-nav { grid-template-columns:var(--touch-target) minmax(0,1fr) var(--touch-target); }.pergola-calendar-nav p:not(.eyebrow) { display:none; }.pergola-weekdays,.pergola-calendar-grid { gap:2px; }.pergola-calendar-grid>span,.pergola-day { min-height:3.25rem; }.pergola-day { border-radius:.5rem; }.pergola-day strong { font-size:.8125rem; }.pergola-day small { font-size:.5625rem; }.pergola-calendar-legend { justify-content:flex-start; gap:var(--space-2) var(--space-3); }.pergola-reservation-head { flex-wrap:wrap; }.pergola-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.pergola-actions .pergola-action { width:100%; }.pergola-actions .pergola-action--primary { grid-column:1/-1; }.pergola-sheet { width:100vw; max-width:none; height:100dvh; max-height:none; border-radius:0; }.pergola-sheet>section { min-height:100dvh; border-radius:0; padding:var(--space-4); } }
@media (max-width:23.5rem) { .module-pergola>section,.pergola-planning>section { padding:var(--space-3); }.pergola-calendar-grid>span,.pergola-day { min-height:3rem; }.pergola-day small { font-size:.5rem; }.pergola-actions { grid-template-columns:minmax(0,1fr); } }

/* Pérgola 02: jerarquía de gestión y disponibilidad. */
.pergola-create-card #create-form { grid-template-columns:minmax(0,1fr); }
#pergola-admin-reservations-slot { display:block; padding:0 var(--space-1) var(--space-4); }
#pergola-admin-reservations-slot .pergola-reservation-list,.pergola-reservation-group__list { grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),var(--pergola-card-max))); justify-content:center; }
@media (max-width:60rem) { .pergola-planning { grid-template-columns:minmax(0,1fr); } }
@media (max-width:47.5rem) { .module-pergola.ui-active { gap:var(--space-5); }.pergola-accordion-top { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }.pergola-accordion-trigger { min-height:var(--touch-target); padding-block:var(--space-2); }.pergola-accordion:not(.is-open) .pergola-accordion-copy small { display:none; }.pergola-admin-filter-slot { width:100%; padding:0 var(--space-1) var(--space-3); }.pergola-section-heading label,#pergola-filter { width:100%; min-width:0; }#pergola-admin-reservations-slot .pergola-reservation-list,.pergola-reservation-group__list { grid-template-columns:minmax(0,1fr); } }

/* Finanzas: workspace operativo de cuentas por cobrar. */
.module-finance.ui-active { display:grid!important; inline-size:min(100%,var(--content-max)); gap:var(--space-5); margin-inline:auto; color:var(--text); font-family:var(--font-product); }
.finance-heading { align-items:start; margin:0; padding:var(--space-1); }.finance-heading h2 { color:var(--text); font-size:var(--text-page-title); font-weight:var(--weight-semibold); letter-spacing:-.025em; line-height:1.15; }.finance-heading p:not(.eyebrow) { max-width:40rem; margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
#finance-app { display:grid; min-width:0; gap:0; }.module-finance #finance-notice:empty { display:none; }.module-finance #finance-notice { width:100%; margin:0 0 var(--space-5); }
.finance-nav { display:flex; min-width:0; flex-wrap:wrap; align-items:end; gap:var(--space-1); padding:var(--space-1) var(--space-1) 0; border-bottom:1px solid var(--border); }.module-finance .finance-nav__item { position:relative; z-index:0; display:inline-flex; width:auto; min-height:var(--touch-target); align-items:center; justify-content:center; gap:var(--space-2); border:1px solid transparent; border-bottom:0; border-radius:var(--radius-control) var(--radius-control) 0 0; padding:var(--space-2) var(--space-4); background:transparent; color:var(--text-secondary); font-size:var(--text-secondary-size); font-weight:var(--weight-semibold); line-height:1.25; white-space:nowrap; box-shadow:none; transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast); }.module-finance .finance-nav__icon { width:1.125rem; height:1.125rem; flex:0 0 auto; fill:currentColor; }.module-finance .finance-nav__item:hover { background:var(--surface-muted); color:var(--brand-700); }.module-finance .finance-nav__item.active { z-index:1; min-height:calc(var(--touch-target) + 1px); margin-bottom:-1px; border-color:var(--border); border-bottom:1px solid var(--surface); background:var(--surface); color:var(--brand-600); }.module-finance .finance-nav__item.active::after { content:none; }
.finance-workspace { display:grid; min-width:0; inline-size:min(100%,76rem); gap:var(--space-5); margin-inline:auto!important; padding:var(--space-5) 0 0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
.finance-section-heading h3,.finance-section h3,.finance-operation h3,.finance-movement-filters h3,.finance-tools h3 { margin:0; color:var(--text); font-size:var(--text-section-title); font-weight:var(--weight-semibold); letter-spacing:-.015em; }.finance-section-heading { margin-bottom:var(--space-4); }.finance-section-heading .eyebrow { margin-bottom:var(--space-1)!important; }
.finance-query,.finance-operation,.finance-movement-filters,.finance-tools,.finance-section { margin:0!important; border:1px solid var(--border)!important; border-radius:var(--radius-surface)!important; padding:var(--space-5)!important; background:var(--surface)!important; box-shadow:var(--shadow-subtle)!important; }
.finance-query__controls { display:grid; grid-template-columns:minmax(16rem,1fr) auto; align-items:end; gap:var(--space-3); max-width:42rem; }.finance-query__controls label,.finance-operation label,.finance-movement-filters label,.finance-tools label,.finance-dialog label { display:grid; min-width:0; gap:var(--space-2); color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }.module-finance input,.module-finance select,.finance-dialog input,.finance-dialog select,.finance-dialog textarea { min-height:var(--control-height); border-color:var(--border-strong); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--text); font-size:var(--text-body)!important; }.module-finance input:focus-visible,.module-finance select:focus-visible,.finance-dialog input:focus-visible,.finance-dialog select:focus-visible,.finance-dialog textarea:focus-visible { border-color:var(--brand-600); outline:3px solid color-mix(in srgb,var(--brand-600) 18%,transparent); }
.module-finance #finance-query,.module-finance .finance-operation form>button,.module-finance .finance-movement-filters form>button,.module-finance #finance-confirm-auto { min-height:var(--control-height); border-color:var(--brand-600); border-radius:var(--radius-control); background:var(--brand-600); color:var(--surface); box-shadow:none; }.module-finance #finance-query:hover,.module-finance .finance-operation form>button:hover,.module-finance .finance-movement-filters form>button:hover,.module-finance #finance-confirm-auto:hover { border-color:var(--brand-700); background:var(--brand-700); }
.finance-secondary-action,.module-finance [data-view-receipt],.module-finance #finance-timeline-open,.module-finance [data-movement-detail] { width:auto!important; border-color:var(--border-strong)!important; background:var(--surface)!important; color:var(--brand-700)!important; box-shadow:none!important; }.finance-secondary-action { margin-top:var(--space-4); }
#finance-statement { display:grid; gap:var(--space-4); margin-top:var(--space-5); }.finance-summary { display:grid; grid-template-columns:1.5fr repeat(2,minmax(0,1fr)); gap:var(--space-3); padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }.finance-metric { display:grid; min-width:0; gap:var(--space-2); padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface); }.finance-metric strong { color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-medium); text-transform:uppercase; letter-spacing:.035em; }.finance-metric b { color:var(--text); font-size:clamp(1.35rem,3vw,1.75rem); font-variant-numeric:tabular-nums; font-weight:var(--weight-semibold); letter-spacing:-.025em; }.finance-metric--primary { border-color:color-mix(in srgb,var(--brand-600) 28%,var(--border)); background:var(--brand-50); }.finance-metric--primary b { color:var(--brand-700); }.finance-metric--positive b { color:var(--success); }
.finance-amount,.finance-metric,.module-finance td,.module-finance li { font-variant-numeric:tabular-nums; }.finance-status { display:inline-flex; width:fit-content; align-items:center; border:1px solid var(--border); border-radius:var(--radius-pill); padding:var(--space-1) var(--space-2); background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-semibold); white-space:nowrap; }.finance-status--positive { border-color:color-mix(in srgb,var(--success) 24%,var(--border)); background:var(--success-soft); color:var(--success); }.finance-status--warning { border-color:color-mix(in srgb,var(--warning) 26%,var(--border)); background:var(--warning-soft); color:var(--warning); }
.finance-section table { border-collapse:collapse; }.finance-section th,.finance-section td { padding:var(--space-3); border-bottom:1px solid var(--border); color:var(--text-secondary); font-size:var(--text-secondary-size); text-align:left; vertical-align:middle; }.finance-section th { color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-semibold); text-transform:uppercase; letter-spacing:.035em; }.finance-section tbody tr:last-child td { border-bottom:0; }.finance-section td:nth-child(3) { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); }.finance-section td:last-child { justify-content:flex-end; }.finance-section ul,.finance-account-details ol { margin:var(--space-3) 0; padding:0; list-style:none; }.finance-section li,.finance-account-details ol li { padding:var(--space-3) 0; border-bottom:1px solid var(--border); color:var(--text-secondary); font-size:var(--text-secondary-size); line-height:1.5; }.finance-section li:last-child,.finance-account-details ol li:last-child { border-bottom:0; }.finance-ledger h4,.finance-account-details h3:not(:first-child) { margin:var(--space-5) 0 var(--space-2); color:var(--text); font-size:1rem; font-weight:var(--weight-semibold); }
.finance-operation { max-width:56rem; }.finance-operation form,.finance-movement-filters form,.finance-workspace[data-finance-current="config"] form,.finance-dialog form { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3)!important; align-items:end; }.finance-operation form>button,.finance-movement-filters form>button,.finance-workspace[data-finance-current="config"] form>button { align-self:end; }.finance-operation form>button { grid-column:1/-1; justify-self:start; min-width:13rem; }
.finance-operation--charge { max-width:none; }.finance-charge-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,.58fr); align-items:start; gap:var(--space-5); }.finance-charge-context { display:grid; min-width:0; gap:var(--space-3); min-height:100%; border-left:1px solid var(--border); padding-left:var(--space-5); color:var(--text-secondary); font-size:var(--text-secondary-size); }.finance-charge-context>header { display:grid; gap:var(--space-1); }.finance-charge-context .eyebrow { margin:0!important; }.finance-charge-context h4,.finance-charge-context p { margin:0; }.finance-charge-context h4 { color:var(--text); font-size:1rem; }.finance-charge-context dl { display:grid; gap:var(--space-3); margin:0; }.finance-charge-context dl>div { display:grid; gap:var(--space-1); }.finance-charge-context dt { color:var(--text-secondary); font-size:var(--text-caption); }.finance-charge-context dd { display:grid; gap:var(--space-1); margin:0; color:var(--text); font-size:1rem; font-weight:var(--weight-semibold); font-variant-numeric:tabular-nums; }.finance-charge-context dd small { color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-regular); }.finance-charge-context__error { color:var(--danger); }.finance-dialog #finance-charge-confirmation { grid-template-columns:minmax(0,1fr)!important; }.finance-dialog .finance-charge-confirmation__details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }.finance-dialog .finance-charge-confirmation__details p,.finance-dialog .finance-charge-confirmation__warning { margin:0; }.finance-dialog .finance-charge-confirmation__warning { border-left:3px solid var(--warning); padding-left:var(--space-3); color:var(--text-secondary); line-height:1.5; }.finance-dialog .finance-charge-confirmation__actions { display:flex; justify-content:flex-end; gap:var(--space-3); }.finance-dialog .finance-charge-confirmation__actions button { width:auto; }.finance-dialog .finance-charge-confirmation__actions [data-charge-confirm] { border-color:var(--brand-600); background:var(--brand-600); color:var(--surface); }
.finance-movement-filters form { grid-template-columns:repeat(4,minmax(0,1fr)); }.finance-movement-results { padding:0!important; border:1px solid var(--border)!important; border-radius:var(--radius-surface)!important; background:var(--surface)!important; box-shadow:none!important; }.finance-movement-results ul { margin:0; padding:0; list-style:none; }.finance-movement-results li { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:var(--space-3); padding:var(--space-3) var(--space-4); border-bottom:1px solid var(--border); color:var(--text-secondary); font-size:var(--text-secondary-size); }.finance-movement-results li:last-child { border-bottom:0; }.finance-movement-results>.actions { justify-content:flex-end; padding:var(--space-3) var(--space-4); border-top:1px solid var(--border); }
.finance-tool-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); }.finance-tool-groups>section { display:grid; align-content:start; gap:var(--space-3); margin:0; padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); box-shadow:none; }.finance-tool-groups h4 { margin:0; color:var(--text); font-size:1rem; font-weight:var(--weight-semibold); }.finance-tool-groups .actions { display:grid; gap:var(--space-2); }.finance-tool-groups button { width:100%; min-height:var(--touch-target); border-color:var(--border-strong); background:var(--surface); color:var(--brand-700); text-align:left; box-shadow:none; }.finance-tool-groups button:hover { border-color:color-mix(in srgb,var(--brand-600) 40%,var(--border)); background:var(--brand-50); }.finance-tool-unit { padding-bottom:var(--space-3); border-bottom:1px solid var(--border); }
.finance-workspace[data-finance-current="config"] { grid-template-columns:repeat(2,minmax(0,1fr)); }.finance-workspace[data-finance-current="config"]>.card { align-content:start; margin:0; border-color:var(--border)!important; border-radius:var(--radius-surface); padding:var(--space-5)!important; box-shadow:var(--shadow-subtle); }.finance-workspace[data-finance-current="config"]>.card:last-child { grid-column:1/-1; }.finance-workspace[data-finance-current="config"] ul { padding-left:var(--space-5); color:var(--text-secondary); }
.finance-dialog { width:min(48rem,calc(100vw - (var(--space-4) * 2))); max-height:calc(100dvh - (var(--space-4) * 2)); padding:0; border:0; border-radius:var(--radius-dialog); background:transparent; }.finance-dialog::backdrop { background:color-mix(in srgb,var(--text) 48%,transparent); }.finance-dialog__surface { max-height:inherit; overflow:auto; margin:0; border:1px solid var(--border)!important; border-radius:var(--radius-dialog)!important; padding:var(--space-5)!important; background:var(--surface)!important; box-shadow:var(--shadow-dialog)!important; }.finance-dialog__surface>header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding-bottom:var(--space-4); border-bottom:1px solid var(--border); }.finance-dialog__surface>header h3 { margin:0; }.finance-dialog__surface>header button { width:auto; min-height:var(--touch-target); border-color:var(--border); background:var(--surface-muted); color:var(--text-secondary); }.finance-dialog #finance-parity-body { display:grid; gap:var(--space-3); margin-top:var(--space-4); }.finance-dialog .card { box-shadow:none; }
.finance-pdf-action { display:inline-flex; width:fit-content; min-height:2.25rem; align-items:center; gap:var(--space-2); border:1px solid color-mix(in srgb,#8a6b82 40%,var(--border)); border-radius:var(--radius-control); padding:var(--space-2) var(--space-3); background:color-mix(in srgb,#8a6b82 8%,var(--surface)); color:#6f5368; font-size:var(--text-label); font-weight:var(--weight-semibold); text-decoration:none; }.finance-pdf-action:hover { border-color:#8a6b82; background:color-mix(in srgb,#8a6b82 14%,var(--surface)); color:#583f52; }.finance-pdf-action .finance-nav__icon { width:1.15rem; height:1.15rem; fill:currentColor; }.finance-result-card { display:grid; gap:var(--space-2); margin:0; border:1px solid color-mix(in srgb,var(--success) 30%,var(--border)); border-radius:var(--radius-surface); padding:var(--space-5); background:var(--success-soft); box-shadow:var(--shadow-subtle); }.finance-result-card h3,.finance-result-card p { margin:0; }.finance-result-card .finance-pdf-action { margin-top:var(--space-2); background:var(--surface); }.finance-document-filters { max-width:none; }.finance-documents-table td:last-child { display:table-cell; }.finance-priority-control { display:grid; min-width:15rem; gap:var(--space-1); }.finance-priority-control label { display:grid; grid-template-columns:auto auto; align-items:center; gap:var(--space-2); color:var(--text-secondary); font-size:var(--text-secondary-size); }.finance-priority-control select { grid-column:1/-1; }.finance-priority-control small { color:var(--text-secondary); font-size:var(--text-caption); }.finance-priority-control button { justify-self:start; }
@media (max-width:64rem) { .finance-movement-filters form { grid-template-columns:repeat(2,minmax(0,1fr)); }.finance-tool-groups { grid-template-columns:minmax(0,1fr); }.finance-workspace[data-finance-current="config"] { grid-template-columns:minmax(0,1fr); }.finance-workspace[data-finance-current="config"]>.card:last-child { grid-column:auto; }.finance-charge-layout { grid-template-columns:minmax(0,1fr); }.finance-charge-context { min-height:auto; border-top:1px solid var(--border); border-left:0; padding-top:var(--space-4); padding-left:0; }.finance-charge-context dl { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:47.5rem) { .module-finance.ui-active,.finance-workspace { gap:var(--space-4); }.module-finance #finance-app { gap:0; }.finance-heading { padding-inline:var(--space-1); }.finance-nav { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; padding-inline:var(--space-1); -webkit-overflow-scrolling:touch; scrollbar-width:none; }.finance-nav::-webkit-scrollbar { display:none; }.module-finance .finance-nav__item { flex:0 0 auto; padding-inline:var(--space-3); }.finance-query,.finance-operation,.finance-movement-filters,.finance-tools,.finance-section { padding:var(--space-4)!important; }.finance-query__controls,.finance-operation form,.finance-movement-filters form,.finance-workspace[data-finance-current="config"] form,.finance-dialog form { grid-template-columns:minmax(0,1fr); }.finance-query__controls button,.finance-operation form>button { width:100%; min-width:0; }.finance-charge-context dl,.finance-dialog .finance-charge-confirmation__details { grid-template-columns:minmax(0,1fr); }.finance-dialog .finance-charge-confirmation__actions { display:grid; grid-template-columns:minmax(0,1fr); }.finance-dialog .finance-charge-confirmation__actions button { width:100%; }.finance-summary { grid-template-columns:minmax(0,1fr); }.finance-metric { padding:var(--space-3) var(--space-4); }.finance-section table,.finance-section thead,.finance-section tbody,.finance-section tr,.finance-section th,.finance-section td { display:block; width:100%; }.finance-section thead { display:none; }.finance-section tr { margin:0; padding:var(--space-3) 0; border:0; border-bottom:1px solid var(--border); border-radius:0; }.finance-section tbody tr:last-child { border-bottom:0; }.finance-section td { padding:var(--space-1) 0; border:0; }.finance-section td:last-child { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; margin-top:var(--space-2); }.finance-section td:last-child button { width:100%; }.finance-movement-results li { grid-template-columns:minmax(0,1fr) auto; gap:var(--space-2); }.finance-movement-results li>span:first-child { grid-column:1/-1; }.finance-movement-results li button { grid-column:1/-1; width:100%!important; }.finance-secondary-action { width:100%!important; }.finance-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; border-radius:0; }.finance-dialog__surface { min-height:100dvh; border-radius:0!important; padding:var(--space-4)!important; } }

/* UI-5: Encuestas reproduce el recorrido público → administración → editor. */
.module-polls.ui-active { display:block!important; max-width:70rem; margin-inline:auto; }.polls-heading,.poll-admin-heading,.poll-editor-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:start; gap:1rem; margin-bottom:1.25rem; }.polls-heading h2,.poll-admin-heading h3,.poll-editor-heading h3 { margin:0; color:var(--ink); font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.035em; }.polls-heading p:not(.eyebrow),.poll-admin-heading p:not(.eyebrow),.poll-editor-heading p:not(.eyebrow) { margin:.3rem 0 0; color:var(--muted); }.polls-heading #poll-admin-open { background:#243b58; border-color:#243b58; }.polls-heading #poll-admin-open:hover { background:#182c46; }
#poll-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }.poll-public-card,.poll-admin-card { display:flex; flex-direction:column; gap:.9rem; min-width:0; padding:1.15rem; border:1px solid #dce6ed; border-radius:1rem; background:#fff; box-shadow:0 3px 12px #102c460a; }.poll-public-card h3,.poll-admin-card h4 { margin:0 0 .55rem; color:var(--ink); font-size:1.08rem; }.poll-public-card>button { margin-top:auto; }.poll-status { display:inline-flex; width:fit-content; padding:.28rem .55rem; border-radius:.5rem; font-size:.75rem; font-weight:800; }.poll-status.active { color:#176b45; background:#edf8f2; }.poll-status.draft { color:#61717d; background:#edf1f4; }.poll-status.closed { color:#885d0b; background:#fff7dd; }.poll-public-card p,.poll-admin-card p,.poll-note { margin:.45rem 0 0; color:var(--muted); font-size:.84rem; line-height:1.5; }.poll-note { padding:.7rem; border-radius:.6rem; background:#f5f8fa; }.poll-empty { grid-column:1/-1; margin:0; padding:2.3rem 1rem; border:1px dashed #cbd7df; border-radius:1rem; color:var(--muted); text-align:center; }
#poll-admin-view,#poll-editor,#poll-vote { max-width:70rem; margin-inline:auto; }.poll-admin-heading { padding:1.2rem; border:1px solid #d9e2ea; border-radius:1rem; background:#f8fbfd; }.poll-admin-heading>div:last-child { display:flex; flex-wrap:wrap; gap:.55rem; }.poll-admin-heading #poll-new { background:#176aa8; }.poll-admin-heading #poll-admin-back,.poll-editor-heading>#poll-editor-back { color:#476272; background:#fff; border-color:#cbd9e2; }.poll-admin-heading #poll-new,.poll-admin-heading #poll-admin-back { width:auto; }.poll-admin-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(13rem,.55fr); align-items:start; margin-bottom:.75rem; }.poll-admin-actions { display:flex; flex-wrap:wrap; gap:.45rem; padding-left:.8rem; border-left:1px solid #e2eaf0; }.poll-admin-actions button { flex:1 1 6.5rem; min-height:2.45rem; }.poll-editor-heading { padding-bottom:1rem; border-bottom:1px solid #dce6ed; }.poll-editor-heading>#poll-editor-back { width:auto; order:2; }.module-polls #poll-editor-form { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem!important; padding:1.2rem; border:1px solid #dce6ed; border-radius:1rem; background:#fff; }.module-polls #poll-editor-form label:nth-of-type(1),.module-polls #poll-editor-form label:nth-of-type(2),.module-polls #poll-editor-form label:nth-of-type(6) { grid-column:1/-1; }.module-polls #poll-editor-form button { align-self:end; }.module-polls #poll-vote { max-width:44rem; }.module-polls #poll-vote-title { margin:0; color:var(--ink); font-size:1.5rem; }.module-polls #poll-vote-intro { color:var(--muted); line-height:1.55; }.module-polls #poll-vote-form { display:grid; gap:1rem; margin:1rem 0; }.module-polls #poll-vote-form>label { display:grid; gap:.65rem; padding:1rem; border:1px solid #dce6ed; border-radius:.9rem; background:#fff; color:var(--ink); font-weight:750; }.module-polls #poll-vote-form select,.module-polls #poll-vote-form textarea { margin-top:.25rem; }.module-polls #poll-vote-cancel { color:#476272; background:#fff; border-color:#cbd9e2; }
@media(max-width:760px) { .polls-heading,.poll-admin-heading,.poll-editor-heading { align-items:stretch; }.polls-heading #poll-admin-open,.poll-admin-heading #poll-new,.poll-admin-heading #poll-admin-back,.poll-editor-heading>#poll-editor-back { width:100%; }.poll-admin-heading>div:last-child { display:grid; }.poll-admin-card { grid-template-columns:1fr; }.poll-admin-actions { padding:.8rem 0 0; border-top:1px solid #e2eaf0; border-left:0; }.module-polls #poll-editor-form { grid-template-columns:1fr; }.module-polls #poll-editor-form label { grid-column:auto!important; } }

/* Fase 7B: importación XLSX aislada al editor ADMIN. */
.poll-xlsx-tools { grid-column:1/-1; display:grid; gap:.7rem; padding:1rem; border:1px dashed #a9c9dd; border-radius:.8rem; background:#f5faff; }.poll-xlsx-tools h4 { margin:0; color:var(--ink); }.poll-xlsx-tools p { margin:.3rem 0 0; color:var(--muted); font-size:.82rem; }.poll-xlsx-actions { display:flex; flex-wrap:wrap; gap:.55rem; }.poll-xlsx-actions button,.poll-xlsx-import,.poll-xlsx-tools>#poll-xlsx-apply { width:auto; min-height:2.5rem; }.poll-xlsx-import { display:inline-flex; align-items:center; justify-content:center; padding:.58rem .85rem; border:1px solid #176aa8; border-radius:.55rem; color:#176aa8; background:#fff; font-weight:700; cursor:pointer; }.poll-xlsx-import input { position:absolute; width:1px; height:1px; opacity:0; }.poll-xlsx-import:focus-within { outline:3px solid #2780bd26; }.poll-xlsx-tools>#poll-xlsx-apply { justify-self:start; }.poll-xlsx-tools #poll-xlsx-preview { padding:.75rem .9rem; border-radius:.65rem; color:#38586c; background:#fff; font-size:.84rem; }.poll-xlsx-tools #poll-xlsx-preview strong { color:var(--ink); }.poll-xlsx-tools #poll-xlsx-preview ul,.poll-xlsx-tools #poll-xlsx-preview ol { margin:.45rem 0 0; padding-left:1.25rem; }.poll-xlsx-tools #poll-xlsx-preview li+li { margin-top:.2rem; }
@media(max-width:760px) { .poll-xlsx-actions { display:grid; }.poll-xlsx-actions button,.poll-xlsx-import,.poll-xlsx-tools>#poll-xlsx-apply { width:100%; } }
.poll-question-editor { grid-column:1/-1; display:grid; gap:.85rem; }.poll-question-editor>header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:start; gap:.75rem; }.poll-question-editor h4,.poll-question-editor h5 { margin:0; color:var(--ink); }.poll-question-editor>header p { margin:.25rem 0 0; color:var(--muted); font-size:.82rem; }.poll-question-editor>header button { width:auto; }.poll-question-editor>#poll-question-list { display:grid; gap:.8rem; }.poll-question-card { padding:1rem; border:1px solid #d9e5ec; border-radius:.85rem; background:#fbfdfe; }.poll-question-card>header { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding-bottom:.75rem; border-bottom:1px solid #e5edf2; }.poll-question-card>header strong { color:#295b7a; }.poll-question-actions { display:flex; flex-wrap:wrap; gap:.35rem; }.poll-question-actions button { width:auto; min-height:2.25rem; padding:.38rem .6rem; color:#476272; background:#fff; border-color:#cbd9e2; }.poll-question-actions button:last-child { color:#a33131; border-color:#e4aaaa; background:#fff1f1; }.poll-question-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:.8rem; }.poll-question-fields>label { display:grid; gap:.35rem; color:#4d6271; font-size:.8rem; font-weight:750; }.poll-question-fields>label:first-child,.poll-question-fields>label:nth-child(2),.poll-option-editor { grid-column:1/-1; }.poll-question-fields textarea { min-height:5rem; }.poll-option-editor { display:grid; gap:.55rem; padding:.8rem; border:1px solid #dce8ee; border-radius:.7rem; background:#f4f9fc; }.poll-option-list { display:grid; gap:.45rem; }.poll-option-list>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; }.poll-option-list button,.poll-option-editor>button { width:auto; min-height:2.3rem; padding:.4rem .6rem; color:#476272; background:#fff; border-color:#cbd9e2; }.poll-question-empty { margin:0; padding:1rem; border:1px dashed #cbd7df; border-radius:.7rem; color:var(--muted); text-align:center; }
@media(max-width:760px) { .poll-question-editor>header button,.poll-question-actions button,.poll-option-editor>button,.poll-option-list button { width:100%; }.poll-question-fields { grid-template-columns:1fr; }.poll-question-fields>label:first-child,.poll-question-fields>label:nth-child(2),.poll-option-editor { grid-column:auto; }.poll-question-card>header { align-items:stretch; flex-direction:column; }.poll-question-actions { display:grid; grid-template-columns:1fr 1fr; }.poll-question-actions button:last-child { grid-column:1/-1; }.poll-option-list>div { grid-template-columns:1fr; } }
.poll-report-dialog { width:min(72rem,calc(100vw - 2rem)); max-height:min(48rem,calc(100dvh - 2rem)); padding:0; border:0; border-radius:1rem; background:transparent; }.poll-report-dialog::backdrop { background:#14223385; backdrop-filter:blur(3px); }.poll-report-dialog>section { max-height:inherit; overflow:auto; border:0; border-radius:1rem; padding:1.25rem; background:#fff; box-shadow:0 24px 65px #102c4645; }.poll-report-dialog header { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding-bottom:1rem; border-bottom:1px solid #dce6ed; }.poll-report-dialog h3 { margin:0; color:var(--ink); }.poll-report-dialog header p:not(.eyebrow) { margin:.3rem 0 0; color:var(--muted); }.poll-report-dialog header button { width:2.65rem; min-height:2.65rem; padding:0; color:#526776; background:#f2f6f8; border-color:#dce6ed; font-size:1.4rem; }.poll-report-dialog footer { display:flex; justify-content:end; margin-top:1rem; }.poll-report-list { display:grid; gap:.5rem; margin:1rem 0 0; padding:0; list-style:none; }.poll-report-list li { padding:.75rem .85rem; border:1px solid #dce6ed; border-radius:.65rem; color:#40596b; background:#f9fbfc; }.poll-report-table-wrap { margin-top:1rem; overflow:auto; border:1px solid #dce6ed; border-radius:.7rem; }.poll-report-table-wrap table { min-width:max(100%,40rem); border-collapse:collapse; }.poll-report-table-wrap th,.poll-report-table-wrap td { padding:.7rem; border-bottom:1px solid #e6edf1; text-align:left; vertical-align:top; white-space:pre-wrap; }.poll-report-table-wrap th { position:sticky; top:0; color:var(--ink); background:#eef5f9; }.poll-report-table-wrap tr:last-child td { border-bottom:0; }
@media(max-width:760px) { .poll-report-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; border-radius:0; }.poll-report-dialog>section { min-height:100dvh; border-radius:0; padding:1rem; }.poll-report-dialog footer button { width:100%; } }

/* Visitas: credenciales y actividad con metadata semántica compacta. */
.module-access.ui-active { display:grid!important; gap:var(--space-5); max-width:var(--content-task); margin-inline:auto; font-family:var(--font-product); }
.module-access .access-heading { display:grid; gap:var(--space-1); padding-inline:var(--space-1); }
.module-access .access-heading h2 { margin:0; color:var(--text); font-size:var(--text-page-title); font-weight:var(--weight-semibold); letter-spacing:-.025em; line-height:1.15; }
.module-access .access-heading p:not(.eyebrow) { margin:0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-access .access-section { display:grid; gap:var(--space-4); margin:0; padding:var(--space-5); border:1px solid var(--border); border-radius:var(--radius-surface); background:var(--surface); box-shadow:var(--shadow-subtle); }
.module-access .access-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); padding-bottom:var(--space-3); border-bottom:1px solid var(--border); }
.module-access .access-section-heading h3 { margin:0; color:var(--text); font-size:var(--text-section-title); font-weight:var(--weight-semibold); letter-spacing:-.015em; }
.module-access .access-section-heading p:not(.eyebrow) { margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-access .access-section-content { display:grid; min-width:0; }
.module-access .access-section-content[hidden] { display:none; }
.module-access .access-section-toggle { display:grid; flex:0 0 auto; width:2.5rem; height:2.5rem; place-items:center; border:1px solid var(--access-line); border-radius:.75rem; background:#fff; color:var(--access-brand-strong); }
.module-access .access-section-toggle:hover { border-color:var(--access-brand); background:var(--access-soft); }
.module-access .access-section-toggle__icon { width:1rem; height:1rem; transition:transform var(--transition-fast); }
.module-access .access-section.is-collapsed .access-section-toggle__icon { transform:rotate(-90deg); }
.module-access #access-form { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3)!important; align-items:end; margin:0; }
.module-access #access-form label,.module-access #access-history-filters label { display:grid; min-width:0; gap:var(--space-2); color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }
.module-access #access-form button { justify-self:start; min-width:13rem; }
.module-access #access-history-filters { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-3)!important; align-items:end; margin:0; }
.module-access #access-history-filters button { align-self:end; }
.module-access .access-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:var(--space-3); }
.module-access .access-card { display:grid; min-width:0; gap:var(--space-3); margin:0; padding:var(--space-4)!important; border:1px solid var(--border)!important; border-left:3px solid var(--border-strong)!important; border-radius:var(--radius-control)!important; background:var(--surface)!important; box-shadow:none!important; }
.module-access .access-card--active,.module-access .access-card--upcoming { border-left-color:var(--brand-600)!important; }
.module-access .access-card--consumed { border-left-color:var(--success)!important; }
.module-access .access-card--cancelled,.module-access .access-card--revoked,.module-access .access-card--entry_denied { border-left-color:var(--danger)!important; }
.module-access .access-card--upcoming { background:color-mix(in srgb,var(--surface) 97%,var(--warning))!important; }
.module-access .access-card__header { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:var(--space-3); }
.module-access .access-card__identity { display:grid; min-width:0; gap:var(--space-1); }
.module-access .access-card__identity strong { overflow:hidden; color:var(--text); font-size:1rem; font-weight:var(--weight-semibold); text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-card__identity span,.module-access .access-card__detail { color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-access .access-card__detail { margin:0; line-height:1.45; }
.module-access .access-card__chips { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.module-access .access-chip { display:inline-flex; width:max-content; max-width:100%; align-items:center; border:1px solid var(--border); border-radius:var(--radius-pill); padding:var(--space-1) var(--space-2); background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-semibold); line-height:1.25; }
.module-access .access-chip--positive { border-color:color-mix(in srgb,var(--success) 24%,var(--border)); background:var(--success-soft); color:var(--success); }
.module-access .access-chip--warning { border-color:color-mix(in srgb,var(--warning) 28%,var(--border)); background:var(--warning-soft); color:var(--warning); }
.module-access .access-chip--danger { border-color:color-mix(in srgb,var(--danger) 24%,var(--border)); background:var(--danger-soft); color:var(--danger); }
.module-access .access-chip--info { border-color:color-mix(in srgb,var(--brand-600) 24%,var(--border)); background:var(--brand-50); color:var(--brand-700); }
.module-access .access-card__qr { display:grid; min-height:12rem; place-items:center; padding:var(--space-3); border:1px solid var(--border); background:var(--surface-muted); }
.module-access .access-card__qr svg { width:min(100%,12rem)!important; height:auto; }
.module-access .access-card__actions { display:flex; flex-wrap:wrap; gap:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--border); }
.module-access .access-card__actions button { flex:1 1 8rem; min-height:var(--touch-target); padding-inline:var(--space-3); font-size:var(--text-secondary-size); }
.module-access #access-history-more { justify-self:start; }
.module-access .access-activity-list { display:grid; gap:.5rem; }
.module-access .access-activity-header,.module-access .access-activity-row { display:grid; grid-template-columns:4.75rem minmax(6.5rem,1fr) 4.5rem minmax(6rem,1fr) minmax(8rem,1.2fr) auto; align-items:center; gap:.75rem; min-width:0; }
.module-access .access-activity-header { padding:0 .875rem; color:var(--access-muted); font-size:.6875rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.module-access .access-activity-row { padding:.8125rem .875rem; border:1px solid color-mix(in srgb,var(--access-line) 82%,white); border-radius:.875rem; background:#fff; box-shadow:0 2px 8px rgb(15 23 42 / .03); }
.module-access .access-activity-row > span { overflow:hidden; color:var(--access-ink); font-size:.8125rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-activity-row__code { color:var(--access-brand-strong)!important; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.75rem!important; font-weight:700!important; letter-spacing:.04em; }
.module-access .access-activity-row__date,.module-access .access-activity-row__parking { color:var(--access-muted)!important; font-weight:500!important; }
.module-access .access-activity-status { display:inline-flex; width:max-content; align-items:center; justify-content:center; border-radius:.5rem; padding:.3125rem .5rem; font-size:.6875rem!important; font-weight:800!important; letter-spacing:.025em; }
.module-access .access-activity-status--active { background:var(--access-positive-bg); color:var(--access-positive)!important; }.module-access .access-activity-status--upcoming { background:var(--access-warning-bg); color:var(--access-warning)!important; }.module-access .access-activity-status--claimed,.module-access .access-activity-status--consumed { background:var(--access-info-bg); color:var(--access-info)!important; }.module-access .access-activity-status--cancelled,.module-access .access-activity-status--revoked,.module-access .access-activity-status--entry_denied { background:var(--access-danger); color:#fff!important; }.module-access .access-activity-status--expired { background:var(--access-neutral-bg); color:var(--access-neutral)!important; }
.module-access .access-section[hidden] { display:none!important; }
.module-access .access-admin-operations { gap:1.125rem; background:linear-gradient(135deg,#fff 0%,var(--access-soft) 100%); }
.module-access .access-admin-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.625rem; }
.module-access .access-admin-metric { display:grid; gap:.25rem; min-width:0; padding:.75rem .875rem; border:1px solid color-mix(in srgb,var(--access-line) 78%,transparent); border-radius:.875rem; background:#fff; box-shadow:0 2px 8px rgb(15 23 42 / .025); }
.module-access .access-admin-metric span { overflow:hidden; color:var(--access-muted); font-size:.6875rem; font-weight:700; letter-spacing:.045em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.module-access .access-admin-metric strong { color:var(--access-ink); font-size:1.35rem; font-variant-numeric:tabular-nums; line-height:1.1; }
.module-access .access-admin-operation-group { display:grid; gap:.5rem; min-width:0; }
.module-access .access-admin-operation-group h4 { margin:0; color:var(--access-ink); font-size:.9375rem; font-weight:700; }
.module-access .access-admin-operation-list { display:grid; gap:.5rem; min-width:0; }
.module-access .access-admin-operation-header,.module-access .access-admin-operation-row { display:grid; grid-template-columns:4.25rem minmax(7.5rem,1.05fr) 5rem minmax(8rem,1.35fr) minmax(6rem,.85fr) 4.5rem minmax(8.5rem,1.1fr) auto; align-items:center; gap:.625rem; min-width:0; }
.module-access .access-admin-operation-header { padding:0 .875rem; color:var(--access-muted); font-size:.6875rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.module-access .access-admin-operation-row { padding:.75rem .875rem; border:1px solid color-mix(in srgb,var(--access-line) 82%,white); border-radius:.875rem; background:#fff; box-shadow:0 2px 8px rgb(15 23 42 / .03); }
.module-access .access-admin-operation-row > span { overflow:hidden; color:var(--access-ink); font-size:.8125rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-admin-operation-row__time,.module-access .access-admin-operation-row__unit,.module-access .access-admin-operation-row__parking { color:var(--access-muted)!important; font-weight:500!important; }
.module-access .access-admin-operation-row__event { color:var(--access-brand-strong)!important; font-weight:700!important; }
.module-access .access-admin-operation-header,.module-access .access-admin-operation-row { grid-template-columns:4.25rem minmax(7rem,1fr) 5rem minmax(7rem,1.05fr) minmax(6rem,.85fr) 4rem minmax(8rem,1.05fr) minmax(5.5rem,.7fr) 5.5rem; }
.module-access .access-admin-operation-row__visitor { min-width:0; max-width:14ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-admin-operation-row__evidence { display:flex; min-width:0; align-items:center; gap:.25rem; overflow:visible!important; white-space:nowrap!important; }
.module-access .access-evidence-chip { display:inline-flex; width:max-content; align-items:center; border:1px solid #f3d27a; border-radius:.45rem; padding:.22rem .38rem; background:#fff8db; color:#8a5a00; font-size:.64rem; font-weight:800; letter-spacing:.03em; line-height:1; }
.module-access .access-admin-operation-header,.module-access .access-admin-operation-row { grid-template-columns:4.25rem minmax(0,15ch) 5rem minmax(0,14ch) minmax(0,10ch) 3.5rem minmax(0,12ch) minmax(5.75rem,.8fr) 5.5rem; }
.module-access .access-admin-operation-header { column-gap:.75rem; }
.module-access .access-admin-operation-header > span { min-width:0; white-space:nowrap; }
.module-access .access-admin-operation-row__event,.module-access .access-admin-operation-row__modality,.module-access .access-admin-operation-row__parking { min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-admin-operation-row__visitor { max-width:14ch; }
.module-access .access-operation-detail-trigger { min-width:0; overflow:hidden; border:0; padding:0; background:transparent; color:var(--access-muted); cursor:pointer; font:inherit; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-operation-detail-trigger:hover,.module-access .access-operation-detail-trigger:focus-visible { color:var(--access-brand-strong); text-decoration:underline; }
.module-access .access-admin-operation-row__evidence .access-evidence-chip { border:1px solid #f3d27a; cursor:pointer; }
.access-operation-dialog { width:min(38rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:1rem; background:transparent; }.access-operation-dialog::backdrop { background:rgb(15 23 42 / .48); }.access-operation-dialog>section { max-height:inherit; overflow:auto; padding:1.25rem; border:1px solid var(--access-line); border-radius:1rem; background:#fff; box-shadow:0 1rem 3rem rgb(15 23 42 / .2); }.access-operation-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--access-line); }.access-operation-dialog h3 { margin:0; color:var(--access-ink); }.access-operation-dialog header button { width:2.25rem; min-height:2.25rem; border:1px solid var(--access-line); border-radius:.5rem; background:#fff; color:var(--access-muted); font-size:1.3rem; }.access-operation-dialog dl { display:grid; gap:.5rem; margin:1rem 0; }.access-operation-dialog dl>div { display:grid; grid-template-columns:9rem minmax(0,1fr); gap:.75rem; }.access-operation-dialog dt { color:var(--access-muted); font-size:.75rem; font-weight:700; text-transform:uppercase; }.access-operation-dialog dd { min-width:0; margin:0; color:var(--access-ink); overflow-wrap:anywhere; }.access-operation-dialog-evidence { padding-top:1rem; border-top:1px solid var(--access-line); }.access-operation-dialog-evidence h4 { margin:0 0 .5rem; color:var(--access-ink); }.access-operation-dialog-evidence [data-detail-evidence] { display:flex; flex-wrap:wrap; gap:.4rem; }
.access-evidence-viewer { width:min(56rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:1rem; background:transparent; }.access-evidence-viewer::backdrop { background:rgb(15 23 42 / .72); }.access-evidence-viewer>section { display:grid; max-height:inherit; overflow:hidden; padding:1rem; border:1px solid rgb(255 255 255 / .16); border-radius:1rem; background:#172033; box-shadow:0 1rem 3rem rgb(15 23 42 / .35); }.access-evidence-viewer header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.access-evidence-viewer h3 { margin:0; color:#fff; font-size:1rem; }.access-evidence-viewer header button { width:2.5rem; min-height:2.5rem; border:1px solid rgb(255 255 255 / .25); border-radius:.6rem; background:rgb(255 255 255 / .08); color:#fff; font-size:1.4rem; }.access-evidence-viewer-stage { display:grid; min-height:12rem; max-height:calc(100dvh - 9rem); place-items:center; padding:1rem 0; }.access-evidence-viewer-stage p { color:#e2e8f0; }.access-evidence-viewer-stage img { display:block; max-width:100%; max-height:calc(100dvh - 10rem); object-fit:contain; }.access-evidence-retry { justify-self:center; min-height:2.4rem; border:1px solid rgb(255 255 255 / .3); border-radius:.55rem; background:rgb(255 255 255 / .1); color:#fff; }
@media (max-width:47.5rem) { .access-evidence-viewer { width:100vw; max-width:none; max-height:100dvh; border-radius:0; }.access-evidence-viewer>section { min-height:100dvh; border-radius:0; padding:1rem .75rem; }.access-evidence-viewer-stage { max-height:none; min-height:0; flex:1; }.access-evidence-viewer-stage img { max-height:calc(100dvh - 7rem); } }
@media (max-width:47.5rem) { .module-access .access-admin-operation-row { grid-template-columns:minmax(0,1fr) auto; gap:.35rem .75rem; padding:1rem; }.module-access .access-admin-operation-row__time { grid-column:1; grid-row:1; }.module-access .access-admin-operation-row .access-activity-status { grid-column:2; grid-row:1; justify-self:end; }.module-access .access-admin-operation-row__unit,.module-access .access-admin-operation-row__visitor { grid-row:2; }.module-access .access-admin-operation-row__unit { grid-column:1; }.module-access .access-admin-operation-row__visitor { grid-column:2; max-width:none; }.module-access .access-admin-operation-row__event,.module-access .access-admin-operation-row__modality { grid-row:3; }.module-access .access-admin-operation-row__event { grid-column:1; }.module-access .access-admin-operation-row__modality { grid-column:2; }.module-access .access-admin-operation-row__guests,.module-access .access-admin-operation-row__parking { grid-row:4; }.module-access .access-admin-operation-row__guests { grid-column:1; }.module-access .access-admin-operation-row__parking { grid-column:2; }.module-access .access-admin-operation-row__evidence { grid-column:1/-1; grid-row:5; display:flex; gap:.3rem; overflow:visible!important; white-space:normal!important; }.module-access .access-admin-operation-row__evidence::before { content:attr(data-label); margin-right:.25rem; color:var(--access-muted); font-size:.6875rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }.access-operation-dialog { width:100vw; max-width:none; max-height:100dvh; border-radius:0; }.access-operation-dialog>section { min-height:100dvh; border-radius:0; }.access-operation-dialog dl>div { grid-template-columns:minmax(7rem,9rem) minmax(0,1fr); } }
@media (max-width:47.5rem) { .module-access .access-admin-operation-row__visitor { max-width:none; }.module-access .access-admin-operation-row__evidence { display:flex; grid-column:1/-1; grid-row:4; gap:.3rem; overflow:visible!important; white-space:normal!important; }.module-access .access-admin-operation-row .access-activity-status { grid-column:2; grid-row:5; }.module-access .access-admin-operation-row__parking { grid-row:3; }.module-access .access-admin-operation-row__evidence::before { color:var(--access-muted); content:attr(data-label); font-size:.6875rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-right:.2rem; } }
@media (max-width:64rem) { .module-access #access-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-access #access-history-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:47.5rem) { .module-access.ui-active { gap:var(--space-4); }.module-access .access-section { padding:var(--space-4); }.module-access #access-form,.module-access #access-history-filters { grid-template-columns:minmax(0,1fr); }.module-access #access-form button { width:100%; min-width:0; }.module-access .access-card-grid { grid-template-columns:minmax(0,1fr); }.module-access .access-card__header { align-items:stretch; flex-direction:column; }.module-access .access-card__actions { display:grid; grid-template-columns:minmax(0,1fr); }.module-access .access-card__actions button { width:100%; }.module-access .access-card__qr { min-height:10rem; }.module-access .access-activity-header,.module-access .access-admin-operation-header { display:none; }.module-access .access-activity-row,.module-access .access-admin-operation-row { grid-template-columns:minmax(0,1fr) auto; gap:.375rem .75rem; padding:1rem; }.module-access .access-activity-row > span,.module-access .access-admin-operation-row > span { overflow:visible; white-space:normal; }.module-access .access-activity-row__code,.module-access .access-admin-operation-row__time { grid-column:1; grid-row:1; }.module-access .access-activity-row__date,.module-access .access-admin-operation-row__event { grid-column:2; grid-row:1; justify-self:end; text-align:right; }.module-access .access-activity-row__guests,.module-access .access-activity-row__modality,.module-access .access-activity-row__parking,.module-access .access-admin-operation-row__unit,.module-access .access-admin-operation-row__visitor,.module-access .access-admin-operation-row__modality,.module-access .access-admin-operation-row__guests,.module-access .access-admin-operation-row__parking { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.5rem; }.module-access .access-activity-row__guests::before,.module-access .access-activity-row__modality::before,.module-access .access-activity-row__parking::before,.module-access .access-admin-operation-row__unit::before,.module-access .access-admin-operation-row__visitor::before,.module-access .access-admin-operation-row__modality::before,.module-access .access-admin-operation-row__guests::before,.module-access .access-admin-operation-row__parking::before { color:var(--access-muted); content:attr(data-label); font-size:.6875rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }.module-access .access-activity-row__guests,.module-access .access-admin-operation-row__unit { grid-column:1; grid-row:2; }.module-access .access-activity-row__modality,.module-access .access-admin-operation-row__visitor { grid-column:2; grid-row:2; }.module-access .access-activity-row__parking,.module-access .access-admin-operation-row__modality { grid-column:1; grid-row:3; }.module-access .access-activity-status { grid-column:2; grid-row:3; justify-self:end; }.module-access .access-admin-operation-row__guests { grid-column:2; grid-row:3; }.module-access .access-admin-operation-row__parking { grid-column:1; grid-row:4; }.module-access .access-admin-operation-row .access-activity-status { grid-column:2; grid-row:4; }.module-access .access-admin-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Visitas 02: centro de accesos, identidad y profundidad específicas del módulo. */
.module-access { --access-brand:#2563eb; --access-brand-strong:#1d4ed8; --access-ink:#1e293b; --access-muted:#64748b; --access-line:#cbd5e1; --access-canvas:#f4f7fb; --access-soft:#f8fbff; --access-positive:#166534; --access-positive-bg:#ecfdf3; --access-positive-line:#86efac; --access-info:#175cd3; --access-info-bg:#eff8ff; --access-info-line:#93c5fd; --access-warning:#b54708; --access-warning-bg:#fffaeb; --access-warning-line:#fcd34d; --access-danger:#c01048; --access-danger-bg:#fff1f3; --access-danger-line:#fda29b; --access-neutral:#475467; --access-neutral-bg:#f8fafc; --access-neutral-line:#d0d5dd; }
.module-access.ui-active { gap:1.5rem; padding:2rem; border:0!important; border-radius:1.5rem!important; background:var(--access-canvas)!important; box-shadow:none!important; }
.module-access .access-heading { gap:.5rem; padding:1.5rem; border:1px solid color-mix(in srgb,var(--access-brand) 16%,var(--access-line)); border-radius:1.25rem; background:linear-gradient(120deg,#fff 0%,var(--access-soft) 100%); box-shadow:0 8px 24px rgb(15 23 42 / .04); }
.module-access .access-heading .eyebrow,.module-access .access-section .eyebrow { color:var(--access-brand-strong)!important; font-size:.75rem; font-weight:700; letter-spacing:.09em; }
.module-access .access-heading h2 { color:var(--access-ink); font-size:clamp(2rem,3vw,2.5rem); font-weight:700; letter-spacing:-.035em; }
.module-access .access-heading p:not(.eyebrow) { max-width:42rem; color:var(--access-muted); font-size:1rem; font-weight:500; line-height:1.55; }
.module-access .access-section { min-width:0; gap:1rem; padding:1.5rem; border-color:var(--access-line); border-radius:1.25rem; box-shadow:0 8px 24px rgb(15 23 42 / .04); }
.module-access .access-section--new { border-top:1px solid var(--access-line); background:var(--access-soft); }
.module-access .access-section-heading { padding-bottom:.75rem; border-bottom-color:color-mix(in srgb,var(--access-line) 70%,transparent); }
.module-access .access-section-heading h3 { color:var(--access-ink); font-size:1.75rem; font-weight:700; letter-spacing:-.025em; }
.module-access .access-section-heading p:not(.eyebrow) { margin-top:.125rem; color:var(--access-muted); font-size:.9375rem; font-weight:500; }
.module-access #access-form label,.module-access #access-history-filters label { color:var(--access-ink); font-size:.875rem; font-weight:600; }
.module-access #access-unit-label[hidden],.module-access #access-history-unit-label[hidden],.module-access #access-history-visitor-label[hidden] { display:none!important; }
.module-access #access-form input,.module-access #access-form select,.module-access #access-form textarea,.module-access #access-history-filters input,.module-access #access-history-filters select { min-height:3rem; border-color:var(--access-line); border-radius:.875rem; background:#fff; color:var(--access-ink); font-size:1rem; font-weight:500; }
.module-access #access-form textarea { min-height:6rem; padding-block:.75rem; resize:vertical; }
.module-access #access-form :is(input,select,textarea):focus,.module-access #access-history-filters :is(input,select):focus { border-color:var(--access-brand); outline:3px solid color-mix(in srgb,var(--access-brand) 18%,transparent); outline-offset:1px; }
.module-access .access-notes-field { grid-column:span 2; }
.module-access .access-visitor-field { order:1; }.module-access .access-unit-field { order:2; }.module-access .access-date-field { order:3; }.module-access .access-guests-field { order:4; }.module-access .access-modality-field { order:5; }.module-access .access-parking-field { order:6; }.module-access .access-borrowed-field { order:7; }.module-access .access-notes-field { order:8; }.module-access .access-generate-button { order:9; }.module-access .access-form-note { order:10; }
.module-access #access-pass-kind { grid-column:1/-1; order:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; min-width:0; margin:0; padding:.625rem; border:1px solid var(--access-line); border-radius:.875rem; background:var(--access-soft); }
.module-access #access-pass-kind legend { padding:0 .25rem; color:var(--access-ink); font-size:.875rem; font-weight:700; }
.module-access #access-pass-kind label { display:flex!important; min-width:0; align-items:center; gap:.5rem; min-height:2.5rem; margin:0; padding:.5rem .625rem; border:1px solid transparent; border-radius:.625rem; background:#fff; color:var(--access-ink); font-size:.875rem; font-weight:600; }
.module-access #access-pass-kind label:focus-within { border-color:var(--access-brand); outline:2px solid color-mix(in srgb,var(--access-brand) 18%,transparent); outline-offset:1px; }
.module-access #access-pass-kind input[type=radio] { flex:0 0 1rem; width:1rem!important; height:1rem; min-width:1rem; min-height:1rem!important; margin:0; accent-color:var(--access-brand); }
.module-access #access-pass-kind small { grid-column:1/-1; margin:0 .25rem; color:var(--access-muted); font-size:.75rem; font-weight:500; line-height:1.35; }
.module-access .access-borrowed-field { grid-column:1/-1; display:grid; gap:.45rem; padding:1rem; border:1px solid #ded4f2; border-radius:1rem; background:#f8f5fd; }
.module-access .access-borrowed-field[hidden] { display:none; }
.module-access .access-borrowed-field :is(input,select) { width:100%; box-sizing:border-box; }
.module-access .access-borrowed-field small { display:block; color:#6b5c84; line-height:1.4; }
.module-access .access-chip--borrowed { border-color:#d9c8f3; background:#f2ecfb; color:#694399; }
.module-access:not(.is-access-manager) .access-visitor-field { grid-column:1/-1; }
.module-access #access-form button { min-height:3rem; border-color:var(--access-brand); border-radius:.875rem; background:var(--access-brand); color:#fff; font-weight:700; box-shadow:0 4px 12px rgb(37 99 235 / .18); }
.module-access #access-form button:hover { border-color:var(--access-brand-strong); background:var(--access-brand-strong); }
.module-access .access-form-note { align-self:center; margin:0; padding:0; border:0; background:transparent; color:var(--access-muted); font-size:.8125rem; font-weight:500; line-height:1.45; }
.module-access #access-form .access-generate-button { grid-column:1/-1; justify-self:stretch; width:100%; min-width:0; min-height:50px; }
.module-access:not(.is-access-manager) .access-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.module-access #access-history-filters { padding:.875rem; border:1px solid color-mix(in srgb,var(--access-line) 78%,transparent); border-radius:1rem; background:var(--access-soft); }
.module-access #access-history-filters button { min-height:3rem; border-color:var(--access-brand); border-radius:.875rem; background:var(--access-brand); color:#fff; font-weight:700; }
.module-access .access-card { gap:1rem; border-color:color-mix(in srgb,var(--access-line) 82%,white)!important; border-left-width:4px!important; border-radius:1.125rem!important; padding:1rem!important; box-shadow:0 4px 16px rgb(15 23 42 / .05)!important; transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast); }
.module-access .access-card--active { border-left-color:var(--access-positive-line)!important; }.module-access .access-card--upcoming { border-left-color:var(--access-warning-line)!important; background:#fff!important; }.module-access .access-card--consumed { border-left-color:var(--access-positive-line)!important; }.module-access .access-card--claimed { border-left-color:var(--access-info-line)!important; }.module-access .access-card--cancelled,.module-access .access-card--revoked,.module-access .access-card--entry_denied { border-left-color:var(--access-danger-line)!important; }
.module-access .access-card__identity strong { color:var(--access-ink); font-size:1.0625rem; font-weight:700; }.module-access .access-card__identity span,.module-access .access-card__detail { color:var(--access-muted); font-size:.9375rem; font-weight:500; }.module-access .access-card__detail { padding-top:.75rem; border-top:1px solid color-mix(in srgb,var(--access-line) 64%,transparent); }
.module-access .access-chip { border-radius:999px; padding:.375rem .625rem; border-color:var(--access-neutral-line); background:var(--access-neutral-bg); color:var(--access-neutral); font-size:.8125rem; font-weight:600; }
.module-access .access-chip--positive { border-color:var(--access-positive-line); background:var(--access-positive-bg); color:var(--access-positive); }.module-access .access-chip--info { border-color:var(--access-info-line); background:var(--access-info-bg); color:var(--access-info); }.module-access .access-chip--warning { border-color:var(--access-warning-line); background:var(--access-warning-bg); color:var(--access-warning); }.module-access .access-chip--danger { border-color:var(--access-danger-line); background:var(--access-danger-bg); color:var(--access-danger); }
.module-access .access-card__qr { border-color:var(--access-info-line); border-radius:.875rem; background:var(--access-soft); }.module-access .access-card__actions { gap:.5rem; border-top-color:color-mix(in srgb,var(--access-line) 68%,transparent); }.module-access .access-card__actions button { min-height:3rem; border-color:var(--access-line); border-radius:.875rem; background:#fff; color:var(--access-brand-strong); font-weight:600; box-shadow:none; }.module-access .access-card__actions button:first-child { border-color:var(--access-brand); background:var(--access-brand); color:#fff; }.module-access .access-card__actions button:last-child.button-danger { border-color:var(--access-danger-line); background:var(--access-danger-bg); color:var(--access-danger); }
@media (hover:hover) and (pointer:fine) { .module-access .access-card:hover { border-color:var(--access-info-line)!important; box-shadow:0 10px 24px rgb(15 23 42 / .08)!important; transform:translateY(-2px); } }
/* El resultado se vuelve la superficie operativa inmediatamente después de crear el pase. */
.module-access .access-title-mobile { display:none; }
.module-access .access-created-result { display:grid; min-width:0; gap:1rem; padding-top:.25rem; scroll-margin-top:5.5rem; }
.module-access .access-created-result:focus { outline:none; }
.module-access #access-created-pass { min-width:0; }
.module-access .access-created-result__heading { display:grid; gap:.25rem; }
.module-access .access-created-result__heading h4 { margin:0; color:var(--access-ink); font-size:1.25rem; font-weight:700; letter-spacing:-.02em; }
.module-access .access-created-result__heading p:not(.eyebrow) { margin:0; color:var(--access-muted); font-size:.9375rem; font-weight:500; }
.module-access .access-created-result .access-card { width:min(100%,52rem); margin-inline:auto; }
.module-access .access-created-result .access-card--created { display:grid; grid-template-columns:minmax(0,1fr) minmax(18.75rem,21.25rem); align-items:start; gap:var(--space-5); padding:var(--space-4)!important; border:1px solid color-mix(in srgb,var(--access-line) 82%,white)!important; border-left:1px solid color-mix(in srgb,var(--access-line) 82%,white)!important; border-radius:var(--radius-surface)!important; background:var(--surface); box-shadow:var(--shadow-surface)!important; }
.module-access .access-created-context { display:grid; min-width:0; gap:var(--space-3); align-content:start; }
.module-access .access-created-details-toggle { display:flex; width:100%; min-height:3rem; align-items:center; justify-content:space-between; gap:var(--space-3); padding:var(--space-2) 0; border:0; border-bottom:1px solid color-mix(in srgb,var(--access-line) 72%,transparent); background:transparent; color:var(--access-ink); text-align:left; }
.module-access .access-created-details-copy { display:grid; gap:.125rem; min-width:0; }.module-access .access-created-details-copy strong { font-size:1rem; font-weight:var(--weight-semibold); }.module-access .access-created-details-copy small { overflow:hidden; color:var(--access-muted); font-size:var(--text-secondary-size); font-weight:var(--weight-medium); text-overflow:ellipsis; white-space:nowrap; }.module-access .access-created-details-icon { display:grid; flex:0 0 auto; width:1.125rem; height:1.125rem; color:var(--access-brand-strong); transition:transform var(--transition-fast); }.module-access .access-created-details-icon svg { width:100%; height:100%; }.module-access .access-created-details-toggle[aria-expanded="true"] .access-created-details-icon { transform:rotate(180deg); }
.module-access .access-created-details { padding-top:var(--space-1); }.module-access .access-created-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); margin:0; }.module-access .access-created-detail-grid > div { min-width:0; padding:.625rem .75rem; border:1px solid color-mix(in srgb,var(--access-line) 64%,transparent); border-radius:var(--radius-control); background:var(--surface-muted); }.module-access .access-created-detail-grid dt { color:var(--access-muted); font-size:.75rem; font-weight:var(--weight-semibold); }.module-access .access-created-detail-grid dd { margin:.1875rem 0 0; overflow-wrap:anywhere; color:var(--access-ink); font-size:var(--text-secondary-size); font-weight:var(--weight-medium); }.module-access .access-created-detail-grid > div:last-child:nth-child(odd) { grid-column:1/-1; }
.module-access .access-created-qr-panel { display:grid; justify-items:center; gap:var(--space-3); width:100%; max-width:21.25rem; padding:var(--space-3); border:1px solid color-mix(in srgb,var(--access-line) 72%,white); border-radius:var(--radius-surface); background:var(--surface-muted); }.module-access .access-created-qr-panel .access-card__qr { width:100%; min-height:0; padding:var(--space-2); border:1px solid color-mix(in srgb,var(--access-line) 60%,transparent); border-radius:var(--radius-control); background:var(--surface); }.module-access .access-created-qr-panel .access-card__qr svg { width:min(100%,13rem)!important; height:auto; }
.module-access .access-created-qr-panel .access-card__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:var(--space-2); padding:0; border:0; }.module-access .access-created-qr-panel .access-card__actions button { min-width:0; min-height:3rem; padding-inline:var(--space-2); white-space:normal; }.module-access .access-created-qr-panel .access-card__actions button:first-child { grid-column:auto; border-color:var(--access-brand); background:var(--access-brand); color:var(--surface); }.module-access .access-created-qr-panel .access-card__actions button:nth-child(3) { grid-column:1/-1; }
.module-access .access-created-manage { display:flex; align-items:center; gap:var(--space-2); padding-top:var(--space-2); border-top:1px solid color-mix(in srgb,var(--access-line) 64%,transparent); }.module-access .access-created-manage:empty { display:none; }.module-access .access-created-manage button { display:inline-flex; width:fit-content; min-width:0; min-height:var(--touch-target); align-items:center; justify-content:center; padding:.5rem .8rem; border:1px solid var(--access-danger-line); border-radius:var(--radius-control); background:#fff; color:var(--access-danger); font-size:var(--text-secondary-size); font-weight:var(--weight-semibold); }
.module-access #access-create-another { justify-self:center; min-height:3rem; padding-inline:var(--space-4); border-color:var(--access-info-line); border-radius:.875rem; background:#fff; color:var(--access-brand-strong); font-weight:600; box-shadow:none; }
.module-access #access-create-another:hover { border-color:var(--access-brand); background:var(--access-info-bg); }
.module-access .access-section--new.is-showing-result > .access-section-heading,.module-access .access-section--new.is-showing-result > #access-form { display:none!important; }
.module-access .access-section--new.is-showing-result { background:var(--surface); }
@media (max-width:47.5rem) { .module-access.ui-active { gap:1.5rem; padding:1.25rem; border-radius:0!important; }.module-access .access-heading,.module-access .access-section { padding:1.25rem; border-radius:1.25rem; }.module-access .access-heading h2 { font-size:2rem; }.module-access .access-title-desktop { display:none; }.module-access .access-title-mobile { display:inline; }.module-access .access-heading p:not(.eyebrow) { font-size:.9375rem; line-height:1.45; }.module-access .access-section-heading h3 { font-size:1.5rem; }.module-access #access-form { grid-template-columns:repeat(2,minmax(0,1fr))!important; }.module-access #access-form > label:has(#access-visitor),.module-access #access-unit-label,.module-access .access-notes-field,.module-access #access-form > button,.module-access .access-form-note { grid-column:1/-1; }.module-access #access-unit-label { order:-2; }.module-access #access-form > label:has(#access-date) { order:1; }.module-access #access-form > label:has(#access-guests) { order:2; }.module-access #access-form > label:has(#access-modality) { order:3; }.module-access #access-form > label:has(#access-parking) { order:4; }.module-access .access-notes-field { order:5; }.module-access #access-form > button { order:6; }.module-access .access-form-note { order:7; }.module-access #access-form button { width:100%; min-width:0; }.module-access:not(.is-access-manager) .access-card-grid { grid-template-columns:minmax(0,1fr); }.module-access #access-history-filters { padding:.75rem; }.module-access .access-card__chips { gap:.5rem; }.module-access .access-created-result .access-card--created { grid-template-columns:minmax(0,1fr); gap:var(--space-3); padding:var(--space-3)!important; }.module-access .access-created-qr-panel { order:-1; max-width:none; }.module-access .access-created-qr-panel .access-card__qr svg { width:min(100%,12rem)!important; }.module-access .access-created-detail-grid { grid-template-columns:minmax(0,1fr); }.module-access .access-created-detail-grid > div:last-child:nth-child(odd) { grid-column:auto; }.module-access #access-create-another { width:100%; }.module-access .access-section--new.is-showing-result { gap:1.25rem; } }
.module-access .access-created-manage button.visits-pass-cancel { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:6px; width:max-content; min-width:0; max-width:100%; height:44px; min-height:44px; padding:8px 12px; font-size:14px; line-height:20px; white-space:nowrap; }
.module-access .visits-pass-cancel > svg.access-action__icon { display:block; width:17px; min-width:17px; max-width:17px; height:17px; min-height:17px; max-height:17px; flex:0 0 17px; fill:currentColor; }
@media (max-width:26rem) { .module-access .access-created-qr-panel .access-card__actions { grid-template-columns:minmax(0,1fr); }.module-access .access-created-qr-panel .access-card__actions button:first-child,.module-access .access-created-qr-panel .access-card__actions button:nth-child(3) { grid-column:auto; } }
  /* ui-shell añade .ui-form a todos los formularios; este ajuste sólo neutraliza su layout en Nueva amenidad desktop. */
  @media (min-width:47.5625rem) { #pergola-amenity-create.pergola-amenity-create.ui-form { display:block!important; grid-template-columns:minmax(0,1fr)!important; gap:0!important; align-items:initial!important; } }
}

/* Tickets 01: estructura operativa; el diseño fino queda deliberadamente acotado. */
.module-tickets.ui-active { display:grid!important; width:min(100%,var(--content-standard)); gap:var(--space-5); margin-inline:auto; font-family:var(--font-product); }
.module-tickets>section { display:grid; gap:var(--space-4); margin:0; padding:var(--space-5); border:1px solid var(--border); border-radius:var(--radius-surface); background:var(--surface); box-shadow:var(--shadow-subtle); }
.module-tickets .screen-heading { margin:0; padding-inline:var(--space-1); }
.module-tickets .section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); padding-bottom:var(--space-3); border-bottom:1px solid var(--border); }
.module-tickets .section-heading h3,.module-tickets h4 { margin:0; color:var(--text); font-weight:var(--weight-semibold); }
.module-tickets .section-heading p:not(.eyebrow),.module-tickets small { color:var(--text-secondary); }
.module-tickets #ticket-form,.module-tickets #tickets-filters { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3)!important; align-items:end; }
.module-tickets #ticket-form label,.module-tickets #tickets-filters label,.module-tickets .ticket-manage label { display:grid; min-width:0; gap:var(--space-2); color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }
.module-tickets #ticket-form label:has(textarea),.module-tickets #ticket-form label:has(input[type="file"]),.module-tickets .ticket-confidential,.module-tickets #ticket-form>button { grid-column:1/-1; }
.module-tickets #ticket-form :is(input,select,textarea),.module-tickets #tickets-filters :is(input,select),.module-tickets .ticket-manage :is(select,textarea) { min-height:var(--control-height); border-color:var(--border-strong); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--text); }
.module-tickets #ticket-form textarea,.module-tickets .ticket-manage textarea { min-height:6rem; }
.module-tickets .ticket-confidential { grid-template-columns:auto minmax(0,1fr); align-items:start; padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }
.module-tickets .ticket-confidential input { width:auto; min-height:var(--space-5); margin-top:.125rem; }
.module-tickets .ticket-confidential span { display:grid; gap:var(--space-1); }
.module-tickets #tickets-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
.module-tickets #tickets-kpis .card strong { color:var(--text-secondary); font-size:var(--text-caption); text-transform:uppercase; letter-spacing:.04em; }
.module-tickets #tickets-kpis .card span { color:var(--text); font-size:1.25rem; font-weight:var(--weight-semibold); }
.module-tickets .ticket-card { align-content:start; gap:var(--space-3); border-left:3px solid var(--border-strong)!important; }
.module-tickets .ticket-card--new { border-left-color:var(--brand-600)!important; }.module-tickets .ticket-card--in_review { border-left-color:var(--warning)!important; }.module-tickets .ticket-card--resolved { border-left-color:var(--success)!important; }.module-tickets .ticket-card--closed { border-left-color:var(--border-strong)!important; }
.module-tickets .ticket-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); }
.module-tickets .ticket-status--new { background:var(--brand-50); color:var(--brand-700); }.module-tickets .ticket-status--in_review { background:var(--warning-soft); color:var(--warning); }.module-tickets .ticket-status--resolved { background:var(--success-soft); color:var(--success); }.module-tickets .ticket-status--closed { background:var(--surface-muted); color:var(--text-secondary); }
.module-tickets .ticket-detail { display:grid; gap:var(--space-3); padding-top:var(--space-3); border-top:1px solid var(--border); }.module-tickets .ticket-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-2); margin:0; padding:0; list-style:none; }.module-tickets .ticket-progress li { min-width:0; color:var(--text-secondary); font-size:var(--text-caption); }.module-tickets .ticket-progress .is-reached { color:var(--brand-700); font-weight:var(--weight-semibold); }.module-tickets .ticket-progress .is-current { color:var(--text); }
.module-tickets .ticket-response { padding:var(--space-3); border-radius:var(--radius-control); background:var(--surface-muted); }.module-tickets .ticket-response p { margin:var(--space-1) 0 0; }
.module-tickets .ticket-evidence { display:grid; grid-template-columns:repeat(auto-fit,minmax(8rem,1fr)); gap:var(--space-2); }.module-tickets .ticket-evidence img { width:100%; aspect-ratio:1.25; object-fit:cover; border-radius:var(--radius-control); }
.module-tickets .ticket-manage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); padding-top:var(--space-3); border-top:1px solid var(--border); }.module-tickets .ticket-manage label:nth-child(2),.module-tickets .ticket-manage button { grid-column:1/-1; }
@media (max-width:47.5rem) { .module-tickets.ui-active { gap:var(--space-4); }.module-tickets>section { padding:var(--space-4); }.module-tickets .section-heading { align-items:stretch; flex-direction:column; }.module-tickets #ticket-new { width:100%; }.module-tickets #ticket-form,.module-tickets #tickets-filters,.module-tickets .ticket-manage { grid-template-columns:minmax(0,1fr); }.module-tickets #tickets-kpis { grid-template-columns:minmax(0,1fr); }.module-tickets .ticket-progress { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-tickets #tickets-more { width:100%; } }

/* Tickets 03: atención humana, disclosure y operación móvil. */
.module-tickets .tickets-heading { padding:0 var(--space-1); }.module-tickets .tickets-heading h2 { font-size:var(--text-page-title); }
.module-tickets .tickets-create-closed { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); }.module-tickets .tickets-create-closed h3,.module-tickets #ticket-form h3 { margin:0; font-size:var(--text-section-title); }.module-tickets .tickets-create-closed p:not(.eyebrow) { margin:var(--space-1) 0 0; color:var(--text-secondary); }
.module-tickets .ticket-primary-action,.module-tickets .ticket-refresh { display:inline-flex; width:auto; min-height:var(--touch-target); align-items:center; justify-content:center; gap:var(--space-2); white-space:nowrap; }.module-tickets .ticket-primary-action svg,.module-tickets .ticket-refresh svg,.module-tickets .ticket-upload-control svg { width:1.15rem; height:1.15rem; }
.module-tickets .ticket-refresh { border-color:var(--text); background:var(--text); color:var(--surface); }.module-tickets .ticket-refresh:hover:not(:disabled) { border-color:var(--text); background:color-mix(in srgb,var(--text) 88%,var(--surface)); }
.module-tickets #ticket-form { margin-top:0; }.module-tickets #ticket-form>header,.module-tickets .ticket-description-field,.module-tickets .ticket-photo-field,.module-tickets .ticket-confidential,.module-tickets .ticket-form-actions { grid-column:1/-1; }.module-tickets #ticket-form>header { padding-bottom:var(--space-2); border-bottom:1px solid var(--border); }.module-tickets #ticket-form>header .eyebrow { margin-bottom:var(--space-1)!important; }
.module-tickets #ticket-evidence { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.module-tickets .ticket-upload-control { display:flex; width:100%; min-height:var(--touch-target); align-items:center; justify-content:flex-start; gap:var(--space-3); border:1px dashed var(--border-strong); background:var(--surface-muted); color:var(--text); text-align:left; }.module-tickets .ticket-upload-control span { display:grid; gap:2px; }.module-tickets .ticket-upload-control small { font-weight:400; }
.module-tickets .ticket-file-summary { display:grid; gap:var(--space-2); margin-top:var(--space-2); }.module-tickets .ticket-file-summary>div { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:var(--space-2); padding:var(--space-2) var(--space-3); border-radius:var(--radius-control); background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-secondary-size); }.module-tickets .ticket-file-summary button { width:auto; min-height:2rem; padding:var(--space-1) var(--space-2); border-color:var(--border); background:var(--surface); color:var(--text-secondary); }
.module-tickets .ticket-confidential { grid-template-columns:auto auto minmax(0,1fr); gap:var(--space-2); align-items:start; padding:var(--space-3); background:var(--surface-muted); }.module-tickets .ticket-confidential svg { width:1rem; height:1rem; color:var(--brand-700); }.module-tickets .ticket-confidential input { margin:0.125rem 0 0; }.module-tickets .ticket-form-actions { display:grid; grid-template-columns:1fr auto; gap:var(--space-2); }.module-tickets .ticket-form-actions button { min-height:var(--touch-target); }.module-tickets .ticket-form-actions button:last-child { border-color:var(--border); background:var(--surface); color:var(--text-secondary); }
.module-tickets #tickets-created-result { display:grid; gap:var(--space-3); scroll-margin-top:var(--space-6); }.module-tickets .ticket-created-confirmation { display:grid; gap:2px; padding:var(--space-3); border:1px solid color-mix(in srgb,var(--success) 25%,var(--border)); border-radius:var(--radius-control); background:var(--success-soft); color:var(--success); }.module-tickets .ticket-created-confirmation span { color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-tickets .tickets-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }.module-tickets .ticket-kpi { display:grid; gap:var(--space-1); padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }.module-tickets .ticket-kpi strong,.module-tickets .ticket-kpi small { color:var(--text-secondary); font-size:var(--text-caption); }.module-tickets .ticket-kpi b { color:var(--text); font-size:1.35rem; font-variant-numeric:tabular-nums; }.module-tickets .tickets-ranking { display:grid; gap:var(--space-2); }.module-tickets .tickets-ranking h4,.module-tickets .tickets-ranking p { margin:0; }.module-tickets .tickets-ranking p { color:var(--text-secondary); font-size:var(--text-secondary-size); }.module-tickets #tickets-ranking-list { display:grid; gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-control); }.module-tickets .ticket-ranking-row { display:flex; align-items:center; justify-content:space-between; padding:var(--space-2) var(--space-3); background:var(--surface-muted); }.module-tickets .ticket-ranking-row span { min-width:1.75rem; color:var(--brand-700); font-weight:var(--weight-semibold); text-align:center; }
.module-tickets #tickets-filters { grid-template-columns:minmax(0,1fr) auto; }.module-tickets .ticket-search-field { grid-column:1; }.module-tickets #tickets-filters-toggle { display:none; }.module-tickets #tickets-filters-toggle > svg.ticket-icon { width:1.15rem; height:1.15rem; flex:0 0 1.15rem; }.module-tickets .ticket-filter-fields { display:grid; grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-3); }.module-tickets .ticket-filter-actions { display:flex; gap:var(--space-2); align-items:end; }.module-tickets .ticket-filter-actions button { min-height:var(--touch-target); }.module-tickets .ticket-filter-actions button:last-child { border-color:var(--border); background:var(--surface); color:var(--text-secondary); }
.module-tickets .tickets-list { display:grid; gap:var(--space-3); }.module-tickets .ticket-card { padding:var(--space-4)!important; cursor:default; }.module-tickets .ticket-card>header h4 { outline:none; }.module-tickets .ticket-card>header p,.module-tickets .ticket-card-meta,.module-tickets .ticket-excerpt { margin:0; }.module-tickets .ticket-card>header p,.module-tickets .ticket-card-meta { color:var(--text-secondary); font-size:var(--text-secondary-size); }.module-tickets .ticket-excerpt { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.5; }.module-tickets .ticket-open { width:100%; min-height:var(--touch-target); border-color:var(--border); background:var(--surface-muted); color:var(--brand-700); }.module-tickets .ticket-detail-host { display:grid; gap:var(--space-3); }.module-tickets .ticket-progress { position:relative; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }.module-tickets .ticket-progress li { display:grid; gap:var(--space-1); color:var(--text-secondary); text-align:center; }.module-tickets .ticket-progress li b { display:grid; width:1.4rem; height:1.4rem; place-self:center; place-items:center; border-radius:999px; background:var(--surface-muted); font-size:.75rem; }.module-tickets .ticket-progress .is-reached b { background:var(--brand-600); color:var(--surface); }.module-tickets .ticket-progress .is-current { color:var(--text); }.module-tickets .ticket-full-description { margin:0; line-height:var(--leading-body); }.module-tickets .ticket-response { border:1px solid color-mix(in srgb,var(--success) 22%,var(--border)); background:var(--success-soft); }.module-tickets .ticket-metadata { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); margin:0; }.module-tickets .ticket-metadata div { padding:var(--space-2); border-radius:var(--radius-control); background:var(--surface-muted); }.module-tickets .ticket-metadata dt { color:var(--text-secondary); font-size:var(--text-caption); }.module-tickets .ticket-metadata dd { margin:var(--space-1) 0 0; font-size:var(--text-secondary-size); }
.module-tickets .ticket-disclosure { display:flex; width:100%; min-height:var(--touch-target); align-items:center; justify-content:space-between; border:0; background:transparent; color:var(--text); text-align:left; }.module-tickets .ticket-disclosure>span { display:grid; gap:2px; }.module-tickets .ticket-disclosure strong { font-size:var(--text-section-title); }.module-tickets .ticket-disclosure small { color:var(--text-secondary); }.module-tickets .ticket-disclosure-icon { width:1.25rem; height:1.25rem; transition:transform var(--transition-fast); }.module-tickets .ticket-disclosure[aria-expanded="true"] .ticket-disclosure-icon { transform:rotate(180deg); }.module-tickets .ticket-disclosure-content { display:grid; gap:var(--space-3); }
.module-tickets .ticket-refreshed-at { min-height:1rem; margin:-.5rem 0 0; color:var(--text-secondary); font-size:var(--text-caption); }.module-tickets .ticket-count { display:inline-grid; min-width:1.5rem; place-items:center; border-radius:var(--radius-pill); padding:0 var(--space-1); background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-secondary-size); vertical-align:middle; }.module-tickets .ticket-empty { margin:0; padding:var(--space-3) 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
@media (max-width:47.5rem) { .module-tickets .tickets-create-closed { align-items:stretch; flex-direction:column; }.module-tickets .ticket-primary-action { width:100%; }.module-tickets #ticket-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-tickets #ticket-form>header,.module-tickets #ticket-implicated-label,.module-tickets .ticket-description-field,.module-tickets .ticket-photo-field,.module-tickets .ticket-confidential,.module-tickets .ticket-form-actions { grid-column:1/-1; }.module-tickets .tickets-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-tickets .ticket-refresh { width:auto; }.module-tickets #tickets-filters { grid-template-columns:minmax(0,1fr) auto; }.module-tickets #tickets-filters-toggle { display:inline-flex; width:auto; min-height:var(--touch-target); align-items:center; gap:var(--space-1); border-color:var(--border); background:var(--surface-muted); color:var(--text-secondary); }.module-tickets .ticket-filter-fields { display:none; grid-template-columns:minmax(0,1fr); }.module-tickets .ticket-filter-fields.is-open { display:grid; }.module-tickets .ticket-filter-actions { display:grid; grid-template-columns:1fr 1fr; }.module-tickets .ticket-progress { grid-template-columns:repeat(4,minmax(0,1fr)); }.module-tickets .ticket-progress li { font-size:.625rem; }.module-tickets .ticket-metadata { grid-template-columns:minmax(0,1fr); } }
@media (max-width:23rem) { .module-tickets #ticket-form { grid-template-columns:minmax(0,1fr); }.module-tickets #ticket-form>label { grid-column:1/-1; }.module-tickets .ticket-form-actions { grid-template-columns:minmax(0,1fr); }.module-tickets .tickets-kpis { grid-template-columns:minmax(0,1fr); } }

/* Tickets 04: una sola entrada por acción y secciones secundarias compactas. */
.module-tickets .tickets-create-closed h3 { margin:0; }.module-tickets .tickets-create-closed p { margin:var(--space-1) 0 0; color:var(--text-secondary); }.module-tickets #ticket-form>header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }.module-tickets #ticket-cancel { width:auto; min-height:var(--touch-target); border-color:var(--border); background:var(--surface-muted); color:var(--text-secondary); }.module-tickets .ticket-form-actions { grid-template-columns:minmax(0,1fr); }.module-tickets .ticket-form-actions button { width:100%; }.module-tickets #tickets-resident-history { gap:0; padding:0; border:0; background:transparent; box-shadow:none; }.module-tickets #tickets-resident-history .ticket-disclosure { padding:var(--space-2) var(--space-1); }.module-tickets .ticket-filter-fields .ticket-search-field { grid-column:span 2; }.module-tickets #tickets-filters { grid-template-columns:minmax(0,1fr); }.module-tickets #tickets-filters-toggle { justify-self:start; }.module-tickets .ticket-filter-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }.module-tickets .ticket-filter-actions { grid-column:span 2; }
@media (max-width:47.5rem) { .module-tickets .ticket-filter-fields .ticket-search-field,.module-tickets .ticket-filter-actions { grid-column:auto; }.module-tickets #tickets-filters-toggle { justify-self:stretch; width:100%; justify-content:space-between; }.module-tickets .ticket-disclosure strong { font-size:1rem; }.module-tickets .tickets-create-closed { gap:var(--space-3); } }

/* Tickets 05: superficies compactas y acciones legibles. */
.module-tickets>section { border-color:color-mix(in srgb,var(--border) 88%,var(--brand-100)); }
.module-tickets #ticket-form { padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-surface); background:var(--surface); box-shadow:var(--shadow-subtle); }
.module-tickets #ticket-form :is(input,select,textarea) { background:var(--surface); transition:border-color var(--transition-fast),box-shadow var(--transition-fast); }
.module-tickets #ticket-form :is(input,select,textarea):focus { border-color:var(--brand-600); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-600) 18%,transparent); outline:0; }
.module-tickets .ticket-photo-field { display:grid; gap:var(--space-2); padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }
.module-tickets .ticket-confidential { border-color:color-mix(in srgb,var(--brand-600) 18%,var(--border)); }
.module-tickets .ticket-form-actions { margin-top:var(--space-1); }
.module-tickets #ticket-submit { display:inline-flex; min-height:var(--touch-target); align-items:center; justify-content:center; border-color:var(--brand-600); background:var(--brand-600); color:var(--surface); font-weight:var(--weight-semibold); }
.module-tickets #ticket-submit:hover:not(:disabled) { border-color:var(--brand-700); background:var(--brand-700); }
.module-tickets #ticket-submit:focus-visible { outline:3px solid color-mix(in srgb,var(--brand-600) 32%,transparent); outline-offset:2px; }
.module-tickets #ticket-submit:disabled { cursor:not-allowed; opacity:.55; }
.module-tickets .ticket-refresh { color:var(--surface); font-weight:var(--weight-semibold); }
.module-tickets .ticket-refresh svg { width:1.05rem; height:1.05rem; flex:0 0 1.05rem; color:currentColor; fill:currentColor; }
.module-tickets .ticket-card { border:1px solid var(--border)!important; border-left-width:3px!important; border-radius:var(--radius-surface); background:var(--surface); box-shadow:var(--shadow-subtle); }
.module-tickets .ticket-card:hover { border-color:color-mix(in srgb,var(--brand-600) 30%,var(--border))!important; }
.module-tickets .ticket-card-badges { display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:var(--space-1); }
.module-tickets :is(.ticket-status,.ticket-urgency) { display:inline-flex; min-height:1.5rem; align-items:center; justify-content:center; padding:0 var(--space-2); border-radius:var(--radius-pill); font-size:var(--text-caption); font-weight:var(--weight-semibold); line-height:1; white-space:nowrap; }
.module-tickets .ticket-urgency { background:var(--surface-muted); color:var(--text-secondary); }
.module-tickets .ticket-urgency--high { background:var(--warning-soft); color:var(--warning); }
.module-tickets .ticket-urgency--medium { background:var(--brand-50); color:var(--brand-700); }
.module-tickets .ticket-open { display:inline-flex; width:max-content; min-height:2.25rem; align-items:center; justify-content:center; padding-inline:var(--space-3); border-radius:var(--radius-control); font-weight:var(--weight-semibold); }
.module-tickets .ticket-open[aria-expanded="true"] { border-color:var(--border-strong); background:var(--surface); color:var(--text-secondary); }
.module-tickets .ticket-detail-host { padding-top:var(--space-1); }
.module-tickets .ticket-detail-host[hidden] { display:none; }
.module-tickets .ticket-detail { padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }
.module-tickets .ticket-detail-host .ticket-manage { padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface); }
.module-tickets .ticket-empty { padding:var(--space-2) 0; }
.module-tickets .ticket-card-dates { flex-basis:100%; color:var(--ticket-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.module-tickets #tickets-more { display:block; min-height:var(--touch-target); margin:16px auto 0; padding-inline:24px; border-color:var(--ticket-blue); background:var(--ticket-surface); color:var(--ticket-blue); font-weight:700; }
.module-tickets #tickets-more.hidden { display:none; }
@media (max-width:47.5rem) { .module-tickets #ticket-form { padding:var(--space-3); }.module-tickets .ticket-card>header { align-items:flex-start; }.module-tickets .ticket-card-badges { max-width:52%; }.module-tickets .ticket-open { width:100%; }.module-tickets .ticket-detail,.module-tickets .ticket-detail-host .ticket-manage { padding:var(--space-3); } }
/* Visitas: jerarquía del bloque QR ya existente. */
.module-access .access-card__actions .access-action { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2); font-weight:700; }
.module-access .access-created-qr-panel .access-card__actions .access-action--share { border-color:#80EF80; background:#80EF80; color:#123761; }
.module-access .access-created-qr-panel .access-card__actions .access-action--save { border-color:#123761; background:#123761; color:#fff; }
.module-access .access-created-qr-panel .access-card__actions .access-action--copy { border-color:#d9dee5; background:#eef0f2; color:#17202a; }
.module-access #access-create-another { font-weight:700; }
.module-access .access-card__actions .access-action__icon { display:block; width:1.05rem; min-width:1.05rem; max-width:1.05rem; height:1.05rem; min-height:1.05rem; max-height:1.05rem; flex:0 0 1.05rem; fill:currentColor; }

/* Visitas 03: acabado visual inspirado en la referencia Stitch, sin alterar el flujo. */
.module-access { --access-accent:#f97316; --access-accent-hover:#ea580c; --access-accent-strong:#c2410c; }
.module-access .access-heading { padding:1.375rem 1.5rem; }
.module-access .access-heading h2 { font-size:clamp(1.75rem,2.7vw,2.2rem); line-height:1.12; }
.module-access .access-section { padding:1.375rem 1.5rem; }
.module-access .access-section-heading { align-items:center; }
.module-access .access-section-heading h3 { font-size:clamp(1.25rem,2vw,1.5rem); }
.module-access .access-section-heading__icon { display:grid; flex:0 0 2.75rem; width:2.75rem; height:2.75rem; place-items:center; border-radius:.75rem; background:var(--access-info-bg); color:var(--access-brand); }
.module-access .access-section-heading__icon svg { width:1.35rem; height:1.35rem; fill:currentColor; }
.module-access .access-field-label { display:flex; min-height:1.25rem; align-items:center; justify-content:space-between; gap:.5rem; color:var(--access-ink); font-size:.8125rem; font-weight:650; }
.module-access .access-field-label em { color:var(--access-muted); font-size:.6875rem; font-style:normal; font-weight:500; }
.module-access .access-visitor-field .access-field-label em { color:var(--access-danger); }
.module-access .access-control-wrap { position:relative; display:block; min-width:0; }
.module-access .access-control-wrap > svg.access-field-icon { position:absolute; z-index:1; top:50%; left:.875rem; display:block!important; width:1.1rem!important; min-width:1.1rem!important; max-width:1.1rem!important; height:1.1rem!important; min-height:1.1rem!important; max-height:1.1rem!important; flex:0 0 1.1rem!important; color:#94a3b8; fill:currentColor; transform:translateY(-50%); pointer-events:none; overflow:hidden; }
.module-access .access-control-wrap--textarea .access-field-icon { top:1rem; transform:none; }
.module-access #access-form .access-control-wrap :is(input,select,textarea) { width:100%; padding-left:2.75rem; border-color:#cbd5e1; border-radius:.75rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .025); transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast); }
.module-access #access-form .access-control-wrap :is(input,select,textarea)::placeholder { color:#94a3b8; font-weight:450; }
.module-access #access-form .access-control-wrap :is(input,select,textarea):hover:not(:disabled) { border-color:#94a3b8; }
.module-access #access-form .access-control-wrap:focus-within .access-field-icon { color:var(--access-brand); }
.module-access #access-form .access-generate-button { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:3.15rem; border-radius:.75rem; font-size:.9rem; }
.module-access .access-button-icon { width:1.1rem; height:1.1rem; flex:0 0 1.1rem; fill:currentColor; }
.module-access .access-form-note { display:flex; align-items:flex-start; justify-content:center; gap:.45rem; }
.module-access .access-form-note > span { display:grid; flex:0 0 1rem; width:1rem; height:1rem; place-items:center; margin-top:.05rem; border-radius:50%; background:var(--access-info-bg); color:var(--access-brand); font-size:.65rem; font-weight:800; }
.module-access .access-card { padding:1.05rem!important; border-left-width:3px!important; box-shadow:0 2px 10px rgb(15 23 42 / .045)!important; }
.module-access .access-card__header { gap:.75rem; }
.module-access .access-chip { padding:.3rem .55rem; font-size:.75rem; }
.module-access .access-card__actions .access-action--cancel { border-color:var(--access-danger-line); background:var(--access-danger-bg); color:var(--access-danger); }
.module-access .access-created-result__heading { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.75rem; padding:.25rem 0 .5rem; }
.module-access .access-created-result__icon { display:grid; width:2.75rem; height:2.75rem; place-items:center; border-radius:50%; background:var(--access-info-bg); color:var(--access-brand); }
.module-access .access-created-result__icon svg { width:1.45rem; height:1.45rem; fill:currentColor; }
.module-access .access-created-result__heading > div { display:grid; gap:.15rem; }
.module-access #access-create-another { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:2.75rem; border-color:#fed7aa; background:#fff7ed; color:var(--access-accent-strong); }
.module-access #access-create-another:hover { border-color:var(--access-accent); background:#ffedd5; color:var(--access-accent-strong); }
.module-access .access-section-content > .muted,.module-access .access-card-grid > .muted,.module-access .access-activity-list > .muted,.module-access .access-admin-operation-list > .muted { margin:0; padding:1.5rem; border:1px dashed var(--access-line); border-radius:.875rem; background:var(--access-neutral-bg); color:var(--access-muted); text-align:center; }
.module-access .access-activity-row,.module-access .access-admin-operation-row { transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast); }
.module-access .access-activity-row:hover,.module-access .access-admin-operation-row:hover { border-color:var(--access-info-line); background:var(--access-soft); box-shadow:0 4px 12px rgb(15 23 42 / .055); }
@media (max-width:47.5rem) { .module-access .access-heading h2 { font-size:1.75rem; }.module-access .access-section-heading__icon { width:2.5rem; height:2.5rem; flex-basis:2.5rem; }.module-access .access-form-note { justify-content:flex-start; }.module-access .access-created-result__heading { align-items:start; }.module-access .access-card__actions .access-action { min-height:2.85rem; }.module-access .access-created-manage { justify-content:flex-start; }.module-access .access-created-manage button { min-height:var(--touch-target); width:fit-content; } }

/* Convivencia: operación administrativa inspirada en Stitch, sobre componentes GEN2 nativos. */
.module-convivencia { --conv-accent:#f97316; --conv-accent-hover:#ea580c; --conv-accent-strong:#c2410c; --conv-slate:#172033; display:grid; gap:1rem; max-width:72rem; margin-inline:auto; }
.module-convivencia > [role="tabpanel"][hidden] { display:none!important; }
.module-convivencia .conv-admin-only[hidden] { display:none!important; }
.module-convivencia .conv-notify-field[hidden] { display:none!important; }
.module-convivencia :is(section,header,nav,aside,form) { min-width:0; }
.module-convivencia .conv-icon { display:block; width:1.1rem; height:1.1rem; flex:0 0 1.1rem; fill:currentColor; }
.module-convivencia .conv-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.4rem 1.5rem; border:1px solid var(--border); border-radius:1rem; background:var(--surface); box-shadow:var(--shadow-subtle); }
.module-convivencia .conv-heading-copy { min-width:0; }.module-convivencia .conv-heading .eyebrow,.module-convivencia .conv-section-heading .eyebrow,.module-convivencia .conv-detail .eyebrow { margin:0; color:var(--conv-accent-strong); font-size:.7rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.module-convivencia .conv-heading h2 { margin:.35rem 0 .15rem; color:var(--conv-slate); font-size:clamp(1.75rem,3vw,2.2rem); line-height:1.12; }.module-convivencia .conv-heading p:last-child { margin:0; color:var(--text-secondary); }
.module-convivencia .conv-heading-side { display:flex; align-items:center; justify-content:flex-end; gap:1rem; }.module-convivencia .conv-header-metrics { display:flex; align-items:center; gap:.35rem; }.module-convivencia .conv-header-metrics > span { display:grid; min-width:5.2rem; padding:.45rem .65rem; border-left:1px solid var(--border); color:var(--text-secondary); font-size:.68rem; line-height:1.25; }.module-convivencia .conv-header-metrics b { color:var(--conv-slate); font-size:1rem; font-variant-numeric:tabular-nums; }
.module-convivencia .conv-primary-action,.module-convivencia .conv-secondary-action,.module-convivencia .conv-danger-action,.module-convivencia .conv-open-detail { display:inline-flex; min-height:2.75rem; align-items:center; justify-content:center; gap:.45rem; border:1px solid transparent; border-radius:.7rem; padding:.62rem .9rem; font:inherit; font-size:.85rem; font-weight:720; cursor:pointer; transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast); }
.module-convivencia .conv-primary-action { border-color:var(--conv-accent-hover); background:var(--conv-accent-hover); color:#fff; box-shadow:0 .2rem .55rem rgb(194 65 12 / .16); }.module-convivencia .conv-primary-action:hover { background:var(--conv-accent-strong); transform:translateY(-1px); }.module-convivencia .conv-secondary-action { border-color:var(--border-strong); background:var(--surface); color:var(--text-secondary); }.module-convivencia .conv-secondary-action:hover { border-color:#94a3b8; background:var(--surface-muted); color:var(--text); }.module-convivencia .conv-danger-action { border-color:#fecaca; background:#fff1f2; color:#b42318; }.module-convivencia .conv-danger-action:hover { border-color:#fca5a5; background:#fee2e2; }
.module-convivencia .conv-tabs { display:flex; gap:.3rem; padding:.35rem; overflow-x:auto; border:1px solid var(--border); border-radius:.85rem; background:#eef2f7; }.module-convivencia .conv-tabs button { flex:none; min-height:2.45rem; border:1px solid transparent; border-radius:.62rem; padding:.48rem .8rem; background:transparent; color:#526176; font:inherit; font-size:.82rem; cursor:pointer; }.module-convivencia .conv-tabs button.active { border-color:#fed7aa; background:#fff; color:var(--conv-accent-strong); font-weight:750; box-shadow:0 1px 3px rgb(15 23 42 / .09); }.module-convivencia .conv-tabs button.active::before { display:inline-block; width:.4rem; height:.4rem; margin-right:.4rem; border-radius:50%; background:var(--conv-accent); content:""; vertical-align:.08rem; }
.module-convivencia .conv-surface { margin:0; padding:0; overflow:hidden; border:1px solid var(--border); border-radius:1rem; background:var(--surface); box-shadow:var(--shadow-subtle); }.module-convivencia .conv-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.35rem; border-bottom:1px solid var(--border); }.module-convivencia .conv-section-heading h3,.module-convivencia .conv-config-card h4,.module-convivencia .conv-categories-section h4 { margin:.2rem 0; color:var(--conv-slate); font-size:1.15rem; }.module-convivencia .conv-section-heading p:last-child { margin:0; color:var(--text-secondary); font-size:.85rem; }
.module-convivencia .conv-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; padding:1.35rem; }.module-convivencia .conv-field { display:grid; gap:.4rem; color:var(--conv-slate); font-size:.82rem; font-weight:680; }.module-convivencia .conv-field > small,.module-convivencia .conv-field-heading small { color:var(--text-secondary); font-size:.72rem; font-weight:480; }.module-convivencia .conv-field :is(input,select,textarea),.module-convivencia .conv-acts-tools :is(input,select) { width:100%; min-width:0; min-height:2.85rem; border:1px solid var(--border-strong); border-radius:.7rem; padding:.7rem .8rem; outline:0; background:#fff; color:var(--text); font:inherit; font-size:.86rem; box-shadow:0 1px 2px rgb(15 23 42 / .025); transition:border-color var(--transition-fast),box-shadow var(--transition-fast); }.module-convivencia .conv-field textarea { min-height:7.5rem; resize:vertical; line-height:1.5; }.module-convivencia .conv-field :is(input,select,textarea):focus,.module-convivencia .conv-acts-tools :is(input,select):focus { border-color:var(--conv-accent); box-shadow:0 0 0 3px rgb(249 115 22 / .12); }
.module-convivencia .conv-suggestion { grid-column:1/-1; display:flex; min-height:5.2rem; align-items:center; gap:.8rem; padding:1rem; border:1px solid #cbd5e1; border-left:4px solid var(--brand-600); border-radius:.8rem; background:var(--brand-50); color:var(--text-secondary); }.module-convivencia .conv-suggestion > .conv-icon { width:1.45rem; height:1.45rem; flex-basis:1.45rem; color:var(--brand-700); }.module-convivencia .conv-suggestion > div { display:grid; gap:.12rem; }.module-convivencia .conv-suggestion span { color:var(--text-secondary); font-size:.7rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }.module-convivencia .conv-suggestion strong { color:var(--conv-slate); font-size:1.05rem; }.module-convivencia .conv-suggestion small { font-size:.75rem; }.module-convivencia .conv-suggestion--written { border-color:#fde68a; border-left-color:#d97706; background:#fffbeb; }.module-convivencia .conv-suggestion--written > .conv-icon { color:#a16207; }.module-convivencia .conv-suggestion--fine { border-color:#fed7aa; border-left-color:var(--conv-accent-hover); background:#fff7ed; }.module-convivencia .conv-suggestion--fine > .conv-icon { color:var(--conv-accent-strong); }
.module-convivencia .conv-facts-field,.module-convivencia .conv-evidence-field,.module-convivencia .conv-form-actions,.module-convivencia .conv-inline-notice { grid-column:1/-1; }.module-convivencia .conv-evidence-field { display:grid; gap:.75rem; }.module-convivencia .conv-field-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; }.module-convivencia .conv-field-heading > div { display:grid; gap:.15rem; }.module-convivencia .conv-field-heading > div > span { color:var(--conv-slate); font-size:.82rem; font-weight:680; }.module-convivencia .conv-field-heading button { border:0; background:transparent; color:var(--text-secondary); font:inherit; font-size:.76rem; cursor:pointer; }
.module-convivencia .conv-dropzone { display:grid; min-height:8rem; place-content:center; gap:.3rem; border:2px dashed #cbd5e1; border-radius:.9rem; background:#f8fafc; color:var(--text-secondary); text-align:center; cursor:pointer; transition:border-color var(--transition-fast),background var(--transition-fast); }.module-convivencia .conv-dropzone:hover { border-color:var(--conv-accent); background:#fff7ed; }.module-convivencia .conv-dropzone input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.module-convivencia .conv-dropzone strong { color:var(--conv-accent-strong); font-size:.9rem; }.module-convivencia .conv-dropzone span { font-size:.75rem; }.module-convivencia .conv-upload-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; }.module-convivencia .conv-upload-preview { min-width:0; margin:0; overflow:hidden; border:1px solid var(--border); border-radius:.7rem; background:var(--surface-muted); }.module-convivencia .conv-upload-preview img { display:block; width:100%; aspect-ratio:1.35; object-fit:cover; }.module-convivencia .conv-upload-preview figcaption { padding:.4rem .5rem; overflow:hidden; color:var(--text-secondary); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.module-convivencia .conv-form-actions { display:flex; justify-content:flex-end; gap:.65rem; padding-top:.2rem; }.module-convivencia .conv-inline-notice { min-height:1.3rem; margin:0; color:var(--success); font-size:.82rem; font-weight:650; text-align:right; }.module-convivencia .conv-inline-notice.is-error { color:var(--danger); }
.module-convivencia .conv-section-heading--toolbar { align-items:flex-end; }.module-convivencia .conv-acts-tools { display:flex; gap:.55rem; }.module-convivencia .conv-acts-tools input { width:min(20rem,40vw); }.module-convivencia .conv-acts-list { padding:0 1.2rem 1.2rem; }.module-convivencia .conv-act-head,.module-convivencia .conv-act-row { display:grid; grid-template-columns:minmax(8.5rem,1.05fr) minmax(6rem,.65fr) minmax(9rem,1fr) minmax(9rem,1fr) minmax(10rem,1.15fr) auto; gap:.75rem; align-items:center; }.module-convivencia .conv-act-head { padding:.75rem .85rem; color:#7b8798; font-size:.68rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }.module-convivencia .conv-act-row { min-height:4.8rem; padding:.85rem; border-top:1px solid var(--border); }.module-convivencia .conv-act-row:hover { background:#fbfcfe; }.module-convivencia .conv-act-identity { display:grid; gap:.12rem; }.module-convivencia .conv-act-identity strong { color:var(--conv-slate); font-size:.82rem; }.module-convivencia .conv-act-identity small,.module-convivencia .conv-act-sanction small { color:var(--text-secondary); font-size:.7rem; }.module-convivencia .conv-act-unit { display:flex; align-items:center; gap:.35rem; color:var(--brand-700); }.module-convivencia .conv-act-category { color:#42536a; font-size:.82rem; }.module-convivencia .conv-act-sanction,.module-convivencia .conv-act-status { display:flex; align-items:flex-start; flex-direction:column; gap:.25rem; }.module-convivencia .conv-badge { display:inline-flex; width:max-content; max-width:100%; align-items:center; border-radius:999px; padding:.25rem .5rem; font-size:.69rem; font-weight:720; line-height:1.25; }.module-convivencia .conv-badge--verbal { background:#eaf2ff; color:#174ea6; }.module-convivencia .conv-badge--written { background:#fff4d6; color:#926300; }.module-convivencia .conv-badge--fine { background:#ffeadc; color:#b23b00; }.module-convivencia .conv-badge--active { background:#e8f7ed; color:#177142; }.module-convivencia .conv-badge--voided { background:#f1f3f6; color:#657184; }.module-convivencia [class*="conv-badge--finance-"] { background:#eef2f7; color:#526176; }.module-convivencia .conv-badge--finance-finance_adjustment_required { background:#fff0e8; color:#b23b00; }.module-convivencia .conv-open-detail { min-height:2.3rem; padding:.4rem .65rem; border-color:#fed7aa; background:#fff7ed; color:var(--conv-accent-strong); }.module-convivencia .conv-empty { display:grid; min-height:13rem; place-content:center; justify-items:center; gap:.35rem; color:var(--text-secondary); text-align:center; }.module-convivencia .conv-empty .conv-icon { width:1.5rem; height:1.5rem; }.module-convivencia .conv-empty p { margin:0; font-size:.82rem; }
.module-convivencia .conv-pdf-card { display:grid; gap:.65rem; padding:.9rem; border:1px solid #cbd5e1; border-radius:.8rem; background:#f8fafc; }.module-convivencia .conv-pdf-card strong { color:var(--conv-slate); }.module-convivencia .conv-pdf-card p { margin:0; }.module-convivencia .conv-pdf-card__actions { display:grid; gap:.55rem; }.module-convivencia .conv-pdf-card__actions a { display:inline-flex; min-height:2.5rem; align-items:center; justify-content:center; border-radius:.65rem; padding:.65rem .85rem; font-weight:700; text-decoration:none; }.module-convivencia .conv-pdf-card__actions .conv-primary-action { background:#1e3a8a; color:#fff; }.module-convivencia .conv-pdf-card__actions .conv-secondary-action { border:1px solid #cbd5e1; background:#fff; color:#1e3a8a; }.module-convivencia .conv-detail { display:grid; gap:1rem; margin:0 1.2rem 1.2rem; padding:1.1rem; border:1px solid #fed7aa; border-radius:.9rem; background:#fffdfa; box-shadow:0 .5rem 1.5rem rgb(15 23 42 / .06); scroll-margin-top:1rem; }.module-convivencia .conv-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.module-convivencia .conv-detail-header h3 { margin:.2rem 0; font-size:1.25rem; }.module-convivencia .conv-detail-header p:last-child { margin:0; color:var(--text-secondary); font-size:.8rem; }.module-convivencia .conv-detail-close { display:grid; width:2.35rem; height:2.35rem; place-items:center; border:1px solid var(--border); border-radius:.65rem; background:#fff; color:var(--text-secondary); cursor:pointer; }.module-convivencia .conv-detail-badges { display:flex; gap:.45rem; flex-wrap:wrap; }.module-convivencia .conv-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:0; }.module-convivencia .conv-detail-grid > div { padding:.8rem; border:1px solid var(--border); border-radius:.7rem; background:#fff; }.module-convivencia .conv-detail-grid dt { display:flex; align-items:center; gap:.35rem; color:var(--text-secondary); font-size:.72rem; font-weight:700; }.module-convivencia .conv-detail-grid dd { margin:.25rem 0 0; overflow-wrap:anywhere; color:var(--conv-slate); font-size:.86rem; line-height:1.5; white-space:pre-wrap; }.module-convivencia .conv-detail-wide { grid-column:1/-1; }.module-convivencia .conv-legal { border-left:3px solid var(--brand-600)!important; background:var(--brand-50)!important; }.module-convivencia .conv-finance { display:flex; align-items:center; gap:.75rem; padding:.85rem; border:1px solid #bbf7d0; border-radius:.75rem; background:#ecfdf5; color:#087651; }.module-convivencia .conv-finance.requires-adjustment { border-color:#fed7aa; background:#fff7ed; color:#b45309; }.module-convivencia .conv-finance .conv-icon { width:1.4rem; height:1.4rem; flex-basis:1.4rem; }.module-convivencia .conv-finance p { margin:.1rem 0 0; font-size:.78rem; }.module-convivencia .conv-evidence-detail { display:grid; gap:.65rem; margin:0; padding:0; border:0; }.module-convivencia .conv-evidence-detail h4 { margin:.15rem 0 0; }.module-convivencia .conv-evidence-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(8rem,1fr)); gap:.65rem; }.module-convivencia .conv-evidence-gallery a { position:relative; overflow:hidden; border:1px solid var(--border); border-radius:.7rem; background:#fff; color:#fff; }.module-convivencia .conv-evidence-gallery img { display:block; width:100%; aspect-ratio:1.25; object-fit:cover; }.module-convivencia .conv-evidence-gallery span { position:absolute; right:.35rem; bottom:.35rem; padding:.15rem .35rem; border-radius:.35rem; background:rgb(15 23 42 / .74); font-size:.66rem; }.module-convivencia .conv-voided-note { margin:0; padding:.75rem; border:1px solid #fecaca; border-radius:.7rem; background:#fff1f2; color:#9f1239; }.module-convivencia .conv-voided-note p { margin:.2rem 0 0; }.module-convivencia .conv-detail-actions { display:flex; justify-content:flex-end; }
.module-convivencia .conv-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; padding:1.2rem; }.module-convivencia .conv-metric { display:flex; align-items:center; gap:.7rem; padding:1rem; border:1px solid var(--border); border-radius:.8rem; background:#fbfcfe; }.module-convivencia .conv-metric > .conv-icon { width:1.35rem; height:1.35rem; flex-basis:1.35rem; color:var(--conv-accent-hover); }.module-convivencia .conv-metric div { display:grid; }.module-convivencia .conv-metric span { color:var(--text-secondary); font-size:.7rem; font-weight:650; }.module-convivencia .conv-metric strong { color:var(--conv-slate); font-size:1.2rem; font-variant-numeric:tabular-nums; }
.module-convivencia .conv-config-view { display:grid; gap:1rem; }.module-convivencia .conv-config-view > .conv-section-heading { border-bottom:0; }.module-convivencia .conv-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.module-convivencia .conv-config-card { display:grid; align-content:start; gap:.8rem; padding:1.1rem; overflow:visible; }.module-convivencia .conv-category-form { grid-column:1/-1; grid-row:auto; grid-template-columns:minmax(9rem,.55fr) minmax(0,1fr) auto; align-items:end; }.module-convivencia .conv-category-form h4 { margin-bottom:.55rem; }.module-convivencia .conv-category-form .conv-primary-action { width:auto; min-height:2.85rem; white-space:nowrap; }.module-convivencia .conv-categories-section { padding:1.1rem; }.module-convivencia .conv-categories-section > header { margin-bottom:.7rem; }.module-convivencia .conv-categories { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.7rem; }.module-convivencia .conv-category-card { display:grid; gap:.45rem; padding:.85rem; border:1px solid var(--border); border-radius:.75rem; background:#fbfcfe; }.module-convivencia .conv-category-card > div { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }.module-convivencia .conv-category-card p { margin:0; color:var(--text-secondary); font-size:.78rem; }.module-convivencia .conv-category-card button { justify-self:start; border:0; background:transparent; color:var(--danger); font:inherit; font-size:.75rem; cursor:pointer; }
.module-convivencia .conv-dialog { width:min(31rem,calc(100vw - 2rem)); border:0; border-radius:1rem; padding:0; background:#fff; box-shadow:var(--shadow-dialog); }.module-convivencia .conv-dialog::backdrop { background:rgb(15 23 42 / .46); }.module-convivencia .conv-dialog form { display:grid; gap:1rem; padding:1.2rem; }.module-convivencia .conv-dialog h3 { margin:.2rem 0 0; }.module-convivencia .conv-dialog > form > p { margin:0; color:var(--text-secondary); font-size:.86rem; }.module-convivencia .conv-dialog footer { display:flex; justify-content:flex-end; gap:.6rem; }
.module-convivencia .conv-category-delete { justify-self:start; display:inline-flex; align-items:center; gap:.35rem; border:0; background:transparent; color:var(--danger); font:inherit; font-size:.75rem; cursor:pointer; }.module-convivencia .conv-category-delete .conv-icon { width:.9rem; height:.9rem; flex-basis:.9rem; }
@media (max-width:64rem) { .module-convivencia .conv-heading { align-items:flex-start; }.module-convivencia .conv-heading-side { align-items:flex-end; flex-direction:column; }.module-convivencia .conv-header-metrics { display:none; }.module-convivencia .conv-act-head { display:none; }.module-convivencia .conv-act-row { grid-template-columns:minmax(0,1fr) auto; gap:.5rem .75rem; margin-top:.7rem; border:1px solid var(--border); border-radius:.75rem; }.module-convivencia .conv-act-identity { grid-column:1; grid-row:1; }.module-convivencia .conv-open-detail { grid-column:2; grid-row:1; }.module-convivencia .conv-act-unit,.module-convivencia .conv-act-category,.module-convivencia .conv-act-sanction,.module-convivencia .conv-act-status { grid-column:1/-1; }.module-convivencia .conv-act-sanction,.module-convivencia .conv-act-status { align-items:center; flex-direction:row; flex-wrap:wrap; }.module-convivencia .conv-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:47.5rem) { .module-convivencia { gap:.75rem; }.module-convivencia .conv-heading { align-items:stretch; flex-direction:column; padding:1.05rem; }.module-convivencia .conv-heading-side { align-items:stretch; }.module-convivencia .conv-primary-action { width:100%; }.module-convivencia .conv-tabs { border-radius:.75rem; }.module-convivencia .conv-section-heading,.module-convivencia .conv-form { padding:1rem; }.module-convivencia .conv-form { grid-template-columns:minmax(0,1fr); }.module-convivencia .conv-suggestion,.module-convivencia .conv-facts-field,.module-convivencia .conv-evidence-field,.module-convivencia .conv-form-actions,.module-convivencia .conv-inline-notice { grid-column:1; }.module-convivencia .conv-form-actions { display:grid; grid-template-columns:1fr; }.module-convivencia .conv-form-actions .conv-primary-action { grid-row:1; }.module-convivencia .conv-upload-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-convivencia .conv-section-heading--toolbar { align-items:stretch; flex-direction:column; }.module-convivencia .conv-acts-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; }.module-convivencia .conv-acts-tools input { width:100%; }.module-convivencia .conv-acts-list { padding:0 .75rem .75rem; }.module-convivencia .conv-act-row { padding:.75rem; }.module-convivencia .conv-open-detail { align-self:start; }.module-convivencia .conv-detail { margin:0 .75rem .75rem; padding:.85rem; }.module-convivencia .conv-detail-grid { grid-template-columns:minmax(0,1fr); }.module-convivencia .conv-detail-wide { grid-column:1; }.module-convivencia .conv-summary-grid,.module-convivencia .conv-config-grid { grid-template-columns:minmax(0,1fr); }.module-convivencia .conv-category-form { grid-column:1; grid-template-columns:minmax(0,1fr); }.module-convivencia .conv-category-form .conv-primary-action { width:100%; }.module-convivencia .conv-dialog footer { display:grid; grid-template-columns:1fr; }.module-convivencia .conv-dialog .conv-danger-action { grid-row:1; } }
.module-convivencia .conv-notify-field { grid-column:1/-1; display:grid; gap:.55rem; margin:0; padding:.85rem; border:1px solid var(--border); border-radius:.8rem; background:var(--surface-muted); }.module-convivencia .conv-notify-field legend { padding:0 .25rem; color:var(--conv-slate); font-size:.82rem; font-weight:750; }.module-convivencia .conv-notify-field > p,.module-convivencia .conv-notify-field > small { margin:0; color:var(--text-secondary); font-size:.75rem; }.module-convivencia #conv-notify-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:.5rem; }.module-convivencia .conv-notify-option { display:flex; min-height:3rem; align-items:center; gap:.55rem; padding:.55rem .65rem; border:1px solid var(--border-strong); border-radius:.65rem; background:#fff; cursor:pointer; }.module-convivencia .conv-notify-option input { width:1.05rem; height:1.05rem; accent-color:var(--conv-accent-hover); }.module-convivencia .conv-notify-option span { display:grid; gap:.1rem; }.module-convivencia .conv-notify-option strong { color:var(--conv-slate); font-size:.8rem; }.module-convivencia .conv-notify-option small { color:var(--text-secondary); font-size:.72rem; }.module-convivencia #conv-notify-options.is-empty { min-height:2.5rem; }.module-convivencia .conv-act-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }.module-convivencia .conv-act-actions .conv-danger-action { min-height:2.3rem; padding:.4rem .65rem; font-size:.75rem; }
.module-convivencia .conv-notify-option em { color:var(--danger); font-size:.68rem; font-style:normal; }.module-convivencia .conv-notify-option.is-required { border-color:#fed7aa; background:#fffaf5; }.module-convivencia .conv-notify-option.is-no-email { border-color:#fecaca; }.module-convivencia .conv-resident-view { display:grid; gap:0; }.module-convivencia .conv-resident-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid var(--border); }.module-convivencia .conv-resident-card:last-child { border-bottom:0; }.module-convivencia .conv-resident-card h4 { margin:.15rem 0; color:var(--conv-slate); font-size:1rem; }.module-convivencia .conv-resident-card p { margin:0; color:var(--text-secondary); font-size:.78rem; }.module-convivencia .conv-resident-more { display:flex; align-items:center; justify-content:center; gap:.8rem; padding:1rem 1.2rem; border-top:1px solid var(--border); }.module-convivencia .conv-resident-more p { margin:0; }.module-convivencia .conv-resident-more .conv-secondary-action[hidden] { display:none; }
.module-convivencia .conv-acts-pagination { display:flex; align-items:center; justify-content:center; gap:.7rem; padding:0 1.2rem 1.2rem; }.module-convivencia .conv-acts-pagination span { min-width:9rem; color:var(--text-secondary); font-size:.82rem; text-align:center; }.module-convivencia .conv-acts-pagination button[disabled] { cursor:wait; opacity:.55; }
.module-convivencia .conv-acts-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.35rem; border-bottom:1px solid var(--border); }.module-convivencia .conv-acts-heading h3 { margin:0; color:var(--conv-slate); }.module-convivencia .conv-acts-heading p:last-child { margin:.3rem 0 0; color:var(--text-secondary); font-size:.8rem; }.module-convivencia .conv-acts-export-actions { display:flex; align-items:end; gap:.65rem; }.module-convivencia .conv-acts-export-actions label { display:grid; min-width:11rem; gap:.35rem; color:var(--conv-slate); font-size:.74rem; font-weight:680; }.module-convivencia .conv-acts-export-actions select { min-height:2.8rem; border:1px solid var(--border-strong); border-radius:.65rem; padding:.6rem .7rem; background:#fff; color:var(--text); font:inherit; font-size:.82rem; }.module-convivencia .conv-acts-filter-panel { display:grid; grid-template-columns:minmax(12rem,1.5fr) repeat(4,minmax(9rem,1fr)) auto; align-items:end; gap:.75rem; padding:1rem 1.35rem; border-bottom:1px solid var(--border); background:#fbfcfe; }.module-convivencia .conv-acts-filter-panel label { display:grid; min-width:0; gap:.35rem; color:var(--conv-slate); font-size:.75rem; font-weight:680; }.module-convivencia .conv-acts-filter-panel label>span { overflow-wrap:anywhere; }.module-convivencia .conv-acts-filter-panel :is(input,select) { width:100%; min-width:0; min-height:2.8rem; border:1px solid var(--border-strong); border-radius:.65rem; padding:.6rem .7rem; background:#fff; color:var(--text); font:inherit; font-size:.82rem; }.module-convivencia .conv-acts-filter-panel button { min-height:2.8rem; white-space:nowrap; }.module-convivencia .conv-acts-export-status { min-height:0; margin:0; padding:0 1.35rem; color:var(--text-secondary); font-size:.76rem; }.module-convivencia .conv-acts-export-status:not(:empty) { padding-top:.65rem; padding-bottom:.65rem; }
.module-convivencia .conv-acts-date-hint { margin:0; padding:.6rem 1.35rem 0; color:var(--text-secondary); font-size:.72rem; line-height:1.45; }
@media(max-width:75rem) { .module-convivencia .conv-acts-filter-panel { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:47.5rem) { .module-convivencia .conv-acts-heading { align-items:stretch; flex-direction:column; padding:1rem; }.module-convivencia .conv-acts-export-actions { display:grid; grid-template-columns:minmax(0,1fr); }.module-convivencia .conv-acts-export-actions label { min-width:0; }.module-convivencia .conv-acts-heading button { width:100%; }.module-convivencia .conv-acts-filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; padding:.85rem; }.module-convivencia .conv-acts-filter-panel label:first-child { grid-column:1/-1; }.module-convivencia .conv-acts-filter-panel button { grid-column:1/-1; width:100%; } }
.module-convivencia .conv-policy-card { container:conv-policy / inline-size; grid-column:1/-1; grid-template-columns:minmax(0,1fr); align-items:start; gap:0; padding:0; border-color:#e2e8f0; border-radius:1rem; box-shadow:0 1px 2px rgb(15 23 42 / .04); }.module-convivencia .conv-policy-ref-header { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.65rem 1.75rem; }.module-convivencia .conv-policy-title { max-width:38rem; }.module-convivencia .conv-policy-kicker { display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.5rem; border-radius:999px; padding:.3rem .65rem; background:#eff6ff; color:#1d4ed8; font-size:.72rem; font-weight:700; }.module-convivencia .conv-policy-kicker svg { width:.9rem; height:.9rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.module-convivencia .conv-policy-title h4 { margin:0; color:#0f172a; font-size:1.55rem; letter-spacing:-.025em; }.module-convivencia .conv-policy-title p { margin:.45rem 0 0; color:#475569; font-size:.88rem; line-height:1.55; }.module-convivencia .conv-policy-warnings { display:flex; min-width:17.5rem; align-items:center; gap:.8rem; border:1px solid #e2e8f0; border-radius:.8rem; padding:.75rem .9rem; background:#f8fafc; cursor:text; }.module-convivencia .conv-policy-warning-icon { display:grid; width:2.5rem; height:2.5rem; flex:0 0 2.5rem; place-items:center; border-radius:.6rem; background:#fef3c7; color:#b45309; }.module-convivencia .conv-policy-warning-icon svg,.module-convivencia .conv-policy-preview header>span svg,.module-convivencia .conv-policy-info svg,.module-convivencia .conv-policy-save svg,.module-convivencia .conv-secondary-action svg { width:1.2rem; height:1.2rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.module-convivencia .conv-policy-warnings>span:last-child { display:grid; gap:.35rem; }.module-convivencia .conv-policy-warnings strong { color:#334155; font-size:.82rem; }.module-convivencia .conv-policy-warning-input { display:flex; align-items:center; gap:.45rem; }.module-convivencia .conv-policy-warning-input input { width:4.9rem; min-height:2rem; border:1px solid #cbd5e1; border-radius:.45rem; padding:.3rem .55rem; background:#fff; color:#0f172a; font:inherit; font-weight:700; }.module-convivencia .conv-policy-warning-input em { border-radius:.35rem; padding:.22rem .42rem; background:#e2e8f0; color:#475569; font-size:.67rem; font-style:normal; font-weight:700; white-space:nowrap; }
.module-convivencia .conv-policy-methods { display:block; min-width:0; margin:0; padding:1.5rem 1.75rem; border:0; border-top:1px solid #e2e8f0; }.module-convivencia .conv-policy-methods legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }.module-convivencia .conv-policy-methods>h5,.module-convivencia .conv-policy-editor>h5 { margin:0 0 .9rem; color:#64748b; font-size:.74rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.module-convivencia .conv-policy-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.module-convivencia .conv-policy-method { position:relative; display:block; min-width:0; min-height:12.1rem; align-items:flex-start; gap:0; padding:1.2rem; border:1px solid #e2e8f0; border-radius:.8rem; background:#fff; cursor:pointer; transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast); }.module-convivencia .conv-policy-method:hover { border-color:#cbd5e1; box-shadow:0 1px 3px rgb(15 23 42 / .08); }.module-convivencia .conv-policy-method input { position:absolute; top:1rem; right:1rem; width:1rem; height:1rem; min-height:1rem; margin:0; accent-color:#2563eb; }.module-convivencia .conv-policy-method-icon { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.55rem; background:#f1f5f9; color:#475569; }.module-convivencia .conv-policy-method-icon svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.module-convivencia .conv-policy-method-copy { display:grid; min-width:0; width:100%; gap:.35rem; padding-top:.75rem; }.module-convivencia .conv-policy-method-copy strong { padding-right:1.5rem; color:#0f172a; font-size:.98rem; }.module-convivencia .conv-policy-method-copy small { min-height:2.6rem; color:#475569; font-size:.78rem; line-height:1.45; }.module-convivencia .conv-policy-method-copy em { justify-self:start; max-width:100%; align-self:start; margin-top:auto; border-radius:.35rem; padding:.35rem .55rem; background:#f1f5f9; color:#334155; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.67rem; font-style:normal; white-space:normal; }.module-convivencia .conv-policy-method:has(input:checked) { border-color:#2563eb; background:rgb(239 246 255 / .36); box-shadow:0 0 0 2px rgb(37 99 235 / .16); }.module-convivencia .conv-policy-method:has(input:checked) .conv-policy-method-icon { background:#dbeafe; color:#1d4ed8; }.module-convivencia .conv-policy-method:has(input:checked) .conv-policy-method-copy em { background:#dbeafe; color:#1e40af; }
.module-convivencia .conv-policy-workspace { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:start; gap:1.5rem; padding:1.5rem 1.75rem; border-top:1px solid #e2e8f0; }.module-convivencia .conv-policy-editor { display:grid; min-width:0; align-content:start; gap:1rem; }.module-convivencia .conv-policy-method-fields { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1.2rem; border:1px solid #e2e8f0; border-radius:.8rem; background:#fff; box-shadow:none; }.module-convivencia .conv-policy-method-fields[hidden] { display:none; }.module-convivencia .conv-policy-method-fields>header { display:flex; grid-column:1/-1; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; margin-bottom:.15rem; }.module-convivencia .conv-policy-method-fields h6 { margin:0; color:#0f172a; font-size:.95rem; }.module-convivencia .conv-policy-method-fields>header span { border-radius:999px; padding:.25rem .55rem; background:#eff6ff; color:#1d4ed8; font-size:.68rem; font-weight:700; box-shadow:inset 0 0 0 1px rgb(37 99 235 / .18); }.module-convivencia .conv-policy-method-fields .conv-field { min-width:0; gap:.45rem; color:#334155; font-size:.8rem; }.module-convivencia .conv-policy-method-fields .conv-field>span:first-child { font-weight:700; }.module-convivencia .conv-policy-money,.module-convivencia .conv-policy-factor { position:relative; min-width:0; display:flex; align-items:center; }.module-convivencia .conv-policy-money b,.module-convivencia .conv-policy-factor b { position:absolute; z-index:1; left:.75rem; color:#64748b; font-size:.88rem; }.module-convivencia .conv-field .conv-policy-money input { padding-left:1.7rem; padding-right:3rem; }.module-convivencia .conv-policy-money em { position:absolute; right:.75rem; color:#64748b; font-size:.67rem; font-style:normal; font-weight:700; }.module-convivencia .conv-field .conv-policy-factor input { padding-left:1.7rem; }.module-convivencia .conv-scale-steps { display:grid; grid-column:1/-1; gap:.7rem; }.module-convivencia .conv-scale-step { display:grid; grid-template-columns:1.75rem 5.5rem minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.7rem; border:1px solid #e2e8f0; border-radius:.6rem; background:rgb(248 250 252 / .72); }.module-convivencia .conv-scale-index { display:grid; width:1.75rem; height:1.75rem; place-items:center; border-radius:999px; background:#2563eb; color:#fff; font-size:.7rem; font-weight:800; }.module-convivencia .conv-scale-step .conv-field { display:contents; }.module-convivencia .conv-scale-step .conv-field>span { color:#334155; font-size:.78rem; font-weight:700; }.module-convivencia .conv-scale-step .conv-policy-money input { min-height:2.4rem; }.module-convivencia .conv-scale-actions { display:flex; gap:.15rem; }.module-convivencia .conv-scale-actions button { display:grid; width:2rem; height:2rem; min-height:0; place-items:center; border:0; border-radius:.45rem; padding:0; background:transparent; color:#64748b; }.module-convivencia .conv-scale-actions button:hover:not(:disabled) { background:#e2e8f0; color:#0f172a; }.module-convivencia .conv-scale-actions button[data-scale-remove]:hover:not(:disabled) { background:#fef2f2; color:#dc2626; }.module-convivencia .conv-scale-actions button:disabled { opacity:.38; }.module-convivencia .conv-scale-actions svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.module-convivencia #conv-add-scale-step { display:inline-flex; grid-column:1/-1; width:100%; min-height:2.6rem; align-items:center; justify-content:center; gap:.45rem; border:1px dashed #94a3b8; border-radius:.55rem; background:transparent; color:#475569; }.module-convivencia #conv-add-scale-step:hover { border-color:#2563eb; background:#eff6ff; color:#1d4ed8; }.module-convivencia .conv-policy-info { display:flex; grid-column:1/-1; align-items:flex-start; gap:.5rem; margin:0; border-radius:.55rem; padding:.7rem .75rem; background:#f8fafc; color:#475569; font-size:.72rem; line-height:1.45; }.module-convivencia .conv-policy-info svg { width:1rem; height:1rem; flex:0 0 1rem; color:#2563eb; }
.module-convivencia .conv-policy-sidebar { min-width:0; }.module-convivencia .conv-policy-preview { margin:0; padding:0; overflow:hidden; border:1px solid #e2e8f0; border-radius:.8rem; background:#fff; box-shadow:0 1px 3px rgb(15 23 42 / .06); }.module-convivencia .conv-policy-preview>header { display:flex; align-items:center; gap:.7rem; padding:1rem 1.1rem; border-bottom:1px solid #e2e8f0; }.module-convivencia .conv-policy-preview header>span { display:grid; width:2.25rem; height:2.25rem; flex:0 0 2.25rem; place-items:center; border-radius:.55rem; background:#eff6ff; color:#1d4ed8; }.module-convivencia .conv-policy-preview header>span svg { width:1.2rem; height:1.2rem; }.module-convivencia .conv-policy-preview h5 { margin:0; color:#0f172a; font-size:.9rem; }.module-convivencia .conv-policy-preview header p { margin:.15rem 0 0; color:#64748b; font-size:.68rem; }.module-convivencia .conv-policy-preview table { display:table; table-layout:fixed; width:100%; border-collapse:collapse; font-size:.78rem; }.module-convivencia .conv-policy-preview th { overflow-wrap:anywhere; display:table-cell; padding:.65rem 1.1rem; background:#f8fafc; color:#64748b; font-size:.66rem; font-weight:800; letter-spacing:.07em; text-align:left; text-transform:uppercase; }.module-convivencia .conv-policy-preview th:last-child,.module-convivencia .conv-policy-preview td:last-child { width:60%; text-align:right; }.module-convivencia .conv-policy-preview td { display:table-cell; padding:.75rem 1.1rem; border-top:1px solid #f1f5f9; color:#334155; font-weight:700; }.module-convivencia .conv-policy-preview td:last-child { color:#0f172a; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-variant-numeric:tabular-nums; }.module-convivencia .conv-policy-preview .conv-preview-warning { display:inline-flex; align-items:center; gap:.3rem; border-radius:999px; padding:.22rem .5rem; background:#fffbeb; color:#b45309; font-family:inherit; font-size:.67rem; font-weight:800; box-shadow:inset 0 0 0 1px rgb(217 119 6 / .2); }.module-convivencia .conv-preview-warning svg { width:.75rem; height:.75rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.5; }.module-convivencia .conv-policy-preview-note { margin:0; border-top:1px solid #e2e8f0; padding:.8rem 1.1rem; color:#64748b; font-size:.7rem; line-height:1.45; }
.module-convivencia .conv-policy-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem 1.75rem; border-top:1px solid #e2e8f0; }.module-convivencia .conv-policy-direct { min-height:0; padding:0; border:0; background:transparent; }.module-convivencia .conv-policy-direct input { flex:0 0 1.05rem; min-height:1.05rem; margin-top:.15rem; accent-color:#2563eb; }.module-convivencia .conv-policy-direct strong { color:#0f172a; font-size:.84rem; }.module-convivencia .conv-policy-direct small { color:#64748b; font-size:.7rem; }.module-convivencia .conv-policy-save { display:inline-flex; width:auto; min-height:2.7rem; align-items:center; justify-content:center; gap:.45rem; border-radius:.7rem; padding:.6rem 1.25rem; border-color:#1d4ed8; background:#1d4ed8; color:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .15); }.module-convivencia .conv-policy-save:hover { background:#1e40af; }.module-convivencia .conv-policy-save svg { width:1rem; height:1rem; }
/* Respond to the actual policy width, including the authenticated shell gutters. */
.module-convivencia .conv-policy-preview thead { display:table-header-group; }
.module-convivencia .conv-policy-preview tbody { display:table-row-group; }
.module-convivencia .conv-policy-preview tr { display:table-row; border:0; padding:0; margin:0; }
@container conv-policy (max-width:60rem) {
  .module-convivencia .conv-policy-workspace { grid-template-columns:minmax(0,1fr); }
}
@container conv-policy (max-width:44rem) {
  .module-convivencia .conv-policy-ref-header { align-items:stretch; flex-direction:column; }
  .module-convivencia .conv-policy-warnings { min-width:0; }
  .module-convivencia .conv-policy-method-grid { grid-template-columns:minmax(0,1fr); }
  .module-convivencia .conv-policy-method { min-height:0; }
  .module-convivencia .conv-policy-footer { align-items:stretch; flex-direction:column; }
  .module-convivencia .conv-policy-save { width:100%; }
}
@container conv-policy (max-width:30rem) {
  .module-convivencia .conv-policy-ref-header,.module-convivencia .conv-policy-methods,.module-convivencia .conv-policy-workspace,.module-convivencia .conv-policy-footer { padding:1rem; }
  .module-convivencia .conv-policy-warnings { flex-wrap:wrap; }
  .module-convivencia .conv-policy-workspace { gap:1rem; }
  .module-convivencia .conv-policy-method-fields { grid-template-columns:minmax(0,1fr); padding:.85rem; }
  .module-convivencia .conv-scale-step { grid-template-columns:1.75rem minmax(0,1fr); align-items:start; }
  .module-convivencia .conv-scale-step .conv-field { display:grid; min-width:0; }
  .module-convivencia .conv-scale-actions { grid-column:2; justify-self:end; }
  .module-convivencia .conv-policy-preview .conv-preview-warning { max-width:100%; flex-wrap:wrap; gap:.2rem; padding:.18rem .35rem; font-size:.62rem; white-space:normal; }
  .module-convivencia .conv-policy-preview th,.module-convivencia .conv-policy-preview td { padding:.65rem .7rem; }
}
.module-convivencia .conv-resident-view[hidden] { display:none; }

/* VISITAS · composición residencial de referencia, contenida en el módulo real. */
.module-access.ui-active { container:access-module / inline-size; display:grid!important; max-width:var(--content-task); gap:1.5rem; padding:2rem; background:#f8fafc!important; }
.module-access .access-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .04); }
.module-access .access-heading h2 { margin:.2rem 0 0; font-size:clamp(1.75rem,2.7vw,2.25rem); letter-spacing:-.035em; }
.module-access .access-heading p:not(.eyebrow) { margin:.3rem 0 0; }
.module-access .access-summary { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:.5rem; }
.module-access .access-summary__badge { display:inline-flex; align-items:center; gap:.45rem; border:1px solid #bfdbfe; border-radius:999px; padding:.55rem .85rem; background:#eff6ff; color:#1d4ed8; font-size:.84rem; font-weight:600; white-space:nowrap; }
.module-access .access-summary__badge i { width:.5rem; height:.5rem; border-radius:50%; background:#2563eb; }
.module-access .access-primary-layout { container:access-primary / inline-size; display:grid; grid-template-columns:minmax(0,7fr) minmax(19rem,5fr); align-items:start; gap:1.5rem; min-width:0; }
.module-access .access-primary-layout > .access-section { min-width:0; }
.module-access .access-primary-layout > #access-admin-qr-section { grid-column:1/-1; }
.module-access .access-section { gap:1.25rem; padding:0; overflow:hidden; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .04); }
.module-access .access-section--new { background:#fff; }
.module-access .access-section-heading { align-items:flex-start; padding:1.5rem; border-bottom:1px solid #f1f5f9; }
.module-access .access-section-heading h3 { font-size:1.25rem; }
.module-access .access-section-heading__icon { display:grid; width:2.75rem; height:2.75rem; flex:0 0 2.75rem; place-items:center; border:1px solid #bfdbfe; border-radius:.75rem; background:#eff6ff; color:#2563eb; }
.module-access .access-section-heading__icon svg { width:1.35rem; height:1.35rem; }
.module-access .access-section-content { padding:0 1.5rem 1.5rem; }
.module-access #access-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem!important; padding:0 1.5rem 1.5rem; }
.module-access #access-form > .access-visitor-field,.module-access #access-form > #access-pass-kind,.module-access #access-form > .access-parking-field,.module-access #access-form > .access-borrowed-field,.module-access #access-form > .access-notes-field,.module-access #access-form > .access-generate-button,.module-access #access-form > .access-form-note { grid-column:1/-1; }
.module-access #access-form label { gap:.45rem; color:#334155; font-size:.875rem; font-weight:600; }
.module-access .access-field-label { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.module-access .access-field-label em { border-radius:999px; padding:.15rem .45rem; background:#fff1f2; color:#e11d48; font-size:.66rem; font-style:normal; font-weight:700; }
.module-access .access-control-wrap { position:relative; display:flex; align-items:center; }
.module-access .access-control-wrap .access-field-icon { position:absolute; z-index:1; left:.85rem; width:1.2rem; height:1.2rem; color:#94a3b8; pointer-events:none; }
.module-access #access-form input,.module-access #access-form select,.module-access #access-form textarea { min-height:3rem; border-color:#e2e8f0; border-radius:.75rem; padding-left:2.8rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .03); }
.module-access #access-form textarea { min-height:5.5rem; padding-top:.8rem; resize:vertical; }
.module-access .access-control-wrap--textarea { align-items:flex-start; }.module-access .access-control-wrap--textarea .access-field-icon { top:.9rem; }
.module-access #access-pass-kind { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:0; padding:.375rem; border:1px solid #e2e8f0; border-radius:.9rem; background:#f8fafc; }
.module-access #access-pass-kind legend { grid-column:1/-1; margin:0; padding:.2rem .35rem .05rem; color:#334155; font-size:.875rem; font-weight:600; }
.module-access #access-pass-kind label { position:relative; display:flex!important; min-height:3.8rem; align-items:center; gap:.7rem; padding:.75rem; border:1px solid transparent; border-radius:.7rem; background:transparent; color:#64748b; cursor:pointer; }
.module-access #access-pass-kind input { position:absolute; width:1px; min-height:1px; opacity:0; pointer-events:none; }
.module-access .access-pass-kind__radio { display:grid; width:1.2rem; height:1.2rem; flex:0 0 1.2rem; place-items:center; border:2px solid currentColor; border-radius:50%; }.module-access .access-pass-kind__radio i { width:.55rem; height:.55rem; border-radius:50%; background:currentColor; opacity:0; }
.module-access #access-pass-kind label>span:last-child { display:grid; gap:.1rem; min-width:0; }.module-access #access-pass-kind label strong { color:inherit; font-size:.84rem; }.module-access #access-pass-kind label small { color:inherit; font-size:.72rem; font-weight:500; line-height:1.3; }
.module-access #access-pass-kind label:has(input:checked) { border-color:#2563eb; background:#eff6ff; color:#1d4ed8; box-shadow:0 1px 2px rgb(37 99 235 / .12); }.module-access #access-pass-kind label:has(input:checked) .access-pass-kind__radio i { opacity:1; }
.module-access .access-pass-kind__note { display:flex; grid-column:1/-1; align-items:flex-start; gap:.35rem; margin:.1rem .35rem .15rem; color:#64748b; font-size:.72rem; line-height:1.4; }.module-access .access-pass-kind__note svg { width:.9rem; height:.9rem; flex:0 0 .9rem; color:#2563eb; }
.module-access .access-generate-button { display:inline-flex; width:max-content; min-width:13.75rem!important; min-height:3rem; align-items:center; justify-content:center; gap:.5rem; border-color:#2563eb; border-radius:.75rem; background:#2563eb; color:#fff; }.module-access .access-generate-button:hover:not(:disabled) { background:#1d4ed8; }
.module-access .access-form-note { display:flex; align-items:flex-start; gap:.45rem; margin:0; padding-top:1rem; border-top:1px solid #f1f5f9; color:#64748b; font-size:.73rem; line-height:1.45; }.module-access .access-form-note>span { display:grid; width:1rem; height:1rem; flex:0 0 1rem; place-items:center; border:1px solid #93c5fd; border-radius:50%; color:#2563eb; font-size:.68rem; font-weight:700; }
.module-access #access-active-section { gap:0; }.module-access #access-active-section .access-section-heading { padding-bottom:1.25rem; }.module-access .access-section-toggle { width:2.75rem; min-height:2.75rem; border:1px solid #e2e8f0; border-radius:50%; background:#fff; color:#64748b; }
.module-access .access-created-qr-panel .access-card__actions .access-action--share { border-color:#2563eb; background:#2563eb; color:#fff; }
.module-access #access-active-content { padding:0; }.module-access #access-active { grid-template-columns:minmax(0,1fr); gap:0; }.module-access #access-active .access-card { gap:0; padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
.module-access #access-active .access-card__header { padding:0 1.5rem 1rem; }.module-access #access-active .access-card__identity strong { font-size:1.05rem; }.module-access #access-active .access-card__chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border-block:1px solid #f1f5f9; background:#f1f5f9; }.module-access #access-active .access-chip { width:auto; max-width:none; min-height:3.6rem; border:0; border-radius:0; padding:.7rem 1rem; background:#fff; color:#334155; font-size:.75rem; white-space:normal; }.module-access #access-active .access-card__qr { min-height:0; padding:1.25rem; border:0; background:#fff; }.module-access #access-active .access-card__qr svg { width:min(100%,12.5rem)!important; padding:.75rem; border:1px solid #e2e8f0; border-radius:.9rem; background:#f8fafc; }.module-access #access-active .access-card__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; margin:0; padding:1rem 1.25rem 1.25rem; border-top:1px solid #f1f5f9; background:#f8fafc; }.module-access #access-active .access-card__actions .access-action--share { grid-column:1/-1; border-color:#2563eb; background:#2563eb; color:#fff; }.module-access #access-active .access-card__actions .access-action--cancel { grid-column:1/-1; border-color:transparent; background:transparent; color:#e11d48; }
.module-access #access-recent-section { gap:0; }.module-access #access-recent-section .access-section-heading { padding-bottom:1.25rem; }.module-access #access-recent-content { padding:0 1.5rem 1.5rem; }.module-access .access-activity-list { overflow:hidden; border:1px solid #e2e8f0; border-radius:.75rem; gap:0; }.module-access .access-activity-header,.module-access .access-activity-row { grid-template-columns:4.5rem minmax(6rem,.9fr) minmax(9rem,1.5fr) 4.5rem minmax(8rem,1fr) auto; gap:1rem; }.module-access .access-activity-header { padding:.75rem 1rem; background:#f8fafc; }.module-access .access-activity-row { border:0; border-radius:0; border-top:1px solid #f1f5f9; padding:.85rem 1rem; box-shadow:none; }
@container access-module (max-width:62rem) { .module-access .access-primary-layout { grid-template-columns:minmax(0,1fr); } .module-access #access-active { grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1rem; padding:1rem; } .module-access #access-active .access-card { border:1px solid #e2e8f0!important; border-radius:.9rem!important; overflow:hidden; } }
@container access-module (max-width:47.5rem) { .module-access.ui-active { gap:1rem; padding:1rem; border-radius:0!important; } .module-access .access-heading { align-items:flex-start; flex-direction:column; padding:1.25rem; } .module-access .access-heading h2 { font-size:1.7rem; } .module-access .access-summary { width:100%; } .module-access .access-summary__badge { width:100%; justify-content:center; } .module-access .access-section-heading,.module-access #access-form { padding-inline:1.25rem; } .module-access #access-form { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:1rem!important; } .module-access #access-pass-kind { grid-template-columns:minmax(0,1fr); } .module-access #access-pass-kind label { min-height:3.45rem; } .module-access .access-generate-button { width:100%; min-width:0!important; } .module-access .access-section-content,.module-access #access-recent-content { padding-inline:1.25rem; } .module-access #access-active .access-card__header { padding-inline:1.25rem; } .module-access #access-active .access-card__actions { grid-template-columns:minmax(0,1fr); padding-inline:1.25rem; } .module-access #access-active .access-card__actions .access-action--share { grid-column:auto; } .module-access #access-active .access-card__actions .access-action--cancel { grid-column:auto; } .module-access .access-activity-header { display:none; } .module-access .access-activity-row { grid-template-columns:minmax(0,1fr) auto; gap:.5rem .75rem; padding:1rem; } .module-access .access-activity-row > span { overflow:visible; white-space:normal; } }
.finance-config-rules dl { display:grid; gap:var(--space-2); margin:0; }.finance-config-rules dl>div { display:flex; justify-content:space-between; gap:var(--space-4); padding:var(--space-3) 0; border-bottom:1px solid var(--border); }.finance-config-rules dt { color:var(--text); font-weight:var(--weight-medium); }.finance-config-rules dd { margin:0; color:var(--text-secondary); text-align:right; }.finance-concept-list { display:grid; gap:var(--space-2); }.finance-concept-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:var(--space-4); padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }.finance-concept-row h4,.finance-concept-row p { margin:0; }.finance-concept-row h4 { color:var(--text); font-size:1rem; }.finance-concept-row p { margin-top:var(--space-1); color:var(--text-secondary); font-size:var(--text-secondary-size); }.finance-concept-row button { width:auto; min-height:var(--control-height); }.finance-check { display:flex!important; grid-template-columns:none!important; align-items:flex-start; gap:var(--space-2)!important; }.finance-check input { min-height:auto; margin-top:.25rem; }.finance-check span { display:grid; gap:var(--space-1); }.finance-check small { color:var(--text-secondary); font-weight:var(--weight-normal); }.finance-workspace[data-finance-current="config"]>.finance-config-policy,.finance-workspace[data-finance-current="config"]>.finance-config-rules,.finance-workspace[data-finance-current="config"]>.finance-config-concepts,.finance-workspace[data-finance-current="config"]>.finance-config-create { grid-column:1/-1; }
.finance-config-create form { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr); gap:var(--space-4); align-items:start; }

.finance-config-create form>label:first-child { grid-column:1/-1; }
.finance-config-create form>.finance-options-group { grid-column:2; grid-row:2; }
.finance-config-create form>button { grid-column:1/-1; justify-self:end; }
.finance-options-group { min-width:0; display:grid; gap:var(--space-3); margin:0; padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); }
.finance-options-group legend { padding:0 var(--space-1); font-weight:var(--weight-medium); }
.finance-option { min-width:0; display:grid!important; grid-template-columns:auto minmax(0,1fr)!important; align-items:start; gap:var(--space-2)!important; }
.finance-option span { min-width:0; display:grid; gap:var(--space-1); }
.finance-option small { color:var(--text-secondary); font-weight:var(--weight-normal); }
.finance-concept-row { grid-template-columns:minmax(0,1fr) minmax(12rem,18rem) auto; min-width:0; }
.finance-concept-main,.finance-concept-heading,.finance-priority-control { min-width:0; }
.finance-concept-heading { display:flex; align-items:flex-start; flex-wrap:wrap; gap:var(--space-2); }
.finance-concept-main p { overflow-wrap:anywhere; }
.finance-priority-control { display:grid; gap:var(--space-2); }
.finance-priority-control label { display:grid; gap:var(--space-1); min-width:0; }
.finance-priority-control select { width:100%; min-width:0; }
.finance-concept-toggle { justify-self:end; }
@media (max-width:720px) {
  .finance-config-rules dl>div { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-1); }
  .finance-config-rules dd { text-align:left; }
  .finance-config-create form { grid-template-columns:minmax(0,1fr); }
  .finance-config-create form>label:first-child,.finance-config-create form>.finance-options-group,.finance-config-create form>button { grid-column:1; grid-row:auto; }
  .finance-concept-row { grid-template-columns:minmax(0,1fr); gap:var(--space-3); align-items:stretch; }
  .finance-concept-heading { justify-content:space-between; }
  .finance-priority-control select,.finance-priority-control button,.finance-concept-toggle { width:100%; }
  .finance-concept-toggle { justify-self:stretch; }
}

/* VISITAS · Operación reciente: matriz común en escritorio y ficha autónoma en pantallas compactas. */
.module-access .access-admin-operation-list { --access-operation-grid:5.8rem minmax(8rem,1.2fr) 4rem minmax(10rem,1.55fr) minmax(6.5rem,.95fr) 3.25rem minmax(7rem,1fr) minmax(5.75rem,.8fr) minmax(6.25rem,.85fr); display:grid; gap:.5rem; min-width:0; }
.module-access .access-admin-operation-header,.module-access .access-admin-operation-row { box-sizing:border-box; display:grid; grid-template-columns:var(--access-operation-grid); column-gap:.75rem; align-items:center; min-width:0; }
.module-access .access-admin-operation-header { padding-inline:calc(.875rem + 1px); }
.module-access .access-admin-operation-header>span,.module-access .access-admin-operation-row>span,.module-access .access-admin-operation-row>button { min-width:0; }
.module-access .access-admin-operation-header>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-admin-operation-row__time { min-width:5.8rem; }
.module-access .access-admin-operation-row__event,.module-access .access-admin-operation-row__visitor,.module-access .access-admin-operation-row__modality,.module-access .access-admin-operation-row__parking { max-width:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.module-access .access-admin-operation-row__evidence { justify-content:flex-start; }
.module-access .access-admin-operation-row__more { display:none; }

/* La tabla cambia a ficha antes de que las columnas dejen de respirar. */
@media (max-width:68rem) {
  .module-access.ui-active,.module-access .access-section,.module-access .access-admin-operation-list,.module-access .access-admin-operation-row { width:100%; max-width:100%; min-width:0; }
  .module-access .access-admin-operation-header { display:none; }
  .module-access .access-admin-operation-list { --access-operation-grid:minmax(0,1fr) auto; gap:.625rem; }
  .module-access .access-admin-operation-row { display:grid; grid-template-columns:var(--access-operation-grid); grid-template-areas:"time state" "visitor visitor" "unit modality" "event event" "guests parking" "evidence evidence" "more more"; gap:.4rem .875rem; padding:1rem; border-radius:1rem; }
  .module-access .access-admin-operation-row__time { grid-area:time; min-width:0; font-weight:700!important; }
  .module-access .access-admin-operation-row .access-activity-status { grid-area:state; justify-self:end; }
  .module-access .access-admin-operation-row__visitor { grid-area:visitor; max-width:100%; overflow:hidden!important; color:var(--access-ink)!important; font-size:1rem!important; font-weight:750!important; line-height:1.25; text-overflow:ellipsis; white-space:nowrap!important; }
  .module-access .access-admin-operation-row__unit,.module-access .access-admin-operation-row__modality { color:var(--access-muted)!important; font-size:.8rem!important; font-weight:600!important; }
  .module-access .access-admin-operation-row__unit { grid-area:unit; }
  .module-access .access-admin-operation-row__modality { grid-area:modality; justify-self:end; overflow:hidden!important; text-align:right; text-overflow:ellipsis; white-space:nowrap!important; }
  .module-access .access-admin-operation-row__event { grid-area:event; overflow:hidden!important; color:var(--access-brand-strong)!important; font-size:.8rem!important; font-weight:700!important; text-overflow:ellipsis; white-space:nowrap!important; }
  .module-access .access-admin-operation-row__guests,.module-access .access-admin-operation-row__parking { color:var(--access-muted)!important; font-size:.75rem!important; font-weight:500!important; }
  .module-access .access-admin-operation-row__guests { grid-area:guests; }
  .module-access .access-admin-operation-row__guests::after { content:" personas"; }
  .module-access .access-admin-operation-row__parking { grid-area:parking; justify-self:end; overflow:hidden!important; text-align:right; text-overflow:ellipsis; white-space:nowrap!important; }
  .module-access .access-admin-operation-row[data-guest-count="1"] .access-admin-operation-row__guests,.module-access .access-admin-operation-row[data-has-parking="false"] .access-admin-operation-row__parking { display:none; }
  .module-access .access-admin-operation-row[data-guest-count="1"][data-has-parking="false"] { grid-template-areas:"time state" "visitor visitor" "unit modality" "event event" "evidence evidence" "more more"; }
  .module-access .access-admin-operation-row[data-guest-count="1"][data-has-parking="true"] { grid-template-areas:"time state" "visitor visitor" "unit modality" "event event" "parking parking" "evidence evidence" "more more"; }
  .module-access .access-admin-operation-row[data-guest-count="1"][data-has-parking="true"] .access-admin-operation-row__parking { justify-self:start; text-align:left; }
  .module-access .access-admin-operation-row:not([data-guest-count="1"])[data-has-parking="false"] { grid-template-areas:"time state" "visitor visitor" "unit modality" "event event" "guests guests" "evidence evidence" "more more"; }
  .module-access .access-admin-operation-row[data-guest-count="1"][data-has-parking="false"]:not(:has(.access-evidence-chip)) { grid-template-areas:"time state" "visitor visitor" "unit modality" "event event" "more more"; }
  .module-access .access-admin-operation-row__evidence { grid-area:evidence; display:flex; align-items:center; gap:.45rem; min-height:2.25rem; padding-top:.35rem; border-top:1px solid color-mix(in srgb,var(--access-line) 65%,transparent); overflow:visible!important; white-space:normal!important; }
  .module-access .access-admin-operation-row__evidence:empty,.module-access .access-admin-operation-row__evidence:not(:has(.access-evidence-chip)) { display:none; }
  .module-access .access-admin-operation-row__evidence::before { content:"Evidencia"; margin-right:.1rem; color:var(--access-muted); font-size:.675rem; font-weight:750; letter-spacing:.055em; text-transform:uppercase; }
  .module-access .access-admin-operation-row__evidence .access-evidence-chip { min-height:2.25rem; padding:.4rem .6rem; }
  .module-access .access-admin-operation-row__more { display:inline-flex; grid-area:more; justify-self:end; align-items:center; min-height:1.5rem; border:0; padding:0; background:transparent; color:var(--access-brand-strong); font:inherit; font-size:.78rem; font-weight:700; cursor:pointer; }
  .module-access .access-admin-operation-row__more:hover,.module-access .access-admin-operation-row__more:focus-visible { color:var(--access-ink); text-decoration:underline; }
  .module-access .access-admin-operation-row__unit::before,.module-access .access-admin-operation-row__visitor::before,.module-access .access-admin-operation-row__event::before,.module-access .access-admin-operation-row__modality::before,.module-access .access-admin-operation-row__guests::before,.module-access .access-admin-operation-row__parking::before { content:none; }
}
@media(max-width:47.5rem){.module-access #access-form .access-borrowed-field{order:5;grid-column:1/-1}.module-access .access-notes-field{order:6}.module-access .access-generate-button{order:7}.module-access .access-form-note{order:8}}
.module-access .has-borrowed-parking :is(.access-activity-row__parking,.access-admin-operation-row__parking,.access-admin-operation-feed__meta){color:#694399!important;font-weight:700!important}
@media(max-width:47.5rem){.module-access #access-pass-kind{grid-template-columns:minmax(0,1fr)}}
.pergola-amenity-form .pergola-amenity-policy { grid-column:1/-1; }
.pergola-amenity-policy { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:var(--space-3); min-inline-size:0; margin:0; padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); }
.pergola-amenity-policy[hidden] { display:none; }

/* Reservas > Configuración: catálogo de amenidades. Basado en la composición aprobada. */
.module-pergola .pergola-amenities { display:grid; gap:0; max-width:56rem; margin-inline:auto!important; padding:0!important; overflow:hidden; }
.module-pergola .pergola-amenities-header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); padding:var(--space-5) var(--space-6); border-bottom:1px solid var(--border); }
.module-pergola .pergola-amenities-header h3 { margin:0; color:var(--text); font-size:1.25rem; font-weight:var(--weight-semibold); letter-spacing:-.02em; }
.module-pergola .pergola-amenities-header p:not(.eyebrow) { max-width:37rem; margin:var(--space-1) 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); line-height:1.45; }
.module-pergola .pergola-amenity-total { display:inline-flex; flex:0 0 auto; align-items:center; gap:.35rem; border:1px solid var(--border); border-radius:var(--radius-pill); padding:.35rem .65rem; background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-medium); white-space:nowrap; }
.module-pergola .pergola-amenity-total b { color:inherit; font-weight:var(--weight-semibold); }
.module-pergola .pergola-amenity-create { display:grid; gap:var(--space-5); padding:var(--space-6); border:0; }
.module-pergola .pergola-amenity-create__intro h4,.module-pergola .pergola-amenity-records>h4 { margin:0; color:var(--text); font-size:var(--text-label); font-weight:var(--weight-semibold); }
.module-pergola .pergola-amenity-create__intro p { margin:.15rem 0 0; color:var(--text-secondary); font-size:var(--text-secondary-size); }
.module-pergola .pergola-amenity-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-5); }
.module-pergola :is(.pergola-amenity-fields,.pergola-amenity-card__fields) > label,.module-pergola .pergola-amenity-policy>label { display:grid; gap:.375rem; min-width:0; color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }
.module-pergola .pergola-amenity-fields label>span { color:var(--text-secondary); font-weight:400; }
.module-pergola .pergola-amenity-fields small { color:var(--text-secondary); font-size:var(--text-caption); font-weight:400; }
.module-pergola :is(.pergola-amenity-fields,.pergola-amenity-card__fields,.pergola-amenity-policy) input:not([type="checkbox"]),.module-pergola :is(.pergola-amenity-fields,.pergola-amenity-card__fields) textarea { box-sizing:border-box; width:100%; border-color:var(--border-strong); border-radius:var(--radius-control); background:var(--surface); color:var(--text); box-shadow:var(--shadow-subtle); }
.module-pergola :is(.pergola-amenity-fields,.pergola-amenity-card__fields,.pergola-amenity-policy) input:not([type="checkbox"]) { min-height:2.5rem; }
.module-pergola :is(.pergola-amenity-fields,.pergola-amenity-card__fields) textarea { min-height:5.5rem; padding:.625rem .75rem; line-height:1.45; resize:vertical; }
.module-pergola .pergola-amenity-availability { min-inline-size:0; margin:0; padding:0; border:0; }
.module-pergola .pergola-amenity-availability legend { padding:0; color:var(--text); font-size:var(--text-label); font-weight:var(--weight-medium); }
.module-pergola .pergola-amenity-availability>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); margin-top:var(--space-2); }
.module-pergola .pergola-amenity-option { display:flex; min-width:0; align-items:flex-start; gap:.75rem; border:1px solid var(--border); border-radius:.75rem; padding:var(--space-4); background:var(--surface); color:var(--text); cursor:pointer; transition:border-color var(--transition-fast),background-color var(--transition-fast); }
.module-pergola .pergola-amenity-option:hover { border-color:var(--border-strong); background:var(--surface-muted); }
.module-pergola .pergola-amenity-option:has(input:checked) { border-color:var(--brand-600); background:var(--brand-50); }
.module-pergola .pergola-amenity-option input,.module-pergola .pergola-amenity-check input { width:1rem; height:1rem; flex:0 0 auto; margin:.15rem 0 0; accent-color:var(--brand-600); }
.module-pergola .pergola-amenity-option span { display:grid; gap:.2rem; min-width:0; }
.module-pergola .pergola-amenity-option strong { color:var(--text); font-size:var(--text-secondary-size); font-weight:var(--weight-medium); }
.module-pergola .pergola-amenity-option small { color:var(--text-secondary); font-size:var(--text-caption); line-height:1.4; }
.module-pergola .pergola-amenity-create>.pergola-amenity-policy { grid-template-columns:minmax(0,1fr) auto; padding:var(--space-4); background:var(--surface-muted); }
.module-pergola .pergola-amenity-create__actions { display:flex; justify-content:flex-end; padding-top:var(--space-5); border-top:1px solid var(--border); }
.module-pergola .pergola-amenity-records { display:grid; gap:var(--space-4); padding:var(--space-6); border-top:1px solid var(--border); background:color-mix(in srgb,var(--surface-muted) 72%,var(--surface)); }
.module-pergola .pergola-amenity-list { gap:var(--space-4); }
.module-pergola .pergola-amenity-card { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-5); padding:0; border-radius:.75rem; background:var(--surface); box-shadow:var(--shadow-subtle); overflow:hidden; }
.module-pergola .pergola-amenity-card>header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-4) var(--space-5); border-bottom:1px solid var(--border); }
.module-pergola .pergola-amenity-card>header>div { display:flex; min-width:0; align-items:center; gap:.75rem; }
.module-pergola .pergola-amenity-icon { display:grid; width:2.25rem; height:2.25rem; flex:0 0 auto; place-items:center; border-radius:var(--radius-control); background:var(--brand-50); color:var(--brand-600); }
.module-pergola .pergola-amenity-icon svg { width:1.3rem; height:1.3rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.module-pergola .pergola-amenity-card h5 { overflow:hidden; margin:0; color:var(--text); font-size:var(--text-label); font-weight:var(--weight-semibold); text-overflow:ellipsis; white-space:nowrap; }
.module-pergola .pergola-amenity-card__fields { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-5); padding:0 var(--space-5); }
.module-pergola .pergola-amenity-card__fields>label:nth-child(2) { grid-column:2; grid-row:1 / span 2; }
.module-pergola .pergola-amenity-card__fields>label:nth-child(2) textarea { min-height:100%; }
.module-pergola .pergola-amenity-card__fields .pergola-amenity-availability { grid-column:1; }
.module-pergola .pergola-amenity-card .pergola-amenity-availability>div { grid-template-columns:1fr; }
.module-pergola .pergola-amenity-card>.pergola-amenity-policy { margin:0 var(--space-5); padding:var(--space-4); background:var(--surface-muted); }
.module-pergola .pergola-amenity-policy { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.module-pergola .pergola-amenity-check { display:flex; align-items:center; gap:.625rem; min-height:2.5rem; border:1px solid var(--border); border-radius:var(--radius-control); padding:0 .75rem; background:var(--surface); color:var(--text-secondary); font-size:var(--text-secondary-size); white-space:nowrap; cursor:pointer; }
.module-pergola .pergola-amenity-state { display:inline-flex; min-width:auto; align-items:center; gap:.35rem; border:1px solid var(--border); border-radius:var(--radius-pill); padding:.25rem .625rem; background:var(--surface-muted); color:var(--text-secondary); font-size:var(--text-caption); font-weight:var(--weight-medium); }
.module-pergola .pergola-amenity-state.is-active { border-color:color-mix(in srgb,var(--success) 30%,var(--border)); background:var(--success-soft); color:var(--success); }
.module-pergola .pergola-amenity-card>footer { display:flex; justify-content:flex-end; gap:var(--space-2); padding:var(--space-4) var(--space-5); border-top:1px solid var(--border); }
.module-pergola .pergola-reservation-card.status-historical { border-left-color:var(--border-strong); background:var(--surface-muted); }
.module-pergola .pergola-status.historical { border-color:var(--border); background:var(--surface-muted); color:var(--text-secondary); }

/* La creación conserva filas explícitas en escritorio: datos, disponibilidad, política y acción. */
@media (min-width:47.5625rem) { .module-pergola .pergola-amenity-create { display:block; }.module-pergola .pergola-amenity-create__intro { margin-bottom:var(--space-5); }.module-pergola .pergola-amenity-fields { align-items:start; margin-bottom:var(--space-5); }.module-pergola .pergola-amenity-fields>label { align-content:start; }.module-pergola .pergola-amenity-fields textarea { height:6.875rem; min-height:6.875rem; }.module-pergola .pergola-amenity-availability { margin-bottom:var(--space-5); }.module-pergola .pergola-amenity-option { min-height:6.25rem; box-sizing:border-box; }.module-pergola .pergola-amenity-create>.pergola-amenity-policy { margin-bottom:var(--space-5); }.module-pergola .pergola-amenity-create__actions { margin-top:0; } }
@media (max-width:47.5rem) { .module-pergola .pergola-amenities-header,.module-pergola .pergola-amenity-create,.module-pergola .pergola-amenity-records { padding:var(--space-4); }.module-pergola .pergola-amenity-fields,.module-pergola .pergola-amenity-availability>div,.module-pergola .pergola-amenity-card__fields { grid-template-columns:minmax(0,1fr)!important; }.module-pergola .pergola-amenity-card__fields>label:nth-child(2),.module-pergola .pergola-amenity-card__fields .pergola-amenity-availability { grid-column:1; grid-row:auto; }.module-pergola .pergola-amenity-card__fields>label:nth-child(2) textarea { min-height:6.25rem; }.module-pergola .pergola-amenity-card>.pergola-amenity-policy { margin:0 var(--space-4); }.module-pergola .pergola-amenity-create>.pergola-amenity-policy,.module-pergola .pergola-amenity-policy { grid-template-columns:minmax(0,1fr); align-items:stretch; }.module-pergola .pergola-amenity-check { width:100%; box-sizing:border-box; }.module-pergola .pergola-amenity-create__actions .pergola-action { width:100%; }.module-pergola .pergola-amenity-card>footer { flex-direction:column-reverse; padding:var(--space-4); }.module-pergola .pergola-amenity-card>footer .pergola-action { width:100%; } }
.pergola-annual-usage-summary{display:grid;gap:.5rem;margin:.75rem 0 1rem}.pergola-annual-usage-summary[hidden]{display:none}.pergola-annual-usage-summary>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border:1px solid #dce6ef;border-radius:12px;background:#f8fbfd;font-size:.84rem}.pergola-annual-summary-badge,.pergola-annual-position{display:inline-flex;align-items:center;width:max-content;border:1px solid #bdd3e5;border-radius:999px;background:#eaf4fb;color:#164f78;font-size:.72rem;font-weight:750;line-height:1;padding:.3rem .5rem;white-space:nowrap}.pergola-annual-position{margin-top:.15rem}
@media(max-width:560px){.pergola-annual-usage-summary>div{align-items:flex-start;flex-direction:column;gap:.4rem}.pergola-annual-summary-badge,.pergola-annual-position{font-size:.7rem}}


/* AUTORIZACIONES POR PIN · trasplante visual aprobado, aislado al módulo. */
.module-authorizations.ui-active{display:block!important;width:min(100%,80rem);margin-inline:auto;font-family:Inter,var(--font-product),ui-sans-serif,system-ui,sans-serif;color:#334155}
.authorization-page{display:grid;gap:1.5rem}.authorization-page *{box-sizing:border-box}.authorization-page svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.authorization-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.authorization-heading p{margin:0 0 .5rem;color:#2563eb;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.authorization-heading p span{padding:0 .35rem}.authorization-heading h2{margin:0;color:#0f172a;font-size:1.875rem;line-height:2.25rem;letter-spacing:-.025em}.authorization-heading>div>span{display:block;margin-top:.25rem;color:#64748b;font-size:.875rem}.authorization-heading__metrics{display:flex;flex-wrap:wrap;gap:.5rem}.authorization-heading__metrics>span{display:inline-flex!important;align-items:center;gap:.5rem;margin:0!important;border:1px solid;border-radius:999px;padding:.375rem .875rem;font-size:.875rem}.authorization-heading__metrics strong{font-weight:700}.authorization-heading__metrics svg{color:#2563eb}.authorization-heading__metrics i,.authorization-summary-button i{width:.5rem;height:.5rem;border-radius:50%;background:#10b981}.metric-protected{border-color:#bfdbfe!important;background:#eff6ff;color:#475569!important}.metric-protected strong{color:#1d4ed8}.metric-current{border-color:#a7f3d0!important;background:#ecfdf5;color:#475569!important}.metric-current strong{color:#047857}
.authorization-feedback{position:sticky;z-index:4;top:.5rem;margin:0;border:1px solid;border-radius:.75rem;padding:.75rem 1rem;background:#fff;font-size:.875rem;box-shadow:0 4px 16px rgb(15 23 42/.08)}.authorization-feedback[hidden]{display:none}.authorization-feedback.is-success{border-color:#a7f3d0;color:#047857}.authorization-feedback.is-error{border-color:#fecaca;color:#be123c}
.authorization-card{overflow:hidden;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.05)}.authorization-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.authorization-section-title{display:flex;align-items:flex-start;gap:.75rem}.authorization-section-title>b{display:inline-grid;width:1.5rem;height:1.5rem;flex:0 0 auto;place-items:center;border-radius:50%;background:#2563eb;color:#fff;font-size:.75rem}.authorization-section-title h2{margin:0;color:#0f172a;font-size:1.125rem;line-height:1.5rem}.authorization-section-title p{margin:.125rem 0 0;color:#64748b;font-size:.875rem;line-height:1.4}
.authorization-operations-tools{display:flex;align-items:center;gap:1rem}.authorization-operations-tools ul{display:flex;gap:1rem;margin:0;padding:0;list-style:none;color:#64748b;font-size:.75rem}.authorization-operations-tools li{display:flex;align-items:center;gap:.375rem}.authorization-operations-tools i{width:.625rem;height:.625rem;border-radius:50%;background:#cbd5e1}.authorization-operations-tools i.is-protected{background:#2563eb}.authorization-search input{width:14rem;height:2.25rem;border:1px solid #e2e8f0;border-radius:.75rem;padding:0 .75rem;background:#f8fafc;color:#0f172a;font-size:.875rem}.authorization-search input:focus{border-color:#3b82f6;background:#fff;outline:3px solid rgb(59 130 246/.15)}
.authorization-operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem}.authorization-operation-group{align-self:start;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem;background:rgb(248 250 252/.55)}.authorization-operation-group>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.authorization-operation-group h3{margin:0;color:#0f172a;font-size:.875rem}.authorization-operation-group h3 span{color:#94a3b8;font-weight:400}.authorization-operation-group header>b{border-radius:999px;padding:.125rem .625rem;background:#dbeafe;color:#1d4ed8;font-size:.75rem}.authorization-operation-group ul{display:grid;gap:.375rem;margin:0;padding:0;list-style:none}.authorization-operation{display:flex;min-height:2.4rem;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #e2e8f0;border-radius:.75rem;padding:.45rem .75rem;background:#fff}.authorization-operation.is-enabled{border-color:#bfdbfe;background:#eff6ff}.authorization-operation__name{display:flex;min-width:0;align-items:center;gap:.5rem;color:#334155;font-size:.875rem}.authorization-operation__name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.authorization-operation__name svg{width:.875rem;height:.875rem;flex:0 0 auto;color:#2563eb;stroke-width:2.5}.is-enabled .authorization-operation__name{color:#1e3a8a;font-weight:600}.authorization-operation__controls{display:flex;flex:0 0 auto;align-items:center;gap:.625rem}.authorization-module-tag{display:inline-block;border-radius:.375rem;padding:.125rem .375rem;background:#f1f5f9;color:#64748b;font-size:.625rem;font-weight:600;letter-spacing:.08em}.is-enabled .authorization-module-tag{background:#dbeafe;color:#1d4ed8}.authorization-switch{position:relative;width:2.25rem;min-width:2.25rem;height:1.25rem;min-height:1.25rem;border:0;border-radius:999px;padding:0;background:#e2e8f0;box-shadow:none}.authorization-switch span{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.2);transition:transform .15s}.authorization-switch[aria-checked="true"]{background:#2563eb}.authorization-switch[aria-checked="true"] span{transform:translateX(1rem)}.authorization-switch:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.authorization-operation-empty{padding:1rem;color:#64748b;text-align:center;font-size:.8rem}.authorization-operation-side{display:flex;flex-direction:column;gap:1.5rem}.authorization-shared{display:flex;gap:.75rem;border:1px solid #dbeafe;border-radius:1rem;padding:1rem;background:rgb(239 246 255/.65)}.authorization-shared>span{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border-radius:.75rem;background:#fff;color:#2563eb;box-shadow:inset 0 0 0 1px #dbeafe}.authorization-shared>span svg{width:1.25rem;height:1.25rem}.authorization-shared p{margin:0;color:#475569;font-size:.875rem;line-height:1.65}.authorization-shared strong{color:#0f172a}.authorization-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;padding:0;list-style:none;text-align:center}.authorization-flow li{border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem .5rem;background:#fff;font-size:.75rem}.authorization-flow strong,.authorization-flow span{display:block}.authorization-flow strong{color:#2563eb}.authorization-flow span{margin-top:.125rem;color:#64748b}
.authorization-generator{display:grid;grid-template-columns:5fr 7fr;gap:1.5rem;padding:1.5rem}.authorization-generator>form{display:flex;flex-direction:column}.authorization-generator-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.authorization-generator label,.authorization-history form label{display:grid;gap:.375rem;color:#334155;font-size:.875rem;font-weight:500}.authorization-generator select,.authorization-history select,.authorization-history input{width:100%;height:2.75rem;border:1px solid #e2e8f0;border-radius:.75rem;padding:0 .75rem;background:#fff;color:#0f172a}.authorization-generator-action{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem}.authorization-generator-action button,.authorization-history form>button{display:inline-flex;height:2.75rem;align-items:center;justify-content:center;gap:.5rem;border:1px solid #2563eb;border-radius:.75rem;padding:0 1.25rem;background:#2563eb;color:#fff;font-size:.875rem;font-weight:600;box-shadow:0 1px 2px rgb(15 23 42/.08)}.authorization-generator-action span{color:#64748b;font-size:.75rem}
.authorization-reveal{height:100%;min-height:15.75rem;border:1px solid #fcd34d;border-radius:1rem;padding:1.25rem;background:rgb(255 251 235/.72)}.authorization-reveal__title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.authorization-reveal h3{margin:0;color:#0f172a;font-size:.875rem}.authorization-reveal h3 span{color:#64748b;font-weight:400}.authorization-reveal__title>b{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.125rem .5rem;background:#fef3c7;color:#92400e;font-size:.6875rem}.authorization-reveal__title i{width:.375rem;height:.375rem;border-radius:50%;background:#f59e0b}.authorization-reveal__notice{margin-top:.75rem;border:1px solid #fcd34d;border-radius:.75rem;padding:.75rem;background:rgb(255 255 255/.72);color:#92400e;font-size:.875rem;line-height:1.45}.authorization-reveal__meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.authorization-reveal__meta p{margin:0;color:#475569;font-size:.75rem}.authorization-reveal__meta strong{color:#0f172a}.authorization-reveal__meta button,.authorization-reveal li button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;background:#fff;color:#475569;box-shadow:0 1px 2px rgb(15 23 42/.07)}.authorization-reveal__meta button{height:2.25rem;gap:.5rem;border-radius:.75rem;padding:0 .875rem}.authorization-reveal ul{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.authorization-reveal li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem .875rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.06)}.authorization-reveal li>span{color:#0f172a;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;font-size:1.05rem;font-weight:600;letter-spacing:.13em}.authorization-reveal li button{width:2rem;height:2rem;border:0;border-radius:.5rem;box-shadow:none}.authorization-reveal.is-empty{display:grid;grid-template-rows:auto 1fr;border-style:dashed}.authorization-reveal-empty{display:grid;place-items:center;color:#92400e;text-align:center;font-size:.85rem}
.authorization-history>header{border:0}.authorization-summaries{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.authorization-summary-button{display:inline-flex;min-height:2.25rem;align-items:center;gap:.5rem;border:1px solid #e2e8f0;border-radius:999px;padding:.375rem .75rem;background:#fff;color:#475569;font-size:.875rem}.authorization-summary-button.is-selected{border-color:#93c5fd;background:#eff6ff;box-shadow:0 0 0 2px rgb(59 130 246/.12)}.authorization-summary-button.status-usado i{background:#6366f1}.authorization-summary-button.status-vencido i{background:#f59e0b}.authorization-summary-button.status-revocado i{background:#f43f5e}.authorization-history>form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:.75rem;align-items:end;border-block:1px solid #e2e8f0;padding:1rem 1.5rem;background:rgb(248 250 252/.65)}.authorization-history form label{gap:.25rem;font-size:.75rem}.authorization-history select,.authorization-history input{height:2.5rem;font-size:.875rem}.authorization-history form>button{height:2.5rem;white-space:nowrap}.authorization-table-wrap{overflow-x:auto}.authorization-history table{width:100%;min-width:57.5rem;border-collapse:collapse;color:#334155;font-size:.875rem}.authorization-history th{border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase}.authorization-history th:first-child,.authorization-history td:first-child{padding-left:1.5rem}.authorization-history th:last-child,.authorization-history td:last-child{padding-right:1.5rem;text-align:right}.authorization-history td{border-bottom:1px solid #f1f5f9;padding:1rem;vertical-align:middle}.authorization-history-row.is-expanded{background:rgb(238 242 255/.45)}.authorization-history td>span,.authorization-history td>small{display:block}.authorization-history td>small{margin-top:.125rem;color:#64748b;font-size:.75rem}.authorization-folio{display:block;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.authorization-status{display:inline-flex!important;width:max-content;align-items:center;gap:.375rem;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;box-shadow:inset 0 0 0 1px}.authorization-status i{width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.authorization-status.status-vigente{background:#ecfdf5;color:#047857;box-shadow:inset 0 0 0 1px #a7f3d0}.authorization-status.status-usado{background:#eef2ff;color:#4338ca;box-shadow:inset 0 0 0 1px #c7d2fe}.authorization-status.status-vencido{background:#fffbeb;color:#b45309;box-shadow:inset 0 0 0 1px #fde68a}.authorization-status.status-revocado{background:#fff1f2;color:#be123c;box-shadow:inset 0 0 0 1px #fecdd3}.authorization-history small.status-vigente{color:#047857}.authorization-history small.status-vencido{color:#b45309}.authorization-history small.status-revocado{color:#be123c}.authorization-row-actions{display:flex;justify-content:flex-end;gap:.5rem}.authorization-row-actions button,.authorization-audit button{min-height:2rem;border:0;border-radius:.5rem;padding:.25rem .75rem;background:transparent;color:#475569;font-size:.875rem}.authorization-row-actions .authorization-revoke{border:1px solid #fecdd3;color:#e11d48}.authorization-detail-row{background:rgb(238 242 255/.45)}.authorization-detail-row td{padding-top:0!important}.authorization-audit{border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.06);text-align:left}.authorization-audit dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0}.authorization-audit dt{color:#64748b;font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.authorization-audit dd{margin:.25rem 0 0;color:#0f172a;font-weight:500}.authorization-audit dd span{color:#64748b;font-weight:400}.authorization-audit dd b{border-radius:.375rem;padding:.125rem .375rem;background:#dbeafe;color:#1d4ed8;font-size:.625rem;letter-spacing:.08em}.authorization-audit small{display:block;margin-top:.2rem;color:#64748b}.authorization-audit button{margin-top:.35rem;padding:0;color:#1d4ed8}.authorization-audit__reason{grid-column:1/-1}.authorization-audit__reason dd{border-left:2px solid #3b82f6;border-radius:.5rem;padding:.5rem .75rem;background:#f8fafc;font-style:italic;font-weight:400}.authorization-empty{display:grid;justify-items:center;padding:3.5rem 1.5rem;text-align:center}.authorization-empty>svg{width:3rem;height:3rem;border-radius:1rem;padding:.75rem;background:#f1f5f9;color:#94a3b8}.authorization-empty h3{margin:1rem 0 .25rem;color:#0f172a;font-size:.875rem}.authorization-empty p{max-width:24rem;margin:0;color:#64748b;font-size:.875rem}.authorization-empty button{margin-top:1rem}.authorization-history>footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border-top:1px solid #e2e8f0;padding:.75rem 1.5rem;color:#64748b;font-size:.75rem}.authorization-history>footer>span:last-child{text-align:right}.authorization-pagination{display:flex;gap:.375rem}.authorization-pagination button{min-height:2rem;border:1px solid #e2e8f0;border-radius:.5rem;padding:.25rem .65rem;background:#fff;color:#475569;font-size:.75rem}.authorization-pagination button:disabled{opacity:.45}
@media(max-width:64rem){.authorization-heading{align-items:flex-start;flex-direction:column}.authorization-card>header{align-items:flex-start;flex-direction:column}.authorization-operations-tools{width:100%;justify-content:space-between}.authorization-history>form{grid-template-columns:repeat(3,minmax(0,1fr))}.authorization-audit dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:48rem){.module-authorizations.ui-active{width:100%}.authorization-operation-grid,.authorization-generator{grid-template-columns:1fr}.authorization-operations-tools{align-items:stretch;flex-direction:column}.authorization-search input{width:100%}.authorization-history>form{grid-template-columns:repeat(2,minmax(0,1fr))}.authorization-history form>button{grid-column:1/-1}.authorization-history>footer{grid-template-columns:1fr auto}.authorization-history>footer>span:last-child{display:none}.authorization-reveal ul{grid-template-columns:1fr}.authorization-audit dl{grid-template-columns:1fr}.authorization-flow{grid-template-columns:1fr}.authorization-operation-grid{padding:1rem}.authorization-generator{padding:1rem}.authorization-card>header{padding:1rem}}
@media(max-width:32rem){.authorization-generator-fields,.authorization-history>form{grid-template-columns:1fr}.authorization-heading__metrics>span{width:100%;justify-content:center}.authorization-operations-tools ul{align-items:flex-start;flex-direction:column}.authorization-reveal__meta{align-items:stretch;flex-direction:column}.authorization-reveal__meta button{width:100%}.authorization-history>footer{grid-template-columns:1fr}.authorization-pagination{grid-row:2}}

.module-authorizations .authorization-history table{display:table}.module-authorizations .authorization-history thead{display:table-header-group}.module-authorizations .authorization-history tbody{display:table-row-group}.module-authorizations .authorization-history tr{display:table-row;width:auto;margin:0;border:0;border-radius:0;padding:0}.module-authorizations .authorization-history th,.module-authorizations .authorization-history td{display:table-cell;width:auto}.module-authorizations .authorization-history td:last-child{display:table-cell}

/* FINANZAS · catálogo de conceptos: sólo herramientas financieras. */
.module-finance .finance-concept-catalog { display:grid; gap:1rem; max-width:75rem; margin-inline:auto; }
.module-finance .finance-catalog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.35rem 0; }
.module-finance .finance-catalog-header h2 { margin:.15rem 0 .35rem; color:var(--text); font-size:clamp(1.35rem,2vw,1.75rem); letter-spacing:-.025em; }
.module-finance .finance-catalog-header p:not(.eyebrow) { max-width:42rem; margin:0; color:var(--text-secondary); }
.module-finance .finance-catalog-back { width:auto; min-height:2.4rem; white-space:nowrap; background:transparent; color:var(--text-secondary); }
.module-finance .finance-catalog-metrics { display:flex; flex-wrap:wrap; gap:.55rem; }
.module-finance .finance-catalog-metrics span { display:inline-flex; gap:.35rem; align-items:center; padding:.4rem .65rem; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--text-secondary); font-size:.8rem; }
.module-finance .finance-catalog-metrics strong { color:var(--text); font-variant-numeric:tabular-nums; }
.module-finance .finance-catalog-metrics .is-active { color:#087651; border-color:#bbf7d0; background:#f0fdf4; }
.module-finance .finance-catalog-metrics .is-inactive { color:#64748b; background:#f8fafc; }
.module-finance .finance-catalog-toolbar { display:grid; grid-template-columns:minmax(14rem,1fr) auto auto; gap:.75rem; align-items:center; }
.module-finance .finance-catalog-search input { width:100%; min-height:2.65rem; }
.module-finance .finance-catalog-filter { display:inline-flex; padding:.2rem; border:1px solid var(--border); border-radius:.7rem; background:var(--surface-muted); }
.module-finance .finance-catalog-filter button { min-height:2.2rem; padding:.3rem .65rem; border:0; border-radius:.5rem; background:transparent; color:var(--text-secondary); font-size:.78rem; }
.module-finance .finance-catalog-filter button[aria-pressed="true"] { background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .10); color:var(--brand-700); font-weight:700; }
.module-finance .finance-catalog-create { min-height:2.65rem; white-space:nowrap; }
.module-finance .finance-catalog-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(19rem,.9fr); align-items:start; gap:1rem; }
.module-finance .finance-catalog-list { display:grid; gap:.7rem; min-width:0; }
.module-finance .finance-catalog-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; padding:1rem; border:1px solid var(--border); border-radius:.85rem; background:var(--surface); box-shadow:0 1px 2px rgb(15 23 42 / .03); }
.module-finance .finance-catalog-card.is-editing { border-color:var(--brand-500); box-shadow:0 0 0 2px rgb(37 99 235 / .10); }
.module-finance .finance-catalog-card.is-inactive { opacity:.72; border-style:dashed; background:var(--surface-muted); }
.module-finance .finance-catalog-card-main { min-width:0; }
.module-finance .finance-catalog-card-heading { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }
.module-finance .finance-catalog-card h3 { margin:0; color:var(--text); font-size:1rem; }
.module-finance .finance-catalog-card-main>p { margin:.35rem 0 .75rem; color:var(--text-secondary); font-size:.82rem; overflow-wrap:anywhere; }
.module-finance .finance-catalog-editing,.module-finance .finance-catalog-state,.module-finance .finance-catalog-rule { display:inline-flex; align-items:center; min-height:1.4rem; padding:.1rem .45rem; border-radius:999px; font-size:.68rem; font-weight:700; white-space:nowrap; }
.module-finance .finance-catalog-editing { color:var(--brand-700); background:var(--brand-50); }
.module-finance .finance-catalog-card dl { display:flex; flex-wrap:wrap; gap:.45rem 1.1rem; margin:0; }
.module-finance .finance-catalog-card dl div { display:grid; gap:.05rem; }
.module-finance .finance-catalog-card dt { color:var(--text-secondary); font-size:.68rem; }
.module-finance .finance-catalog-card dd { margin:0; color:var(--text); font-size:.78rem; font-weight:650; }
.module-finance .finance-catalog-priority--10 { color:#b45309!important; }.module-finance .finance-catalog-priority--20 { color:#2563eb!important; }.module-finance .finance-catalog-priority--30 { color:#64748b!important; }
.module-finance .finance-catalog-rules { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.75rem; }
.module-finance .finance-catalog-rule { border:1px solid var(--border); color:var(--text-secondary); background:var(--surface-muted); font-weight:600; }
.module-finance .finance-catalog-card-actions { display:flex; flex-direction:column; align-items:flex-end; gap:.45rem; min-width:7.6rem; }
.module-finance .finance-catalog-card-actions button { width:100%; min-height:2.1rem; padding:.35rem .55rem; font-size:.76rem; }
.module-finance .finance-catalog-state.is-active { color:#087651; background:#ecfdf5; }.module-finance .finance-catalog-state.is-inactive { color:#64748b; background:#e2e8f0; }
.module-finance .finance-catalog-danger { border-color:#fecaca!important; background:#fff1f2!important; color:#be123c!important; }
.module-finance .finance-catalog-editor,.module-finance .finance-catalog-editor-empty { position:sticky; top:1rem; display:grid; gap:1rem; padding:1rem; border:1px solid var(--border); border-radius:.85rem; background:var(--surface); box-shadow:0 6px 20px rgb(15 23 42 / .05); }
.module-finance .finance-catalog-editor header { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; }.module-finance .finance-catalog-editor header p { margin:0 0 .2rem; color:var(--brand-700); font-size:.68rem; font-weight:800; letter-spacing:.08em; }.module-finance .finance-catalog-editor h3 { margin:0; color:var(--text); font-size:1.05rem; outline:0; }.module-finance .finance-catalog-editor header button { width:2rem; min-height:2rem; padding:0; border:0; background:transparent; color:var(--text-secondary); font-size:1.35rem; }
.module-finance .finance-catalog-editor form { display:grid; gap:.8rem; }.module-finance .finance-catalog-editor label { display:grid; gap:.35rem; color:var(--text); font-size:.8rem; font-weight:650; }.module-finance .finance-catalog-editor input,.module-finance .finance-catalog-editor textarea { width:100%; }.module-finance .finance-catalog-priority-picker,.module-finance .finance-catalog-rules-editor { display:grid; gap:.6rem; margin:0; padding:.8rem; border:1px solid var(--border); border-radius:.7rem; }.module-finance .finance-catalog-priority-picker legend,.module-finance .finance-catalog-rules-editor legend { padding:0 .25rem; color:var(--text); font-size:.78rem; font-weight:750; }.module-finance .finance-catalog-priority-picker>div { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; }.module-finance .finance-catalog-priority-option { position:relative; display:block!important; cursor:pointer; }.module-finance .finance-catalog-priority-option input { position:absolute; opacity:0; }.module-finance .finance-catalog-priority-option span { display:block; padding:.5rem .2rem; border:1px solid var(--border); border-radius:.5rem; color:var(--text-secondary); text-align:center; font-size:.72rem; }.module-finance .finance-catalog-priority-option input:checked+span { border-color:var(--brand-500); background:var(--brand-50); color:var(--brand-700); }.module-finance .finance-catalog-priority-picker small,.module-finance .finance-catalog-prospective { margin:0; color:var(--text-secondary); font-size:.72rem; line-height:1.45; }.module-finance .finance-catalog-rules-editor { gap:.5rem; }.module-finance .finance-catalog-switch { display:grid!important; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:.55rem!important; cursor:pointer; }.module-finance .finance-catalog-switch input { width:1.05rem; min-height:1.05rem; margin-top:.15rem; accent-color:var(--brand-600); }.module-finance .finance-catalog-switch span { display:grid; gap:.1rem; }.module-finance .finance-catalog-switch small { color:var(--text-secondary); font-size:.7rem; font-weight:400; line-height:1.35; }.module-finance .finance-catalog-editor footer { display:flex; justify-content:flex-end; }.module-finance .finance-catalog-editor footer button { width:100%; }.module-finance .finance-catalog-editor-empty { min-height:10rem; align-content:center; color:var(--text-secondary); text-align:center; }.module-finance .finance-catalog-editor-empty strong { color:var(--text); }.module-finance .finance-catalog-empty { margin:0; padding:1rem; border:1px dashed var(--border); border-radius:.75rem; color:var(--text-secondary); text-align:center; }.finance-dialog .finance-catalog-modal-actions { display:flex; justify-content:flex-end; gap:.6rem; margin-top:1rem; }
@media (max-width:52rem) { .module-finance .finance-catalog-header { align-items:stretch; flex-direction:column; }.module-finance .finance-catalog-back { align-self:flex-start; }.module-finance .finance-catalog-toolbar { grid-template-columns:minmax(0,1fr); }.module-finance .finance-catalog-filter { justify-self:start; }.module-finance .finance-catalog-create { width:100%; }.module-finance .finance-catalog-layout { grid-template-columns:minmax(0,1fr); }.module-finance .finance-catalog-editor,.module-finance .finance-catalog-editor-empty { position:static; }.module-finance .finance-catalog-card { grid-template-columns:minmax(0,1fr); }.module-finance .finance-catalog-card-actions { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-width:0; }.module-finance .finance-catalog-state { justify-self:start; }.module-finance .finance-catalog-card-actions button { width:auto; }.finance-dialog .finance-catalog-modal-actions { display:grid; grid-template-columns:1fr; }.finance-dialog .finance-catalog-modal-actions .finance-catalog-danger { grid-row:1; } }

/* VISITAS · QR administrativo y seguimiento, acotados a sus propios paneles. */
.module-access #access-admin-qr-section { display:block; }
.module-access #access-admin-qr-section[hidden] { display:none; }
.module-access .access-admin-qr-heading { display:flex; align-items:center; gap:1rem; padding:1.25rem 1.5rem; cursor:pointer; list-style:none; }
.module-access .access-admin-qr-heading::-webkit-details-marker { display:none; }
.module-access .access-admin-qr-heading__icon,.module-access .access-admin-qr-heading__toggle { display:grid; flex:0 0 2.75rem; width:2.75rem; height:2.75rem; place-items:center; border:1px solid #bfdbfe; border-radius:.75rem; background:#eff6ff; color:#2563eb; }
.module-access .access-admin-qr-heading__icon svg { width:1.35rem; height:1.35rem; }
.module-access .access-admin-qr-heading__copy { display:grid; flex:1; min-width:0; gap:.2rem; }
.module-access .access-admin-qr-heading__copy strong { color:#172033; font-size:1rem; line-height:1.3; }
.module-access .access-admin-qr-heading__copy small { color:#64748b; font-size:.78rem; line-height:1.4; }
.module-access .access-admin-qr-heading__toggle { border-color:#e2e8f0; border-radius:50%; background:#fff; color:#64748b; }
.module-access .access-admin-qr-heading__toggle svg { width:1rem; height:1rem; transition:transform .18s ease; }
.module-access #access-admin-qr-section[open] .access-admin-qr-heading__toggle svg { transform:rotate(180deg); }
.module-access #access-admin-qr-section[open] .access-admin-qr-heading { border-bottom:1px solid #f1f5f9; }
.module-access #access-admin-qr-section > .access-section-content { gap:1rem; padding:1.25rem 1.5rem 1.5rem; }
.module-access #access-admin-qr-section > .access-section-content > p { margin:0; color:#64748b; font-size:.85rem; line-height:1.5; }
.module-access #access-admin-qr-policy-form { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1.1rem; padding:1rem; border:1px solid #e2e8f0; border-radius:.8rem; background:#f8fafc; }
.module-access #access-admin-qr-policy-form label { display:flex; align-items:center; gap:.4rem; color:#334155; font-size:.8rem; font-weight:600; }
.module-access #access-admin-qr-policy-form input[type="checkbox"],.module-access #access-admin-checkpoints input[type="checkbox"] { flex:none; width:1rem; height:1rem; }
.module-access #access-admin-qr-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:1rem; }
.module-access #access-admin-qr-form label { display:grid; gap:.4rem; min-width:0; color:#334155; font-size:.82rem; font-weight:600; }
.module-access #access-admin-qr-form label[hidden],.module-access #access-admin-qr-form[hidden],.module-access #access-admin-qr-policy-form[hidden] { display:none; }
.module-access #access-admin-qr-form input,.module-access #access-admin-qr-form select,.module-access #access-admin-qr-form textarea { width:100%; min-width:0; }
.module-access #access-admin-qr-form fieldset { grid-column:1/-1; min-width:0; border:1px solid #e2e8f0; border-radius:.75rem; padding:.85rem; }
.module-access #access-admin-qr-form button,.module-access #access-admin-qr-policy-form button { width:auto; justify-self:start; }
.module-access #access-admin-qr-result:empty,.module-access #access-admin-qr-list:empty { display:none; }
.module-access #access-admin-qr-list { display:grid; gap:.75rem; }
.module-access #access-admin-operations-section { gap:0; }
.module-access #access-admin-operations-section .access-admin-summary { padding:1.2rem 1.5rem .35rem; }
.module-access #access-admin-operations-section .access-admin-metric { display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; column-gap:.7rem; align-content:center; padding:.9rem; border-color:#e2e8f0; border-radius:.8rem; }
.module-access #access-admin-operations-section .access-admin-metric__icon { grid-row:1/3; display:grid; width:2.3rem; height:2.3rem; place-items:center; border-radius:.65rem; background:#eff6ff; color:#2563eb; }
.module-access #access-admin-operations-section .access-admin-metric__icon svg { width:1.1rem; height:1.1rem; }
.module-access #access-admin-operations-section .access-admin-metric > span:not(.access-admin-metric__icon) { display:block; overflow:visible; white-space:normal; line-height:1.25; }
.module-access #access-admin-operations-section .access-admin-operation-group { gap:.65rem; padding:1rem 1.5rem 1.4rem; }
.module-access #access-admin-operations-section .access-admin-operation-group + .access-admin-operation-group { padding-top:0; }
.module-access #access-admin-operations-section .access-admin-operation-feed { grid-template-columns:5.75rem minmax(0,1fr) auto; gap:.8rem; padding:.8rem 1rem; border-radius:.75rem; }
.module-access #access-admin-operations-section .access-admin-operation-feed__event,.module-access #access-admin-operations-section .access-admin-operation-feed__visitor,.module-access #access-admin-operations-section .access-admin-operation-feed__meta { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.module-access #access-admin-operations-section .access-admin-operation-feed__side { align-content:start; gap:.4rem; }
@container access-module (max-width:47.5rem) {
  .module-access .access-admin-qr-heading { gap:.7rem; padding:1rem 1.25rem; }
  .module-access #access-admin-qr-section > .access-section-content { padding:1rem 1.25rem 1.25rem; }
  .module-access #access-admin-qr-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .module-access #access-admin-operations-section .access-admin-summary { grid-template-columns:repeat(2,minmax(0,1fr)); padding:1rem 1.25rem .25rem; }
  .module-access #access-admin-operations-section .access-admin-operation-group { padding:1rem 1.25rem 1.25rem; }
  .module-access #access-admin-operations-section .access-admin-operation-feed { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"time state" "main main" "evidence evidence" "more more"; gap:.4rem .7rem; padding:.8rem; }
  .module-access #access-admin-operations-section .access-admin-operation-feed__time { grid-area:time; }
  .module-access #access-admin-operations-section .access-admin-operation-feed__main { grid-area:main; }
  .module-access #access-admin-operations-section .access-admin-operation-feed__side { display:contents; }
  .module-access #access-admin-operations-section .access-admin-operation-feed__side .access-activity-status { grid-area:state; justify-self:end; }
  .module-access #access-admin-operations-section .access-admin-operation-feed__evidence { grid-area:evidence; justify-content:flex-start; }
  .module-access #access-admin-operations-section .access-admin-operation-feed__more { display:inline-flex; grid-area:more; justify-self:end; }
}
@container access-module (max-width:28rem) {
  .module-access #access-admin-qr-form { grid-template-columns:minmax(0,1fr); }
  .module-access #access-admin-operations-section .access-admin-metric { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:.3rem; padding:.7rem; }
  .module-access #access-admin-operations-section .access-admin-metric__icon { grid-row:auto; width:1.9rem; height:1.9rem; }
  .module-access #access-admin-operations-section .access-admin-metric > span:not(.access-admin-metric__icon) { overflow-wrap:anywhere; }
}
.module-finance .finance-manual-charge-list { display:grid; gap:var(--space-3); max-height:min(55vh,34rem); overflow:auto; }
.module-finance .finance-manual-charge { display:grid; gap:var(--space-3); padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--surface-muted); }
.module-finance .finance-manual-charge__meta { display:grid; gap:.2rem; }
.module-finance .finance-manual-charge__meta span,.module-finance .finance-manual-charge dt { color:var(--text-secondary); font-size:.78rem; }
.module-finance .finance-manual-charge dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-2); margin:0; }
.module-finance .finance-manual-charge dl div { display:grid; gap:.15rem; }
.module-finance .finance-manual-charge dd { margin:0; color:var(--text); font-size:.86rem; }
.module-finance .finance-manual-charge label { display:grid; gap:var(--space-2); }
.module-finance .finance-manual-summary { display:grid; gap:.25rem; padding:var(--space-3); border:1px solid var(--brand-200); border-radius:var(--radius-control); background:var(--brand-50); }
.module-finance .finance-manual-summary p { margin:0; }
@media (max-width:47.5rem) { .module-finance .finance-manual-charge dl { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.module-finance .finance-payment-context,.module-finance .finance-payment-unit-context,.module-finance .finance-payment-choice { display:grid; gap:var(--space-2); padding:var(--space-3); border:1px solid var(--brand-200); border-radius:var(--radius-control); background:var(--brand-50); }
.module-finance .finance-payment-context { grid-template-columns:repeat(2,minmax(0,1fr)); margin:var(--space-3) 0; }
.module-finance .finance-payment-context p,.module-finance .finance-payment-unit-context p,.module-finance .finance-payment-choice span { grid-column:1/-1; margin:0; color:var(--text-secondary); }
.module-finance .finance-payment-context div,.module-finance .finance-payment-unit-context div { display:grid; gap:.2rem; }
.module-finance .finance-payment-context b { color:var(--brand-700); font-size:1.15rem; }
.module-finance .finance-payment-context span,.module-finance .finance-payment-unit-context span { color:var(--text-secondary); font-size:.8rem; }
.module-finance .finance-payment-unit-context:empty { display:none; }
.module-finance .finance-payment-choice { margin-top:var(--space-3); background:var(--surface-muted); border-color:var(--border); }
.module-finance .finance-payment-choice div { display:flex; flex-wrap:wrap; gap:var(--space-2); }
@media (max-width:47.5rem) { .module-finance .finance-payment-context { grid-template-columns:minmax(0,1fr); } .module-finance .finance-payment-choice div,.module-finance .finance-payment-context button { display:grid; width:100%; } }

/* Finanzas · Consultar vivienda: traslado fiel del diseño aprobado de v0. */
.module-finance.ui-active { max-width:80rem; gap:1.25rem; padding:0; border:0; background:transparent; box-shadow:none; }
.module-finance .finance-heading { padding:0; }
.module-finance .finance-heading h2 { margin:.25rem 0 0; font-size:1.875rem; font-weight:700; letter-spacing:-.025em; }
.module-finance .finance-heading p:not(.eyebrow) { margin:.25rem 0 0; font-size:.875rem; }
.module-finance .finance-heading .eyebrow { color:#2563eb; font-size:.75rem; font-weight:700; letter-spacing:.14em; }
.module-finance #finance-app { gap:0; }
.module-finance .finance-nav { display:flex; flex-wrap:nowrap; align-items:center; gap:.25rem; overflow-x:auto; padding:.375rem; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .06); scrollbar-width:none; }
.module-finance .finance-nav::-webkit-scrollbar { display:none; }
.module-finance .finance-nav__item { min-height:2.5rem; flex:0 0 auto; gap:.5rem; margin:0; padding:.625rem 1rem; border:1px solid transparent; border-radius:.75rem; color:#475569; font-size:.875rem; font-weight:500; }
.module-finance .finance-nav__item:hover { background:#f8fafc; color:#0f172a; }
.module-finance .finance-nav__item.active { min-height:2.5rem; margin:0; border:1px solid #bfdbfe; border-radius:.75rem; background:#eff6ff; color:#1d4ed8; box-shadow:inset 0 0 0 1px rgb(191 219 254 / .35); font-weight:700; }
.module-finance .finance-nav__item .finance-nav__icon { width:1rem; height:1rem; color:#94a3b8; }
.module-finance .finance-nav__item.active .finance-nav__icon { color:#2563eb; }
.module-finance .finance-workspace[data-finance-current="home"] { width:100%; max-width:80rem; gap:1.5rem; padding-top:1.5rem!important; }
.module-finance .finance-workspace[data-finance-current="home"] [hidden] { display:none!important; }
.module-finance .finance-statement-icon { width:1rem; height:1rem; flex:0 0 auto; }
.module-finance .finance-statement-query { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; padding:1.25rem!important; border-radius:1rem!important; }
.module-finance .finance-statement-query .finance-section-heading { margin:0; }
.module-finance .finance-statement-query .finance-section-heading h3 { margin:.25rem 0 0; font-size:1.125rem; font-weight:700; }
.module-finance .finance-statement-query .eyebrow { color:#2563eb; font-size:.75rem; font-weight:700; letter-spacing:.14em; }
.module-finance .finance-statement-query .finance-query__controls { display:flex; align-items:flex-end; gap:.75rem; width:auto; max-width:none; }
.module-finance .finance-statement-query label { display:grid; min-width:14rem; gap:.375rem; color:#334155; font-size:.875rem; font-weight:600; }
.module-finance .finance-query__select { position:relative; }
.module-finance .finance-query__select select { width:14rem; min-height:2.75rem; appearance:none; padding:0 2.5rem 0 1rem; border-color:#e2e8f0; border-radius:.75rem; background:#fff; color:#0f172a; font-size:.875rem!important; font-weight:500; box-shadow:0 1px 2px rgb(15 23 42 / .05); }
.module-finance .finance-query__select .finance-statement-icon { position:absolute; top:50%; right:.75rem; translate:0 -50%; color:#94a3b8; pointer-events:none; }
.module-finance #finance-query { display:inline-flex; width:auto; min-height:2.75rem; align-items:center; justify-content:center; gap:.5rem; padding:0 1.5rem; border-radius:.75rem; background:#2563eb; font-size:1rem; font-weight:700; }
.module-finance .finance-query__owner-copy { margin:0; color:#64748b; font-size:.875rem; }
.module-finance #finance-statement { display:grid; gap:1.5rem; margin-top:0; }
.module-finance .finance-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.module-finance .finance-metric { display:grid; gap:0; min-height:8.875rem; padding:1.25rem; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .06); }
.module-finance .finance-metric--primary { border-color:#bfdbfe; background:rgb(239 246 255 / .3); }
.module-finance .finance-metric>div { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.module-finance .finance-metric strong { color:#64748b; font-size:.75rem; font-weight:700; letter-spacing:.12em; }
.module-finance .finance-metric b { margin-top:.75rem; color:#0f172a; font-size:1.875rem; font-weight:700; line-height:1.1; letter-spacing:-.025em; }
.module-finance .finance-metric--primary b { color:#1d4ed8; }
.module-finance .finance-metric--positive b { color:#059669; }
.module-finance .finance-metric small { margin-top:.25rem; color:#64748b; font-size:.75rem; }
.module-finance .finance-metric__icon { display:grid; width:2rem; height:2rem; place-items:center; border-radius:.5rem; background:#dbeafe; color:#2563eb; }
.module-finance .finance-metric__icon--neutral { background:#f1f5f9; color:#64748b; }
.module-finance .finance-metric__icon--positive { background:#ecfdf5; color:#059669; }
.module-finance .finance-credit-actions { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }
.module-finance .finance-credit-actions button { width:auto; min-height:2rem; padding:.3rem .55rem; font-size:.7rem; }
.module-finance .finance-payment-context { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; margin:0; padding:1.25rem; border:1px solid #bfdbfe; border-radius:1rem; background:rgb(239 246 255 / .55); }
.module-finance .finance-payment-context__icon { display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:.75rem; background:#dbeafe; color:#2563eb; }
.module-finance .finance-payment-context__icon .finance-statement-icon { width:1.25rem; height:1.25rem; }
.module-finance .finance-payment-context__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.module-finance .finance-payment-context__metrics>div { display:grid; gap:.15rem; }
.module-finance .finance-payment-context__metrics>div+div { padding-left:2rem; border-left:1px solid #bfdbfe; }
.module-finance .finance-payment-context strong { color:#334155; font-size:.875rem; }
.module-finance .finance-payment-context b { color:#1d4ed8; font-size:1.5rem; line-height:1.2; }
.module-finance .finance-payment-context small { color:#64748b; font-size:.75rem; }
.module-finance .finance-payment-context>button { display:inline-flex; width:auto; min-height:2.625rem; align-items:center; justify-content:center; gap:.5rem; padding:.625rem 1.25rem; border:1px solid #2563eb; border-radius:.75rem; background:#fff; color:#1d4ed8; font-size:.875rem; font-weight:700; }
.module-finance .finance-payment-context>p { grid-column:1/-1; margin:0; padding-top:1rem; border-top:1px solid #bfdbfe; color:#475569; font-size:.875rem; }
.module-finance .finance-section.finance-statement-charges { overflow:hidden; padding:0!important; border-radius:1rem!important; }
.module-finance .finance-statement-charges>header,.module-finance .finance-statement-ledger>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.module-finance .finance-statement-charges>header { padding:1rem 1.25rem; border-bottom:1px solid #f1f5f9; }
.module-finance .finance-statement-charges>header h3,.module-finance .finance-statement-ledger>header h3 { font-size:1rem; font-weight:700; }
.module-finance .finance-statement-charges>header>span { display:inline-flex; padding:.25rem .75rem; border-radius:999px; background:#f1f5f9; color:#475569; font-size:.75rem; font-weight:600; }
.module-finance .finance-statement-table-wrap { display:block; overflow-x:auto; }
.module-finance .finance-statement-charges table { width:100%; table-layout:auto; border-collapse:collapse; }
.module-finance .finance-statement-charges thead { background:rgb(248 250 252 / .8); }
.module-finance .finance-statement-charges th { padding:.75rem 1.25rem; color:#64748b; font-size:.6875rem; font-weight:700; letter-spacing:.06em; white-space:nowrap; }
.module-finance .finance-statement-charges th:nth-child(4),.module-finance .finance-statement-charges th:nth-child(5) { text-align:right; }
.module-finance .finance-statement-charges td { padding:1rem 1.25rem; border-bottom:1px solid #f1f5f9; color:#475569; font-size:.875rem; vertical-align:top; }
.module-finance .finance-statement-charges tbody tr:last-child td { border-bottom:0; }
.module-finance .finance-statement-charges tbody tr:hover { background:rgb(248 250 252 / .5); }
.module-finance .finance-statement-charges tbody tr.is-settled { background:rgb(248 250 252 / .45); }
.module-finance .finance-statement-charges td:nth-child(2),.module-finance .finance-statement-charges td:nth-child(3),.module-finance .finance-statement-charges td:nth-child(4),.module-finance .finance-statement-charges td:nth-child(5) { display:table-cell; }
.module-finance .finance-statement-charges td:nth-child(2)>strong { display:block; color:#0f172a; font-weight:600; }
.module-finance .finance-statement-charges td:nth-child(2)>small { display:block; margin-top:.125rem; color:#64748b; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.75rem; }
.module-finance .finance-statement-date { display:block; color:#475569; font-variant-numeric:tabular-nums; white-space:nowrap; }
.module-finance .finance-statement-charges td:nth-child(3) .finance-statement-badge { margin-top:.25rem; }
.module-finance .finance-statement-amount { text-align:right; }
.module-finance .finance-statement-amount>strong { display:block; color:#0f172a; font-weight:700; }
.module-finance .finance-statement-amount .finance-statement-badge { margin-top:.25rem; }
.module-finance .is-settled .finance-statement-amount>strong { color:#64748b; }
.module-finance .finance-statement-badge { display:inline-flex; width:fit-content; align-items:center; padding:.125rem .5rem; border:1px solid #e2e8f0; border-radius:999px; background:#f1f5f9; color:#475569; font-size:.75rem; font-weight:500; line-height:1.2; white-space:nowrap; }
.module-finance .finance-statement-badge--positive { border-color:#a7f3d0; background:#ecfdf5; color:#047857; }
.module-finance .finance-statement-badge--warning { border-color:#fde68a; background:#fffbeb; color:#b45309; }
.module-finance .finance-statement-badge--info { border-color:#bae6fd; background:#f0f9ff; color:#0369a1; }
.module-finance .finance-statement-badge--indigo { border-color:#c7d2fe; background:#eef2ff; color:#4338ca; }
.module-finance .finance-statement-actions { display:grid; justify-items:end; gap:.35rem; }
.module-finance .finance-statement-actions>div { display:flex; justify-content:flex-end; gap:.4rem; }
.module-finance .finance-payment-action { display:inline-flex; min-width:0; align-items:center; gap:.25rem; }
.module-finance .finance-payment-help { display:inline-flex; flex:none; }
.module-finance .finance-payment-help__trigger { display:grid; width:1.95rem; min-width:1.95rem; height:1.95rem; min-height:1.95rem; place-items:center; margin:0; padding:.35rem; border:1px solid #cbd5e1; border-radius:999px; background:#fff; color:#475569; box-shadow:none; }
.module-finance .finance-payment-help__trigger:hover,.module-finance .finance-payment-help__trigger[aria-expanded="true"] { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; }
.module-finance .finance-payment-help__trigger:focus-visible { outline:3px solid rgb(37 99 235 / .3); outline-offset:2px; }
.module-finance .finance-payment-help__trigger .finance-statement-icon { width:1rem; height:1rem; }
.module-finance .finance-payment-help__popover,body>.finance-payment-help__popover { position:fixed; z-index:120; width:min(19rem,calc(100vw - 1rem)); margin:0; border:1px solid #cbd5e1; border-radius:.6rem; padding:.65rem .75rem; background:#fff; box-shadow:0 .65rem 1.5rem rgb(15 23 42 / .16); color:#334155; font-size:.78rem; line-height:1.45; white-space:pre-line; overflow-wrap:anywhere; }
.module-finance .finance-statement-action { width:auto; min-height:1.95rem; padding:.375rem .7rem; border-radius:.5rem; box-shadow:none; font-size:.75rem; font-weight:700; white-space:nowrap; }
.module-finance .finance-statement-action--primary { border-color:#2563eb; background:#2563eb; color:#fff; }
.module-finance .finance-statement-action--secondary { border-color:#bfdbfe; background:#fff; color:#1d4ed8; }
.module-finance .finance-statement-action--quiet { border-color:transparent; background:transparent; color:#64748b; font-weight:500; }
.module-finance .finance-statement-action--cancel { border-color:#e2e8f0; background:#fff; color:#64748b; font-weight:500; }
.module-finance .finance-statement-action--cancel:hover:not(:disabled) { border-color:#fecdd3; background:#fff1f2; color:#e11d48; }
.module-finance .finance-statement-action:disabled { cursor:not-allowed; opacity:.4; }
.module-finance .finance-charge-cards { display:none; margin:0; padding:0; list-style:none; }
.module-finance .finance-statement-ledger { padding:1.25rem!important; border-radius:1rem!important; }
.module-finance .finance-statement-ledger>header>span { color:#64748b; font-size:.75rem; }
.module-finance .finance-payment-list { overflow:hidden; margin:1rem 0 0!important; padding:0!important; border:1px solid #e2e8f0; border-radius:.75rem; list-style:none; }
.module-finance .finance-payment-row { display:grid; grid-template-columns:7rem 8rem 7rem minmax(0,1fr) auto; align-items:center; gap:1rem; padding:.75rem 1rem!important; border-bottom:1px solid #f1f5f9!important; color:#475569; }
.module-finance .finance-payment-row:last-child { border-bottom:0!important; }
.module-finance .finance-payment-row time { color:#64748b; font-size:.875rem; }
.module-finance .finance-payment-row>strong { color:#0f172a; font-size:.875rem; }
.module-finance .finance-payment-row__detail { min-width:0; overflow-wrap:anywhere; font-size:.875rem; }
.module-finance .finance-pdf-action { min-height:2rem; gap:.375rem; padding:.375rem .625rem; border-color:#e2e8f0; border-radius:.5rem; background:#fff; color:#334155; font-size:.75rem; }
.module-finance .finance-pdf-action .finance-statement-icon { color:#f43f5e; }
.module-finance .finance-document-missing { justify-self:end; padding:.25rem .5rem; border-radius:.375rem; background:#f1f5f9; color:#64748b; font-size:.75rem; white-space:nowrap; }
.module-finance .finance-ledger-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #f1f5f9; }
.module-finance .finance-ledger-grid h4,.module-finance .finance-wallet-grid h4 { margin:0 0 .5rem; color:#64748b; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.module-finance .finance-ledger-grid>section>div { display:grid; gap:.5rem; }
.module-finance .finance-ledger-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.5rem; min-height:5.5rem; padding:1rem; border:1px solid #e2e8f0; border-radius:.75rem; background:rgb(248 250 252 / .65); }
.module-finance .finance-ledger-card>div { display:grid; gap:.125rem; }
.module-finance .finance-ledger-card time,.module-finance .finance-ledger-card small { color:#64748b; font-size:.75rem; }
.module-finance .finance-ledger-card strong,.module-finance .finance-ledger-card>b { color:#0f172a; font-size:.875rem; }
.module-finance .finance-ledger-card>.finance-statement-badge,.module-finance .finance-ledger-card>.finance-document-missing,.module-finance .finance-ledger-card>.finance-pdf-action { grid-column:1/-1; justify-self:start; }
.module-finance .finance-ledger-grid .finance-statement-empty { display:flex; min-height:5.5rem; align-items:center; justify-content:center; margin:0; padding:1rem; border:1px dashed #e2e8f0; border-radius:.75rem; color:#94a3b8; font-size:.875rem; text-align:center; }
.module-finance .finance-ledger-note { display:flex; align-items:center; gap:.5rem; margin:1.5rem 0 0; color:#64748b; font-size:.75rem; }
.module-finance .finance-ledger-note button { width:auto; min-height:0; padding:0; border:0; background:transparent; color:#2563eb; font-size:inherit; box-shadow:none; }
.module-finance .finance-statement-wallets { padding:1.25rem!important; border-radius:1rem!important; }
.module-finance .finance-statement-wallets>h3 { font-size:1rem; font-weight:700; }
.module-finance .finance-wallet-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.module-finance .finance-wallet-grid>section { min-width:0; padding:1rem; border:1px solid #e2e8f0; border-radius:.75rem; background:rgb(248 250 252 / .65); }
.module-finance .finance-wallet-grid ul { margin:.5rem 0 0; padding:0; list-style:none; }
.module-finance .finance-wallet-grid li { display:flex; justify-content:space-between; gap:1rem; padding:.35rem 0; border:0; color:#64748b; font-size:.75rem; }
.module-finance .finance-wallet-empty { margin:.5rem 0 0; color:#64748b; font-size:.875rem; }
.module-finance .finance-wallet-entry+.finance-wallet-entry { margin-top:.75rem; padding-top:.75rem; border-top:1px solid #e2e8f0; }
.module-finance .finance-wallet-entry>div { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.module-finance .finance-wallet-entry>b { display:block; margin-top:.5rem; color:#059669; font-size:1.5rem; }
.module-finance #finance-timeline-open { display:inline-flex; width:auto!important; min-height:2.625rem; align-items:center; gap:.5rem; margin-top:1.25rem; padding:.625rem 1rem; border:1px solid #e2e8f0!important; border-radius:.75rem; background:#fff!important; color:#334155!important; font-size:.875rem; font-weight:700; box-shadow:0 1px 2px rgb(15 23 42 / .05)!important; }
.module-finance .finance-timeline-chevron { display:grid; color:#94a3b8; transition:transform .15s ease; }
.module-finance #finance-timeline-open[aria-expanded="true"] .finance-timeline-chevron { transform:rotate(180deg); }
.module-finance .finance-timeline { margin-top:1.25rem; }
.module-finance .finance-timeline[aria-busy="true"] { min-height:4rem; opacity:.65; }
.module-finance .finance-timeline>ol { position:relative; display:grid; gap:0; margin:0; padding:0 0 0 1.5rem; border-left:1px solid #e2e8f0; list-style:none; }
.module-finance .finance-timeline-item { position:relative; padding:0 0 1rem!important; border:0!important; }
.module-finance .finance-timeline-dot { position:absolute; top:.9rem; left:-1.84rem; width:.75rem; height:.75rem; border:2px solid #fff; border-radius:50%; background:#94a3b8; box-shadow:0 0 0 1px #cbd5e1; }
.module-finance .finance-timeline-item--charge .finance-timeline-dot { background:#fbbf24; box-shadow:0 0 0 1px #fde68a; }
.module-finance .finance-timeline-item--payment .finance-timeline-dot,.module-finance .finance-timeline-item--wallet .finance-timeline-dot { background:#10b981; box-shadow:0 0 0 1px #a7f3d0; }
.module-finance .finance-timeline-item--application .finance-timeline-dot { background:#6366f1; box-shadow:0 0 0 1px #c7d2fe; }
.module-finance .finance-timeline-item--adjustment .finance-timeline-dot { background:#f43f5e; box-shadow:0 0 0 1px #fecdd3; }
.module-finance .finance-timeline-item>article { display:grid; grid-template-columns:7rem 9rem 7rem minmax(0,1fr) auto; align-items:center; gap:1rem; padding:.75rem; border:1px solid #e2e8f0; border-radius:.75rem; background:#fff; }
.module-finance .finance-timeline-type { display:inline-flex; justify-content:center; padding:.125rem .5rem; border:1px solid #cbd5e1; border-radius:.375rem; background:#f8fafc; color:#475569; font-size:.6875rem; font-weight:800; letter-spacing:.08em; }
.module-finance .finance-timeline-item--charge .finance-timeline-type { border-color:#fde68a; background:#fffbeb; color:#b45309; }
.module-finance .finance-timeline-item--payment .finance-timeline-type,.module-finance .finance-timeline-item--wallet .finance-timeline-type { border-color:#a7f3d0; background:#ecfdf5; color:#047857; }
.module-finance .finance-timeline-item--application .finance-timeline-type { border-color:#c7d2fe; background:#eef2ff; color:#4338ca; }
.module-finance .finance-timeline-item time { color:#64748b; font-size:.875rem; white-space:nowrap; }
.module-finance .finance-timeline-item b { color:#0f172a; font-size:.875rem; text-align:right; white-space:nowrap; }
.module-finance .finance-timeline-item p { min-width:0; margin:0; color:#475569; font-size:.875rem; overflow-wrap:anywhere; }
.module-finance .finance-timeline-item p strong { color:#1e293b; font-weight:600; }
.module-finance .finance-timeline-pagination { display:flex; justify-content:flex-end; gap:.5rem; }
.module-finance .finance-timeline-pagination button,.module-finance #finance-timeline-retry { width:auto; min-height:2.25rem; padding:.4rem .75rem; border-color:#e2e8f0; background:#fff; color:#1d4ed8; }
.module-finance .finance-timeline-error { color:#be123c; }
.module-finance .finance-statement-empty { color:#94a3b8!important; text-align:center; }

@media (max-width:63.99rem) {
 .module-finance .finance-statement-table-wrap { display:none; }
 .module-finance .finance-charge-cards { display:block; }
 .module-finance .finance-charge-card { display:grid; gap:.75rem; padding:1.25rem!important; border-bottom:1px solid #f1f5f9!important; }
 .module-finance .finance-charge-card:last-child { border-bottom:0!important; }
 .module-finance .finance-charge-card.is-settled { background:rgb(248 250 252 / .45); }
 .module-finance .finance-charge-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
 .module-finance .finance-charge-card__head>div:first-child { display:grid; gap:.125rem; min-width:0; }
 .module-finance .finance-charge-card__head>div:first-child strong { color:#0f172a; font-size:.875rem; }
 .module-finance .finance-charge-card__head>div:first-child small { color:#64748b; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.75rem; overflow-wrap:anywhere; }
 .module-finance .finance-charge-card__head>div:last-child { display:grid; justify-items:end; gap:.25rem; }
 .module-finance .finance-charge-card__head b { color:#0f172a; font-size:.875rem; }
 .module-finance .finance-charge-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:0; }
 .module-finance .finance-charge-card dl>div { display:grid; gap:.125rem; }
 .module-finance .finance-charge-card dt { color:#64748b; font-size:.75rem; }
 .module-finance .finance-charge-card dd { display:flex; flex-wrap:wrap; align-items:center; gap:.375rem; margin:0; color:#334155; font-size:.75rem; }
 .module-finance .finance-charge-card .finance-statement-actions { justify-items:start; }
 .module-finance .finance-charge-card .finance-statement-actions>div { flex-wrap:wrap; justify-content:flex-start; }
 .module-finance .finance-charge-card .finance-payment-action { flex:1 1 auto; }
 .module-finance .finance-ledger-grid { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-timeline-item>article { grid-template-columns:6.5rem 8.5rem 6.5rem minmax(0,1fr) auto; gap:.65rem; }
}

@media (max-width:47.5rem) {
 .module-finance.ui-active { gap:1rem; }
 .module-finance .finance-heading { padding-inline:.25rem; }
 .module-finance .finance-heading h2 { font-size:1.75rem; }
 .module-finance .finance-nav { border-radius:.875rem; }
 .module-finance .finance-nav__item { padding-inline:.75rem; }
 .module-finance .finance-workspace[data-finance-current="home"] { gap:1rem; padding-top:1rem!important; }
 .module-finance .finance-statement-query { align-items:stretch; flex-direction:column; padding:1rem!important; }
 .module-finance .finance-statement-query .finance-query__controls { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
 .module-finance .finance-statement-query label,.module-finance .finance-query__select select { width:100%; min-width:0; }
 .module-finance #finance-query { width:100%; }
 .module-finance .finance-summary { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-metric { min-height:0; padding:1rem; }
 .module-finance .finance-metric b { font-size:1.75rem; }
 .module-finance .finance-payment-context { grid-template-columns:minmax(0,1fr); padding:1rem; }
 .module-finance .finance-payment-context__icon { display:none; }
 .module-finance .finance-payment-context__metrics { grid-template-columns:minmax(0,1fr); gap:1rem; }
 .module-finance .finance-payment-context__metrics>div+div { padding:1rem 0 0; border-top:1px solid #bfdbfe; border-left:0; }
 .module-finance .finance-payment-context>button { width:100%; }
 .module-finance .finance-statement-charges>header,.module-finance .finance-statement-ledger>header { align-items:flex-start; flex-direction:column; }
 .module-finance .finance-statement-charges>header { padding:1rem; }
 .module-finance .finance-charge-card { padding:1rem!important; }
 .module-finance .finance-charge-card__head { gap:.5rem; }
 .module-finance .finance-charge-card .finance-statement-actions,.module-finance .finance-charge-card .finance-statement-actions>div { width:100%; }
 .module-finance .finance-charge-card .finance-payment-action .finance-statement-action { flex:1 1 auto; min-height:2.25rem; white-space:normal; }
 .module-finance .finance-charge-card .finance-statement-action { min-height:2.25rem; white-space:normal; }
 .module-finance .finance-statement-ledger,.module-finance .finance-statement-wallets { padding:1rem!important; }
 .module-finance .finance-payment-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.5rem; padding:.75rem!important; }
 .module-finance .finance-payment-row time,.module-finance .finance-payment-row__detail { grid-column:1/-1; }
 .module-finance .finance-payment-row>span:nth-child(3) { justify-self:end; }
 .module-finance .finance-payment-row .finance-pdf-action,.module-finance .finance-payment-row .finance-document-missing { grid-column:1/-1; justify-self:start; }
 .module-finance .finance-wallet-grid { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-ledger-note { align-items:flex-start; flex-wrap:wrap; }
 .module-finance #finance-timeline-open { width:100%!important; justify-content:flex-start; }
 .module-finance .finance-timeline-chevron { margin-left:auto; }
 .module-finance .finance-timeline>ol { padding-left:1rem; }
 .module-finance .finance-timeline-dot { left:-1.34rem; }
 .module-finance .finance-timeline-item>article { grid-template-columns:minmax(0,1fr) auto; gap:.5rem; }
 .module-finance .finance-timeline-type { justify-self:start; }
 .module-finance .finance-timeline-item time { justify-self:end; font-size:.75rem; }
 .module-finance .finance-timeline-item b { grid-column:1; grid-row:2; justify-self:start; text-align:left; }
 .module-finance .finance-timeline-item p { grid-column:1/-1; }
 .module-finance .finance-timeline-item .finance-statement-badge { grid-column:2; grid-row:2; justify-self:end; }
}

@media (max-width:23.5rem) {
 .module-finance .finance-charge-card dl { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-charge-card__head { align-items:stretch; flex-direction:column; }
 .module-finance .finance-charge-card__head>div:last-child { justify-items:start; }
 .module-finance .finance-charge-card .finance-payment-action { flex:1 1 100%; }
 .module-finance .finance-charge-card .finance-statement-action { flex:1 1 100%; }
 .module-finance .finance-payment-context b { font-size:1.35rem; }
}

/* Aplicar pago · modales v0: panel con scroll propio y hoja móvil. */
.finance-pay-dialog{width:min(64rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:1rem;background:transparent;color:#0f172a}.finance-pay-dialog::backdrop{background:rgb(15 23 42/.5);backdrop-filter:blur(2px)}.finance-pay-dialog .finance-pay-modal{display:flex;max-height:calc(100dvh - 2rem);flex-direction:column;overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 25px 50px rgb(15 23 42/.25)}.finance-pay-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.finance-pay-modal>header p{margin:0;color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.finance-pay-modal h3{margin:.25rem 0 0;font-size:1.125rem}.finance-pay-modal>header button,.finance-pay-modal footer button,.finance-pay-manual>main>section>header button{width:auto;min-height:2.25rem;margin:0;border:1px solid #cbd5e1;border-radius:.5rem;padding:.4rem .75rem;background:#fff;color:#334155;font-size:.8rem;font-weight:600}.finance-pay-modal__payment{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.7rem 1.5rem;border-bottom:1px solid #dbeafe;background:#eff6ff;color:#475569;font-size:.85rem}.finance-pay-modal__payment i{width:1px;height:1rem;background:#bfdbfe}.finance-pay-modal__payment code{color:#0f172a;font-weight:700}.finance-pay-modal__payment b{color:#047857}.finance-pay-manual{display:flex;min-height:0;flex:1;flex-direction:column}.finance-pay-manual>main{display:grid;min-height:0;flex:1;grid-template-columns:minmax(0,1fr) 20rem;overflow:hidden}.finance-pay-manual>main>section{min-height:0;overflow:auto;padding:1.25rem}.finance-pay-manual>main>section>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.finance-pay-manual h4{margin:0;font-size:.875rem}.finance-pay-manual h4 span{color:#64748b;font-weight:400}.finance-pay-manual-list{display:grid;gap:.75rem}.finance-pay-manual-row{display:grid;grid-template-columns:minmax(0,1fr) 13.75rem;gap:1rem;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem}.finance-pay-manual-row strong{font-size:.875rem}.finance-pay-manual-row code{margin-left:.4rem;border-radius:.25rem;padding:.15rem .3rem;background:#f1f5f9;color:#475569;font-size:.68rem}.finance-pay-manual-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.75rem 0 0}.finance-pay-manual-row dt{color:#94a3b8;font-size:.68rem}.finance-pay-manual-row dd{margin:.15rem 0 0;color:#334155;font-size:.72rem}.finance-pay-manual-row>label{display:grid;gap:.45rem;border-radius:.55rem;padding:.7rem;background:#f8fafc;color:#64748b;font-size:.72rem}.finance-pay-manual-row>label>b{color:#0f172a}.finance-pay-manual-row>label span{position:relative;display:flex;gap:.35rem;align-items:center}.finance-pay-manual-row>label i{position:absolute;left:.55rem;color:#94a3b8;font-style:normal}.finance-pay-manual-row input{width:100%;min-width:0;height:2.35rem;border:1px solid #cbd5e1;border-radius:.45rem;padding:0 .5rem 0 1.2rem;text-align:right}.finance-pay-manual-row span button{flex:none}.finance-pay-manual-row small{min-height:1em;color:#e11d48}.finance-pay-manual-row.is-invalid{border-color:#fda4af}.finance-pay-manual aside{overflow:auto;border-left:1px solid #e2e8f0;padding:1.25rem;background:#f8fafc}.finance-pay-manual aside>dl{display:grid;gap:.7rem;margin:.75rem 0;border:1px solid #e2e8f0;border-radius:.7rem;padding:1rem;background:#fff}.finance-pay-manual aside dl>div{display:flex;justify-content:space-between;gap:.5rem}.finance-pay-manual aside dt,.finance-pay-manual aside p{color:#64748b;font-size:.78rem}.finance-pay-manual aside dd{margin:0;font-weight:600}.finance-pay-progress{display:block!important;height:.35rem;background:#e2e8f0}.finance-pay-progress i{display:block;width:0;height:100%;background:#2563eb}.finance-pay-modal-error{border:1px solid #fecaca;border-radius:.5rem;padding:.6rem;background:#fff1f2;color:#be123c}.finance-pay-manual aside>label{display:grid;gap:.45rem;margin-top:1rem;color:#334155;font-size:.82rem;font-weight:600}.finance-pay-manual textarea{width:100%;resize:none;border:1px solid #cbd5e1;border-radius:.5rem;padding:.6rem}.finance-pay-modal-note{line-height:1.5}.finance-pay-manual>footer,.finance-pay-wallet form>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;border-top:1px solid #e2e8f0}.finance-pay-manual>footer p{margin:0;color:#64748b;font-size:.75rem}.finance-pay-manual>footer div,.finance-pay-wallet form>footer{display:flex;gap:.5rem}.finance-pay-manual [data-pay-confirm],.finance-pay-wallet [type=submit]{border-color:#2563eb;background:#2563eb;color:#fff}.finance-pay-wallet{width:min(32rem,100%)}.finance-pay-wallet>header>div{display:flex;gap:.75rem}.finance-pay-wallet>header span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.65rem;background:#ecfdf5;color:#059669}.finance-pay-wallet>header p{max-width:23rem;margin-top:.2rem;text-transform:none;letter-spacing:0;font-weight:400;font-size:.82rem}.finance-pay-wallet form>main{overflow:auto;padding:1.25rem}.finance-pay-wallet-context{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:0}.finance-pay-wallet-context div{border:1px solid #e2e8f0;border-radius:.65rem;padding:.75rem;background:#f8fafc}.finance-pay-wallet-context div:last-child{grid-column:1/-1;background:#fff}.finance-pay-wallet-context dt,.finance-pay-wallet form label{color:#64748b;font-size:.75rem}.finance-pay-wallet-context dd{margin:.2rem 0 0;font-weight:700}.finance-pay-wallet form>main>label{display:grid;gap:.4rem;margin-top:1rem;font-weight:600}.finance-pay-wallet-money{position:relative}.finance-pay-wallet-money i,.finance-pay-wallet-money b{position:absolute;top:50%;transform:translateY(-50%);color:#94a3b8;font-style:normal}.finance-pay-wallet-money i{left:.7rem}.finance-pay-wallet-money b{right:.7rem;font-size:.72rem}.finance-pay-wallet input,.finance-pay-wallet select{width:100%;height:2.45rem;border:1px solid #cbd5e1;border-radius:.5rem;padding:0 .65rem;background:#fff}.finance-pay-wallet-money input{padding:0 3rem 0 1.6rem}.finance-pay-wallet-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.finance-pay-wallet-fields label{display:grid;gap:.4rem}.finance-pay-wallet form section{margin-top:1rem;border:1px solid #e2e8f0;border-radius:.65rem;padding:1rem;background:#f8fafc}.finance-pay-wallet form section>p{margin:0;color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.finance-pay-wallet form section dl{display:grid;gap:.45rem;margin:.6rem 0 0}.finance-pay-wallet form section dl div{display:flex;justify-content:space-between;gap:.5rem;color:#64748b;font-size:.82rem}.finance-pay-wallet form section dd{margin:0;color:#047857;font-weight:700}
@media(max-width:47.99rem){.finance-pay-dialog{width:100vw;max-height:100dvh;margin:0;border-radius:1rem 1rem 0 0;vertical-align:bottom}.finance-pay-dialog .finance-pay-modal{max-height:100dvh;border-radius:1rem 1rem 0 0}.finance-pay-modal>header,.finance-pay-manual>footer,.finance-pay-wallet form>main,.finance-pay-wallet form>footer{padding:1rem}.finance-pay-manual>main{display:block;overflow:auto}.finance-pay-manual>main>section{overflow:visible;padding:1rem}.finance-pay-manual aside{overflow:visible;border-top:1px solid #e2e8f0;border-left:0;padding:1rem}.finance-pay-manual-row{grid-template-columns:minmax(0,1fr)}.finance-pay-manual-row dl{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-pay-manual>footer,.finance-pay-wallet form>footer{align-items:stretch;flex-direction:column}.finance-pay-manual>footer div,.finance-pay-wallet form>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-pay-manual>footer button,.finance-pay-wallet form>footer button{width:100%}.finance-pay-wallet-fields{grid-template-columns:minmax(0,1fr)}}

/* Finanzas · Morosos: traslado fiel de la composición v0, aislado de las demás vistas. */
@layer legacy {
 .module-finance .finance-overdue-shell>#finance-overdue-filters { display:block!important; margin:1.25rem 0 0!important; padding:0!important; }
}
.module-finance .finance-workspace[data-finance-current="overdue"] { width:100%; max-width:80rem; gap:1.5rem; padding-top:1.5rem!important; }
.module-finance .finance-overdue-shell { padding:1.5rem; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .04); }
.module-finance .finance-overdue-shell>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:0; }
.module-finance .finance-overdue-shell .eyebrow { margin:0 0 .35rem; color:#2563eb; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.module-finance .finance-overdue-shell h3 { margin:0; color:#0f172a; font-size:1.25rem; font-weight:750; letter-spacing:-.02em; }
.module-finance .finance-overdue-shell header p:last-child { margin:.3rem 0 0; color:#64748b; font-size:.875rem; }
.module-finance .finance-overdue-shell>header>span { display:inline-flex; flex:none; align-items:center; gap:.4rem; padding:.35rem .6rem; border:1px solid #bae6fd; border-radius:.375rem; background:#f0f9ff; color:#0369a1; font-size:.75rem; font-weight:650; white-space:nowrap; }
.module-finance .finance-overdue-icon { width:1em; height:1em; flex:none; }
.module-finance .finance-overdue-filter-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.module-finance .finance-overdue-filter-grid>label { display:grid; gap:.375rem; min-width:0; color:#334155; font-size:.875rem; font-weight:500; }
.module-finance .finance-overdue-filter-grid input,.module-finance .finance-overdue-filter-grid select,.module-finance .finance-overdue-sort select { width:100%; min-width:0; height:2.75rem; margin:0; padding:.5rem .75rem; border:1px solid #cbd5e1; border-radius:.75rem; background:#fff; color:#1e293b; font:inherit; font-size:.875rem; font-weight:400; box-shadow:none; }
.module-finance .finance-overdue-filter-grid input:focus,.module-finance .finance-overdue-filter-grid select:focus,.module-finance .finance-overdue-sort select:focus { outline:2px solid #93c5fd; outline-offset:1px; border-color:#2563eb; }
.module-finance .finance-overdue-input-icon,.module-finance .finance-overdue-money { position:relative; display:block; }
.module-finance .finance-overdue-input-icon .finance-overdue-icon { position:absolute; top:.75rem; left:.75rem; width:1rem; height:1rem; color:#94a3b8; pointer-events:none; }
.module-finance .finance-overdue-input-icon input { padding-left:2.35rem; }
.module-finance .finance-overdue-money i { position:absolute; z-index:1; top:.68rem; left:.75rem; color:#64748b; font-size:.875rem; font-style:normal; font-weight:600; pointer-events:none; }
.module-finance .finance-overdue-money input { padding-left:1.65rem; }
.module-finance .finance-overdue-filter-actions { display:flex; align-items:stretch; flex-direction:column; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #f1f5f9; }
.module-finance .finance-overdue-credit { display:flex; align-items:flex-start; gap:.75rem; min-height:2.75rem; color:#334155; cursor:pointer; }
.module-finance .finance-overdue-credit input { width:1rem; height:1rem; flex:none; margin:.15rem 0 0; accent-color:#2563eb; }
.module-finance .finance-overdue-credit span { display:grid; gap:.1rem; }
.module-finance .finance-overdue-credit b { font-size:.875rem; }
.module-finance .finance-overdue-credit small { color:#64748b; font-size:.75rem; }
.module-finance .finance-overdue-filter-actions>div { display:flex; align-items:stretch; flex-direction:column; gap:.75rem; }
.module-finance .finance-overdue-sort { display:flex; min-width:0; align-items:center; gap:.5rem; color:#475569; font-size:.875rem; font-weight:500; white-space:nowrap; }
.module-finance .finance-overdue-sort select { flex:1 1 auto; }
.module-finance .finance-overdue-filter-actions button,.module-finance .finance-overdue-more { display:inline-flex; width:auto; min-height:2.75rem; align-items:center; justify-content:center; gap:.5rem; margin:0; padding:.55rem 1.5rem; border:1px solid #1d4ed8; border-radius:.75rem; background:#2563eb; color:#fff; font-size:.875rem; font-weight:700; box-shadow:0 1px 2px rgb(15 23 42 / .08); }
.module-finance .finance-overdue-results { display:grid; gap:1.5rem; }
.module-finance .finance-overdue-loading { margin:0; padding:2rem; border:1px dashed #cbd5e1; border-radius:1rem; color:#64748b; text-align:center; }
.module-finance .finance-overdue-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.module-finance .finance-overdue-summary article { min-height:8.5rem; padding:1.25rem; border:1px solid #e2e8f0; border-radius:.875rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .03); }
.module-finance .finance-overdue-summary article>div { display:flex; align-items:center; justify-content:space-between; gap:.5rem; color:#64748b; font-size:.8125rem; }
.module-finance .finance-overdue-summary article>div span { display:grid; place-items:center; width:2rem; height:2rem; border-radius:.5rem; background:#f1f5f9; color:#475569; }
.module-finance .finance-overdue-summary b { display:block; margin-top:.75rem; color:#0f172a; font-size:1.7rem; font-weight:750; letter-spacing:-.04em; line-height:1.1; }
.module-finance .finance-overdue-summary small { display:flex; align-items:center; gap:.3rem; margin-top:.45rem; color:#64748b; font-size:.75rem; }
.module-finance .finance-overdue-summary__primary { border-color:#bfdbfe!important; background:#eff6ff!important; }
.module-finance .finance-overdue-summary__primary>div { color:#1d4ed8!important; }
.module-finance .finance-overdue-summary__primary>div span { background:#dbeafe!important; color:#2563eb!important; }
.module-finance .finance-overdue-summary__primary b { color:#1d4ed8!important; }
.module-finance .finance-overdue-list { display:grid; gap:.75rem; }
.module-finance .finance-overdue-list>header { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:0 .25rem; }
.module-finance .finance-overdue-list>header h3 { margin:0; color:#0f172a; font-size:1.125rem; font-weight:750; letter-spacing:-.02em; }
.module-finance .finance-overdue-list>header p { margin:.25rem 0 0; color:#64748b; font-size:.8125rem; }
.module-finance .finance-overdue-unit { overflow:hidden; border:1px solid #e2e8f0; border-radius:.875rem; background:#fff; box-shadow:0 1px 2px rgb(15 23 42 / .03); }
.module-finance .finance-overdue-unit.is-open { border-color:#bfdbfe; }
.module-finance .finance-overdue-unit__summary { display:grid; grid-template-columns:minmax(13rem,1.1fr) minmax(25rem,1.6fr) auto; align-items:center; gap:1.25rem; padding:1.25rem; }
.module-finance .finance-overdue-identity { display:flex; align-items:center; gap:.85rem; min-width:0; }
.module-finance .finance-overdue-unit-code { display:grid; width:3rem; height:3rem; flex:none; place-items:center; border:1px solid #cbd5e1; border-radius:.625rem; background:#f8fafc; color:#334155; font-size:1rem; font-weight:750; }
.module-finance .finance-overdue-unit-code--active { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; }
.module-finance .finance-overdue-identity h4 { margin:0; color:#0f172a; font-size:.9375rem; font-weight:750; overflow-wrap:anywhere; }
.module-finance .finance-overdue-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.4rem; color:#64748b; font-size:.75rem; }
.module-finance .finance-overdue-tags>span:not(.finance-overdue-delay) { padding:.2rem .45rem; border-radius:.3rem; background:#f8fafc; }
.module-finance .finance-overdue-delay { display:inline-flex; align-items:center; gap:.3rem; padding:.2rem .45rem; border:1px solid #fde68a; border-radius:.3rem; background:#fffbeb; color:#a16207; font-size:.75rem; font-weight:700; white-space:nowrap; }
.module-finance .finance-overdue-delay i { width:.375rem; height:.375rem; border-radius:50%; background:currentColor; }
.module-finance .finance-overdue-delay--critical { border-color:#fecaca; background:#fff1f2; color:#be123c; }
.module-finance .finance-overdue-delay--neutral { border-color:#cbd5e1; background:#f8fafc; color:#475569; }
.module-finance .finance-overdue-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0; }
.module-finance .finance-overdue-amounts div { min-width:0; }
.module-finance .finance-overdue-amounts dt { color:#64748b; font-size:.6875rem; font-weight:650; letter-spacing:.04em; text-transform:uppercase; }
.module-finance .finance-overdue-amounts dd { margin:.3rem 0 0; color:#0f172a; font-size:1rem; font-weight:750; white-space:nowrap; }
.module-finance .finance-overdue-amounts div:first-child dd { color:#dc2626; }
.module-finance .finance-overdue-amounts div:last-child dd { color:#059669; }
.module-finance .finance-overdue-actions { display:grid; justify-items:stretch; gap:.5rem; min-width:10.75rem; }
.module-finance .finance-overdue-actions button { width:100%; min-height:2.25rem; margin:0; padding:.4rem .65rem; border:1px solid #bfdbfe; border-radius:.5rem; background:#eff6ff; color:#1d4ed8; font-size:.75rem; font-weight:700; white-space:nowrap; }
.module-finance .finance-overdue-actions button+button { display:flex; align-items:center; justify-content:center; gap:.3rem; border-color:#e2e8f0; background:#fff; color:#334155; }
.module-finance .finance-overdue-actions button+button .finance-overdue-icon { transition:transform .15s ease; }
.module-finance .finance-overdue-unit.is-open .finance-overdue-actions button+button .finance-overdue-icon { transform:rotate(180deg); }
.module-finance .finance-overdue-detail { padding:0 1.25rem 1.25rem; border-top:1px solid #e0f2fe; background:#f8fcff; }
.module-finance .finance-overdue-detail>div { padding-top:1rem; }
.module-finance .finance-overdue-detail>div>p { margin:0 0 .75rem; color:#475569; font-size:.8125rem; font-weight:750; }
.module-finance .finance-overdue-table-wrap { overflow:auto; border:1px solid #e2e8f0; border-radius:.625rem; background:#fff; }
.module-finance .finance-overdue-table-wrap table { width:100%; min-width:49rem; border-collapse:collapse; }
.module-finance .finance-overdue-table-wrap th { padding:.65rem .75rem; border-bottom:1px solid #e2e8f0; background:#f8fafc; color:#64748b; font-size:.6875rem; font-weight:750; letter-spacing:.05em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.module-finance .finance-overdue-table-wrap td { padding:.75rem; border-bottom:1px solid #f1f5f9; color:#334155; font-size:.75rem; vertical-align:middle; white-space:nowrap; }
.module-finance .finance-overdue-table-wrap tbody tr:last-child td { border-bottom:0; }
.module-finance .finance-overdue-table-wrap td:first-child { min-width:11rem; white-space:normal; }
.module-finance .finance-overdue-table-wrap td strong,.module-finance .finance-overdue-table-wrap td b { color:#0f172a; font-weight:750; }
.module-finance .finance-overdue-table-wrap td small { display:block; margin-top:.15rem; color:#64748b; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.6875rem; overflow-wrap:anywhere; }
.module-finance .finance-overdue-detail footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.75rem; padding:.875rem 1rem; border:1px solid #bfdbfe; border-radius:.625rem; background:#eff6ff; color:#1e3a8a; font-size:.8125rem; font-weight:700; }
.module-finance .finance-overdue-detail footer b { color:#1d4ed8; font-size:1rem; }
.module-finance .finance-overdue-charge-cards { display:none; margin:0; padding:0; list-style:none; }
.module-finance .finance-overdue-charge-cards li { margin:0; padding:1rem; border:1px solid #e2e8f0; border-radius:.625rem; background:#fff; }
.module-finance .finance-overdue-charge-cards li+li { margin-top:.75rem; }
.module-finance .finance-overdue-charge-cards header { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.module-finance .finance-overdue-charge-cards header>div { display:grid; gap:.15rem; min-width:0; }
.module-finance .finance-overdue-charge-cards strong { color:#0f172a; font-size:.875rem; }
.module-finance .finance-overdue-charge-cards header small { color:#64748b; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.75rem; overflow-wrap:anywhere; }
.module-finance .finance-overdue-charge-cards dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1rem; margin:1rem 0 0; padding-top:.875rem; border-top:1px solid #f1f5f9; }
.module-finance .finance-overdue-charge-cards dt { color:#64748b; font-size:.6875rem; }
.module-finance .finance-overdue-charge-cards dd { margin:.15rem 0 0; color:#334155; font-size:.8125rem; }
.module-finance .finance-overdue-charge-cards dd b { color:#dc2626; }
.module-finance .finance-overdue-empty { margin:0; padding:2rem; border:1px dashed #cbd5e1; border-radius:.875rem; color:#64748b; text-align:center; }
.module-finance .finance-overdue-empty h4 { margin:0; color:#334155; font-size:1rem; }
.module-finance .finance-overdue-empty p { margin:.4rem 0 0; font-size:.875rem; }
.module-finance .finance-overdue-error { border-color:#fecaca; background:#fff7f7; color:#b91c1c; }
.module-finance .finance-overdue-error button { width:auto; margin-top:1rem; }
.module-finance .finance-overdue-more { justify-self:center; margin-top:.25rem; }

@media (max-width:63.99rem) {
 .module-finance .finance-overdue-unit__summary { grid-template-columns:minmax(0,1fr) auto; }
 .module-finance .finance-overdue-amounts { grid-column:1/-1; grid-row:2; padding-top:1rem; border-top:1px solid #f1f5f9; }
 .module-finance .finance-overdue-actions { grid-column:2; grid-row:1; }
}

@media (min-width:40rem) {
 .module-finance .finance-overdue-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .module-finance .finance-overdue-filter-actions { align-items:center; flex-direction:row; justify-content:space-between; }
 .module-finance .finance-overdue-filter-actions>div { align-items:center; flex-direction:row; }
 .module-finance .finance-overdue-sort select { flex:0 1 11rem; width:11rem; }
}

@media (min-width:64rem) {
 .module-finance .finance-overdue-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:47.99rem) {
 .module-finance .finance-workspace[data-finance-current="overdue"] { gap:1rem; padding-top:1rem!important; }
 .module-finance .finance-overdue-shell { padding:1rem; border-radius:.875rem; }
 .module-finance .finance-overdue-shell>header { align-items:flex-start; flex-direction:column; gap:.75rem; margin:0; }
 .module-finance .finance-overdue-shell>header>span { white-space:normal; }
 .module-finance .finance-overdue-filter-grid { gap:1rem; }
 .module-finance .finance-overdue-filter-actions { gap:1rem; }
 .module-finance .finance-overdue-filter-actions button { width:100%; }
 .module-finance .finance-overdue-summary { grid-template-columns:minmax(0,1fr); gap:.75rem; }
 .module-finance .finance-overdue-summary article { min-height:0; padding:1rem; }
 .module-finance .finance-overdue-summary b { font-size:1.5rem; }
 .module-finance .finance-overdue-list>header { align-items:flex-start; flex-direction:column; padding:0; }
 .module-finance .finance-overdue-unit__summary { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; padding:1rem; }
 .module-finance .finance-overdue-amounts { grid-column:auto; grid-row:auto; gap:.75rem; padding-top:.875rem; }
 .module-finance .finance-overdue-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-column:auto; grid-row:auto; width:100%; }
 .module-finance .finance-overdue-actions button { white-space:normal; }
 .module-finance .finance-overdue-detail { padding:0 1rem 1rem; }
 .module-finance .finance-overdue-table-wrap { display:none; }
 .module-finance .finance-overdue-charge-cards { display:block; }
}

@media (max-width:23.5rem) {
 .module-finance .finance-overdue-amounts { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-overdue-actions { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-overdue-charge-cards dl { grid-template-columns:minmax(0,1fr); }
}

/* Neutraliza la cuadrícula genérica de .finance-dialog form en los dos modales v0. */
.finance-pay-dialog #finance-manual-v0,.finance-pay-dialog .finance-pay-wallet form{display:flex!important;grid-template-columns:none!important;align-items:stretch;gap:0!important;flex-direction:column}.finance-pay-dialog #finance-manual-v0>main{display:grid!important;grid-template-columns:minmax(0,1fr) 20rem!important;gap:0!important}.finance-pay-dialog #finance-manual-v0>main>section{margin:0;border:0;border-radius:0;background:#fff;box-shadow:none}
@media(max-width:47.99rem){.finance-pay-dialog #finance-manual-v0>main{display:block!important}.finance-pay-dialog #finance-manual-v0>main>section{padding:1rem}}
@layer legacy {.finance-pay-dialog #finance-manual-v0{display:flex!important;grid-template-columns:none!important;align-items:stretch;gap:0!important;flex-flow:column nowrap}}

/* Finanzas · Aplicar pago: estructura aprobada v0, delimitada al flujo real. */
/* El shell añade .ui-form a todo formulario. Neutraliza esa cuadrícula sólo en Aplicar pago. */
.module-finance .finance-workspace[data-finance-current="payment"]>.finance-pay-operation,
.module-finance .finance-workspace[data-finance-current="payment"]>.finance-pay-workspace {
  margin: 0;
  padding: 0!important;
}
.module-finance .finance-workspace[data-finance-current="payment"]>#finance-payment-document-result {
  margin: 0;
  padding: 0!important;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.module-finance #finance-payment-form.ui-form {
  display: grid!important;
  grid-template-columns: minmax(0,1fr)!important;
  gap: 1.5rem!important;
  align-items: stretch!important;
}
.module-finance #finance-payment-form .finance-pay-fields>label { display:block; color:#334155; font-size:.875rem; font-weight:600; }
.module-finance #finance-payment-form .finance-pay-fields>label>input,
.module-finance #finance-payment-form .finance-pay-fields>label>select,
.module-finance #finance-payment-form .finance-pay-fields>label>.finance-pay-money { display:block; margin-top:.4rem; }
.module-finance #finance-payment-form .finance-pay-fields>label>small:last-child { display:block; margin-top:.4rem; }
.module-finance #finance-payment-form .finance-pay-fields input,
.module-finance #finance-payment-form .finance-pay-fields select { min-height:2.5rem; }
.module-finance .finance-pay-proposal>section { margin:0; border:0; border-top:1px solid #e2e8f0; border-radius:0; background:transparent; box-shadow:none; }
.module-finance #finance-payment-form>footer>div { flex-wrap:nowrap; }
.finance-pay-dialog .finance-pay-manual-row>label { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.finance-pay-dialog .finance-pay-manual-row>label>span,
.finance-pay-dialog .finance-pay-manual-row>label>small { grid-column:1/-1; }
.finance-pay-dialog .finance-pay-manual-row span button { width:auto; }
.finance-pay-dialog .finance-pay-manual-row input { min-height:2.35rem; }
.finance-pay-dialog .finance-pay-manual aside>label,
.finance-pay-dialog .finance-pay-wallet form>main>label { display:block; }
.finance-pay-dialog .finance-pay-manual aside>label>textarea,
.finance-pay-dialog .finance-pay-wallet form>main>label>.finance-pay-wallet-money { display:block; margin-top:.4rem; }
.finance-pay-dialog .finance-pay-wallet input,
.finance-pay-dialog .finance-pay-wallet select { min-height:2.45rem; }
.finance-pay-dialog .finance-pay-wallet form section { box-shadow:none; }
.module-finance .finance-workspace[data-finance-current="payment"]{display:grid;gap:1.5rem;padding-top:1.5rem!important}.module-finance .finance-pay-operation,.module-finance .finance-pay-workspace{overflow:hidden;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.06)}.module-finance .finance-pay-operation>header,.module-finance .finance-pay-workspace>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.module-finance .finance-pay-operation>header p,.module-finance .finance-pay-workspace>header p{margin:0;color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.module-finance .finance-pay-operation h3,.module-finance .finance-pay-workspace h3{margin:.25rem 0;color:#0f172a;font-size:1.25rem}.module-finance .finance-pay-operation>header span{display:block;max-width:40rem;color:#64748b;font-size:.875rem;line-height:1.5}.module-finance .finance-pay-operation ol{display:flex;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none;color:#64748b;font-size:.75rem;font-weight:600}.module-finance .finance-pay-operation ol li{display:flex;gap:.35rem;align-items:center;padding:.35rem .65rem;border-radius:99px;background:#f1f5f9}.module-finance .finance-pay-operation ol b{display:grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:#cbd5e1;color:#fff;font-size:.62rem}.module-finance .finance-pay-operation ol .is-current{background:#eff6ff;color:#1d4ed8}.module-finance .finance-pay-operation ol .is-current b{background:#2563eb}.module-finance .finance-pay-operation__body{display:grid;grid-template-columns:minmax(0,7fr) minmax(19rem,5fr)}.module-finance .finance-pay-operation form{display:grid;gap:1.5rem;padding:1.5rem}.module-finance .finance-pay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}.module-finance .finance-pay-fields label{display:grid;gap:.4rem;color:#334155;font-size:.875rem;font-weight:600}.module-finance .finance-pay-fields label>small{color:#64748b;font-size:.75rem;font-weight:400}.module-finance .finance-pay-fields em,.module-finance .finance-pay-operation footer em{color:#e11d48;font-style:normal}.module-finance .finance-pay-fields input,.module-finance .finance-pay-fields select{width:100%;height:2.5rem;margin:0;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;color:#0f172a;font-size:.875rem}.module-finance .finance-pay-money{position:relative}.module-finance .finance-pay-money i,.module-finance .finance-pay-money b{position:absolute;top:50%;z-index:1;transform:translateY(-50%);color:#94a3b8;font-size:.8rem;font-style:normal}.module-finance .finance-pay-money i{left:.75rem}.module-finance .finance-pay-money b{right:.75rem}.module-finance .finance-pay-money input{padding:0 3rem 0 1.8rem}.module-finance .finance-pay-operation form>footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.module-finance .finance-pay-operation form>footer p{margin:0;color:#64748b;font-size:.75rem}.module-finance .finance-pay-operation form>footer>div,.module-finance .finance-pay-card footer>div,.module-finance .finance-pay-proposal footer>div{display:flex;flex-wrap:wrap;gap:.5rem}.module-finance .finance-pay-operation button,.module-finance .finance-pay-card button,.module-finance .finance-pay-proposal button,.module-finance .finance-pay-feedback button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:auto;min-height:2.5rem;margin:0;border-radius:.5rem;padding:.5rem .9rem;background:#fff;color:#334155;font-size:.875rem;font-weight:600}.module-finance .finance-pay-operation [type=submit],.module-finance [data-proposal-confirm],.module-finance .finance-pay-feedback button{border-color:#2563eb;background:#2563eb;color:#fff}.module-finance #finance-payment-context-v0{padding:1.5rem;border-left:1px solid #e2e8f0;background:#f8fafccc}.module-finance #finance-payment-context-v0>header{display:flex;justify-content:space-between;gap:.75rem}.module-finance #finance-payment-context-v0 header p{margin:0;color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.module-finance #finance-payment-context-v0 h4{display:flex;gap:.4rem;align-items:center;margin:.25rem 0;color:#0f172a;font-size:1rem}.module-finance .finance-pay-icon{width:1rem;height:1rem;flex:0 0 auto}.module-finance #finance-payment-context-v0 time{height:max-content;border:1px solid #cbd5e1;border-radius:.4rem;padding:.3rem .5rem;color:#64748b;font-size:.68rem}.module-finance .finance-pay-context-metrics{display:grid;gap:.5rem;margin-top:1rem}.module-finance .finance-pay-context-metrics article{display:grid;grid-template-columns:1fr auto;gap:.1rem .5rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}.module-finance .finance-pay-context-metrics span,.module-finance .finance-pay-context-metrics small{color:#64748b;font-size:.75rem}.module-finance .finance-pay-context-metrics b{grid-row:span 2;grid-column:2;color:#0f172a}.module-finance .finance-pay-context-metrics .is-positive b{color:#047857}.module-finance .finance-pay-warning{display:flex;gap:.65rem;margin-top:.75rem;border:1px solid #fcd34d;border-radius:.75rem;padding:.75rem;background:#fffbeb;color:#92400e}.module-finance .finance-pay-warning p{margin:0;font-size:.8rem;line-height:1.45}.module-finance .finance-pay-context-action{display:flex;width:100%;justify-content:center;gap:.5rem;margin-top:.75rem}.module-finance .finance-pay-context-empty,.module-finance .finance-pay-loading,.module-finance .finance-pay-empty{display:grid;gap:.35rem;padding:1.25rem;color:#64748b}.module-finance .finance-pay-document-result:empty{display:none}.module-finance .finance-pay-feedback{display:flex;justify-content:space-between;gap:1rem;border:1px solid #bbf7d0;border-radius:.75rem;padding:1rem;background:#f0fdf4;color:#166534}.module-finance .finance-pay-feedback h4,.module-finance .finance-pay-feedback p{margin:0}.module-finance .finance-pay-workspace>header{align-items:center}.module-finance .finance-pay-workspace>header span{display:block;color:#64748b;font-size:.85rem}.module-finance .finance-pay-workspace [role=tablist]{display:flex;overflow:auto;padding:.25rem;border-radius:.55rem;background:#f1f5f9}.module-finance .finance-pay-workspace [role=tablist] button{min-height:2.25rem;white-space:nowrap;border:0;background:transparent}.module-finance .finance-pay-workspace [role=tablist] button.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 2px rgb(15 23 42/.08)}.module-finance #finance-payment-panel{display:grid;gap:.75rem;padding:1.5rem}.module-finance .finance-pay-card{overflow:hidden;border:1px solid #dbe4ee;border-radius:.8rem}.module-finance .finance-pay-card>header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.module-finance .finance-pay-card code{color:#0f172a;font-size:.85rem;font-weight:700}.module-finance .finance-pay-badge{margin-left:.5rem;border-radius:99px;padding:.2rem .45rem;background:#ecfdf5;color:#047857;font-size:.7rem}.module-finance .finance-pay-card p,.module-finance .finance-pay-card small{display:block;margin:.3rem 0 0;color:#64748b;font-size:.8rem}.module-finance .finance-pay-card dl{display:grid;grid-template-columns:repeat(2,minmax(5rem,1fr));gap:1.2rem;margin:0}.module-finance .finance-pay-card dt{color:#64748b;font-size:.72rem}.module-finance .finance-pay-card dd{margin:.2rem 0;color:#0f172a;font-weight:700}.module-finance .finance-pay-card dl div:last-child dd{color:#047857}.module-finance .finance-pay-card footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc}.module-finance .finance-pay-card footer>p{margin:0;color:#64748b;font-size:.75rem}.module-finance .finance-pay-card footer button:first-child{border-color:#bfdbfe;background:#eff6ff;color:#2563eb}.module-finance .finance-pay-card--unidentified footer label{display:grid;grid-template-columns:auto minmax(12rem,1fr);align-items:center;gap:.5rem;font-size:.8rem}.module-finance .finance-pay-card--unidentified select{min-height:2.25rem;border:1px solid #cbd5e1;border-radius:.4rem}.module-finance .finance-pay-proposal{overflow:hidden;border:1px solid #dbe4ee;border-radius:.8rem}.module-finance .finance-pay-preview{padding:.7rem 1rem;background:#eff6ff;color:#1d4ed8;font-size:.8rem;font-weight:600}.module-finance .finance-pay-proposal>header,.module-finance .finance-pay-proposal section,.module-finance .finance-pay-proposal>dl,.module-finance .finance-pay-proposal footer{padding:1rem 1.25rem}.module-finance .finance-pay-proposal>header,.module-finance .finance-pay-proposal footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.module-finance .finance-pay-proposal header p{margin:0;color:#64748b;font-size:.75rem}.module-finance .finance-pay-proposal>header>b{color:#047857}.module-finance .finance-pay-proposal section{border-top:1px solid #e2e8f0}.module-finance .finance-pay-proposal h4{margin:0 0 .5rem;font-size:.875rem}.module-finance .finance-pay-proposal ul{margin:0;padding:0;list-style:none}.module-finance .finance-pay-proposal li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid #f1f5f9}.module-finance .finance-pay-proposal li small{display:block;margin-top:.2rem;color:#64748b;font-size:.75rem}.module-finance .finance-pay-proposal>dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;background:#f8fafc}.module-finance .finance-pay-proposal dt{color:#64748b;font-size:.75rem}.module-finance .finance-pay-proposal dd{margin:.2rem 0;font-weight:700}.module-finance .finance-pay-proposal footer{border-top:1px solid #e2e8f0}.module-finance .finance-pay-proposal footer>button{border:0;color:#2563eb}@media(max-width:63.99rem){.module-finance .finance-pay-operation__body{grid-template-columns:minmax(0,1fr)}.module-finance #finance-payment-context-v0{border-top:1px solid #e2e8f0;border-left:0}.module-finance .finance-pay-operation>header{flex-direction:column}}@media(max-width:47.99rem){.module-finance .finance-pay-operation>header,.module-finance .finance-pay-operation form,.module-finance #finance-payment-context-v0,.module-finance .finance-pay-workspace>header,.module-finance #finance-payment-panel{padding:1rem}.module-finance .finance-pay-fields{grid-template-columns:minmax(0,1fr)}.module-finance .finance-pay-operation form>footer,.module-finance .finance-pay-workspace>header,.module-finance .finance-pay-card>header,.module-finance .finance-pay-card footer,.module-finance .finance-pay-proposal>header,.module-finance .finance-pay-proposal footer{align-items:stretch;flex-direction:column}.module-finance .finance-pay-operation form>footer>div,.module-finance .finance-pay-card footer>div,.module-finance .finance-pay-proposal footer>div{display:grid;grid-template-columns:minmax(0,1fr)}.module-finance .finance-pay-operation button,.module-finance .finance-pay-card button,.module-finance .finance-pay-proposal button,.module-finance .finance-pay-feedback button{width:100%}.module-finance .finance-pay-card dl{width:100%}.module-finance .finance-pay-card--unidentified footer label{grid-template-columns:minmax(0,1fr)}.module-finance .finance-pay-feedback{flex-direction:column}.module-finance .finance-pay-proposal>dl{grid-template-columns:minmax(0,1fr)}}

/* Pagos sin aplicar: el ámbar refuerza una advertencia textual y no actúa solo. */
.module-finance .finance-pay-operation--unapplied { border-color:#fcd34d; }
.module-finance .finance-pay-operation--unapplied>header { background:#fffbeb; }
.module-finance .finance-pay-operation-kind { border:1px solid #f59e0b; border-radius:999px; padding:.35rem .65rem; color:#92400e!important; font-size:.75rem!important; font-weight:700; white-space:nowrap; }
.module-finance .finance-pay-unapplied-notice { margin:1rem 1.5rem 0; border:1px solid #fcd34d; border-radius:.75rem; padding:.85rem 1rem; background:#fffbeb; color:#78350f; }
.module-finance .finance-pay-unapplied-notice p { margin:.25rem 0 0; line-height:1.45; }
.module-finance .finance-pay-external { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.module-finance .finance-pay-external[hidden] { display:none; }
.module-finance .finance-pay-external>small { grid-column:1/-1; color:#64748b; }

.finance-direct-payment { display:grid; gap:1rem!important; }
.finance-direct-payment__notice { margin:0; border-left:.25rem solid #2563eb; padding:.75rem; background:#eff6ff; color:#1e3a8a; }
.finance-direct-payment__context,.finance-direct-payment__summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:0; }
.finance-direct-payment__context div,.finance-direct-payment__summary dl div { border:1px solid #e2e8f0; border-radius:.65rem; padding:.65rem; }
.finance-direct-payment dt,.finance-direct-payment__summary dt { color:#64748b; font-size:.75rem; }
.finance-direct-payment dd,.finance-direct-payment__summary dd { margin:.2rem 0 0; color:#0f172a; font-weight:700; }
.finance-direct-payment__fields,[data-external-fields] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.finance-direct-payment [data-external-fields][hidden] { display:none; }
.finance-direct-payment label { display:grid; gap:.35rem; }
.finance-direct-payment [data-external-fields]>small { grid-column:1/-1; color:#64748b; }
.finance-direct-payment__summary { border:1px solid #bfdbfe; border-radius:.75rem; padding:.85rem; background:#f8fafc; }
.finance-direct-payment__summary>p:last-child { margin-bottom:0; color:#1e3a8a; }
@media(max-width:47.99rem){
 .module-finance .finance-pay-unapplied-notice { margin:1rem 1rem 0; }
 .module-finance .finance-pay-external,.finance-direct-payment__context,.finance-direct-payment__summary dl,.finance-direct-payment__fields,[data-external-fields] { grid-template-columns:minmax(0,1fr); }
 .module-finance .finance-pay-external>small,.finance-direct-payment [data-external-fields]>small { grid-column:auto; }
 .module-finance .finance-pay-operation-kind { white-space:normal; }
}

.finance-pay-dialog #finance-manual-v0{min-height:0;overflow:hidden}.finance-pay-dialog #finance-manual-v0>main{min-height:0;overflow:hidden}
@media(max-width:47.99rem){.finance-pay-dialog #finance-manual-v0{overflow:hidden}.finance-pay-dialog #finance-manual-v0>main{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto}}

.module-finance .finance-pay-target{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #bfdbfe;border-radius:.8rem;padding:1rem;background:#eff6ff}.module-finance .finance-pay-target p{margin:0 0 .2rem;color:#1d4ed8;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.module-finance .finance-pay-target strong,.module-finance .finance-pay-target span{display:block}.module-finance .finance-pay-target span{margin-top:.25rem;color:#475569;font-size:.78rem}.module-finance .finance-pay-target button{flex:none;border-color:#bfdbfe;background:#fff;color:#1d4ed8}.module-finance .finance-pay-application-review{margin-top:1rem;border:1px solid #bfdbfe;border-radius:.65rem;padding:.75rem;background:#eff6ff}.module-finance .finance-pay-application-review h5{margin:0;color:#1e3a8a;font-size:.78rem}.module-finance .finance-pay-application-review p{margin:.5rem 0;color:#334155;font-size:.75rem;line-height:1.45}.module-finance .finance-pay-application-review ul{display:grid;gap:.45rem;margin:.5rem 0;padding:0;list-style:none}.module-finance .finance-pay-application-review li{display:grid;gap:.15rem;border-top:1px solid #dbeafe;padding-top:.45rem;font-size:.75rem}.module-finance .finance-pay-application-review li span{color:#475569}@media(max-width:47.99rem){.module-finance .finance-pay-target{align-items:stretch;flex-direction:column}.module-finance .finance-pay-target button{width:100%}}

/* Conciliación contextual: el azul vincula el adeudo elegido con su acción preparatoria. */
.module-finance .finance-pay-target{border:2px solid #2563eb;background:#eff6ff;box-shadow:0 0 0 3px rgb(37 99 235/.08)}
.module-finance .finance-pay-target p{color:#1d4ed8}
.module-finance .finance-pay-target-instruction{border:1px solid #dbeafe;border-radius:.7rem;padding:.8rem 1rem;background:#f8fbff}
.module-finance .finance-pay-target-instruction h4{margin:0;color:#1e3a8a;font-size:.9rem}
.module-finance .finance-pay-target-instruction p{margin:.25rem 0 0;color:#475569;font-size:.8rem;line-height:1.45}
.module-finance .finance-pay-card footer div [data-payment-target-manual]{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 2px 5px rgb(37 99 235/.22)}
.module-finance .finance-pay-card footer div [data-payment-target-manual]:hover{border-color:#1d4ed8;background:#1d4ed8}
.module-finance .finance-pay-card footer div [data-payment-target-manual]:focus-visible{outline:3px solid rgb(37 99 235/.3);outline-offset:2px}
.finance-pay-dialog .finance-pay-application-review{margin-top:1rem;border:1px solid #bfdbfe;border-radius:.65rem;padding:.75rem;background:#eff6ff}
.finance-pay-dialog .finance-pay-application-review h5{margin:0;color:#1e3a8a;font-size:.78rem}
.finance-pay-dialog .finance-pay-application-review p{margin:.5rem 0;color:#334155;font-size:.75rem;line-height:1.45}
.finance-pay-dialog .finance-pay-application-review ul{display:grid;gap:.45rem;margin:.5rem 0;padding:0;list-style:none}
.finance-pay-dialog .finance-pay-application-review li{display:grid;gap:.15rem;border-top:1px solid #dbeafe;padding-top:.45rem;font-size:.75rem}
.finance-pay-dialog .finance-pay-application-review li span{color:#475569}
.finance-pay-dialog .finance-pay-manual-instruction{margin:0 0 .85rem;border-left:3px solid #2563eb;padding:.65rem .8rem;background:#eff6ff;color:#1e3a8a;font-size:.82rem;line-height:1.45}
.finance-pay-dialog .finance-pay-manual [data-pay-confirm]:not(:disabled){border-color:#047857;background:#047857;color:#fff}
.finance-pay-dialog .finance-pay-manual [data-pay-confirm]:not(:disabled)::before{content:'✓';margin-right:.4rem;font-weight:800}
.finance-pay-dialog .finance-pay-manual [data-pay-confirm]:not(:disabled):hover{border-color:#065f46;background:#065f46}
.finance-pay-dialog .finance-pay-manual [data-pay-confirm]:focus-visible{outline:3px solid rgb(4 120 87/.3);outline-offset:2px}
.finance-pay-dialog .finance-pay-manual [data-pay-confirm]:disabled{border-color:#cbd5e1;background:#e2e8f0;color:#64748b;cursor:not-allowed;opacity:1}
@media(max-width:47.99rem){.module-finance .finance-pay-target-instruction{padding:.75rem}.finance-pay-dialog .finance-pay-manual-instruction{margin-bottom:.7rem}}

/* Adeudos: centro operativo compacto, separado visualmente de Morosos. */
.module-finance .finance-workspace[data-finance-current="debts"]{display:grid;gap:1rem;padding-top:1.5rem!important}
.module-finance .finance-debt-shell,.module-finance #finance-debt-results{border:1px solid #e2e8f0;border-radius:1rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.06)}
.module-finance .finance-debt-shell>header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.module-finance .finance-debt-shell h3{margin:.25rem 0;font-size:1.35rem}.module-finance .finance-debt-shell header p:last-child{margin:.25rem 0 0;color:#64748b}
.module-finance #finance-debt-filters{display:grid;grid-template-columns:1.2fr 1.25fr 1fr 1fr 1.2fr auto;gap:.75rem;align-items:end;padding:1rem 1.5rem}.module-finance #finance-debt-filters label{display:grid;gap:.35rem;color:#475569;font-size:.75rem;font-weight:650}.module-finance #finance-debt-filters input,.module-finance #finance-debt-filters select{min-width:0;height:2.5rem;border:1px solid #cbd5e1;border-radius:.55rem;padding:0 .65rem;background:#fff;color:#0f172a}.module-finance #finance-debt-filters button{height:2.5rem;border-color:#2563eb;background:#2563eb;color:#fff}
.module-finance .finance-debt-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e2e8f0}.module-finance .finance-debt-summary div{display:grid;gap:.2rem;padding:1rem 1.5rem}.module-finance .finance-debt-summary div+div{border-left:1px solid #e2e8f0}.module-finance .finance-debt-summary span{color:#64748b;font-size:.75rem}.module-finance .finance-debt-summary strong{font-size:1.15rem}
.module-finance .finance-debt-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 1.25rem 0;border:1px solid #bfdbfe;border-radius:.75rem;padding:.8rem 1rem;background:#eff6ff}.module-finance .finance-debt-selection[hidden]{display:none}.module-finance .finance-debt-selection>div{display:flex;gap:.75rem;align-items:center}.module-finance .finance-debt-selection span{color:#475569;font-size:.8rem}.module-finance .finance-debt-selection [data-debt-collect-selected]{border-color:#2563eb;background:#2563eb;color:#fff}.module-finance .finance-debt-selection [data-debt-clear]{background:#fff;color:#475569}
.module-finance .finance-debt-table{overflow:auto;padding:1rem 1.25rem 1.25rem}.module-finance .finance-debt-table table{width:100%;border-collapse:collapse}.module-finance .finance-debt-table th{padding:.65rem;text-align:left;color:#64748b;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.module-finance .finance-debt-table td{padding:.8rem .65rem;border-top:1px solid #e2e8f0;font-size:.82rem}.module-finance .finance-debt-table td strong,.module-finance .finance-debt-table td small{display:block}.module-finance .finance-debt-table td small{margin-top:.2rem;color:#64748b}.module-finance .finance-debt-table td b{white-space:nowrap}.module-finance .finance-debt-table td:last-child button{border-color:#2563eb;background:#2563eb;color:#fff}.module-finance .finance-debt-table input,.module-finance .finance-debt-card input{width:1rem;height:1rem;accent-color:#2563eb}
.module-finance .finance-debt-status{display:inline-flex;border-radius:99px;padding:.25rem .5rem;font-size:.7rem;font-weight:700;white-space:nowrap}.module-finance .finance-debt-status--current{background:#eff6ff;color:#1d4ed8}.module-finance .finance-debt-status--overdue{background:#fff7ed;color:#c2410c}.module-finance .finance-debt-status--partial{background:#f5f3ff;color:#6d28d9}.module-finance .finance-debt-cards{display:none}.module-finance .finance-debt-limit,.module-finance .finance-debt-loading,.module-finance .finance-debt-error{margin:1rem 1.25rem;padding:1rem;border-radius:.75rem;background:#f8fafc;color:#475569}
.finance-pay-dialog--debt{width:min(68rem,calc(100vw - 2rem));height:calc(100dvh - 2rem)}.finance-debt-modal{height:100%;max-height:none;min-height:0}.finance-debt-modal>header{flex:0 0 auto}.finance-pay-dialog--debt .finance-debt-modal>form{display:flex!important;min-height:0;height:0;flex:1 1 0;grid-template-columns:none!important;align-items:stretch;gap:0!important;flex-direction:column;overflow:hidden}.finance-debt-modal__body{display:grid;min-height:0;flex:1 1 0;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.7fr);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.finance-debt-modal__body>main{min-width:0;overflow:visible;padding:1.25rem}.finance-debt-modal__body>aside{min-width:0;overflow:visible;border-left:1px solid #e2e8f0;padding:1.25rem;background:#f8fafc}.finance-debt-modal>form>footer{display:flex;position:relative;z-index:1;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e2e8f0;padding:.8rem 1.25rem;background:#fff}.finance-debt-modal>form>footer p{margin:0;color:#64748b;font-size:.78rem}.finance-debt-modal>form>footer div{display:flex;gap:.5rem}.finance-debt-modal>form>footer button{width:auto}.finance-debt-modal [data-debt-confirm]:not(:disabled){border-color:#047857;background:#047857;color:#fff}.finance-debt-modal [data-debt-confirm]:not(:disabled)::before{content:'✓';margin-right:.4rem}.finance-debt-modal [data-debt-confirm]:disabled{border-color:#cbd5e1;background:#e2e8f0;color:#64748b;opacity:1}
.finance-debt-modal__charges{border:1px solid #dbeafe;border-radius:.75rem;padding:1rem;background:#f8fbff}.finance-debt-modal__charges h4,.finance-debt-modal__body>aside h4{margin:0 0 .75rem}.finance-debt-modal__charges ul,.finance-debt-modal [data-debt-review] ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.finance-debt-modal__charges li{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #dbeafe;padding-top:.55rem}.finance-debt-modal__charges li:first-child{border-top:0;padding-top:0}.finance-debt-modal__charges li span{display:block;margin-top:.15rem;color:#64748b;font-size:.74rem}.finance-debt-modal__charges>p{display:flex;justify-content:space-between;margin:.8rem 0 0;border-top:1px solid #bfdbfe;padding-top:.7rem}
.finance-debt-modes{display:grid;gap:.65rem;margin:1rem 0 0;border:0;padding:0}.finance-debt-modes legend{margin-bottom:.55rem;font-weight:750}.finance-debt-mode{display:flex;gap:.75rem;border:1px solid #dbe4ee;border-radius:.75rem;padding:.85rem;background:#fff}.finance-debt-mode:has(input:checked){border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgb(37 99 235/.08)}.finance-debt-mode:has(input:disabled){background:#f8fafc;color:#64748b}.finance-debt-mode input{flex:none;margin-top:.2rem;accent-color:#2563eb}.finance-debt-mode span,.finance-debt-mode small,.finance-debt-mode em{display:block}.finance-debt-mode small{margin-top:.2rem;color:#475569;line-height:1.4}.finance-debt-mode em{margin-top:.25rem;color:#9f1239;font-size:.74rem;font-style:normal}
.finance-debt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.finance-debt-fields label{display:grid;gap:.35rem;color:#475569;font-size:.78rem;font-weight:650}.finance-debt-fields input,.finance-debt-fields select{width:100%;min-width:0;height:2.5rem;border:1px solid #cbd5e1;border-radius:.55rem;padding:0 .65rem;background:#fff}.finance-debt-fields [data-debt-external]{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.finance-debt-fields [data-debt-external][hidden]{display:none}.finance-debt-duplicate-warning{border:1px solid #fcd34d;border-radius:.7rem;padding:.75rem;background:#fffbeb;color:#92400e;font-size:.78rem;line-height:1.45}
.finance-debt-modal [data-debt-review] dl{display:grid;gap:.6rem;margin:0}.finance-debt-modal [data-debt-review] dl div{display:flex;justify-content:space-between;gap:.75rem;border-bottom:1px solid #e2e8f0;padding-bottom:.5rem}.finance-debt-modal [data-debt-review] dt{color:#64748b;font-size:.75rem}.finance-debt-modal [data-debt-review] dd{margin:0;text-align:right;font-weight:700}.finance-debt-modal [data-debt-review] ul{margin-top:1rem}.finance-debt-modal [data-debt-review] li{display:grid;gap:.15rem;border:1px solid #dbeafe;border-radius:.6rem;padding:.65rem;background:#fff;font-size:.76rem}.finance-debt-modal [data-debt-review] li span{color:#64748b}.finance-debt-modal [data-debt-review] li b{color:#1e3a8a}.finance-debt-modal [data-debt-review]>p{font-size:.78rem}.finance-debt-result main{padding:1.5rem}
@media(max-width:74rem){.module-finance #finance-debt-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.module-finance #finance-debt-filters button{width:100%}}
@media(max-width:47.99rem){.module-finance .finance-workspace[data-finance-current="debts"]{padding-top:1rem!important}.module-finance .finance-debt-shell>header,.module-finance #finance-debt-filters{padding:1rem}.module-finance #finance-debt-filters{grid-template-columns:minmax(0,1fr)}.module-finance .finance-debt-summary{grid-template-columns:minmax(0,1fr)}.module-finance .finance-debt-summary div+div{border-top:1px solid #e2e8f0;border-left:0}.module-finance .finance-debt-selection,.module-finance .finance-debt-selection>div{align-items:stretch;flex-direction:column}.module-finance .finance-debt-table{display:none}.module-finance .finance-debt-cards{display:grid;gap:.75rem;padding:1rem}.module-finance .finance-debt-card{border:1px solid #dbe4ee;border-radius:.8rem;padding:1rem}.module-finance .finance-debt-card header,.module-finance .finance-debt-card header label,.module-finance .finance-debt-card dl{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.module-finance .finance-debt-card h4{margin:.25rem 0}.module-finance .finance-debt-card p,.module-finance .finance-debt-card code{color:#64748b;font-size:.75rem}.module-finance .finance-debt-card dl{margin:.85rem 0}.module-finance .finance-debt-card dt{color:#64748b;font-size:.68rem}.module-finance .finance-debt-card dd{margin:.2rem 0 0;font-size:.78rem}.module-finance .finance-debt-card>button{width:100%;border-color:#2563eb;background:#2563eb;color:#fff}.finance-pay-dialog--debt{width:calc(100vw - 1rem);height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem)}.finance-debt-modal{height:100%;max-height:none}.finance-debt-modal>form{display:flex;flex:1 1 0;min-height:0;height:0;flex-direction:column;overflow:hidden}.finance-debt-modal__body{display:block;min-height:0;flex:1 1 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.finance-debt-modal__body>main,.finance-debt-modal__body>aside{overflow:visible;padding:1rem}.finance-debt-modal__body>aside{border-top:1px solid #e2e8f0;border-left:0}.finance-debt-modal>form>footer{position:relative;bottom:auto;flex:0 0 auto;flex-direction:column;align-items:stretch;padding:.75rem}.finance-debt-modal>form>footer div{display:grid;grid-template-columns:1fr 1fr}.finance-debt-fields,.finance-debt-fields [data-debt-external]{grid-template-columns:minmax(0,1fr)}}

/* Pagos: consulta global primaria y registro secundario plegable. */
.module-finance .finance-pay-reconciliation{order:1}.module-finance .finance-pay-operation--secondary{order:2}.module-finance .finance-pay-document-result{order:3}
.module-finance .finance-pay-global-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #e2e8f0;background:#f8fafc}.module-finance .finance-pay-global-summary article{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:1rem 1.5rem}.module-finance .finance-pay-global-summary article+article{border-left:1px solid #e2e8f0}.module-finance .finance-pay-global-summary span{color:#64748b;font-size:.78rem}.module-finance .finance-pay-global-summary strong{font-size:1.25rem}.module-finance .finance-pay-global-summary b{grid-row:1/3;grid-column:2;align-self:center;color:#047857;font-size:1.05rem}.module-finance .finance-pay-global-summary[data-reconciled="true"] b{color:#334155}
.module-finance .finance-pay-query{display:flex;justify-content:flex-end;padding:1rem 1.5rem 0}.module-finance .finance-pay-query[hidden]{display:none}.module-finance .finance-pay-query label{display:grid;gap:.35rem;min-width:min(20rem,100%);color:#475569;font-size:.78rem;font-weight:650}.module-finance .finance-pay-query select{height:2.5rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;color:#0f172a}
.module-finance .finance-pay-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem}.module-finance .finance-pay-pagination button{min-height:2.25rem;border-radius:.5rem;background:#fff}.module-finance .finance-pay-pagination span{color:#64748b;font-size:.78rem}
.module-finance .finance-pay-operation--secondary{overflow:hidden;border-color:#dbe4ee}.module-finance .finance-pay-operation--secondary>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;cursor:pointer;list-style:none;background:#fff;color:#1e3a8a}.module-finance .finance-pay-operation--secondary>summary::-webkit-details-marker{display:none}.module-finance .finance-pay-operation--secondary>summary span:first-child{display:grid;gap:.15rem}.module-finance .finance-pay-operation--secondary>summary strong{font-size:.95rem}.module-finance .finance-pay-operation--secondary>summary small{color:#64748b;font-size:.76rem}.module-finance .finance-pay-operation--secondary>summary span:last-child{font-size:1.25rem}.module-finance .finance-pay-operation--secondary[open]>summary{border-bottom:1px solid #dbe4ee;background:#f8fafc}.module-finance .finance-pay-operation--secondary[open]>summary span:last-child{transform:rotate(45deg)}.module-finance .finance-pay-operation__intro{padding:1rem 1.5rem 0}.module-finance .finance-pay-operation__intro h3,.module-finance .finance-pay-operation__intro p{margin:.2rem 0}.module-finance .finance-pay-operation__intro p{color:#64748b;font-size:.82rem}.module-finance .finance-pay-compact-warning{display:flex;align-items:center;gap:.5rem;margin:0;border-left:3px solid #f59e0b;padding:.55rem .75rem;background:#fffbeb;color:#78350f;font-size:.78rem}.module-finance .finance-pay-operation--secondary form>footer>button{border-color:#2563eb;background:#2563eb;color:#fff}
.module-finance .finance-pay-card small strong{color:#334155}.module-finance .finance-pay-workspace.is-contextual [role=tablist]{opacity:.65}
@media(max-width:47.99rem){.module-finance .finance-pay-global-summary{grid-template-columns:minmax(0,1fr)}.module-finance .finance-pay-global-summary article+article{border-top:1px solid #e2e8f0;border-left:0}.module-finance .finance-pay-query{justify-content:stretch;padding:1rem 1rem 0}.module-finance .finance-pay-query label{width:100%;min-width:0}.module-finance .finance-pay-operation--secondary>summary,.module-finance .finance-pay-operation__intro{padding-right:1rem;padding-left:1rem}.module-finance .finance-pay-pagination{flex-wrap:wrap}.module-finance .finance-pay-pagination button{flex:1}}

/* Pagos — trasplante visual de pagos-zerodependency.html, aislado al módulo. */
.module-finance .finance-nav{gap:.25rem;padding:.375rem;border-radius:1rem;box-shadow:0 2px 10px -4px rgb(15 23 42/.12)}
.module-finance .finance-nav__item{min-height:0;padding:.5rem .875rem;border-radius:.75rem;color:#64748b;font-size:.75rem;font-weight:500}
.module-finance .finance-nav__item.active{min-height:0;border-color:#bfdbfe;background:#eff6ff;color:#2563eb;box-shadow:0 1px 2px rgb(15 23 42/.04);font-weight:600}
.module-finance .finance-nav__item:nth-last-child(2){margin-left:.25rem;border-left:1px solid #e2e8f0;border-radius:0;padding-left:1rem}
.module-finance .finance-workspace[data-finance-current="payment"]{max-width:71.25rem;margin-inline:auto;gap:1.5rem}
.module-finance .finance-pay-spec{overflow:visible!important;border:1px solid #e2e8f0!important;border-radius:1.5rem!important;background:#fff!important;box-shadow:0 4px 20px -4px rgb(15 23 42/.05)!important}
.module-finance .finance-pay-spec__header{display:flex!important;flex-wrap:wrap;align-items:center!important;justify-content:space-between!important;gap:1rem!important;padding:1.5rem!important;border:0!important}
.module-finance .finance-pay-spec__header .eyebrow{margin:0;color:#2563eb;font-size:.6875rem;font-weight:700;letter-spacing:.08em}
.module-finance .finance-pay-spec__header h3{margin:.125rem 0 0;color:#0f172a;font-size:1.25rem;letter-spacing:-.015em}
.module-finance .finance-pay-spec__header [data-payment-workspace-summary]{max-width:40rem;margin-top:.125rem;color:#64748b;font-size:.875rem;line-height:1.5}
.module-finance .finance-pay-spec .finance-pay-query{order:0;padding:0!important}
.module-finance .finance-pay-spec .finance-pay-query label{min-width:15.625rem;gap:.25rem;color:#94a3b8;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.module-finance .finance-pay-spec .finance-pay-query select{height:2.5rem;border-color:#e2e8f0;border-radius:.75rem;padding:0 .875rem;background:#f8fafc;box-shadow:0 1px 2px rgb(15 23 42/.04);font-size:.75rem;font-weight:600}
.module-finance .finance-pay-spec .finance-pay-global-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:0;background:transparent;padding:0 1.5rem 1.5rem}
.module-finance .finance-pay-spec .finance-pay-kpi article{display:contents}
.module-finance .finance-pay-kpi{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;border:1px solid;background:#fff;border-radius:1rem;padding:1.25rem;text-align:left;box-shadow:0 1px 2px rgb(15 23 42/.04);transition:border-color .15s,background .15s,box-shadow .15s}
.module-finance .finance-pay-kpi:focus-visible,.module-finance .finance-pay-button:focus-visible{outline:3px solid rgb(37 99 235/.3);outline-offset:2px}
.module-finance .finance-pay-kpi--available{border-color:rgb(16 185 129/.35);background:#ecfdf5;box-shadow:0 0 0 3px rgb(16 185 129/.10)}
.module-finance .finance-pay-kpi--unidentified{border-color:rgb(245 158 11/.35);background:#fffbeb}
.module-finance .finance-pay-kpi span{grid-column:1;color:#022c22;font-size:.75rem;font-weight:600}.module-finance .finance-pay-kpi--unidentified span{color:#451a03}
.module-finance .finance-pay-kpi strong{display:grid;grid-row:1/3;grid-column:2;place-items:center;width:2.75rem;height:2.75rem;margin-left:1rem;border-radius:.875rem;background:#fff;color:#047857;font-size:.875rem}.module-finance .finance-pay-kpi--unidentified strong{color:#92400e}
.module-finance .finance-pay-kpi b{grid-column:1;display:block;margin-top:.25rem;color:#047857;font-size:1.5rem;letter-spacing:-.02em}.module-finance .finance-pay-kpi--unidentified b{color:#92400e}
.module-finance .finance-pay-kpi b::after{content:'por aplicar';display:inline;margin-left:.375rem;font-size:.6875rem;font-weight:500;letter-spacing:0;opacity:.8}.module-finance .finance-pay-kpi--unidentified b::after{content:'pendiente de identificar'}
.module-finance .finance-pay-kpi__scope{display:block;margin-top:.375rem;color:inherit;font-size:.6875rem;font-weight:500;line-height:1.35;opacity:.82}
.module-finance .finance-pay-kpi.is-active{box-shadow:0 0 0 3px rgb(16 185 129/.13)}.module-finance .finance-pay-kpi--unidentified.is-active{box-shadow:0 0 0 3px rgb(245 158 11/.13)}
.module-finance .finance-pay-spec #finance-payment-panel{display:grid;gap:1rem;padding:0 1.5rem 1.5rem}
.module-finance .finance-pay-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem;border-bottom:1px solid #f1f5f9;padding:0 0 .75rem}
.module-finance .finance-pay-list-heading h3{margin:0;color:#0f172a;font-size:.875rem}.module-finance .finance-pay-list-heading p{margin:.125rem 0 0;color:#64748b;font-size:.75rem}
.module-finance .finance-pay-list-heading>b{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;border-radius:999px;background:#d1fae5;color:#047857;font-size:.75rem}.module-finance .finance-pay-list-heading--amber>b{background:#fef3c7;color:#92400e}
.module-finance .finance-pay-card--spec{overflow:visible!important;border-color:#e2e8f0!important;border-radius:1rem!important;padding:1.25rem;background:#fff;box-shadow:0 2px 10px -4px rgb(15 23 42/.05)}
.module-finance .finance-pay-card--spec:hover{border-color:#cbd5e1!important}.module-finance .finance-pay-card--spec>header{display:none!important}
.module-finance .finance-pay-card__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.module-finance .finance-pay-card__identity{display:flex;min-width:0;gap:.875rem}
.module-finance .finance-pay-unit-avatar{display:grid;place-items:center;flex:0 0 auto;width:2.75rem;height:2.75rem;border-radius:.75rem;background:#f1f5f9;color:#334155;font-size:.75rem;font-weight:700}.module-finance .finance-pay-unit-avatar--unknown{background:#fef3c7;color:#92400e;font-size:1rem}
.module-finance .finance-pay-card__title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.module-finance .finance-pay-card__title h4{margin:0;color:#0f172a;font-size:.9375rem}.module-finance .finance-pay-status{display:inline-flex;align-items:center;gap:.375rem;border-radius:999px;padding:.125rem .625rem;background:#ecfdf5;color:#047857;font-size:.6875rem;font-weight:600}.module-finance .finance-pay-status i{width:.375rem;height:.375rem;border-radius:99px;background:#059669}.module-finance .finance-pay-status--amber{background:#fffbeb;color:#92400e}.module-finance .finance-pay-status--amber i{background:#d97706}.module-finance .finance-pay-method{border-radius:.375rem;padding:.125rem .5rem;background:#f1f5f9;color:#334155;font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.module-finance .finance-pay-card__reference{margin:.25rem 0 0;color:#334155;font-size:.875rem}.module-finance .finance-pay-card__meta{margin:.25rem 0 0;color:#94a3b8;font-size:.75rem}.module-finance .finance-pay-card__meta code{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.71875rem}
.module-finance .finance-pay-card__amounts{display:flex;align-items:center;gap:1.5rem;text-align:right}.module-finance .finance-pay-card__amounts>div{display:grid;gap:.125rem}.module-finance .finance-pay-card__amounts>div+div{border-left:1px solid #f1f5f9;padding-left:1.5rem}.module-finance .finance-pay-card__amounts span{color:#94a3b8;font-size:.6875rem;font-weight:500}.module-finance .finance-pay-card__amounts b{color:#334155;font-size:.875rem}.module-finance .finance-pay-card__available strong{color:#059669;font-size:1.125rem}.module-finance .finance-pay-card__available--amber strong{color:#b45309}.module-finance .finance-pay-card__amounts--single>div+div{border-left:0;padding-left:0}
.module-finance .finance-pay-progress{margin-top:.875rem;border:1px solid #f1f5f9;border-radius:.75rem;padding:.625rem .875rem;background:#f8fafc}.module-finance .finance-pay-progress>div{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.375rem;color:#64748b;font-size:.6875rem}.module-finance .finance-pay-progress i{display:block;overflow:hidden;height:.375rem;border-radius:99px;background:#e2e8f0}.module-finance .finance-pay-progress b{display:block;height:100%;border-radius:inherit;background:#059669}
.module-finance .finance-pay-card--spec footer{display:flex!important;flex-wrap:wrap;align-items:center!important;justify-content:space-between!important;gap:.75rem;margin-top:1rem;padding:.875rem 0 0!important;border-top:1px solid #f1f5f9!important;background:transparent!important}.module-finance .finance-pay-card--spec footer>p{margin:0;color:#64748b;font-size:.75rem}.module-finance .finance-pay-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.module-finance .finance-pay-button{display:inline-flex!important;align-items:center;justify-content:center;gap:.375rem;width:auto!important;min-height:2.25rem!important;margin:0!important;border:1px solid #e2e8f0!important;border-radius:.75rem!important;padding:.375rem .75rem!important;background:#fff!important;color:#334155!important;font-size:.75rem!important;font-weight:600!important}.module-finance .finance-pay-button:hover{border-color:#cbd5e1!important;background:#f8fafc!important}.module-finance .finance-pay-button--blue{border-color:#bfdbfe!important;background:#eff6ff!important;color:#2563eb!important}.module-finance .finance-pay-button--target{border-color:#bfdbfe!important;background:#eff6ff!important;color:#2563eb!important}.module-finance .finance-pay-button--amber{border-color:#d97706!important;background:#d97706!important;color:#fff!important}
.module-finance .finance-pay-card--unidentified{border-left:4px solid #d97706!important}.module-finance .finance-pay-card--unidentified footer label{display:flex!important;align-items:center;gap:.5rem;color:#64748b;font-size:.75rem}.module-finance .finance-pay-card--unidentified footer select{min-height:2.25rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;color:#0f172a;font-size:.75rem}
.module-finance .finance-pay-empty--spec{display:flex!important;flex-direction:column;align-items:center;justify-content:center;margin:0!important;border:1px solid #f1f5f9!important;border-radius:1.25rem!important;padding:2.75rem 1.5rem!important;background:#f8fafc!important;text-align:center}.module-finance .finance-pay-empty--spec>span{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:.75rem;border:1px solid #e2e8f0;border-radius:99px;background:#fff;color:#94a3b8}.module-finance .finance-pay-empty--spec strong{color:#334155;font-size:.875rem}.module-finance .finance-pay-empty--spec p{max-width:22.5rem;margin:.25rem 0 0;color:#94a3b8;font-size:.75rem}
.module-finance .finance-pay-operation--secondary{border-radius:1rem!important;box-shadow:0 2px 10px -4px rgb(15 23 42/.05)!important}.module-finance .finance-pay-operation--secondary>summary{padding:1rem 1.25rem!important}.module-finance .finance-pay-operation--secondary[open]>summary{background:#f8fafc!important}
@media(max-width:47.99rem){.module-finance .finance-nav{margin-inline:-.25rem;border-radius:.875rem}.module-finance .finance-nav__item{padding:.5rem .75rem}.module-finance .finance-nav__item:nth-last-child(2){margin-left:0;border-left:0;padding-left:.75rem}.module-finance .finance-workspace[data-finance-current="payment"]{gap:1rem;padding-top:1rem!important}.module-finance .finance-pay-spec{border-radius:1.25rem!important}.module-finance .finance-pay-spec__header{align-items:stretch!important;padding:1rem!important}.module-finance .finance-pay-spec .finance-pay-query,.module-finance .finance-pay-spec .finance-pay-query label{width:100%}.module-finance .finance-pay-spec .finance-pay-query label{min-width:0}.module-finance .finance-pay-spec .finance-pay-global-summary{grid-template-columns:minmax(0,1fr);padding:0 1rem 1rem}.module-finance .finance-pay-kpi{padding:1rem}.module-finance .finance-pay-spec #finance-payment-panel{padding:0 1rem 1rem}.module-finance .finance-pay-card--spec{padding:1rem}.module-finance .finance-pay-card__top{gap:1rem}.module-finance .finance-pay-card__amounts{width:100%;justify-content:flex-start;text-align:left}.module-finance .finance-pay-card__amounts>div:first-child{flex:1}.module-finance .finance-pay-card--spec footer{align-items:stretch!important}.module-finance .finance-pay-card__actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr)}.module-finance .finance-pay-button{width:100%!important}.module-finance .finance-pay-card--unidentified footer label{display:grid!important;grid-template-columns:minmax(0,1fr)}.module-finance .finance-pay-progress>div{display:grid;gap:.25rem}.module-finance .finance-pay-kpi b::after{white-space:normal}.module-finance .finance-pay-operation--secondary>summary{padding:1rem!important}}

/* Finanzas: cintilla fiel a Finanzas-cintilla-zero-navega.html. */
.module-finance .finance-nav-shell{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0;position:relative}
.module-finance .finance-nav-shell button{font-family:inherit;cursor:pointer}
.module-finance .finance-nav{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;overflow-x:auto;margin:0;padding:.375rem;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;box-shadow:0 2px 10px -4px rgb(15 23 42/.05);scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.module-finance .finance-nav::-webkit-scrollbar{display:none}
.module-finance .finance-nav__group{display:flex;align-items:center;gap:.25rem;flex:0 0 auto}
.module-finance .finance-nav__group--system{border-left:1px solid #e2e8f0;padding-left:.5rem}
.module-finance .finance-nav__item,.module-finance .finance-nav__item:nth-last-child(2){display:inline-flex;align-items:center;gap:.5rem;min-height:0;margin:0;padding:.5rem .875rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:#64748b;font-size:.75rem;font-weight:500;line-height:1.25;white-space:nowrap;box-shadow:none}
.module-finance .finance-nav__item:hover{background:#f8fafc;color:#0f172a}
.module-finance .finance-nav__item.active{min-height:0;margin:0;border:1px solid #bfdbfe;border-radius:.75rem;background:#eff6ff;color:#2563eb;font-weight:600;box-shadow:0 1px 2px rgb(15 23 42/.04)}
.module-finance .finance-nav__item .finance-nav__icon{width:1rem;height:1rem;color:#94a3b8}
.module-finance .finance-nav__item.active .finance-nav__icon{color:#2563eb}
.module-finance .finance-nav__scroll{display:flex;align-items:center;justify-content:center;width:2.125rem;min-width:2.125rem;height:2.125rem;min-height:2.125rem;margin:0;padding:0;border:1px solid #e2e8f0;border-radius:.625rem;background:#fff;color:#334155;box-shadow:0 1px 2px rgb(15 23 42/.04);user-select:none}
.module-finance .finance-nav__scroll:hover{border-color:#cbd5e1;background:#f8fafc;color:#0f172a}
.module-finance .finance-nav__scroll:focus-visible,.module-finance .finance-nav__item:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.module-finance .finance-nav__scroll-icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:47.99rem){.module-finance .finance-nav-shell{gap:.375rem}.module-finance .finance-nav{margin:0;border-radius:.875rem}.module-finance .finance-nav__item,.module-finance .finance-nav__item:nth-last-child(2){padding:.5rem .75rem}.module-finance .finance-nav__group--system{padding-left:.5rem}.module-finance .finance-nav__scroll{width:2.125rem;min-width:2.125rem;height:2.125rem;min-height:2.125rem}}

/* Adeudos: los radios no deben heredar el control de ancho completo global. */
.finance-debt-modal .finance-debt-mode{align-items:flex-start;min-width:0}
.finance-debt-modal .finance-debt-mode>input[type="radio"]{flex:0 0 1.125rem;width:1.125rem;min-width:1.125rem;height:1.125rem;min-height:1.125rem;margin:.15rem 0 0;padding:0;accent-color:#2563eb}
.finance-debt-modal .finance-debt-mode>span{display:block;min-width:0;flex:1 1 auto}
.finance-debt-modal .finance-debt-mode>span strong,.finance-debt-modal .finance-debt-mode>span small,.finance-debt-modal .finance-debt-mode>span em{overflow-wrap:anywhere}

/* Reservas: trasplante visual de Reservas-6nov.html, aislado al módulo. */
.module-pergola.ui-active{display:grid!important;width:min(100%,72rem);margin-inline:auto;gap:1.5rem;color:#0f172a;font-family:var(--font-product)}
.module-pergola *{box-sizing:border-box}
.module-pergola .pergola-heading{display:flex;align-items:end;justify-content:space-between;padding:.25rem}
.module-pergola .pergola-heading h2{margin:.375rem 0 0;color:#0f172a;font-size:1.5rem;font-weight:650;line-height:1.2;letter-spacing:-.025em}
.module-pergola .pergola-heading p:not(.eyebrow){margin:.25rem 0 0;color:#64748b;font-size:.875rem}
.module-pergola .pergola-tabs{gap:1.5rem;padding:0;border-bottom-color:#e2e8f0}
.module-pergola .pergola-tabs button{min-height:3rem;padding:0 .25rem;border-bottom-width:2px;color:#64748b;font-size:.875rem;font-weight:500}
.module-pergola .pergola-tabs button[aria-selected="true"]{border-bottom-color:#2563eb;color:#2563eb}
.module-pergola .pergola-reservations-view,.module-pergola .pergola-admin-view{gap:1.5rem}
.module-pergola #pergola-admin-view{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.module-pergola .pergola-management,.module-pergola .pergola-calendar-card,.module-pergola .pergola-create-card,.module-pergola .pergola-amenities{border:0!important;border-radius:1rem!important;background:#fff!important;box-shadow:0 1px 2px rgb(15 23 42/.04),0 4px 16px -4px rgb(15 23 42/.06)!important}
.module-pergola .pergola-management{padding:1.75rem!important}
.module-pergola .pergola-management-header{align-items:start;padding:0;border:0}
.module-pergola .pergola-management-header h3{margin:.375rem 0 0;font-size:1.125rem;letter-spacing:-.02em}
.module-pergola .pergola-management-header p:not(.eyebrow){margin:.25rem 0 0;color:#64748b;font-size:.875rem}
.module-pergola .pergola-sheet-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.25rem;padding:0 1rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#f8fafc;color:#475569;font:500 .875rem/1 var(--font-product);box-shadow:none}
.module-pergola .pergola-sheet-button:hover{background:#f1f5f9}
.module-pergola .pergola-sheet-button svg{width:1rem;height:1rem;fill:none;stroke:#94a3b8;stroke-linecap:round;stroke-width:1.75}
.module-pergola .pergola-management-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 1rem}
.module-pergola .pergola-management-stats>div{padding:.75rem 1rem;border-radius:.75rem;background:#f8fafc}
.module-pergola .pergola-management-stats>div.pending{background:#fffbeb}
.module-pergola .pergola-management-stats>div.active{background:#eff6ff}
.module-pergola .pergola-management-stats dt{color:#64748b;font-size:.75rem}
.module-pergola .pergola-management-stats dd{margin:.125rem 0 0;color:#334155;font-size:1.125rem;font-weight:650}
.module-pergola .pergola-management-stats .pending dd{color:#b45309}
.module-pergola .pergola-management-stats .active dd{color:#2563eb}
.module-pergola .pergola-management-groups{margin:0}
.module-pergola .pergola-accordion+.pergola-accordion{border-top:1px solid #f1f5f9!important}
.module-pergola .pergola-accordion-trigger{min-height:0!important;padding:1rem 0!important;border-radius:.5rem!important}
.module-pergola .pergola-accordion-trigger:hover{background:transparent!important}
.module-pergola .pergola-accordion-copy{gap:.125rem}
.module-pergola .pergola-accordion-copy strong{font-size:.875rem;font-weight:600}
.module-pergola .pergola-accordion-copy small{color:#64748b;font-size:.75rem}
.module-pergola .pergola-accordion-count{display:inline-flex;align-items:center;justify-content:center;height:1.5rem;min-width:1.5rem;padding:0 .5rem;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.75rem}
.module-pergola [data-pergola-group="pending"] .pergola-accordion-count{background:#fef3c7;color:#b45309}
.module-pergola .pergola-accordion-chevron{width:1.5rem;height:1.5rem}
.module-pergola .pergola-accordion-chevron svg{width:1rem;height:1rem;stroke:#94a3b8;stroke-width:2}
.module-pergola .pergola-work-list{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start;gap:1rem;padding:.25rem 0 1rem}
.module-pergola .pergola-reservation-card{gap:1rem;padding:1.25rem;border:0;border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.04),0 10px 30px -10px rgb(15 23 42/.12)}
.module-pergola .pergola-reservation-card.status-cancelled,.module-pergola .pergola-reservation-card.status-closed,.module-pergola .pergola-reservation-card.status-historical{background:#fff}
.module-pergola .pergola-reservation-head{padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}
.module-pergola .pergola-reservation-identity{gap:.25rem}
.module-pergola .pergola-reservation-identity strong{font-size:.875rem}
.module-pergola .pergola-reservation-event,.module-pergola .pergola-reservation-identity span,.module-pergola .pergola-reservation-meta{color:#64748b;font-size:.75rem}
.module-pergola .pergola-reservation-requested{border:0;padding:0;background:transparent;color:#64748b;font-weight:400}
.module-pergola .pergola-status{border:0;padding:.3rem .65rem;font-size:.6875rem;font-weight:600}
.module-pergola .pergola-status.pending{background:#fffbeb;color:#b45309}
.module-pergola .pergola-status.approved{background:#ecfdf5;color:#047857}
.module-pergola .pergola-status.denied{background:#fff1f2;color:#be123c}
.module-pergola .pergola-status.cancelled,.module-pergola .pergola-status.closed,.module-pergola .pergola-status.historical{background:#f1f5f9;color:#475569}
.module-pergola .pergola-requirements{display:flex;flex-wrap:wrap;gap:.375rem}
.module-pergola .pergola-requirement{display:inline-flex;align-items:center;border:1px solid;border-radius:.375rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:500}
.module-pergola .pergola-requirement.pending{border-color:#fde68a;background:#fffbeb;color:#b45309}
.module-pergola .pergola-requirement.complete{border-color:#a7f3d0;background:#ecfdf5;color:#047857}
.module-pergola .pergola-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:1rem;border-top:1px solid #f1f5f9}
.module-pergola .pergola-actions .pergola-action{width:auto;min-height:2.25rem;padding:.4rem .75rem;border-radius:.5rem;font-size:.75rem}
.module-pergola .pergola-actions .pergola-action--primary{order:3;background:#2563eb}
.module-pergola .pergola-actions .pergola-action--secondary{background:#f8fafc;color:#475569}
.module-pergola .pergola-actions .pergola-action--danger{order:2;border-color:transparent;background:transparent;color:#e11d48}
.module-pergola .pergola-operation-card{display:grid;min-width:0;gap:1rem;padding:1.25rem;border:1px solid rgb(15 23 42/.03);border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.04),0 10px 30px -10px rgb(15 23 42/.12)}
.module-pergola .pergola-operation-card>header{display:flex;align-items:start;justify-content:space-between;gap:.75rem}
.module-pergola .pergola-operation-card>header>div{display:flex;min-width:0;align-items:center;gap:.75rem}
.module-pergola .pergola-operation-unit{display:flex;width:2.5rem;height:2.5rem;flex:0 0 2.5rem;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem;background:#f1f5f9;color:#475569;font-size:.75rem;font-weight:600;white-space:nowrap}
.module-pergola .pergola-operation-card header p{margin:0;color:#0f172a;font-size:.875rem;font-weight:600}.module-pergola .pergola-operation-card header small{display:block;margin-top:.15rem;color:#64748b;font-size:.75rem}
.module-pergola .pergola-operation-card .pergola-operation-requested{font-variant-numeric:tabular-nums}
.module-pergola .pergola-operation-status{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .65rem;background:#f1f5f9;color:#475569;font-size:.6875rem;font-weight:500}.module-pergola .pergola-operation-status.pending{background:#fffbeb;color:#b45309}.module-pergola .pergola-operation-status.approved{background:#ecfdf5;color:#047857}
.module-pergola .pergola-operation-checklist{display:grid;gap:.65rem}.module-pergola .pergola-operation-checklist>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:.75rem}.module-pergola .pergola-operation-checklist strong{font-weight:500}.module-pergola .pergola-operation-checklist>div:first-child span{color:#94a3b8}
.module-pergola .pergola-operation-progress{height:.25rem;overflow:hidden;border-radius:999px;background:#f1f5f9}.module-pergola .pergola-operation-progress i{display:block;height:100%;border-radius:inherit;background:#10b981}
.module-pergola .pergola-operation-checklist ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.module-pergola .pergola-operation-checklist li{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.75rem}.module-pergola .pergola-operation-checklist li>span{display:grid;width:1rem;height:1rem;flex:0 0 1rem;place-items:center;border:1px solid #cbd5e1;border-radius:50%;color:#fff;font-size:.625rem}.module-pergola .pergola-operation-checklist li.complete{color:#334155}.module-pergola .pergola-operation-checklist li.complete>span{border-color:#10b981;background:#10b981}
.module-pergola .pergola-operation-meta{margin:0;color:#64748b;font-size:.75rem;line-height:1.45}

.module-pergola .pergola-all-surface{display:grid;gap:1rem;padding:.25rem 0 1rem}
.module-pergola .pergola-all-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:.75rem;background:#f8fafc;box-shadow:inset 0 0 0 1px #f1f5f9}
.module-pergola .pergola-all-search{position:relative;display:block;width:min(100%,20rem)}
.module-pergola .pergola-all-search svg{position:absolute;top:50%;left:.75rem;width:1rem;height:1rem;transform:translateY(-50%);fill:none;stroke:#94a3b8;stroke-linecap:round;stroke-width:2;pointer-events:none}
.module-pergola .pergola-all-search input,.module-pergola .pergola-all-filter select{width:100%;height:2.25rem;margin:0;border:0;border-radius:.5rem;background:#fff;color:#0f172a;font:400 .75rem/1 var(--font-product);box-shadow:inset 0 0 0 1px rgb(226 232 240/.75)}
.module-pergola .pergola-all-search input{padding:0 .75rem 0 2.25rem}
.module-pergola .pergola-all-search input:focus,.module-pergola .pergola-all-filter select:focus{outline:2px solid #3b82f6;outline-offset:0}
.module-pergola .pergola-all-filter{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.6875rem;font-weight:500}
.module-pergola .pergola-all-filter select{width:10rem;padding:0 2rem 0 .75rem;color:#334155;font-weight:500}
.module-pergola .pergola-all-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.module-pergola .pergola-info-card{display:flex;min-width:0;flex-direction:column;padding:1.25rem;border:1px solid rgb(226 232 240/.7);border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/.04);transition:box-shadow .15s ease}
.module-pergola .pergola-info-card:hover{box-shadow:0 4px 12px -4px rgb(15 23 42/.12)}
.module-pergola .pergola-info-card.has-incident{border-color:rgb(254 205 211/.8);background:linear-gradient(#fff,#fff1f233)}
.module-pergola .pergola-info-card>header{display:flex;align-items:start;justify-content:space-between;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}
.module-pergola .pergola-info-card.has-incident>header{border-bottom-color:#ffe4e6}
.module-pergola .pergola-info-card>header>div{display:flex;min-width:0;align-items:center;gap:.75rem}
.module-pergola .pergola-info-unit{display:flex;width:2.5rem;height:2.5rem;flex:0 0 2.5rem;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem;background:#f8fafc;color:#334155;font-size:.75rem;font-weight:700;box-shadow:inset 0 0 0 1px rgb(226 232 240/.6);text-overflow:ellipsis;white-space:nowrap}
.module-pergola .has-incident .pergola-info-unit{background:#fff1f2;color:#be123c;box-shadow:inset 0 0 0 1px rgb(254 205 211/.6)}
.module-pergola .pergola-info-card header p{overflow-wrap:anywhere;margin:0;color:#0f172a;font-size:.875rem;font-weight:600}
.module-pergola .pergola-info-card header p span{color:#64748b;font-weight:400}
.module-pergola .pergola-info-card header small{display:block;margin-top:.15rem;color:#64748b;font-size:.6875rem}
.module-pergola .pergola-info-status{display:inline-flex;flex:0 0 auto;align-items:center;border-radius:999px;padding:.3rem .65rem;background:#f1f5f9;color:#475569;font-size:.625rem;font-weight:600;letter-spacing:.025em}
.module-pergola .pergola-info-status.pending{background:#fffbeb;color:#b45309}.module-pergola .pergola-info-status.approved{background:#ecfdf5;color:#047857}.module-pergola .pergola-info-status.denied{background:#fff1f2;color:#be123c}.module-pergola .pergola-info-status.historical{background:#eef2ff;color:#4338ca}
.module-pergola .pergola-info-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;font-size:.75rem}
.module-pergola .pergola-info-card dt{margin-bottom:.125rem;color:#94a3b8}
.module-pergola .pergola-info-card dd{margin:0;color:#0f172a;font-weight:500}
.module-pergola .pergola-info-card dd.unavailable{color:#64748b;font-style:italic;font-weight:400}
.module-pergola .pergola-incident,.module-pergola .pergola-info-note{display:flex;align-items:start;gap:.5rem;margin:.75rem 0 0;padding:.625rem;border:1px solid #fecdd3;border-radius:.5rem;background:#fff1f2;color:#be123c;font-size:.75rem;line-height:1.45}
.module-pergola .pergola-incident svg{width:1rem;height:1rem;flex:0 0 auto;margin-top:.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}
.module-pergola .pergola-info-note{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.module-pergola .pergola-info-note.is-denied{border-color:#fecdd3;background:#fff1f2;color:#be123c}
.module-pergola .pergola-info-requirements{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}
.module-pergola .pergola-info-requirements span{display:inline-flex;align-items:center;border:1px solid;border-radius:.375rem;padding:.25rem .5rem;font-size:.625rem;font-weight:500}
.module-pergola .pergola-info-requirements .pending{border-color:#fde68a;background:#fffbeb;color:#b45309}.module-pergola .pergola-info-requirements .complete{border-color:#a7f3d0;background:#ecfdf5;color:#047857}
.module-pergola .pergola-all-more-wrap{text-align:center}.module-pergola #pergola-all-more{min-height:2rem;margin:0;padding:0;border:0;background:transparent;color:#2563eb;font-size:.75rem;font-weight:500;box-shadow:none}.module-pergola #pergola-all-more:hover{color:#1d4ed8}.module-pergola #pergola-all-more[hidden]{display:none}

.module-pergola .pergola-planning{grid-template-columns:minmax(0,1fr) 22.5rem;gap:1.5rem;align-items:start}
.module-pergola .pergola-calendar-card,.module-pergola .pergola-create-card{padding:1.75rem!important}
.module-pergola .pergola-calendar-nav{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0;border-bottom:0;text-align:left}.module-pergola .pergola-calendar-nav>div{text-align:left}.module-pergola .pergola-calendar-nav h3{margin:.375rem 0 0;font-size:1.125rem;text-transform:none}.module-pergola .pergola-calendar-nav p:not(.eyebrow){margin:.25rem 0 0;font-size:.75rem}.module-pergola .pergola-calendar-controls{display:flex;flex:0 0 auto;gap:.5rem}.module-pergola .pergola-calendar-step{display:grid;width:2.25rem!important;min-height:2.25rem!important;place-items:center;padding:0!important;border-color:#e2e8f0!important;border-radius:.5rem!important;background:#fff!important;color:#64748b!important}.module-pergola .pergola-calendar-step svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.module-pergola .pergola-weekdays{margin-top:1.5rem;color:#94a3b8;font-size:.6875rem}.module-pergola .pergola-weekdays,.module-pergola .pergola-calendar-grid{gap:.5rem}.module-pergola .pergola-calendar-grid{margin-top:.5rem}.module-pergola .pergola-calendar-grid>span,.module-pergola .pergola-day{min-height:0;aspect-ratio:5/4}.module-pergola .pergola-day{border-color:#dbeafe!important;border-radius:.5rem!important;background:#fff!important;color:#2563eb!important}.module-pergola .pergola-day strong{font-size:.8125rem}.module-pergola .pergola-day small{font-size:.625rem}.module-pergola .pergola-day.available{border-color:#dbeafe!important;background:#fff!important;color:#2563eb!important}.module-pergola .pergola-day.pending{border-color:transparent!important;background:#fffbeb!important;color:#b45309!important}.module-pergola .pergola-day.approved{border-color:transparent!important;background:#ecfdf5!important;color:#047857!important}.module-pergola .pergola-day.blocked{border-color:transparent!important;background:#f8fafc!important;color:#94a3b8!important}.module-pergola .pergola-calendar-legend{justify-content:flex-start;gap:.5rem 1.25rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #f1f5f9;font-size:.75rem}
.module-pergola .pergola-create-card .pergola-section-heading h3{font-size:1.125rem}.module-pergola .pergola-create-card .pergola-section-heading p{font-size:.875rem}.module-pergola .pergola-create-card #create-form{gap:1rem}.module-pergola .pergola-create-card #create-form label{font-size:.75rem}.module-pergola .pergola-create-card :is(input,select){min-height:2.75rem;border-color:#e2e8f0;border-radius:.5rem;background:#fff}.module-pergola .pergola-create-card .pergola-action{min-height:2.75rem;border-radius:.5rem}.module-pergola .pergola-help{border-left:2px solid #93c5fd;border-radius:.25rem;background:#f8fafc;color:#64748b}
.module-pergola .pergola-reservations-card{border:0!important;background:transparent!important;box-shadow:none!important}

.module-pergola .pergola-amenities{width:100%;max-width:none;margin:0!important;padding:1.75rem!important}
.module-pergola .pergola-amenities-header{padding:0 0 1.75rem;border-bottom:1px solid #f1f5f9}.module-pergola .pergola-amenities-header h3{margin:.375rem 0 0;font-size:1.125rem}.module-pergola .pergola-amenities-header p:not(.eyebrow){max-width:none;margin:.25rem 0 0;font-size:.875rem}
.module-pergola .pergola-amenity-create{padding:1.75rem 0;border:0}.module-pergola .pergola-amenity-create__intro h4,.module-pergola .pergola-amenity-records>h4{font-size:.875rem}.module-pergola .pergola-amenity-fields{gap:1.5rem}.module-pergola .pergola-amenity-create__actions{padding-top:1.5rem;border-top:0}.module-pergola .pergola-amenity-create__actions .pergola-action{min-height:2.25rem;border-radius:.5rem}
.module-pergola .pergola-amenity-records{padding:1.25rem;border:1px solid #f1f5f9;border-radius:.75rem;background:#f8fafc}.module-pergola .pergola-amenity-card{border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:none}.module-pergola .pergola-amenity-card>header{border-bottom-color:#f1f5f9}.module-pergola .pergola-amenity-card>footer{border-top-color:#f1f5f9}

@media(max-width:60rem){.module-pergola .pergola-planning{grid-template-columns:minmax(0,1fr)}.module-pergola .pergola-work-list,.module-pergola .pergola-all-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:47.5rem){.module-pergola .pergola-tabs button{width:auto;flex:0 1 auto}}
@media(max-width:47.5rem){.module-pergola.ui-active{gap:1rem}.module-pergola .pergola-management,.module-pergola .pergola-calendar-card,.module-pergola .pergola-create-card,.module-pergola .pergola-amenities{padding:1.25rem!important}.module-pergola .pergola-management-header{align-items:stretch}.module-pergola .pergola-sheet-button{width:100%}.module-pergola .pergola-management-stats{grid-template-columns:minmax(0,1fr);gap:.5rem}.module-pergola .pergola-accordion:not(.is-open) .pergola-accordion-copy small{display:block}.module-pergola .pergola-all-toolbar{align-items:stretch;flex-direction:column}.module-pergola .pergola-all-search,.module-pergola .pergola-all-filter,.module-pergola .pergola-all-filter select{width:100%}.module-pergola .pergola-all-filter{display:grid;grid-template-columns:auto minmax(0,1fr)}.module-pergola .pergola-info-card>header,.module-pergola .pergola-operation-card>header{flex-wrap:wrap}.module-pergola .pergola-info-card dl{grid-template-columns:minmax(0,1fr)}.module-pergola .pergola-operation-checklist ul{grid-template-columns:minmax(0,1fr)}.module-pergola .pergola-actions{display:flex}.module-pergola .pergola-actions .pergola-action{width:auto}.module-pergola .pergola-actions .pergola-action--primary{grid-column:auto}.module-pergola .pergola-weekdays,.module-pergola .pergola-calendar-grid{gap:.375rem}.module-pergola .pergola-calendar-grid>span,.module-pergola .pergola-day{aspect-ratio:1}.module-pergola .pergola-day small{display:none}.module-pergola .pergola-amenities-header,.module-pergola .pergola-amenity-create,.module-pergola .pergola-amenity-records{padding-left:0;padding-right:0}.module-pergola .pergola-amenity-records{padding:1rem}.module-pergola .pergola-amenities-header{align-items:flex-start}.module-pergola .pergola-amenity-total{font-size:.6875rem}}

/* TICKETS · trasplante de convivencia.html, aislado al módulo */
.module-tickets { --ticket-bg:#F8FAFC; --ticket-surface:#fff; --ticket-subtle:#F1F5F9; --ticket-canvas:#F4F7FA; --ticket-ink:#0F172A; --ticket-secondary:#334155; --ticket-muted:#64748B; --ticket-light:#94A3B8; --ticket-border:#E2E8F0; --ticket-blue:#2563EB; --ticket-blue-soft:#EFF6FF; --ticket-blue-pale:#DBEAFE; --ticket-shadow-sm:0 1px 2px rgba(15,23,42,.04); --ticket-shadow-md:0 4px 12px -2px rgba(15,23,42,.06); --ticket-shadow-float:0 8px 24px -4px rgba(15,23,42,.08); color:var(--ticket-ink); }
.module-tickets .tickets-heading { max-width:1140px; margin:0 auto 24px; padding:24px 24px 0; }
.module-tickets .tickets-heading .eyebrow { margin:0; color:var(--ticket-blue); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.module-tickets .tickets-heading h2 { margin:2px 0 0; color:var(--ticket-ink); font-size:24px; font-weight:700; letter-spacing:-.02em; }
.module-tickets #tickets-scope { margin:2px 0 0; color:var(--ticket-muted); font-size:14px; }
.module-tickets .tickets-admin-view { max-width:1140px; margin:0 auto; padding:0 24px 24px; }
.module-tickets #tickets-summary { margin:0 0 24px; padding:0; border:0; background:transparent; box-shadow:none; }
.module-tickets #tickets-summary>.section-heading,.module-tickets #tickets-global-list>.section-heading { display:none; }
.module-tickets .tickets-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.module-tickets .ticket-kpi { min-height:110px; display:flex; flex-direction:column; gap:0; padding:16px 20px; border:1px solid var(--ticket-border); border-radius:16px; background:var(--ticket-surface); box-shadow:var(--ticket-shadow-sm); }
.module-tickets .ticket-kpi-title { margin-bottom:8px; color:var(--ticket-muted); font-size:12px; font-weight:600; }
.module-tickets .ticket-kpi-value { color:var(--ticket-ink); font-size:28px; line-height:1; font-variant-numeric:tabular-nums; }
.module-tickets .ticket-kpi small { margin-top:6px; color:var(--ticket-light); font-size:11px; font-weight:500; }
.module-tickets .ticket-kpi-ranking { grid-column:span 2; justify-content:space-between; }
.module-tickets .ticket-ranking-content { margin-top:auto; color:var(--ticket-muted); font-size:14px; }
.module-tickets .ticket-ranking-row { padding:2px 0; border:0; background:transparent; }
.module-tickets #tickets-global-list { margin:0; padding:24px; border:1px solid var(--ticket-border); border-radius:24px; background:var(--ticket-canvas); box-shadow:inset 0 2px 4px rgba(0,0,0,.02); }
.module-tickets #tickets-filters { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:0 0 20px; padding:0; border:0; background:transparent; }
.module-tickets .ticket-filter-fields { display:flex; flex:1; flex-wrap:wrap; align-items:center; gap:8px; grid-column:auto; }
.module-tickets .ticket-filter-fields>label { min-width:max-content; color:var(--ticket-secondary); font-size:0; }
.module-tickets .ticket-filter-fields .ticket-search-field { flex:1; min-width:200px; max-width:320px; grid-column:auto; }
.module-tickets .ticket-search-field input,.module-tickets .ticket-filter-fields select { width:100%; min-height:36px; padding:8px 12px; border:1px solid var(--ticket-border); border-radius:10px; background-color:var(--ticket-surface); color:var(--ticket-secondary); font-size:13px; }
.module-tickets .ticket-search-field input { padding-left:12px; }
.module-tickets .ticket-search-field { position:relative; }
.module-tickets .ticket-search-field input { padding-left:34px; }
.module-tickets .ticket-search-icon { position:absolute; top:50%; left:12px; display:grid; width:16px; height:16px; transform:translateY(-50%); color:var(--ticket-light); pointer-events:none; }
.module-tickets .ticket-search-icon svg { display:block; width:16px; height:16px; }
#tickets-panel #tickets-filters .ticket-filter-fields>label.ticket-date-range { display:grid; flex:0 1 160px; min-width:145px; align-content:start; gap:4px; color:var(--ticket-secondary); font-size:12px; }
#tickets-panel #tickets-filters .ticket-date-range input[type="date"] { box-sizing:border-box; width:100%; min-width:0; min-height:36px; padding:6px 8px; border:1px solid var(--ticket-border); border-radius:10px; background:var(--ticket-surface); color:var(--ticket-secondary); font-family:inherit; font-size:13px; }
#tickets-panel #tickets-filters .ticket-filter-fields .ticket-search-field { box-sizing:border-box; flex:0 1 280px; width:280px; min-width:220px; max-width:320px; }
#tickets-panel #tickets-filters .ticket-search-field input[type="search"] { box-sizing:border-box; width:100%; min-width:220px; }
@media(max-width:680px){#tickets-panel #tickets-filters .ticket-filter-fields>label.ticket-date-range{min-width:0}.module-tickets .ticket-date-range input[type="date"]{width:100%}}
.module-tickets .ticket-kpi-ranking .ticket-ranking-content { display:flex; flex-direction:column; gap:4px; }
.module-tickets .ticket-kpi-ranking .ticket-ranking-row { display:flex; min-width:0; align-items:center; justify-content:flex-start; gap:12px; }
.module-tickets .ticket-kpi-ranking .ticket-ranking-row strong { min-width:0; overflow-wrap:anywhere; }
.module-tickets .ticket-kpi-ranking .ticket-ranking-row span { flex:0 0 auto; min-width:0; text-align:left; }
#tickets-panel #tickets-refresh-list svg { fill:none; stroke:currentColor; }
#tickets-panel #tickets-refresh-list:not(:disabled) svg { color:var(--ticket-ink); }
.module-tickets .ticket-search-field input:focus,.module-tickets .ticket-filter-fields select:focus { border-color:#3B82F6; outline:0; }
.module-tickets .ticket-filter-fields>label:not(.ticket-search-field) { display:flex; align-items:center; gap:6px; color:var(--ticket-secondary); font-size:12px; }
.module-tickets .ticket-filter-fields select { width:auto; min-width:100px; padding-right:28px; }
.module-tickets .ticket-filter-actions { display:flex; align-items:center; gap:8px; }
.module-tickets .ticket-filter-actions button { width:auto; min-height:36px; padding:8px 14px; border:1px solid var(--ticket-border); border-radius:10px; background:var(--ticket-surface); color:var(--ticket-secondary); font-size:13px; font-weight:600; }
.module-tickets .ticket-filter-actions button:first-child { border-color:var(--ticket-blue); background:var(--ticket-blue); color:#fff; }
.module-tickets .ticket-filter-actions button:hover { filter:brightness(.97); }
.module-tickets .ticket-filter-actions button:last-child { color:var(--ticket-light); }
.module-tickets .tickets-list { display:flex; flex-direction:column; gap:12px; }
.module-tickets .ticket-card { overflow:hidden; padding:0!important; border:1px solid var(--ticket-border)!important; border-radius:16px; background:var(--ticket-surface); box-shadow:var(--ticket-shadow-sm); transition:border-color .2s,box-shadow .2s,transform .2s; }
.module-tickets .ticket-card.collapsed:hover { border-color:#CBD5E1!important; box-shadow:var(--ticket-shadow-md); transform:translateY(-1px); }
.module-tickets .ticket-card.expanded { border-color:#BFDBFE!important; box-shadow:var(--ticket-shadow-float); }
.module-tickets .ticket-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; cursor:pointer; }
.module-tickets .ticket-card.expanded .ticket-header { border-bottom:1px solid var(--ticket-subtle); background:#FAFAFC; }
.module-tickets .ticket-header-main { display:flex; flex:1; min-width:0; align-items:center; gap:16px; }
.module-tickets .ticket-category-avatar { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:10px; background:var(--ticket-subtle); color:var(--ticket-secondary); font-size:20px; }
.module-tickets .ticket-category-avatar svg { display:block; width:20px; height:20px; }
.module-tickets .ticket-category-avatar--security { background:#FEF2F2; color:#DC2626; }
.module-tickets .ticket-header-info { flex:1; min-width:0; }
.module-tickets .ticket-title-row { display:flex; min-width:0; align-items:center; gap:8px; margin:0 0 4px; }
.module-tickets .ticket-title { overflow:hidden; margin:0; color:var(--ticket-ink); font-size:15px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.module-tickets .ticket-header-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px; color:var(--ticket-muted); font-size:12px; }
.module-tickets .ticket-origin-tag { padding:2px 6px; border-radius:6px; background:var(--ticket-subtle); color:var(--ticket-secondary); font-weight:600; }
.module-tickets .ticket-origin-tag.is-private { background:var(--ticket-blue-soft); color:#1D4ED8; }
.module-tickets .ticket-folio { color:var(--ticket-light); font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:11px; }
.module-tickets .ticket-header-actions { display:flex; flex:0 0 auto; align-items:center; gap:12px; }
.module-tickets .ticket-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; background:var(--ticket-blue-soft); color:#1D4ED8; font-size:11px; font-weight:600; white-space:nowrap; }
.module-tickets .ticket-badge::before { width:6px; height:6px; border-radius:50%; background:#3B82F6; content:""; }
.module-tickets .ticket-status--closed { background:var(--ticket-subtle); color:var(--ticket-muted); }
.module-tickets .ticket-status--closed::before { background:var(--ticket-light); }
.module-tickets .ticket-status--new { background:#FFFBEB; color:#92400E; }
.module-tickets .ticket-status--new::before { background:#F59E0B; }
.module-tickets .ticket-urgency { padding:0; background:transparent; color:var(--ticket-light); font-size:14px; font-weight:500; }
.module-tickets .ticket-urgency--high { color:#DC2626; font-weight:700; }
.module-tickets .ticket-urgency--medium { color:#D97706; }
.module-tickets .ticket-card-toggle { display:grid; width:24px; height:28px; place-items:center; border:0; background:transparent; color:var(--ticket-light); font-size:22px; }
.module-tickets .ticket-chevron { transition:transform .2s; }
.module-tickets .ticket-card-toggle[aria-expanded="true"] .ticket-chevron { transform:rotate(180deg); }
.module-tickets .ticket-detail-host { display:block; padding:0; }
.module-tickets .ticket-detail-host[hidden] { display:none; }
.module-tickets .ticket-body { display:grid; min-height:400px; grid-template-columns:minmax(0,1fr) 320px; }
.module-tickets .ticket-body-content { display:flex; min-width:0; flex-direction:column; padding:24px; border-right:1px solid var(--ticket-subtle); }
.module-tickets .ticket-original-message { margin-bottom:24px; }
.module-tickets .ticket-section-label { margin:0 0 8px; color:var(--ticket-light); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.module-tickets .ticket-message-text { margin:0; padding:16px; border:1px solid var(--ticket-subtle); border-radius:12px; background:#FAFAFC; color:var(--ticket-secondary); font-size:14px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.module-tickets .ticket-body-sidebar { display:flex; min-width:0; flex-direction:column; gap:24px; padding:24px; background:#FAFAFC; }
.module-tickets .ticket-progress { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:0; margin:8px 0; padding:0; list-style:none; }
.module-tickets .ticket-progress::before { position:absolute; top:12px; right:12px; left:12px; z-index:0; height:2px; background:var(--ticket-border); content:""; }
.module-tickets .ticket-progress li { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--ticket-muted); text-align:center; }
.module-tickets .ticket-progress .step-icon { display:grid; width:24px; height:24px; place-items:center; border:2px solid var(--ticket-border); border-radius:50%; background:#fff; color:#3B82F6; font-size:12px; }
.module-tickets .ticket-progress li.active .step-icon { border-color:#3B82F6; }
.module-tickets .ticket-progress li.completed .step-icon { border-color:#3B82F6; background:#3B82F6; color:#fff; }
.module-tickets .ticket-progress .step-label { font-size:10px; font-weight:600; }
.module-tickets .ticket-progress li.active .step-label { color:var(--ticket-blue); }
.module-tickets .ticket-metadata { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.module-tickets .ticket-metadata div { min-width:0; padding:0; border-radius:0; background:transparent; }
.module-tickets .ticket-metadata dt { color:var(--ticket-light); font-size:11px; font-weight:500; }
.module-tickets .ticket-metadata dd { overflow-wrap:anywhere; margin:2px 0 0; color:var(--ticket-ink); font-size:12px; font-weight:600; }
.module-tickets .ticket-resolution-panel { display:flex; flex-direction:column; gap:12px; padding:16px; border:1px solid var(--ticket-border); border-radius:12px; background:#fff; }
.module-tickets .ticket-resolution-panel .ticket-section-label { margin-bottom:0; }
.module-tickets .ticket-manage { display:flex; flex-direction:column; gap:12px; padding:0!important; border:0!important; background:transparent!important; }
.module-tickets .ticket-manage label { display:flex; flex-direction:column; gap:6px; color:var(--ticket-ink); font-size:12px; font-weight:600; }
.module-tickets .ticket-manage select,.module-tickets .ticket-manage textarea { width:100%; min-height:36px; padding:8px 12px; border:1px solid var(--ticket-border); border-radius:8px; background:#fff; font-size:13px; }
.module-tickets .ticket-manage textarea { min-height:80px; resize:vertical; }
.module-tickets .ticket-field-error { color:#b42318; font-size:12px; font-weight:600; }
.module-tickets .ticket-manage textarea[aria-invalid="true"] { border-color:#b42318; outline-color:#b42318; }
.module-tickets .ticket-evidence-thumb { min-width:0; padding:0; overflow:hidden; border:1px solid var(--ticket-border); border-radius:8px; background:#fff; cursor:zoom-in; }
dialog.ticket-evidence-viewer { position:fixed; inset:0; width:min(96vw,1100px); max-width:none; height:min(94dvh,900px); max-height:none; margin:auto; padding:0; overflow:hidden; border:0; border-radius:14px; background:#111827; color:#fff; }
dialog.ticket-evidence-viewer::backdrop { background:rgb(15 23 42 / .78); }
dialog.ticket-evidence-viewer .ticket-evidence-toolbar { position:absolute; z-index:1; inset:0 0 auto; display:flex; min-height:56px; align-items:center; justify-content:center; gap:8px; padding:8px; background:linear-gradient(#111827ed,#11182799,transparent); }
dialog.ticket-evidence-viewer .ticket-evidence-toolbar button,dialog.ticket-evidence-viewer .ticket-evidence-toolbar a { display:inline-flex; min-width:40px; min-height:40px; align-items:center; justify-content:center; padding:8px 10px; border:1px solid #ffffff55; border-radius:8px; background:#111827cc; color:#fff; font:inherit; text-decoration:none; cursor:pointer; }
dialog.ticket-evidence-viewer .ticket-evidence-toolbar button:disabled { opacity:.45; cursor:default; }
dialog.ticket-evidence-viewer .ticket-evidence-toolbar span { font-size:12px; }
dialog.ticket-evidence-viewer .ticket-evidence-stage { display:grid; width:100%; height:100%; place-items:center; overflow:auto; touch-action:pan-x pan-y; }
dialog.ticket-evidence-viewer .ticket-evidence-stage img { max-width:100%; max-height:100%; object-fit:contain; transform-origin:center; transition:transform .12s ease-out; }
dialog.ticket-evidence-viewer .ticket-evidence-stage.is-zoomed { place-items:start; }
dialog.ticket-evidence-viewer .ticket-evidence-stage.is-zoomed img { max-width:none; max-height:none; }
@media(max-width:680px){dialog.ticket-evidence-viewer{width:100vw;height:100dvh;border-radius:0}dialog.ticket-evidence-viewer .ticket-evidence-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:8px}dialog.ticket-evidence-viewer .ticket-evidence-toolbar button,dialog.ticket-evidence-viewer .ticket-evidence-toolbar a{width:auto;flex:0 0 auto;min-width:38px;min-height:40px;padding:7px 9px}dialog.ticket-evidence-viewer .ticket-evidence-stage{box-sizing:border-box;padding-block-start:108px}dialog.ticket-evidence-viewer .ticket-evidence-stage img{max-height:calc(100% - 108px)}}
.module-tickets .ticket-manage button { min-height:32px; }
.module-tickets .ticket-thread-host { display:flex; flex:1; min-height:0; flex-direction:column; }
.module-tickets .ticket-thread { display:flex; flex:1; flex-direction:column; gap:12px; }
.module-tickets .ticket-thread-list { display:flex; flex-direction:column; gap:16px; margin-bottom:12px; }
.module-tickets .ticket-message { display:flex; align-items:flex-start; gap:12px; }
.module-tickets .ticket-message-avatar { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:50%; background:var(--ticket-blue-pale); color:#1D4ED8; font-size:12px; font-weight:700; }
.module-tickets .ticket-message-content { min-width:0; flex:1; padding:12px 16px; border-radius:0 12px 12px 12px; background:var(--ticket-subtle); color:var(--ticket-secondary); font-size:13px; }
.module-tickets .ticket-message-content p { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.module-tickets .ticket-message-meta { display:flex; justify-content:space-between; gap:12px; margin-bottom:4px; color:var(--ticket-light); font-size:11px; }
.module-tickets .ticket-message-meta strong { color:var(--ticket-ink); }
.module-tickets .ticket-reply-box { display:flex; min-height:100px; flex:1; flex-direction:column; justify-content:space-between; gap:8px; margin-top:auto; padding:12px; border:1px solid var(--ticket-border); border-radius:12px; background:#fff; box-shadow:var(--ticket-shadow-sm); }
.module-tickets .ticket-reply-box textarea { width:100%; min-height:60px; flex:1; resize:vertical; border:0; outline:0; color:var(--ticket-ink); font-size:13px; }
.module-tickets .ticket-reply-box textarea::placeholder { color:var(--ticket-light); }
.module-tickets .ticket-reply-actions { display:flex; justify-content:flex-end; }
.module-tickets .ticket-private-note { margin:0; color:var(--ticket-muted); font-size:12px; }
.module-tickets #tickets-more { margin-top:12px; }
.module-tickets.ui-active { width:100%; max-width:none; gap:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.module-tickets #tickets-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.module-tickets #tickets-summary>.tickets-ranking { display:none; }
.module-tickets .ticket-filter-fields>label:not(.ticket-search-field) { font-size:0; }
@media(max-width:850px){.module-tickets .ticket-body{grid-template-columns:minmax(0,1fr) 280px}.module-tickets .ticket-body-content,.module-tickets .ticket-body-sidebar{padding:20px}.module-tickets .tickets-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.module-tickets #tickets-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.module-tickets .tickets-heading{padding:20px 16px 0}.module-tickets .tickets-admin-view{padding:0 16px 20px}.module-tickets #tickets-global-list{padding:16px;border-radius:20px}.module-tickets #tickets-filters{align-items:stretch}.module-tickets .ticket-filter-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.module-tickets .ticket-filter-fields .ticket-search-field{grid-column:1/-1;max-width:none}.module-tickets .ticket-filter-fields>label:not(.ticket-search-field){display:grid;grid-template-columns:1fr;gap:4px}.module-tickets .ticket-filter-fields select{width:100%;min-width:0}.module-tickets .ticket-filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.module-tickets .ticket-filter-actions button{width:100%}.module-tickets .ticket-header{align-items:flex-start;gap:8px;padding:14px 12px}.module-tickets .ticket-header-main{gap:10px}.module-tickets .ticket-category-avatar{width:36px;height:36px;flex-basis:36px}.module-tickets .ticket-title{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.module-tickets .ticket-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.module-tickets .ticket-urgency{font-size:11px}.module-tickets .ticket-body{grid-template-columns:minmax(0,1fr)}.module-tickets .ticket-body-content{min-height:310px;border-right:0;border-bottom:1px solid var(--ticket-subtle);padding:16px}.module-tickets .ticket-body-sidebar{gap:16px;padding:16px}.module-tickets .ticket-thread-list{max-height:340px;overflow:auto}.module-tickets #tickets-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.module-tickets .ticket-kpi-ranking{grid-column:1/-1}}
@media(max-width:420px){.module-tickets #tickets-kpis{grid-template-columns:minmax(0,1fr)}.module-tickets .ticket-kpi-ranking{grid-column:auto}.module-tickets .ticket-header-actions{max-width:42%;}.module-tickets .ticket-badge{padding:4px 7px;font-size:10px}.module-tickets .ticket-progress .step-label{font-size:9px}}
#tickets-panel #tickets-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
#tickets-panel #tickets-summary>.tickets-ranking { display:none; }
#tickets-panel #tickets-filters { display:flex!important; }
#tickets-panel #tickets-filters .ticket-filter-fields>label { font-size:0; }
@media(max-width:680px){#tickets-panel #tickets-filters{flex-direction:column}#tickets-panel #tickets-filters-toggle{width:100%;justify-content:flex-start}#tickets-panel .ticket-filter-fields{display:none!important}#tickets-panel .ticket-filter-fields.is-open{display:grid!important}#tickets-panel #tickets-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){#tickets-panel #tickets-kpis{grid-template-columns:minmax(0,1fr)}}

/* TICKETS: icono de búsqueda y proporción del input del diseño aprobado. */
.module-tickets .ticket-search-field { position:relative; }
.module-tickets .ticket-search-field input { padding-left:34px; }
.module-tickets .ticket-search-icon { position:absolute; top:50%; left:12px; display:grid; width:16px; height:16px; transform:translateY(-50%); color:var(--ticket-light); pointer-events:none; }
.module-tickets .ticket-search-icon svg { display:block; width:16px; height:16px; }
.pergola-document-settings{display:grid;gap:.8rem;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--surface-muted,#f8fafc)}.pergola-document-settings__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pergola-document-settings__heading h6{margin:0;color:var(--text-primary);font-size:.9rem}.pergola-document-count{color:var(--text-secondary);font-size:.75rem;text-align:right}.pergola-document-message{width:100%;min-height:7rem;padding:.75rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface);color:var(--text-primary);font:inherit;line-height:1.5;resize:vertical}.pergola-document-actions,.pergola-document-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.pergola-document-file{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pergola-document-list{display:grid;gap:.5rem}.pergola-document-row{padding:.65rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface)}.pergola-document-row strong{min-width:0;overflow-wrap:anywhere}.pergola-document-row small{color:var(--text-secondary)}.pergola-document-row a{font-size:.8rem;font-weight:650}.pergola-document-feedback{min-height:1.2em;margin:0;color:var(--text-secondary);font-size:.8rem}.pergola-email-preview{width:min(760px,calc(100vw - 2rem));height:min(850px,calc(100dvh - 2rem));padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.pergola-email-preview::backdrop{background:rgb(15 23 42 / .55)}.pergola-email-preview iframe{width:100%;height:calc(100% - 3.2rem);margin-top:.75rem;border:1px solid var(--border);border-radius:.6rem;background:#fff}@media(max-width:600px){.pergola-document-settings{padding:.75rem}.pergola-document-settings__heading{align-items:flex-start;flex-direction:column}.pergola-document-count{text-align:left}.pergola-document-row{align-items:flex-start}.pergola-document-row strong{flex:1 1 100%}.pergola-document-actions>*{flex:1 1 auto}.pergola-email-preview{padding:.65rem}}
/* Reservas · Configuración de amenidades: estructura de la plantilla maestra. */
.module-pergola .pergola-amenities{max-width:none;padding:1.25rem;border-radius:.75rem;background:#fff}
.module-pergola .pergola-amenity-records{padding:1.25rem 0 0;border:0;border-top:1px solid #e2e8f0;border-radius:0;background:#fff}
.module-pergola .pergola-amenity-list{gap:1.75rem}
.module-pergola .pergola-amenity-card{display:block;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0f172a0d;overflow:hidden}
.module-pergola .pergola-amenity-card.has-unsaved{border-color:#d97706;box-shadow:0 0 0 2px #d977061f}
.module-pergola .pergola-amenity-card>header{padding:1rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.module-pergola .pergola-amenity-card>header>div{gap:.875rem}
.module-pergola .pergola-amenity-card>header>div>div{display:grid;gap:.15rem;min-width:0}
.module-pergola .pergola-amenity-card h5{font-size:1.05rem;font-weight:700}
.module-pergola .pergola-amenity-card header small{color:#64748b;font-size:.75rem;white-space:normal}
.module-pergola .pergola-amenity-body{padding:1.5rem}
.module-pergola .pergola-amenity-card__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem 1rem;padding:0}
.module-pergola .pergola-amenity-card__fields>label:nth-child(2){grid-column:2;grid-row:1/span 2}
.module-pergola .pergola-amenity-card__fields>label:nth-child(2) textarea{min-height:7.75rem}
.module-pergola .pergola-amenity-card>.pergola-amenity-policy{margin:0}
.module-pergola .pergola-amenity-card__fields .pergola-amenity-policy{grid-column:1;display:flex;align-items:end;gap:.5rem;margin:0;padding:.7rem;border:1px solid #e2e8f0;border-radius:.65rem;background:#f8fafc}
.module-pergola .pergola-amenity-card__fields .pergola-amenity-policy>label:first-child{flex:1;min-width:0}
.module-pergola .pergola-amenity-card__fields .pergola-amenity-policy>label:last-child{display:flex;align-items:center;gap:.3rem;padding:.55rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;white-space:nowrap}
.module-pergola .pergola-amenity-card__fields .pergola-amenity-availability{grid-column:1/-1;margin-top:.25rem}
.module-pergola .pergola-amenity-card .pergola-amenity-availability>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.module-pergola .pergola-amenity-card .pergola-amenity-option{border:1px solid #e2e8f0;border-radius:.6rem;padding:.75rem;background:#fff}
.module-pergola .pergola-amenity-card .pergola-amenity-option:has(input:checked){border-color:#93c5fd;background:#eff6ff}
.module-pergola .pergola-document-settings{display:block;margin-top:1.5rem;padding:0;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;overflow:hidden}
.module-pergola .pergola-document-settings__heading{display:flex;flex-wrap:wrap;gap:.75rem;padding:.875rem 1.25rem;border-left:4px solid #2563eb;border-bottom:1px solid #e2e8f0;background:linear-gradient(90deg,#eff6ff,#f8fafc)}
.module-pergola .pergola-document-settings__heading h6{font-weight:700;font-size:.9rem}
.module-pergola .pergola-document-count{padding:.25rem .55rem;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#2563eb;font-weight:700}
.module-pergola .pergola-document-content{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem;padding:1.25rem}
.module-pergola .pergola-document-subcard{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;min-width:0;padding:1.125rem;border:1px solid #e2e8f0;border-radius:.7rem;background:#fff}
.module-pergola .pergola-document-subcard>label,.module-pergola .pergola-document-subcard>strong{font-size:.8rem;font-weight:700;color:#334155}
.module-pergola .pergola-document-subcard>small{color:#64748b;font-size:.75rem}
.module-pergola .pergola-email-legend{margin:0;padding:.65rem .75rem;border:1px solid #e2e8f0;border-radius:.55rem;background:#f8fafc;color:#64748b;font-size:.75rem}
.module-pergola .pergola-coherence-warning{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.65rem .85rem;border:1px solid #fde68a;border-radius:.55rem;background:#fffbeb;color:#b45309;font-size:.75rem}
.module-pergola .pergola-coherence-warning[hidden]{display:none}
.module-pergola .pergola-document-list{display:grid;width:100%;gap:.625rem}
.module-pergola .pergola-document-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.625rem;padding:.75rem .875rem;border:1px solid #e2e8f0;border-radius:.65rem;background:#fff}
.module-pergola .pergola-document-row.is-inactive{border-style:dashed;background:#f8fafc}
.module-pergola .pergola-document-info{display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:10rem}
.module-pergola .pergola-document-info>div{display:grid;gap:.2rem;min-width:0}
.module-pergola .pergola-document-info strong{font-size:.8125rem;overflow-wrap:anywhere}
.module-pergola .pergola-document-info small{font-size:.72rem;color:#64748b}
.module-pergola .pergola-pdf-badge{padding:.55rem;border-radius:.5rem;background:#fff1f2;color:#e11d48;font-size:.65rem;font-weight:800}
.module-pergola .pergola-document-row-actions{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.module-pergola .pergola-document-row-actions :is(button,a){display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .45rem;border:1px solid #e2e8f0;border-radius:.35rem;background:#fff;color:#475569;font-size:.72rem;text-decoration:none}
.module-pergola .pergola-document-row-actions button:last-child{color:#e11d48;border-color:#fecdd3}
.module-pergola .pergola-document-empty{width:100%;padding:1.25rem;border:1px dashed #cbd5e1;border-radius:.65rem;text-align:center;color:#64748b;font-size:.8rem}
.module-pergola .pergola-amenity-card>footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0}
.module-pergola .pergola-amenity-card.has-unsaved>footer{background:#fffbeb;border-color:#fde68a}
.module-pergola .pergola-save-status{font-size:.75rem;color:#64748b}
.module-pergola .pergola-footer-actions{display:flex;flex-wrap:wrap;gap:.625rem}
@media(max-width:768px){.module-pergola .pergola-document-content{grid-template-columns:1fr}.module-pergola .pergola-amenity-card__fields{grid-template-columns:1fr}.module-pergola .pergola-amenity-card__fields>label:nth-child(2){grid-column:1;grid-row:auto}.module-pergola .pergola-amenity-card__fields .pergola-amenity-policy{grid-column:1}.module-pergola .pergola-amenity-card .pergola-amenity-availability>div{grid-template-columns:1fr}}
@media(max-width:390px){.module-pergola .pergola-amenity-body{padding:1rem}.module-pergola .pergola-document-content{padding:.75rem}.module-pergola .pergola-document-subcard{padding:.8rem}.module-pergola .pergola-footer-actions,.module-pergola .pergola-footer-actions button{width:100%}}

.module-pergola .pergola-amenity-card__fields .pergola-amenity-policy[hidden]{display:none}

.module-pergola .pergola-amenities-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.625rem}
.module-pergola #pergola-amenity-create[hidden]{display:none!important}
@media(max-width:47.5rem){.module-pergola .pergola-amenity-card>footer{flex-direction:column;align-items:stretch}.module-pergola .pergola-footer-actions{width:100%}}
.module-pergola #pergola-amenity-create.pergola-amenity-create.ui-form[hidden]{display:none!important}
.module-finance .finance-adjustment-card{position:relative;grid-template-columns:minmax(0,1fr) auto auto}
.module-finance .finance-adjustment-detail{grid-column:3;grid-row:1;align-self:start}
.module-finance .finance-adjustment-detail summary{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#2563eb;cursor:pointer;list-style:none}
.module-finance .finance-adjustment-detail summary::-webkit-details-marker{display:none}
.module-finance .finance-adjustment-detail summary:hover{background:#eff6ff}
.module-finance .finance-adjustment-detail summary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.module-finance .finance-adjustment-detail summary svg{width:1rem;height:1rem}
.module-finance .finance-adjustment-detail[open]{grid-column:1/-1;grid-row:auto}
.module-finance .finance-adjustment-detail[open] summary{margin-left:auto}
.module-finance .finance-adjustment-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.65rem 0 0;padding:.75rem;border:1px solid #dbeafe;border-radius:.6rem;background:#fff}
.module-finance .finance-adjustment-detail dl>div{min-width:0}
.module-finance .finance-adjustment-detail dt{color:#64748b;font-size:.7rem;font-weight:600}
.module-finance .finance-adjustment-detail dd{margin:.15rem 0 0;color:#0f172a;font-size:.8rem;overflow-wrap:anywhere}
.module-finance .finance-adjustment-origin{display:grid;gap:.45rem;margin:.65rem 0 0;padding:.75rem;border:1px solid #e2e8f0;border-radius:.6rem;background:#f8fafc}
.module-finance .finance-adjustment-origin p{margin:0;color:#64748b;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.module-finance .finance-adjustment-origin .finance-document-missing{justify-self:start;white-space:normal}
@media (max-width:600px){.module-finance .finance-adjustment-detail dl{grid-template-columns:minmax(0,1fr)}}
