/* ===========================================================================
   DIÁLOGOS DE MENÚ (fase 5) — Clientes, Compartir imagen, Docs (+correo),
   lector QR y Acciones (calendario). Puerto de customer_dialog /
   share_image_dialog / share_docs_dialog / qr_scan_dialog / acciones_dialog.
   =========================================================================== */

/* ---------- básicos compartidos ---------- */
.mdlg {
  background: #fff;
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
  color: #1C2230;
}
.fld-label { margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #1C2230; display: flex; gap: 2px; }
.fld-label .req { color: #D6453D; }
.fld {
  width: 100%;
  font-family: inherit;
  font-size: 15.5px;
  color: var(--navy);
  background: #fff;
  border: 1px solid #D8DBE0;
  border-radius: 10px;
  padding: 12px 14px;
  outline: none;
  resize: none;
}
.fld:focus { border-color: var(--blue); }
.fld::placeholder { color: #9AA1AB; }
.fld-search { display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 10px; background: #fff; border: 1px solid #D8DBE0; border-radius: 10px; }
.fld-search input { flex: 1; min-width: 0; border: 0; outline: none; font: inherit; font-size: 14.5px; color: var(--navy); background: transparent; }
.fld-search .material-symbols-outlined { color: #5E6671; }

.chk { width: 20px; height: 20px; border: 1.6px solid #D8DBE0; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; color: transparent; flex: none; background: #fff; }
.chk.on { background: var(--blue); border-color: var(--blue); color: #fff; }

.msg-ok { color: #2E9E5B; font-size: 14px; font-weight: 600; }
.msg-err { color: #D6453D; font-size: 13.5px; font-weight: 600; }

/* ---------- CLIENTES ---------- */
.cust-dialog { width: min(560px, calc(100vw - 60px)); max-height: calc(100vh - 60px); overflow-y: auto; padding: 22px 26px 24px; }
.cust-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.cust-head .t { flex: 1; font-size: 22px; font-weight: 700; }
.cust-chips { display: flex; gap: 14px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #E2E4E9; }
.cust-chip {
  flex: 1;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #FAFBFC;
  border: 1px solid #E2E4E9;
  border-radius: 10px;
  font-size: 15.5px;
  font-weight: 600;
  cursor: pointer;
}
.cust-chip.red { color: #D6453D; }
.cust-search { margin-bottom: 18px; padding: 12px; background: #FAFBFC; border: 1px solid #E2E4E9; border-radius: 10px; }
.cust-results { max-height: 190px; overflow-y: auto; margin-top: 8px; }
.cust-row { display: flex; align-items: center; gap: 12px; padding: 8px 10px; cursor: pointer; border-top: 1px solid #E2E4E9; }
.cust-row:first-child { border-top: 0; }
.cust-row .avatar { width: 32px; height: 32px; border-radius: 50%; background: rgba(30, 150, 255, 0.12); color: var(--blue); font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none; }
.cust-row .cn { font-size: 15px; font-weight: 600; }
.cust-row .ce { font-size: 12.5px; color: #5E6671; }
.cust-field { margin-bottom: 16px; }
.cust-actions { margin-top: 22px; display: flex; justify-content: flex-end; gap: 14px; }
.btn-save { background: #33475E; border-color: #33475E; color: #fff; font-weight: 700; }

/* ---------- COMPARTIR IMAGEN ---------- */
.shimg-dialog { width: min(860px, calc(100vw - 60px)); height: clamp(420px, calc(100vh - 110px), 660px); padding: 24px 28px; display: flex; gap: 26px; }
.shimg-left { flex: 42; min-width: 0; display: flex; flex-direction: column; }
.shimg-right { flex: 50; min-width: 0; display: flex; flex-direction: column; }
.shimg-title { height: 34px; font-size: 23px; font-weight: 700; display: flex; align-items: center; }
.shimg-sub { height: 42px; margin-top: 8px; font-size: 14px; color: #5E6671; line-height: 1.4; }
.shimg-preview {
  flex: 1;
  min-height: 0;
  margin-top: 16px;
  position: relative;
  background: #fff;
  border: 1px solid #E2E4E9;
  border-radius: 12px;
  overflow: hidden;
  touch-action: none;
}
.shimg-preview img { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); object-fit: contain; transform-origin: center; user-select: none; -webkit-user-drag: none; }
.shimg-preview .lens {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #E2E4E9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--navy);
  cursor: ns-resize;
  touch-action: none;
}
.shimg-scroll { flex: 1; min-height: 0; overflow-y: auto; margin-top: 16px; }
.shimg-list { border: 1px solid #E2E4E9; border-radius: 10px; margin-top: 10px; overflow: hidden; }
.shimg-list .rows { max-height: 215px; overflow-y: auto; }
.shimg-crow { display: flex; align-items: center; gap: 12px; padding: 9px 12px; cursor: pointer; border-top: 1px solid #E2E4E9; }
.shimg-crow:first-child { border-top: 0; }
.shimg-crow .cn { font-size: 14.5px; font-weight: 700; }
.shimg-crow .ce { font-size: 12.5px; color: #5E6671; }
.shimg-count { display: flex; align-items: center; padding: 8px 12px; border-top: 1px solid #E2E4E9; font-size: 13.5px; font-weight: 700; }
.shimg-count .clear { margin-left: auto; color: var(--blue); cursor: pointer; }
.li-box { margin-top: 14px; padding: 12px; border: 1px solid #E2E4E9; border-radius: 10px; }
.li-box .li-head { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.li-box .li-pill { margin-top: 10px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: #F5F7FA; border-radius: 8px; font-size: 13.5px; }
.li-box .li-pill img { width: 24px; height: 24px; border-radius: 5px; }
.li-box .m-label { margin: 14px 0 7px; font-size: 14px; font-weight: 700; }
.li-box .counter { margin-top: 4px; text-align: right; font-size: 11.5px; color: #9AA1AB; }
.shimg-actions { margin-top: 12px; display: flex; justify-content: flex-end; gap: 12px; }

/* ---------- DOCS ---------- */
.docs-dialog { padding: 22px 28px 20px; display: flex; flex-direction: column; }
.docs-head { display: flex; align-items: flex-start; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid #E2E4E9; margin-bottom: 18px; }
.docs-head .grow { flex: 1; min-width: 0; }
.docs-head .t1 { font-size: 21px; font-weight: 700; }
.docs-head .t2 { margin-top: 4px; font-size: 13.5px; color: #5E6671; }
.btn-update { display: flex; align-items: center; gap: 6px; padding: 11px 16px; border: 1.3px solid var(--blue); border-radius: 10px; background: #fff; color: var(--blue); font-size: 13.5px; font-weight: 700; }
.docs-body { display: flex; gap: 26px; }
.docs-left { flex: 58; min-width: 0; display: flex; flex-direction: column; }
.docs-right { flex: 42; min-width: 0; display: flex; flex-direction: column; }
.docs-toolbar { display: flex; gap: 8px; }
.btn-qr { display: flex; align-items: center; gap: 6px; height: 46px; padding: 0 14px; border: 1px solid #D8DBE0; border-radius: 10px; background: #fff; font-size: 13.5px; font-weight: 700; color: #1C2230; }
.docs-area { flex: 1; min-height: 0; margin-top: 12px; display: flex; flex-direction: column; }
.doc-shortcuts { margin-bottom: 14px; }
.doc-shortcuts .sc-title { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 800; color: #5E6671; margin-bottom: 8px; }
.doc-shortcuts .sc-strip { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.doc-shortcuts .sc-strip::-webkit-scrollbar { display: none; }
.sc-pill { display: flex; align-items: center; flex: none; background: rgba(30, 150, 255, 0.08); border: 1px solid #E2E4E9; border-radius: 20px; }
.sc-pill .open { display: flex; align-items: center; gap: 7px; padding: 8px 6px 8px 13px; cursor: pointer; font-size: 12.5px; font-weight: 600; }
.sc-pill .x { padding: 8px 11px 8px 2px; cursor: pointer; color: #5E6671; display: flex; }
.cat-grid { flex: 1; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: center; }
.cat-btn { height: 100px; display: flex; align-items: center; gap: 14px; padding: 0 16px; background: #fff; border: 1.3px solid #E2E4E9; border-radius: 16px; cursor: pointer; }
.cat-btn .ci { width: 54px; height: 54px; border-radius: 14px; background: rgba(30, 150, 255, 0.12); color: var(--blue); display: flex; align-items: center; justify-content: center; flex: none; }
.cat-btn .cl { flex: 1; min-width: 0; }
.cat-btn .cl .a { font-size: 17.5px; font-weight: 800; line-height: 1.15; }
.cat-btn .cl .b { margin-top: 5px; font-size: 13px; color: #5E6671; }
.docs-backbar { display: flex; align-items: center; gap: 9px; padding: 2px 6px 12px 2px; }
.docs-backbar .back { padding: 6px; cursor: pointer; display: flex; }
.docs-backbar .bt { flex: 1; min-width: 0; font-size: 17px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.docs-backbar .bc { font-size: 13px; color: #5E6671; }
.doc-list { flex: 1; min-height: 0; overflow-y: auto; border: 1px solid #E2E4E9; border-radius: 12px; }
.doc-row { display: flex; align-items: center; gap: 10px; padding: 9px 4px 9px 10px; border-top: 1px solid #E2E4E9; cursor: pointer; }
.doc-row:first-child { border-top: 0; }
.doc-row.sel { background: rgba(30, 150, 255, 0.10); }
.doc-row .dn { font-size: 14.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc-row.sel .dn { color: var(--blue); }
.doc-row .ds { margin-top: 2px; font-size: 12px; color: #5E6671; }
.doc-row .grow { flex: 1; min-width: 0; }
.doc-row .act { padding: 6px; cursor: pointer; color: #5E6671; display: flex; flex: none; }
.doc-row .act.pin.on { color: var(--blue); }
.docs-cust-list { flex: 1; min-height: 0; overflow-y: auto; margin-top: 10px; border: 1px solid #E2E4E9; border-radius: 10px; }
.docs-crow { display: flex; align-items: center; gap: 12px; padding: 7px 12px; cursor: pointer; border-top: 1px solid #E2E4E9; font-size: 14.5px; font-weight: 700; }
.docs-crow:first-child { border-top: 0; }
.docs-selchips { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.sel-chip { display: flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1.2px solid var(--blue); border-radius: 9px; color: var(--blue); font-size: 13px; font-weight: 600; }
.sel-chip .x { cursor: pointer; display: flex; }
.docs-foot { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #E2E4E9; }
.docs-foot .lbl { font-size: 14.5px; font-weight: 600; }
.docs-foot .grow { flex: 1; min-width: 0; }

/* correo de documentos */
.docmail-dialog { width: min(560px, calc(100vw - 60px)); max-height: calc(100vh - 60px); overflow: hidden; display: flex; flex-direction: column; border-radius: 18px; background: #fff; }
.docmail-head { display: flex; align-items: center; gap: 12px; padding: 18px 12px 14px 22px; border-bottom: 1px solid #D8DBE0; }
.docmail-head .t { flex: 1; font-size: 19px; font-weight: 700; }
.docmail-body { padding: 16px 22px; overflow-y: auto; }
.doc-picker { border: 1px solid #D8DBE0; border-radius: 10px; overflow-y: auto; }
.pk-cat { display: flex; align-items: center; gap: 10px; padding: 11px 10px 11px 12px; background: #F7F8FA; border-bottom: 1px solid #D8DBE0; cursor: pointer; }
.pk-cat .n { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 700; }
.pk-cat .badge { padding: 3px 8px; border-radius: 20px; background: #EDEFF2; color: #5E6671; font-size: 11.5px; font-weight: 700; }
.pk-cat .badge.on { background: rgba(30, 150, 255, 0.12); color: var(--blue); }
.pk-row { display: flex; align-items: center; gap: 9px; padding: 9px 12px 9px 22px; cursor: pointer; }
.pk-row.on { background: rgba(30, 150, 255, 0.08); }
.pk-row .n { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pk-row.on .n { color: var(--blue); }
.pk-row .sz { font-size: 11.5px; color: #5E6671; }
.rc-chip { padding: 7px 12px; border-radius: 20px; background: rgba(30, 150, 255, 0.10); color: var(--blue); font-size: 13px; font-weight: 600; }
.docmail-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px 18px; border-top: 1px solid #D8DBE0; }

/* ---------- LECTOR QR ---------- */
.qr-dialog { width: min(520px, calc(100vw - 80px)); padding: 18px 22px 20px; border-radius: 20px; }
.qr-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.qr-head .badge { width: 42px; height: 42px; border-radius: 12px; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
.qr-head .t { flex: 1; font-size: 18px; font-weight: 800; color: var(--navy); }
.qr-view { position: relative; height: 280px; border-radius: 16px; overflow: hidden; background: #11161F; }
.qr-view video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.qr-view .veil { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.13); }
.qr-frame { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.qr-frame i { position: absolute; background: #fff; }
.qr-frame.done i { background: #2BA86A; }
.qr-scanline { position: absolute; left: 6px; right: 6px; height: 2.5px; border-radius: 2px; background: var(--blue); box-shadow: 0 0 8px rgba(30, 150, 255, 0.55); animation: qr-scan 1400ms ease-in-out infinite alternate; }
.qr-frame.done .qr-scanline { background: #2BA86A; box-shadow: 0 0 8px rgba(43, 168, 106, 0.55); animation-play-state: paused; }
@keyframes qr-scan { from { top: 6px; } to { top: calc(100% - 8.5px); } }
.qr-check { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #2BA86A; }
.qr-error { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; color: rgba(255, 255, 255, 0.7); font-size: 13px; font-weight: 600; text-align: center; }
.qr-hint { margin-top: 14px; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--navy-soft); }
.qr-hint.done { color: #2BA86A; }
.qr-success { height: 150px; border-radius: 16px; background: #EFFAF3; border: 1px solid rgba(43, 168, 106, 0.30); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: #1E7A4F; font-size: 15px; font-weight: 800; }
.qr-choice { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.qr-choice .prompt { font-size: 13.5px; font-weight: 600; color: var(--navy-soft); margin-bottom: 2px; }
.qr-choice-btn { height: 50px; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: 12px; font-size: 14.5px; font-weight: 700; cursor: pointer; border: 1px solid var(--divider); background: #fff; color: var(--navy); }
.qr-choice-btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; }

/* ---------- ACCIONES (calendario) ---------- */
.act-panel { position: absolute; left: 50%; transform: translateX(-50%); top: 114px; background: #fff; border-radius: 20px; box-shadow: var(--soft-shadow); display: flex; flex-direction: column; overflow: hidden; transition: width 260ms ease, height 260ms ease; }
.act-head { display: flex; align-items: flex-start; gap: 14px; padding: 22px 18px 12px 28px; flex: none; }
.act-head .badge { width: 44px; height: 44px; border-radius: 13px; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
.act-head .t1 { font-size: 23px; font-weight: 800; color: #1C2230; }
.act-head .t2 { margin-top: 3px; font-size: 13px; color: #6B7280; }
.act-head .grow { flex: 1; min-width: 0; }
.act-body { flex: 1; min-height: 0; padding: 2px 24px 6px; display: flex; }
.act-cal { flex: 44; min-width: 0; display: flex; flex-direction: column; }
.act-sep { width: 1px; margin: 0 22px; background: #E2E4E9; flex: none; }
.act-detail { flex: 56; min-width: 0; overflow-y: auto; }
.act-nav { display: flex; align-items: center; }
.act-nav .m { flex: 1; text-align: center; font-size: 16.5px; font-weight: 800; color: #1C2230; }
.nav-btn { width: 34px; height: 34px; border-radius: 10px; background: #F7F8FA; border: 1px solid #E2E4E9; display: flex; align-items: center; justify-content: center; color: #1C2230; cursor: pointer; flex: none; }
.act-grid { flex: 1; min-height: 0; margin-top: 8px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }
.act-wk { display: flex; }
.act-wk span { display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #6B7280; height: 22px; }
.act-wk span.we { color: #B0B6C0; }
.day-cell { padding: 1.5px; cursor: pointer; }
.day-cell .in { width: 100%; height: 100%; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: #1C2230; position: relative; }
.day-cell.out { cursor: default; }
.day-cell.out .in { color: #C4C9D2; }
.day-cell.sel .in { box-shadow: inset 0 0 0 2.5px var(--navy); }
.day-cell .today-badge { border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; }
.act-legend { height: 20px; margin-top: 10px; display: flex; gap: 14px; overflow-x: auto; scrollbar-width: none; align-items: center; flex: none; }
.act-legend::-webkit-scrollbar { display: none; }
.act-legend .li { display: flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: #6B7280; flex: none; }
.act-legend .dot { width: 9px; height: 9px; border-radius: 50%; }

.act-datehead { display: flex; align-items: flex-start; gap: 10px; }
.act-datehead .d { flex: 1; font-size: 18px; font-weight: 800; color: #1C2230; }
.status-chip { padding: 5px 11px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.act-chips-title { margin-top: 14px; font-size: 12.5px; font-weight: 700; color: #6B7280; }
.act-chips { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px; }
.act-chip { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 10px; border: 1.2px solid #E2E4E9; background: #fff; font-size: 12.5px; font-weight: 700; color: #1C2230; cursor: pointer; max-width: 240px; }
.act-chip .dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.act-chip .tx { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.act-card { margin-top: 14px; background: #F7F8FA; border: 1px solid #E2E4E9; border-radius: 16px; padding: 16px 18px 18px; }
.act-badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.type-badge { display: flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 8px; color: #fff; font-size: 12.5px; font-weight: 700; }
.prio-pill { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 8px; background: #fff; font-size: 12px; font-weight: 700; }
.custom-badge { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 8px; background: #fff; border: 1px solid #E2E4E9; color: #6B7280; font-size: 12px; font-weight: 700; }
.act-title { margin-top: 12px; font-size: 19px; font-weight: 800; color: #1C2230; }
.act-desc { margin-top: 8px; font-size: 13.5px; line-height: 1.4; color: #53607A; }
.meta-grid { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.meta-cell .k { display: flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; color: #6B7280; }
.meta-cell .v { margin-top: 3px; font-size: 13.5px; font-weight: 700; color: #1C2230; }
.reminder-card { margin-top: 18px; background: #fff; border: 1px solid #E2E4E9; border-radius: 12px; padding: 12px 12px 14px 14px; }
.reminder-card .rr { display: flex; align-items: center; gap: 10px; }
.reminder-card .rt { font-size: 14px; font-weight: 700; color: #1C2230; }
.reminder-card .rd { margin-top: 2px; font-size: 12px; color: #6B7280; }
.reminder-card .row2 { margin-top: 12px; display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: #6B7280; }
.reminder-card select { flex: 1; min-width: 0; font: inherit; font-size: 13.5px; font-weight: 700; color: #1C2230; background: #F7F8FA; border: 1px solid #E2E4E9; border-radius: 9px; padding: 8px 12px; outline: none; }
.btn-act { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; font-weight: 700; cursor: pointer; border: 1px solid #E2E4E9; background: #fff; color: #1C2230; padding: 12px 18px; font-size: 13.5px; }
.btn-act.blue { background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 800; }
.btn-act.navy { background: var(--navy); border-color: var(--navy); color: #fff; font-weight: 800; }
.btn-act.wide { width: 100%; padding: 14px; font-size: 15.5px; border-radius: 12px; }
.btn-act.danger { border-color: #F04438; color: #F04438; }
.act-hint { margin-top: 7px; display: flex; align-items: center; gap: 6px; font-size: 12px; color: #6B7280; }
.act-empty { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; gap: 8px; }
.act-empty .circ { width: 64px; height: 64px; border-radius: 50%; background: #F7F8FA; border: 1px solid #E2E4E9; display: flex; align-items: center; justify-content: center; color: #6B7280; margin-bottom: 8px; }
.act-foot { display: flex; align-items: center; gap: 10px; padding: 12px 24px 16px 28px; border-top: 1px solid #E2E4E9; flex: none; font-size: 13px; font-weight: 600; color: #6B7280; }
.act-foot .grow { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; }

/* editor de eventos */
.mgr-bar { display: flex; align-items: center; gap: 12px; }
.mgr-bar .tt { flex: 1; min-width: 0; }
.mgr-bar .a { font-size: 17px; font-weight: 800; color: #1C2230; }
.mgr-bar .b { margin-top: 2px; font-size: 12.5px; color: #6B7280; }
.mgr-body { flex: 1; min-height: 0; margin-top: 10px; display: flex; }
.mgr-form { flex: 54; min-width: 0; display: flex; flex-direction: column; }
.mgr-fields { flex: 1; min-height: 0; overflow-y: auto; }
.form-label { margin: 14px 0 6px; font-size: 12.5px; font-weight: 700; color: #6B7280; }
.form-label:first-child { margin-top: 0; }
.date-pill { display: inline-flex; align-items: center; gap: 8px; padding: 11px 14px; background: #F7F8FA; border: 1.2px solid #E2E4E9; border-radius: 10px; font-size: 13.5px; font-weight: 700; color: #1C2230; }
.fld-soft { background: #F7F8FA; border: 1.2px solid #E2E4E9; border-radius: 10px; padding: 12px; font: inherit; font-size: 14.5px; font-weight: 600; color: #1C2230; width: 100%; outline: none; resize: none; }
.fld-soft:focus { border-color: var(--blue); }
.pick-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 9px; border: 1.2px solid #E2E4E9; background: #fff; font-size: 12px; font-weight: 700; color: #1C2230; cursor: pointer; max-width: 210px; }
.pick-chip .dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.pick-chip .tx { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stepper { display: flex; align-items: center; }
.stepper .sb { width: 32px; height: 32px; border-radius: 8px; background: #F7F8FA; border: 1px solid #E2E4E9; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #1C2230; }
.stepper .sv { width: 84px; text-align: center; font-size: 14px; font-weight: 800; color: #1C2230; }
.confirm-del { display: flex; align-items: center; gap: 8px; padding: 10px 8px 10px 14px; background: rgba(240, 68, 56, 0.07); border: 1px solid rgba(240, 68, 56, 0.55); border-radius: 10px; color: #F04438; font-size: 13.5px; font-weight: 700; }
.confirm-del .grow { flex: 1; min-width: 0; }
.confirm-del .lnk { padding: 6px 10px; cursor: pointer; font-weight: 800; }
.confirm-del .lnk.grey { color: #6B7280; font-weight: 700; }
.mgr-actions { margin-top: 10px; display: flex; align-items: center; gap: 10px; flex: none; }
.mgr-actions .grow { flex: 1; }
