/* Estado de fuerza: menú partido + listas accionables. Sin dashboards narrativos. */
#efHub{--ef-ink:#241f24;--ef-muted:#746e76;--ef-line:#e3dedb;--ef-card:#fff;--ef-soft:#edf5f2;--ef-accent:#1e7a6b;--ef-guinda:#8f1630;display:flex;gap:0;min-height:calc(100vh - 88px);color:var(--ef-ink);font-family:Arial,Helvetica,sans-serif}
#efHub *{box-sizing:border-box}
#efHub button,#efHub input,#efHub select,#efHub textarea{font:inherit}
#efHub button:focus-visible,#efHub a:focus-visible,#efHub input:focus-visible,#efHub select:focus-visible{outline:3px solid #247b9c;outline-offset:2px}
.ef-side{width:220px;flex:0 0 220px;background:#1a1113;color:#f3e9ea;padding:12px 10px 20px;display:flex;flex-direction:column;gap:14px}
.ef-ver,.ef-ver-main,.ef-kicker{margin:0;font-size:11px;line-height:1.4;font-weight:700}
.ef-ver{color:#c9a9ae;padding:4px 8px 8px}
.ef-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 12px}
.ef-kicker{letter-spacing:.04em;text-transform:uppercase;color:#5c565c}
.ef-ver-main{color:#1e7a6b}
.ef-block{border:1px solid #3a2a2e;border-radius:10px;padding:8px 8px 10px}
.ef-block h2{margin:0 0 8px;padding:6px 8px 0;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#c9a9ae;font-weight:700}
.ef-block a,.ef-block button.ef-nav{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#f3e9ea;text-align:left;text-decoration:none;cursor:pointer;font-size:13px;font-weight:600}
.ef-block a[aria-current=page],.ef-block button.ef-nav[aria-current=page]{background:#1e7a6b;color:#fff}
.ef-main{flex:1;min-width:0;padding:14px 16px 28px;background:#f4f2f1}
.ef-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.ef-chip{min-height:44px;min-width:44px;padding:10px 16px;border-radius:999px;border:1px solid #d5cfd0;background:#fff;color:#2c262c;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ef-chip.ef-primary{background:#1e7a6b;border-color:#1e7a6b;color:#fff}
.ef-chip:disabled{opacity:.5;cursor:wait}
span.ef-chip.sin{cursor:default;background:#f4f1f2;color:#6a6368;border-color:#e3dedb;min-width:auto}
.ef-help{margin:0 0 10px;font-size:12px;color:var(--ef-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ef-list{display:flex;flex-direction:column;gap:8px}
.ef-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:56px;padding:8px 12px;background:var(--ef-card);border:1px solid var(--ef-line);border-radius:10px}
.ef-row>div{min-width:0;overflow:hidden}
.ef-row b{font-size:14px;font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ef-row small{display:block;color:var(--ef-muted);font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ef-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;background:#f0edef;color:#6b5d69;white-space:nowrap}
.ef-pill.bad{background:#fbecef;color:#a21d36}
.ef-pill.warn{background:#fbf1db;color:#8c6519}
.ef-pill.ok{background:#eaf4ef;color:#176a57}
.ef-cta{min-height:44px;padding:8px 14px;border-radius:8px;border:1px solid #1e7a6b;background:#1e7a6b;color:#fff;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.ef-cta.ghost{background:#fff;color:#1e7a6b}
.ef-empty,.ef-error{padding:28px 16px;text-align:center;background:#fff;border:1px solid var(--ef-line);border-radius:10px}
.ef-empty b,.ef-error b{display:block;margin-bottom:8px}
.ef-error{background:#fff0f0;border-color:#ebc1c7;color:#8c1830}
.ef-more{margin-top:14px;border:1px solid var(--ef-line);border-radius:10px;background:#fff;padding:4px 10px}
.ef-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;font-size:13px}
.ef-more .ef-more-body{padding:0 0 12px}
.ef-drawer{position:fixed;inset:0;z-index:3000;display:flex;justify-content:flex-end;background:#24182066}
.ef-panel{width:min(420px,100%);height:100%;background:#f7f4f2;box-shadow:-12px 0 40px #21142133;display:flex;flex-direction:column}
/* El cajón no es el aside de navegación que la app desplaza fuera de pantalla. */
.ef-drawer>.ef-panel{position:relative;inset:auto;transform:none;flex:0 0 auto;max-width:100%;margin:0;padding:0;overflow:auto}
.ef-panel header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;background:#fff;border-bottom:1px solid var(--ef-line)}
.ef-panel header b{font-size:16px}
.ef-panel .ef-body{padding:14px 16px;overflow:auto;flex:1}
.ef-panel label{display:block;font-size:11px;font-weight:700;color:var(--ef-muted);margin:0 0 10px}
.ef-panel input,.ef-panel select,.ef-panel textarea{width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border:1px solid #dfd9d8;border-radius:8px;background:#fff}
.ef-panel textarea{min-height:88px}
.ef-acts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ef-toast{position:fixed;right:16px;bottom:16px;z-index:90;min-height:44px;padding:10px 16px;border-radius:10px;background:#1e7a6b;color:#fff;font-weight:700;font-size:13px;box-shadow:0 8px 24px #1a111355}
.ef-toast.bad{background:#8f1630}
.ef-row.done{opacity:.45}
@media(max-width:800px){
  #efHub{flex-direction:column;min-height:0}
  .ef-side{width:100%;flex:none;flex-direction:row;overflow-x:auto;padding:8px;gap:8px}
  .ef-block{flex:1 0 180px}
  .ef-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who cta" "st cta"}
  .ef-row>div{grid-area:who}
  .ef-pill{grid-area:st}
  .ef-cta,.ef-row .ef-chip.sin{grid-area:cta}
  .ef-help{white-space:normal}
  .ef-panel{width:100%}
}
@media(max-width:650px){
  .ef-row{grid-template-columns:1fr;grid-template-areas:"who" "st" "cta"}
  .ef-cta,.ef-row .ef-chip.sin{width:100%}
  .ef-drawer{align-items:stretch}
  .ef-panel{width:100%;max-width:none;height:100%}
}
