/* ── Admin: Admin modal, admin table, editorial subtabs, editorial cards, editorial buttons ── */

/* ── ADMIN DASHBOARD (fullscreen WordPress-style) ── */
/* ══ ADMIN DASHBOARD — SCROLL FIX DEFINITIVO ══
   Estrategia: .modal usa position:fixed;inset:0 propio, independiente
   del flex container padre. Esto bypasea TODOS los problemas de
   herencia de altura desde .modal-bg flex.
   El grid tiene 2 filas (56px header + resto). Los hijos de la fila 2
   tienen height:calc(100vh - 56px) + overflow-y:auto — el browser
   tiene alturas ABSOLUTAS, sin referencias circulares. */

#adminModal{z-index:9500}
#adminModal .modal{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  border-radius:0 !important;
  animation:none !important;
  display:grid !important;
  grid-template-columns:240px 1fr;
  grid-template-rows:56px calc(100vh - 56px);
  overflow:hidden}
#adminModal .modal-hdr{
  grid-column:1/-1;grid-row:1;
  padding:0 20px;gap:14px;display:flex;align-items:center;
  background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08)}
#adminModal .modal-hdr .adm-hdr-logo{height:32px;width:32px;border-radius:8px;object-fit:contain}
#adminModal .modal-hdr .adm-hdr-title{font-family:'Playfair Display',serif;font-size:18px;color:var(--color-white,#fff);flex:0 0 auto;white-space:nowrap}
#adminModal .modal-hdr .adm-hdr-title em{color:var(--teal);font-style:normal}
#adminModal .modal-tabs{
  grid-column:1;grid-row:2;
  display:flex;flex-direction:column;gap:2px;
  border-right:1px solid var(--border);
  background:var(--navy);padding:12px 0;
  height:calc(100vh - 56px);
  overflow-y:auto;overflow-x:hidden}
#adminModal .mtab{padding:10px 18px;border-bottom:none;border-left:3px solid transparent;border-radius:0;
  color:rgba(255,255,255,.55);font-size:13px;display:flex;align-items:center;gap:10px;white-space:nowrap;
  transition:all .15s;cursor:pointer;flex-shrink:0}
#adminModal .mtab:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.06)}
#adminModal .mtab.on{color:var(--color-white,#fff);background:rgba(13,148,136,.18);border-left-color:var(--teal);font-weight:600}
#adminModal .mtab .mtab-ico{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7}
#adminModal .mtab.on .mtab-ico{opacity:1}
#adminModal .mtab .mtab-badge{margin-left:auto;background:var(--red);color:var(--color-white,#fff);font-size:10px;font-weight:700;
  padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}
#adminModal .modal-body{
  grid-column:2;grid-row:2;
  padding:24px 28px;
  background:var(--smoke);
  height:calc(100vh - 56px);
  overflow-y:auto;overflow-x:hidden;
  box-sizing:border-box}
#adminModal .modal-body::-webkit-scrollbar{width:6px}
#adminModal .modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}
#adminModal .modal-body::-webkit-scrollbar-track{background:transparent}

/* Admin sidebar section divider */
.adm-side-divider{height:1px;background:rgba(255,255,255,.08);margin:8px 16px}
.adm-side-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.25);
  padding:10px 18px 4px;font-weight:600}


/* ── Admin login form ── */
.login-wrap{max-width:320px;margin:0 auto;text-align:center;padding:20px 0}
.login-wrap h3{font-family:'Playfair Display',serif;font-size:22px;margin-bottom:6px}
.login-wrap p{font-size:13px;color:var(--mid);margin-bottom:24px}
.login-field{margin-bottom:14px}
.login-field input{width:100%;padding:11px 14px;border-radius:10px;border:1.5px solid var(--border);
  font-size:14px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s,box-shadow .15s;min-height:44px;box-sizing:border-box}
.login-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.1)}
.btn-login{width:100%;padding:12px;border-radius:10px;border:none;
  background:var(--navy);color:var(--color-white,#fff);font-size:14px;font-family:'DM Sans',sans-serif;
  font-weight:600;cursor:pointer}
.btn-login:hover{background:var(--navy2)}
.login-err{color:var(--red);font-size:13px;margin-top:8px}

/* ── Admin stats ── */
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.a-stat{background:var(--smoke);border-radius:10px;padding:12px;text-align:center}
.a-stat-v{font-size:22px;font-weight:700;color:var(--teal)}
.a-stat-l{font-size:11px;color:var(--mid);margin-top:3px}

/* ── Admin table ── */
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th{text-align:left;padding:8px 10px;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mid);background:var(--smoke);font-weight:600}
.admin-table td{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--gray);vertical-align:middle}
.admin-table tr:hover td{background:var(--smoke)}

