/* Tarjeta de marketing — Odoo Marketing Card parity */
.mcard-odo { display: flex; flex-direction: column; gap: 16px; min-height: 42vh; }
.mcard-odo-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; padding-bottom: 8px; }
.mcard-odo-toolbar .btn-primary,
.mcard-odo-form__actions .btn-primary,
.mcard-odo-form-actions .btn-primary {
  background: var(--sfe-primary, #007BFF) !important;
  border-color: var(--sfe-primary, #007BFF) !important;
}
.mcard-odo-title { margin: 0; font-size: 1.1rem; font-weight: 650; color: var(--sfe-navy, #1e2b3c); }
.mcard-odo-gear { opacity: 0.45; font-size: 0.85em; }
.mcard-odo-search { flex: 1 1 240px; max-width: 480px; margin: 0 auto; }
.mcard-odo-search input[type="search"] {
  width: 100%; min-height: 34px; border: 1px solid #ced4da; border-radius: 4px;
  padding: 0 12px 0 32px; font-size: 0.875rem;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%236c757d' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.656a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") 10px center no-repeat;
}
.mcard-odo-meta { display: flex; align-items: center; gap: 10px; margin-left: auto; font-size: 0.85rem; color: #6c757d; }
.mcard-odo-views { display: inline-flex; border: 1px solid #dee2e6; border-radius: 4px; overflow: hidden; }
.mcard-odo-view-btn { padding: 4px 10px; text-decoration: none; color: #495057; background: #fff; border-right: 1px solid #dee2e6; }
.mcard-odo-view-btn:last-child { border-right: 0; }
.mcard-odo-view-btn.is-active { background: #E8F4FF; color: #007BFF; }
.mcard-odo-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 64px 24px; text-align: center; color: #495057; }
.mcard-odo-empty h3 { margin: 0; font-size: 1.15rem; font-weight: 650; color: #343a40; }
.mcard-odo-empty__art { display: flex; align-items: center; justify-content: center; }
.mcard-odo-list-wrap { overflow-x: auto; }
.mcard-odo-list-wrap--ghost { position: relative; min-height: 320px; }
.mcard-odo-list-wrap--ghost .mcard-odo-empty { position: absolute; inset: 48px 0 0; }
.mcard-odo-table th, .mcard-odo-table td { vertical-align: middle; }
.mcard-odo-check { width: 36px; text-align: center; }
.mcard-odo-kanban { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.mcard-odo-card { background: #fff; border: 1px solid #e9ecef; border-radius: 8px; padding: 12px 14px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.mcard-odo-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.mcard-odo-pill { display: inline-flex; padding: 2px 10px; border-radius: 999px; background: #E8F4FF; color: #0056CC; font-size: 0.8rem; }

.mcard-odo-form__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.mcard-odo-form__actions { display: flex; gap: 8px; align-items: center; }
.mcard-odo-kpis { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid #e9ecef; border-radius: 6px; overflow: hidden; background: #fff; }
.mcard-odo-kpi { min-width: 72px; padding: 8px 14px; text-align: center; border-right: 1px solid #e9ecef; }
.mcard-odo-kpi:last-child { border-right: 0; }
.mcard-odo-kpi__val { display: block; font-size: 1.25rem; font-weight: 700; color: #1e2b3c; line-height: 1.2; }
.mcard-odo-kpi__lbl { display: block; font-size: 0.72rem; color: #6c757d; text-transform: uppercase; letter-spacing: .02em; }

.mcard-odo-form__layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; align-items: start; }
@media (max-width: 1100px) { .mcard-odo-form__layout { grid-template-columns: 1fr; } }
.mcard-odo-form-sheet { background: #fff; border: 1px solid #e9ecef; border-radius: 8px; padding: 16px 18px; }
.mcard-odo-title-field { margin-bottom: 14px; }
.mcard-odo-title-input {
  width: 100%; border: 0; border-bottom: 1px solid #ced4da; font-size: 1.35rem; font-weight: 600;
  padding: 6px 0; background: transparent; color: #1e2b3c;
}
.mcard-odo-title-input:focus { outline: none; border-bottom-color: #007BFF; }
.mcard-odo-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin-bottom: 8px; }
.mcard-odo-field--wide { grid-column: 1 / -1; }
@media (max-width: 800px) { .mcard-odo-field-grid { grid-template-columns: 1fr; } }
.mcard-odo-field { display: flex; flex-direction: column; gap: 6px; }
.mcard-odo-field label { font-size: 0.8rem; color: #6c757d; font-weight: 600; }
.mcard-odo-field input, .mcard-odo-field select, .mcard-odo-field textarea {
  min-height: 34px; border: 1px solid #ced4da; border-radius: 4px; padding: 6px 10px; font-size: 0.9rem;
}
.mcard-odo-readonly { background: #f8f9fa; }
.mcard-odo-input-icon { position: relative; }
.mcard-odo-input-icon input { width: 100%; padding-right: 36px; }
.mcard-odo-globe { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); opacity: .55; }

.mcard-odo-tabs { display: flex; gap: 4px; border-bottom: 1px solid #dee2e6; margin: 14px 0 12px; }
.mcard-odo-tab { border: 0; background: transparent; padding: 8px 12px; cursor: pointer; color: #6c757d; font-size: 0.92rem; }
.mcard-odo-tab.is-active { color: #007BFF; border-bottom: 2px solid #007BFF; font-weight: 600; }
.mcard-odo-tab-panel[hidden] { display: none !important; }

.mcard-odo-design { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 18px; }
@media (max-width: 900px) { .mcard-odo-design { grid-template-columns: 1fr; } }
.mcard-odo-design-row { display: grid; grid-template-columns: 140px 1fr auto; gap: 8px; align-items: center; margin-bottom: 10px; }
@media (max-width: 700px) { .mcard-odo-design-row { grid-template-columns: 1fr; } }
.mcard-odo-check { display: inline-flex; align-items: center; gap: 8px; font-size: 0.85rem; color: #495057; }
.mcard-odo-color { width: 34px; height: 34px; padding: 0; border: 1px solid #ced4da; border-radius: 50%; overflow: hidden; background: #fff; cursor: pointer; }
.mcard-odo-upload-stub {
  margin-top: 6px; width: 64px; height: 48px; border: 1px dashed #ced4da; border-radius: 6px;
  display: flex; align-items: center; justify-content: center; color: #868e96; background: #f8f9fa; font-size: 0.85rem;
}

.mcard-odo-style-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.mcard-odo-style-pill {
  border: 1px solid #dee2e6; background: #fff; border-radius: 999px; padding: 4px 12px;
  font-size: 0.78rem; cursor: pointer; color: #495057;
}
.mcard-odo-style-pill.is-active { background: #007BFF; border-color: #007BFF; color: #fff; font-weight: 600; }

.mcard-odo-preview {
  aspect-ratio: 1 / 1; border: 1px solid #e9ecef; border-radius: 10px; overflow: hidden;
  background: #f8f9fa; position: relative;
}
.mcard-odo-preview__card { position: absolute; inset: 0; display: flex; flex-direction: column; }
.mcard-odo-preview__bg {
  flex: 0 0 38%; background: linear-gradient(135deg, #e9ecef, #dee2e6) center/cover no-repeat;
}
.mcard-odo-preview__body { flex: 1; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; background: #fff; }
.mcard-odo-preview__body h3 { margin: 0; font-size: 1.05rem; }
.mcard-odo-preview__sub, .mcard-odo-preview__section, .mcard-odo-preview__sub1, .mcard-odo-preview__sub2 {
  margin: 0; font-size: 0.85rem; color: #6c757d;
}
.mcard-odo-preview__imgs { display: flex; gap: 8px; margin: 6px 0; }
.mcard-odo-preview__img {
  width: 48px; height: 48px; border-radius: 6px; background: #e9ecef center/cover no-repeat; border: 1px dashed #ced4da;
}

.mcard-odo-preview[data-style="dark"] .mcard-odo-preview__body { background: #1e2b3c; color: #f8f9fa; }
.mcard-odo-preview[data-style="dark"] .mcard-odo-preview__body h3 { color: #fff; }
.mcard-odo-preview[data-style="dark"] .mcard-odo-preview__sub,
.mcard-odo-preview[data-style="dark"] .mcard-odo-preview__section,
.mcard-odo-preview[data-style="dark"] .mcard-odo-preview__sub1,
.mcard-odo-preview[data-style="dark"] .mcard-odo-preview__sub2 { color: #adb5bd; }
.mcard-odo-preview[data-style="lilac"] .mcard-odo-preview__bg { background: linear-gradient(135deg, #c9b3d4, #875A7B); }
.mcard-odo-preview[data-style="world_map"] .mcard-odo-preview__bg { background: radial-gradient(circle at 30% 40%, #b8d4e8, #5a7a94); }
.mcard-odo-preview[data-style="safari"] .mcard-odo-preview__bg { background: linear-gradient(135deg, #d4c4a8, #8a6a3c); }
.mcard-odo-preview[data-style="waves"] .mcard-odo-preview__bg { background: repeating-linear-gradient(135deg, #9ec5e8, #9ec5e8 8px, #7aafd8 8px, #7aafd8 16px); }
.mcard-odo-preview[data-style="lines"] .mcard-odo-preview__bg { background: repeating-linear-gradient(90deg, #e9ecef, #e9ecef 4px, #ced4da 4px, #ced4da 8px); }
.mcard-odo-preview[data-style="organic"] .mcard-odo-preview__bg { background: radial-gradient(ellipse at 20% 30%, #c8e6c9, #81c784 60%, #4caf50); }
.mcard-odo-preview[data-style="blur"] .mcard-odo-preview__bg { filter: blur(0); background: linear-gradient(120deg, #f8bbd0, #ce93d8, #90caf9); }
.mcard-odo-preview[data-style="geometric"] .mcard-odo-preview__bg { background: conic-gradient(from 45deg, #875A7B, #e9ecef, #875A7B, #dee2e6); }
.mcard-odo-preview[data-style="circles"] .mcard-odo-preview__bg { background: radial-gradient(circle at 20% 30%, #fff 0 12%, transparent 13%), radial-gradient(circle at 70% 60%, #fff 0 18%, transparent 19%), #90a4ae; }
.mcard-odo-preview[data-style="avatar"] .mcard-odo-preview__bg { background: radial-gradient(circle at 50% 40%, #fff 0 18%, #875A7B 19% 100%); }
.mcard-odo-preview[data-style="drawings"] .mcard-odo-preview__bg { background: linear-gradient(45deg, #fff3e0 25%, #ffe0b2 25% 50%, #fff3e0 50% 75%, #ffe0b2 75%); }
.mcard-odo-preview[data-style="center"] .mcard-odo-preview__body { text-align: center; align-items: center; }
.mcard-odo-preview[data-style="center"] .mcard-odo-preview__imgs { justify-content: center; }

.mcard-odo-form-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.mcard-odo-chatter { border: 1px solid #e9ecef; border-radius: 8px; padding: 12px 14px; background: #fff; min-height: 160px; }
.mcard-odo-chatter__tabs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 10px; font-size: 0.88rem; color: #6c757d; }
.mcard-odo-chatter__tabs .is-active { font-weight: 650; color: #007BFF; }

.mcard-odo-nav-brand { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 4px; background: var(--sfe-primary, #007BFF); color: #fff; font-size: 0.7rem; margin-right: 4px; }
.mcard-odo-nav-brand-label { font-weight: 650; color: #1e2b3c; margin-right: 8px; font-size: 0.9rem; white-space: nowrap; }

/* Contrast: muted headers/labels readable on white */
.mcard-odo .data-table th,
.mcard-odo .o_list_view th,
.mcard-odo-table th {
  color: #334155 !important;
  font-weight: 700;
}
.mcard-odo .data-table td,
.mcard-odo-table td {
  color: #1e293b;
}
.mcard-odo-meta { color: #475569; }
.mcard-odo-field label { color: #475569; }
.mcard-odo-kpi__lbl { color: #475569; }
.mcard-odo-tab { color: #475569; }
.mcard-odo-empty { color: #334155; }
.mcard-odo-empty p,
.mcard-odo-preview__sub,
.mcard-odo-preview__section,
.mcard-odo-preview__sub1,
.mcard-odo-preview__sub2 { color: #475569; }
.mcard-odo-chatter__tabs { color: #475569; }
.mcard-odo-gear { opacity: 0.7; color: #475569; }