/* ── Editorial sub-tabs ── */
.ed-subtabs{display:flex;gap:4px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.ed-subtab{padding:6px 14px;font-size:12px;border-radius:8px;cursor:pointer;color:var(--mid);background:var(--smoke);border:1.5px solid transparent;transition:all .15s}
.ed-subtab:hover{color:var(--navy);background:var(--color-white,#fff);border-color:var(--border)}
.ed-subtab.active{color:var(--color-white,#fff);background:var(--teal);border-color:var(--teal);font-weight:600}
.ed-content{min-height:200px}

/* ── Editorial cards ── */
.ed-card{border:1.5px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--color-white,#fff)}
.ed-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--smoke);border-bottom:1px solid var(--border)}
.ed-card-body{padding:12px 16px}
.ed-card-actions{padding:10px 16px;background:var(--smoke);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px;align-items:end}

.ed-field{font-size:12px;color:var(--gray);margin-bottom:4px}
.ed-label{font-weight:600;color:var(--navy)}
.ed-badge{font-size:10px;padding:2px 8px;border-radius:6px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ed-badge-pending{background:var(--color-role-editor-bg,#FEF3C7);color:var(--color-gold-dark,#92400E)}
.ed-badge-approved{background:var(--color-success-pale,#DCFCE7);color:var(--color-success-dark,#166534)}
.ed-badge-rejected{background:var(--color-role-admin-bg,#FEE2E2);color:var(--color-error-dark,#991B1B)}
.ed-badge-info{background:var(--color-info-pale,#DBEAFE);color:var(--color-info-blue,#1E40AF)}
.ed-badge-type{background:var(--color-indigo-pale,#E0E7FF);color:var(--color-indigo-text,#3730A3)}

/* ── Editorial buttons ── */
.ed-btn{padding:5px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid;font-family:'DM Sans',sans-serif;transition:all .15s}
.ed-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.1)}
.ed-btn-approve{border-color:var(--color-success,#16A34A);background:var(--color-success-bg,#F0FDF4);color:var(--color-success,#16A34A)}
.ed-btn-reject{border-color:var(--color-error,#DC2626);background:var(--color-error-bg,#FEF2F2);color:var(--color-error,#DC2626)}
.ed-btn-info{border-color:#2563eb;background:var(--color-accent-pale,#EFF6FF);color:#2563eb}
.ed-btn-neutral{border-color:var(--color-bronze,#D97706);background:var(--color-warning-bg,#FFFBEB);color:var(--color-bronze,#D97706)}

/* ── Premium section fields ── */
.prem-section{background:var(--color-white,#fff);border-radius:12px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:14px}
.prem-section-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.prem-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prem-grid-full{grid-column:1/-1}
.prem-field label{font-size:11px;font-weight:600;color:var(--gray);display:block;margin-bottom:3px}
.prem-field input,.prem-field select,.prem-field textarea{width:100%;padding:8px 10px;border-radius:8px;border:1.5px solid var(--border);
  font-size:13px;font-family:'DM Sans',sans-serif;box-sizing:border-box;outline:none;transition:border-color .15s}
.prem-field input:focus,.prem-field select:focus,.prem-field textarea:focus{border-color:var(--teal)}

/* ═══════════════════════════════════════════════════
   DOSSIER SLIDING PANEL — overlay from right side
   ═══════════════════════════════════════════════════ */

/* Backdrop */
.dossier-backdrop{
  position:fixed;top:0;left:0;width:100vw;height:100vh;
  background:rgba(15,23,42,.35);backdrop-filter:blur(2px);
  z-index:9600;opacity:0;transition:opacity .25s ease;pointer-events:none;
}
.dossier-backdrop.open{opacity:1;pointer-events:auto}

/* Panel */
.dossier-slide{
  position:fixed;top:0;right:0;width:440px;max-width:92vw;height:100vh;
  background:var(--color-white,#fff);z-index:9650;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  box-shadow:-8px 0 30px rgba(0,0,0,.12);
}
.dossier-slide.open{transform:translateX(0)}

/* Sticky header inside panel */
.dossier-slide-hdr{
  padding:16px 20px;border-bottom:1px solid var(--border);background:var(--color-white,#fff);
  display:flex;align-items:center;gap:12px;flex-shrink:0;
  position:sticky;top:0;z-index:2;
}
.dossier-slide-hdr .ds-close{
  width:32px;height:32px;border-radius:50%;background:var(--smoke);border:none;
  font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--gray);transition:all .15s;flex-shrink:0;
}
.dossier-slide-hdr .ds-close:hover{background:var(--color-neutral-border,#E5E7EB);color:var(--navy)}

/* Scrollable body */
.dossier-slide-body{
  flex:1;overflow-y:auto;padding:20px;
  -webkit-overflow-scrolling:touch;
}
.dossier-slide-body::-webkit-scrollbar{width:5px}
.dossier-slide-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}

/* Sections inside panel */
.ds-section{margin-bottom:16px}
.ds-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--teal);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ds-section-title::after{content:'';flex:1;height:1px;background:var(--border)}

/* KPI mini grid */
.ds-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.ds-kpi{padding:10px 12px;background:#F8FAFC;border-radius:10px;border:1px solid #F1F5F9}
.ds-kpi-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);margin-bottom:2px}
.ds-kpi-value{font-size:16px;font-weight:700;color:var(--navy)}
.ds-kpi-value.warn{color:var(--color-error,#DC2626)}
.ds-kpi-value.good{color:#059669}
.ds-kpi-sub{font-size:10px;color:var(--mid);margin-top:1px}

/* Tag pills */
.ds-tag{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600;margin:2px}
.ds-tag-cat{border:1.5px solid var(--teal);color:var(--teal)}
.ds-tag-premium{background:var(--color-warning-bg,#FFFBEB);color:var(--color-bronze,#D97706);border:1px solid var(--color-warning-border,#FDE68A)}
.ds-tag-fraud{background:var(--color-role-admin-bg,#FEE2E2);color:var(--color-error,#DC2626);border:1px solid var(--color-error-border,#FECACA)}
.ds-tag-review{background:var(--color-role-editor-bg,#FEF3C7);color:var(--color-gold-dark,#92400E);border:1px solid var(--color-warning-border,#FDE68A)}

/* Owner card */
.ds-owner{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-accent-pale,#EFF6FF);
  border-radius:10px;border:1px solid #BFDBFE;margin-bottom:6px}
.ds-owner-info{flex:1;min-width:0}
.ds-owner-name{font-size:12px;font-weight:600;color:var(--navy)}
.ds-owner-email{font-size:11px;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-owner-rm{padding:4px 10px;border-radius:6px;background:var(--color-role-admin-bg,#FEE2E2);color:var(--color-error,#DC2626);
  border:1px solid var(--color-error-border,#FECACA);font-size:10px;font-weight:600;cursor:pointer;
  font-family:'DM Sans',sans-serif;white-space:nowrap;transition:all .15s}
.ds-owner-rm:hover{background:var(--color-error-border,#FECACA)}

/* Activity timeline */
.ds-timeline{max-height:180px;overflow-y:auto;padding-right:4px}
.ds-tl-item{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid #F3F4F6;font-size:11px}
.ds-tl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.ds-tl-dot.vote{background:var(--color-gold,#F59E0B)}.ds-tl-dot.claim{background:#3B82F6}
.ds-tl-dot.edit{background:#8B5CF6}.ds-tl-dot.fraud{background:var(--color-error,#DC2626)}
.ds-tl-content{flex:1;min-width:0}
.ds-tl-date{color:var(--mid);font-size:10px}

/* Action buttons grid */
.ds-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.ds-act{padding:9px 10px;border-radius:10px;border:1.5px solid var(--border);background:var(--color-white,#fff);
  font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;
  text-align:center;transition:all .15s;color:var(--navy)}
.ds-act:hover{background:var(--smoke);border-color:var(--teal);transform:translateY(-1px);
  box-shadow:0 2px 6px rgba(0,0,0,.06)}
.ds-act.primary{background:var(--teal);color:var(--color-white,#fff);border-color:var(--teal)}
.ds-act.primary:hover{background:#0F766E}
.ds-act.danger{background:var(--color-error-bg,#FEF2F2);color:var(--color-error,#DC2626);border-color:var(--color-error-border,#FECACA)}
.ds-act.danger:hover{background:var(--color-role-admin-bg,#FEE2E2)}

/* Skeleton loading */
.ds-skeleton{border-radius:6px;background:linear-gradient(90deg,#F1F5F9 25%,#E2E8F0 50%,#F1F5F9 75%);
  background-size:200% 100%;animation:ds-shimmer 1.5s infinite}
@keyframes ds-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Collapsible sections */
.ds-collapsible-hdr{cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px}
.ds-collapsible-hdr::before{content:'▸';font-size:10px;transition:transform .2s;color:var(--mid)}
.ds-collapsible-hdr.open::before{transform:rotate(90deg)}
.ds-collapsible-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.ds-collapsible-body.open{max-height:2000px}

/* Inline edit form inside dossier panel */
.ds-edit-form{padding:14px;background:#F0FDF9;border-radius:10px;border:2px solid var(--teal);margin-bottom:14px}
.ds-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ds-edit-field label{font-size:10px;font-weight:600;color:var(--gray);display:block;margin-bottom:2px}
.ds-edit-field input,.ds-edit-field select{width:100%;padding:6px 8px;border-radius:6px;
  border:1.5px solid var(--border);font-size:12px;font-family:'DM Sans',sans-serif;
  box-sizing:border-box;outline:none;transition:border-color .15s}
.ds-edit-field input:focus,.ds-edit-field select:focus{border-color:var(--teal)}

/* Penalty dialog inside panel */
.ds-penalty{padding:14px;background:var(--color-error-bg,#FEF2F2);border-radius:10px;border:2px solid var(--color-error,#DC2626);margin-top:10px}
.ds-penalty-title{font-size:12px;font-weight:700;color:var(--color-error,#DC2626);margin-bottom:10px}
.ds-penalty textarea{width:100%;padding:6px 8px;border-radius:6px;border:1.5px solid var(--color-error-border,#FECACA);
  font-size:12px;font-family:'DM Sans',sans-serif;min-height:50px;resize:vertical;box-sizing:border-box}
.ds-penalty-checks label{font-size:11px;display:flex;align-items:center;gap:4px;margin-bottom:3px;cursor:pointer}

/* Editorial name links (clickable) */
.ed-name-link{font-weight:700;color:var(--navy);text-decoration:none;
  border-bottom:1.5px dashed var(--teal);padding-bottom:1px;cursor:pointer;transition:color .15s}
.ed-name-link:hover{color:var(--teal)}

/* Responsive: narrow screens stack the panel full-width */
@media(max-width:720px){
  .dossier-slide{width:100vw;max-width:100vw}
}

/* ═══════════════════════════════════════════════════
   EDITORIAL FILTER BAR — work queue filters
   ═══════════════════════════════════════════════════ */
.ed-filter-bar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:12px 16px;background:var(--color-white,#fff);border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:14px;
  border:1px solid var(--border);
}
.ed-filter-bar .ef-search{
  flex:1;min-width:180px;padding:7px 12px 7px 32px;border-radius:8px;
  border:1.5px solid var(--border);font-size:12px;font-family:'DM Sans',sans-serif;
  outline:none;transition:border-color .15s;background:#F8FAFC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") 10px center no-repeat;
}
.ed-filter-bar .ef-search:focus{border-color:var(--teal);background-color:var(--color-white,#fff)}
.ed-filter-bar .ef-search::placeholder{color:var(--mid)}

/* Filter pill buttons */
.ef-group{display:flex;gap:3px;align-items:center}
.ef-group-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);margin-right:2px;white-space:nowrap}
.ef-pill{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;
  border:1.5px solid var(--border);background:var(--color-white,#fff);color:var(--gray);transition:all .15s;
  font-family:'DM Sans',sans-serif;white-space:nowrap;user-select:none}
.ef-pill:hover{background:var(--smoke);border-color:var(--teal);color:var(--navy)}
.ef-pill.on{background:var(--teal);color:var(--color-white,#fff);border-color:var(--teal)}
.ef-pill.on:hover{background:#0F766E}

/* Divider between filter groups */
.ef-div{width:1px;height:22px;background:var(--border);margin:0 4px;flex-shrink:0}

/* Counter badge */
.ef-count{font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;
  background:var(--teal);color:var(--color-white,#fff);margin-left:3px;min-width:16px;text-align:center;display:inline-block}
.ef-count.zero{background:var(--border);color:var(--mid)}

/* Reset button */
.ef-reset{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;
  border:1.5px solid var(--color-error-border,#FECACA);background:var(--color-error-bg,#FEF2F2);color:var(--color-error,#DC2626);
  font-family:'DM Sans',sans-serif;white-space:nowrap;transition:all .15s}
.ef-reset:hover{background:var(--color-role-admin-bg,#FEE2E2)}

/* Active filter summary strip */
.ef-active-strip{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#F0FDF9;
  border-radius:8px;margin-bottom:10px;font-size:11px;color:var(--teal);flex-wrap:wrap}
.ef-active-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:6px;
  background:var(--color-info-pale,#DBEAFE);color:var(--color-info-blue,#1E40AF);font-size:10px;font-weight:600}
.ef-active-tag button{background:none;border:none;color:var(--color-info-blue,#1E40AF);cursor:pointer;font-size:12px;
  padding:0 0 0 2px;line-height:1}

/* Empty state */
.ed-empty{text-align:center;padding:40px 20px;color:var(--mid)}
.ed-empty-ico{font-size:32px;margin-bottom:8px}
.ed-empty-title{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:4px}
.ed-empty-sub{font-size:12px}

/* ── Role labels on clickable names ── */
.ed-role-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:1px 5px;border-radius:4px;margin-left:5px;vertical-align:middle}
.ed-role-tag.heladeria{background:var(--color-teal-100,#CCFBF1);color:var(--color-accent,#0D9488)}
.ed-role-tag.solicitante{background:var(--color-info-pale,#DBEAFE);color:var(--color-info-blue,#1D4ED8)}
.ed-role-tag.contacto{background:var(--color-role-editor-bg,#FEF3C7);color:var(--color-gold-dark,#92400E)}
.ed-user-link{color:var(--navy);font-weight:600;text-decoration:none;cursor:pointer;
  border-bottom:1px dashed rgba(13,148,136,.3);transition:all .15s}
.ed-user-link:hover{color:var(--teal);border-bottom-color:var(--teal)}

/* ── User info card (inline in dossier panel) ── */
.ds-user-card{background:linear-gradient(135deg,var(--color-accent-pale,#EFF6FF),#F0F9FF);border:1px solid #BFDBFE;
  border-radius:10px;padding:12px;margin-bottom:6px}
.ds-user-card-hdr{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ds-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--teal);color:var(--color-white,#fff);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.ds-user-card-name{font-weight:700;color:var(--navy);font-size:13px}
.ds-user-card-email{font-size:11px;color:var(--mid)}
.ds-user-card-meta{font-size:11px;color:var(--gray);display:flex;flex-wrap:wrap;gap:6px}
.ds-user-card-meta span{display:flex;align-items:center;gap:3px}
.ds-user-rol-pill{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}
.ds-user-rol-pill.admin{background:var(--color-role-admin-bg,#FEE2E2);color:var(--color-error,#DC2626)}
.ds-user-rol-pill.shop_owner{background:var(--color-success-pale,#DCFCE7);color:var(--color-success-dark,#166534)}
.ds-user-rol-pill.user{background:#F1F5F9;color:#64748B}

/* ═══════════════════════════════════════════
   GLOBAL SEARCH — admin header omnibar
═══════════════════════════════════════════ */
.gs-wrap{position:relative;flex:1 1 280px;max-width:420px;margin:0 16px}
.gs-input{width:100%;padding:7px 12px 7px 34px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);color:var(--color-white,#fff);font-size:13px;font-family:'DM Sans',sans-serif;
  transition:all .2s;outline:none;box-sizing:border-box}
.gs-input::placeholder{color:rgba(255,255,255,.35)}
.gs-input:focus{border-color:var(--teal);background:rgba(255,255,255,.14);box-shadow:0 0 0 3px rgba(13,148,136,.15)}
.gs-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:rgba(255,255,255,.35)}
.gs-input:focus+.gs-ico,.gs-input:not(:placeholder-shown)+.gs-ico{color:var(--teal)}
.gs-shortcut{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;
  background:rgba(255,255,255,.1);color:rgba(255,255,255,.4);padding:2px 6px;border-radius:4px;
  font-family:monospace;pointer-events:none}

/* Dropdown */
.gs-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-white,#fff);
  border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.06);
  max-height:420px;overflow-y:auto;z-index:9999;display:none;
  scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.gs-dropdown.open{display:block;animation:gsFadeIn .12s ease-out}
@keyframes gsFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

.gs-group{padding:4px 0}
.gs-group-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--mid);padding:8px 14px 4px;display:flex;align-items:center;gap:6px}
.gs-group-title svg{opacity:.5}
.gs-group-count{margin-left:auto;font-size:9px;background:var(--smoke);border-radius:4px;padding:1px 5px}

.gs-item{padding:8px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;
  transition:background .1s;border-radius:0;font-size:13px;color:var(--gray)}
.gs-item:hover,.gs-item.gs-active{background:rgba(13,148,136,.06)}
.gs-item.gs-active{outline:2px solid var(--teal);outline-offset:-2px;border-radius:6px}
.gs-item-main{flex:1;min-width:0}
.gs-item-name{font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-item-sub{font-size:11px;color:var(--mid);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-item-badge{font-size:10px;padding:2px 7px;border-radius:5px;font-weight:600;flex-shrink:0}
.gs-item-badge.score{background:var(--color-success-bg,#F0FDF4);color:#059669;border:1px solid #BBF7D0}
.gs-item-badge.claim{background:var(--color-role-editor-bg,#FEF3C7);color:var(--color-gold-dark,#92400E)}
.gs-item-badge.premium{background:var(--color-premium-pale,#EDE9FE);color:var(--color-premium,#7C3AED)}
.gs-item-badge.user{background:var(--color-info-pale,#DBEAFE);color:var(--color-info-blue,#1E40AF)}
.gs-highlight{background:var(--color-teal-100,#CCFBF1);color:var(--navy);border-radius:2px;padding:0 1px}

.gs-empty{padding:24px;text-align:center;color:var(--mid);font-size:13px}
.gs-loading{padding:16px;text-align:center;color:var(--mid);font-size:12px}

@media(max-width:720px){
  .gs-wrap{flex:1 1 auto;margin:0 8px}
  .gs-dropdown{max-height:60vh}
}

/* ── OBSERVABILITY CARDS ── */
.ob-card{background:var(--color-white,#fff);border-radius:14px;padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06);
  display:flex;flex-direction:column;min-width:0}
.ob-card-hdr{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.ob-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.ob-dot-green{background:#059669}
.ob-dot-amber{background:var(--color-bronze,#D97706)}
.ob-dot-blue{background:#3B82F6}
.ob-dot-red{background:var(--color-error,#DC2626)}
.ob-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ob-kpi{background:var(--smoke);border-radius:8px;padding:8px 10px;text-align:center}
.ob-kpi-v{font-size:17px;font-weight:700;color:var(--navy);line-height:1.2}
.ob-kpi-v small{font-size:11px;font-weight:500;color:var(--mid)}
.ob-kpi-l{font-size:10px;color:var(--mid);margin-top:2px}
.ob-log-list{display:flex;flex-direction:column;gap:0;overflow-y:auto;max-height:220px}
.ob-log-item{display:flex;align-items:baseline;gap:6px;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}
.ob-log-item:last-child{border-bottom:none}
.ob-log-action{font-weight:600;color:var(--navy);white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}
.ob-log-detail{flex:1;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ob-log-time{font-size:10px;color:var(--mid);white-space:nowrap;flex-shrink:0}


/* ══════════════════════════════════════════════════════════════════
   EDITORIAL CHAT — Inbox / Chat redesign
   admin-editorial-chat.js
══════════════════════════════════════════════════════════════════ */

/* ── Modal body override cuando el chat está activo ── */
/* Especificidad baja — ver regla de alta especificidad justo debajo */
.ed-chat-mode {
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Alta especificidad — gana sobre #adminModal .modal-body [1,1,0] */
#adminModal .modal-body.ed-chat-mode {
  padding: 0 !important;
  overflow: hidden !important;
  height: calc(100vh - 56px) !important;  /* 100vh minus header row */
  max-height: calc(100vh - 56px) !important;
  min-height: 0 !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
}

/* ── Root container ── */
.ed-inbox-root {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Layout: sidebar 300px + panel rest ── */
.ed-inbox-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  /* Usa flex-grow en lugar de height:100% para evitar problemas de cadena */
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}

/* ════ SIDEBAR ════ */
.ed-inbox-sidebar {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--border);
  min-height: 0;
  overflow: hidden;
  background: #FAFAFA;
}

.ed-inbox-sidebar-hdr {
  padding: 14px 12px 10px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  background:var(--color-white,#fff);
}

.ed-inbox-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.ed-inbox-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
}

.ed-total-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-error-mid,#EF4444);
  color:var(--color-white,#fff);
  font-size: 10px;
  font-weight: 700;
  border-radius: 20px;
  padding: 1px 6px;
  margin-left: 4px;
}

.ed-dark-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  padding: 2px 6px;
  border-radius: 6px;
  transition: background .15s;
}
.ed-dark-btn:hover { background: var(--smoke); }

/* ── Type pills ── */
.ed-type-pills {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.ed-type-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  border: 1.5px solid var(--border);
  background:var(--color-white,#fff);
  color: var(--mid);
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.ed-type-pill:hover { border-color: var(--teal); color: var(--teal); }
.ed-type-pill.on { background: var(--teal); border-color: var(--teal); color:var(--color-white,#fff); }

.ed-type-n {
  background: rgba(255,255,255,.3);
  border-radius: 10px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
}
.ed-type-pill:not(.on) .ed-type-n {
  background: var(--smoke);
  color: var(--mid);
}

/* ── Search ── */
.ed-search-wrap { margin-bottom: 8px; }

.ed-inbox-search {
  width: 100%;
  box-sizing: border-box;
  padding: 7px 10px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 12px;
  color: var(--navy);
  background: var(--smoke);
  outline: none;
  transition: border-color .15s, background .15s;
}
.ed-inbox-search:focus {
  border-color: var(--teal);
  background:var(--color-white,#fff);
}

/* ── Inbox tabs (Activos / Pend doc / Resueltos) ── */
.ed-itabs-row {
  display: flex;
  gap: 2px;
}

.ed-itab {
  flex: 1;
  padding: 5px 6px;
  border: none;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  background: none;
  color: var(--mid);
  cursor: pointer;
  text-align: center;
  transition: all .15s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}
.ed-itab:hover { background: var(--smoke); color: var(--navy); }
.ed-itab.on { background: var(--teal); color:var(--color-white,#fff); }

.ed-itab-n {
  background: rgba(255,255,255,.25);
  border-radius: 10px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
}
.ed-itab:not(.on) .ed-itab-n {
  background: var(--color-neutral-border,#E5E7EB);
  color: var(--color-text-3,#6B7280);
}

/* ── Inbox list ── */
.ed-inbox-list {
  flex: 1;
  overflow-y: auto;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ed-inbox-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  gap: 8px;
}
.ed-inbox-empty-ico { font-size: 32px; opacity: .4; }
.ed-inbox-empty-t { font-size: 13px; font-weight: 700; color: var(--navy); }
.ed-inbox-empty-s { font-size: 12px; color: var(--mid); text-align: center; }

/* ── Conversation item ── */
.ed-conv {
  display: flex;
  align-items: stretch;
  gap: 0;
  border-radius: 8px;
  cursor: pointer;
  border: 1.5px solid transparent;
  border-left: 3.5px solid #9CA3AF; /* overridden inline per status */
  background:var(--color-white,#fff);
  overflow: hidden;
  transition: background .12s, border-color .12s;
  position: relative;
}
.ed-conv:hover { background: var(--color-accent-pale,#F0FDFA); border-color: var(--teal-light, #A7F3D0); }
.ed-conv.on { background: #E6FAF6; border-color: var(--teal); }

.ed-conv-dot {
  width: 4px;
  flex-shrink: 0;
  background: #9CA3AF; /* overridden inline */
}

.ed-conv-body {
  flex: 1;
  padding: 8px 8px 8px 8px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ed-conv-row1,
.ed-conv-row2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}

.ed-conv-shop {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.ed-conv-date {
  font-size: 10px;
  color: var(--mid);
  white-space: nowrap;
  flex-shrink: 0;
}

.ed-conv-who {
  font-size: 11px;
  color: var(--mid);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.ed-unread-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3B82F6;
  flex-shrink: 0;
}

.ed-conv-preview {
  font-size: 11px;
  color: var(--color-text-3,#6B7280);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ed-conv-badge {
  align-self: center;
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 6px;
  margin: 8px 6px 8px 0;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: .3px;
}

/* ════ CHAT PANEL ════ */
.ed-chat-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background:var(--color-white,#fff);
}

.ed-chat-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 20px;
  color: var(--mid);
}
.ed-chat-empty-ico { font-size: 48px; opacity: .2; }
.ed-chat-empty-title { font-size: 15px; font-weight: 700; color: var(--navy); opacity: .5; }
.ed-chat-empty-sub { font-size: 12px; text-align: center; max-width: 280px; opacity: .6; }

.ed-chat-empty-keys {
  margin-top: 20px;
  background: var(--smoke);
  border-radius: 12px;
  padding: 12px 16px;
  min-width: 240px;
}
.ed-keys-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
  text-align: center;
  opacity: .5;
}
.ed-keys-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 12px;
  align-items: center;
}
.ed-keys-grid span { font-size: 11px; color: var(--mid); }
kbd {
  background:var(--color-white,#fff);
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 600;
  color: var(--navy);
  font-family: monospace;
  box-shadow: 0 1px 2px rgba(0,0,0,.1);
}

/* ── Thread ── */
.ed-thread {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* ── Thread header ── */
.ed-thread-hdr {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  background:var(--color-white,#fff);
  gap: 12px;
}

.ed-thread-info { flex: 1; min-width: 0; }

.ed-thread-shop {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ed-thread-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.ed-thread-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid transparent;
}

.ed-thread-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.ed-thread-who,
.ed-thread-type {
  font-size: 11px;
  color: var(--mid);
}

.ed-thread-hdr-btns {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.ed-hdr-btn {
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid var(--border);
  background:var(--color-white,#fff);
  color: var(--navy);
  transition: all .15s;
  white-space: nowrap;
}
.ed-hdr-btn:hover { border-color: var(--teal); color: var(--teal); background: var(--color-accent-pale,#F0FDFA); }
.ed-hdr-btn.ghost { color: var(--mid); }
.ed-hdr-btn.ghost:hover { border-color: var(--color-error-mid,#EF4444); color: var(--color-error-mid,#EF4444); background: var(--color-error-bg,#FEF2F2); }

/* ── Messages area ── */
.ed-msgs {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #F9FAFB;
}

/* ── Message bubble ── */
.ed-msg {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}
.ed-msg-right {
  flex-direction: row-reverse;
}

.ed-av {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.ed-av-user { background: #E0F2FE; color: #0369A1; }
.ed-av-admin { background: var(--color-teal-100,#CCFBF1); color: #0F766E; }

.ed-msg-body {
  max-width: 72%;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ed-msg-right .ed-msg-body { align-items: flex-end; }

.ed-msg-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 4px;
}
.ed-msg-right .ed-msg-head { flex-direction: row-reverse; }

.ed-msg-sender {
  font-size: 11px;
  font-weight: 700;
  color: var(--navy);
}

.ed-note-tag {
  background: var(--color-role-editor-bg,#FEF3C7);
  color: var(--color-gold-dark,#92400E);
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: .3px;
}

.ed-msg-ts {
  font-size: 10px;
  color: var(--mid);
}

.ed-bub {
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.5;
  word-break: break-word;
  white-space: pre-wrap;
}
.ed-bub-user {
  background:var(--color-white,#fff);
  border: 1.5px solid var(--border);
  color: var(--navy);
  border-bottom-left-radius: 3px;
}
.ed-bub-admin {
  background: var(--teal, #0F7B6C);
  color:var(--color-white,#fff);
  border-bottom-right-radius: 3px;
}

/* ── System message ── */
.ed-msg-sys {
  display: flex;
  justify-content: center;
  padding: 0 10px;
}
.ed-msg-sys-bub {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background:var(--color-white,#fff);
  border: 1px solid var(--border);
  border-left: 3px solid #9CA3AF; /* overridden inline */
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
  color: var(--mid);
  max-width: 90%;
}
.ed-msg-sys-ico { font-size: 12px; }

/* ── Meta info under user message ── */
.ed-msg-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 4px;
}
.ed-msg-meta span {
  background: #F3F4F6;
  border-radius: 6px;
  padding: 2px 7px;
  font-size: 11px;
  color: var(--color-text-2,#4B5563);
}

/* ── Input area ── */
.ed-input-area {
  flex-shrink: 0;
  border-top: 1px solid var(--border);
  padding: 10px 14px 12px;
  background:var(--color-white,#fff);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ed-resolved-banner {
  text-align: center;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

/* ── Quick action buttons ── */
.ed-quick-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ed-qbtn {
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  border: 1.5px solid;
  transition: all .15s;
  white-space: nowrap;
}
.ed-qbtn.approve {
  background: var(--color-success-bg,#F0FDF4);
  border-color: #22C55E;
  color: #15803D;
}
.ed-qbtn.approve:hover { background: #22C55E; color:var(--color-white,#fff); }
.ed-qbtn.info {
  background: #FFF7ED;
  border-color: #F97316;
  color: #C2410C;
}
.ed-qbtn.info:hover { background: #F97316; color:var(--color-white,#fff); }
.ed-qbtn.reject {
  background: #F9FAFB;
  border-color: #9CA3AF;
  color: #374151;
}
.ed-qbtn.reject:hover { background: var(--color-text-3,#6B7280); color:var(--color-white,#fff); }
.ed-qbtn.neutral {
  background: var(--color-accent-pale,#EFF6FF);
  border-color: #3B82F6;
  color: var(--color-info-blue,#1D4ED8);
}
.ed-qbtn.neutral:hover { background: #3B82F6; color:var(--color-white,#fff); }

/* ── Note input ── */
.ed-input-wrap { display: flex; flex-direction: column; gap: 4px; }

.ed-input-types {
  display: flex;
  gap: 12px;
}
.ed-itype-opt {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--mid);
  cursor: pointer;
}
.ed-itype-opt input { cursor: pointer; accent-color: var(--teal); }
.ed-itype-opt span { font-weight: 600; }

.ed-input-row {
  display: flex;
  gap: 8px;
  align-items: flex-end;
}

.ed-input-box {
  flex: 1;
  padding: 8px 10px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 13px;
  font-family: inherit;
  color: var(--navy);
  background: var(--smoke);
  resize: none;
  outline: none;
  transition: border-color .15s, background .15s;
  min-height: 48px;
}
.ed-input-box:focus {
  border-color: var(--teal);
  background:var(--color-white,#fff);
}

.ed-send-btn {
  padding: 8px 16px;
  background: var(--teal);
  color:var(--color-white,#fff);
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s;
}
.ed-send-btn:hover { background: var(--teal-dark, #0a5c52); }

/* ════ DARK MODE ════ */
.ed-dark .ed-inbox-sidebar { background: #1E1E2E; border-right-color: #2D2D3D; }
.ed-dark .ed-inbox-sidebar-hdr { background: #1A1A2A; border-bottom-color: #2D2D3D; }
.ed-dark .ed-inbox-title { color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-type-pill { background: #2D2D3D; border-color: #3D3D5C; color: #9CA3AF; }
.ed-dark .ed-type-pill:hover { border-color: #6EE7D9; color: #6EE7D9; }
.ed-dark .ed-type-pill.on { background: #0F7B6C; border-color: #0F7B6C; color:var(--color-white,#fff); }
.ed-dark .ed-inbox-search { background: #2D2D3D; border-color: #3D3D5C; color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-inbox-search:focus { border-color: #6EE7D9; background: #1A1A2A; }
.ed-dark .ed-inbox-search::placeholder { color: var(--color-text-3,#6B7280); }
.ed-dark .ed-itab { color: #9CA3AF; }
.ed-dark .ed-itab:hover { background: #2D2D3D; color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-itab.on { background: #0F7B6C; color:var(--color-white,#fff); }
.ed-dark .ed-itab-n { background: #3D3D5C; color: #9CA3AF; }
.ed-dark .ed-inbox-list { background: #1E1E2E; }
.ed-dark .ed-conv { background: #2D2D3D; border-top-color: #3D3D5C; border-bottom-color: #3D3D5C; border-right-color: #3D3D5C; }
.ed-dark .ed-conv:hover { background: #1F3A38; }
.ed-dark .ed-conv.on { background: #1A3432; }
.ed-dark .ed-conv-shop { color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-conv-who,
.ed-dark .ed-conv-date,
.ed-dark .ed-conv-preview { color: #9CA3AF; }
.ed-dark .ed-chat-panel { background: #1A1A2A; }
.ed-dark .ed-chat-empty-title { color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-keys-grid span,
.ed-dark .ed-keys-title { color: #9CA3AF; }
.ed-dark .ed-chat-empty-keys { background: #2D2D3D; }
.ed-dark kbd { background: #3D3D5C; border-color: #555578; color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-thread-hdr { background: #1E1E2E; border-bottom-color: #2D2D3D; }
.ed-dark .ed-thread-shop { color: #F3F4F6; }
.ed-dark .ed-thread-who,
.ed-dark .ed-thread-type { color: #9CA3AF; }
.ed-dark .ed-hdr-btn { background: #2D2D3D; border-color: #3D3D5C; color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-hdr-btn:hover { border-color: #6EE7D9; color: #6EE7D9; background: #1A3432; }
.ed-dark .ed-msgs { background: #141420; }
.ed-dark .ed-bub-user { background: #2D2D3D; border-color: #3D3D5C; color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-msg-sender { color: #F3F4F6; }
.ed-dark .ed-msg-ts { color: var(--color-text-3,#6B7280); }
.ed-dark .ed-msg-meta span { background: #2D2D3D; color: #9CA3AF; }
.ed-dark .ed-msg-sys-bub { background: #2D2D3D; border-color: #3D3D5C; color: #9CA3AF; }
.ed-dark .ed-av-user { background: #1E3A5F; color: #60A5FA; }
.ed-dark .ed-av-admin { background: #134e43; color: #6EE7D9; }
.ed-dark .ed-input-area { background: #1E1E2E; border-top-color: #2D2D3D; }
.ed-dark .ed-input-box { background: #2D2D3D; border-color: #3D3D5C; color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-input-box:focus { border-color: #6EE7D9; background: #1A1A2A; }
.ed-dark .ed-itype-opt { color: #9CA3AF; }
.ed-dark .ed-inbox-empty-t { color: var(--color-neutral-border,#E5E7EB); }
.ed-dark .ed-dark-btn:hover { background: #2D2D3D; }

/* ── Responsive: en móvil el layout colapsa a columna ── */
@media (max-width: 720px) {
  .ed-inbox-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  .ed-inbox-sidebar {
    max-height: 45vh;
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
  .ed-msg-body { max-width: 88%; }
}

/* ══════════════════════════════════════════════════════
   CHAT EN TIEMPO REAL — zona mensajes en hilo editorial
══════════════════════════════════════════════════════ */

.ed-chat-section {
  border-top: 2px solid var(--teal, var(--color-accent,#0D9488));
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  max-height: 320px;
  background: var(--color-accent-pale,#F0FDFA);
}

.ed-chat-section-hdr {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--color-teal-100,#CCFBF1);
  border-bottom: 1px solid #99F6E4;
  flex-shrink: 0;
}
.ed-chat-section-ico { font-size: 14px; }
.ed-chat-section-title {
  font-size: 12px;
  font-weight: 700;
  color: #0F766E;
}
.ed-chat-section-sub {
  font-size: 10px;
  color: #14B8A6;
  flex: 1;
}
.ed-chat-link-btn {
  font-size: 11px;
  font-weight: 600;
  color: #0F766E;
  text-decoration: none;
  background:var(--color-white,#fff);
  border: 1.5px solid #99F6E4;
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .12s;
}
.ed-chat-link-btn:hover { background: var(--color-teal-100,#CCFBF1); }

.ed-msg-zone {
  flex: 1;
  min-height: 80px;
  max-height: 180px;
  overflow-y: auto;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--color-accent-pale,#F0FDFA);
}

.ed-msg-empty {
  text-align: center;
  color: var(--mid);
  font-size: 12px;
  padding: 16px;
  opacity: .6;
}

.ed-msg-new-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3B82F6;
  display: inline-block;
  margin-left: 2px;
  flex-shrink: 0;
}

.ed-msg-send-row {
  display: flex;
  gap: 8px;
  padding: 8px 14px 10px;
  border-top: 1px solid #99F6E4;
  background: var(--color-accent-pale,#F0FDFA);
  flex-shrink: 0;
}
.ed-msg-input {
  flex: 1;
  padding: 7px 10px;
  border: 1.5px solid #99F6E4;
  border-radius: 8px;
  font-size: 12px;
  font-family: inherit;
  color: var(--navy);
  background:var(--color-white,#fff);
  resize: none;
  outline: none;
  min-height: 36px;
  transition: border-color .15s;
}
.ed-msg-input:focus { border-color: var(--teal); }
.ed-msg-send-btn {
  padding: 8px 14px;
  background: var(--teal);
  color:var(--color-white,#fff);
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s;
}
.ed-msg-send-btn:hover { background: #0a5c52; }
.ed-msg-send-btn:disabled { opacity: .5; cursor: not-allowed; }

/* Dark mode overrides for chat section */
.ed-dark .ed-chat-section { background: #1A3432; border-top-color: #6EE7D9; }
.ed-dark .ed-chat-section-hdr { background: #134e43; border-bottom-color: #1E5F56; }
.ed-dark .ed-chat-section-title { color: #6EE7D9; }
.ed-dark .ed-chat-section-sub { color: #99F6E4; }
.ed-dark .ed-chat-link-btn { background: #1A3432; border-color: #1E5F56; color: #6EE7D9; }
.ed-dark .ed-msg-zone { background: #141420; }
.ed-dark .ed-msg-send-row { background: #141420; border-top-color: #1E5F56; }
.ed-dark .ed-msg-input { background: #2D2D3D; border-color: #3D3D5C; color: var(--color-neutral-border,#E5E7EB); }
