:root {
  --dsp-bg: #f9f4ef;
  --dsp-surface: #ffffff;
  --dsp-cream: #fff9f5;
  --dsp-aqua-50: #edf9f7;
  --dsp-aqua-100: #dff3ef;
  --dsp-aqua-200: #c5ebe4;
  --dsp-aqua-400: #83d2c4;
  --dsp-teal: #0f5364;
  --dsp-teal-dark: #0a4050;
  --dsp-teal-soft: #dcecf1;
  --dsp-pink: #f9dfe7;
  --dsp-pink-strong: #eda9bd;
  --dsp-yellow: #fff0c9;
  --dsp-border: #c9dde3;
  --dsp-border-soft: #e8ded8;
  --dsp-text: #17343d;
  --dsp-muted: #667c84;
  --dsp-danger: #a33e4c;
  --dsp-shadow: 0 14px 40px rgba(25, 67, 76, .14);
  --dsp-radius: 14px;
}

* { box-sizing: border-box; }
html, body.dspwm-portal-page { margin: 0; min-height: 100%; background: var(--dsp-bg); color: var(--dsp-text); }
body.dspwm-portal-page { overflow: hidden; }
/* La interfaz hereda las familias tipográficas activas del sitio de la Dra. Sofía Paz. */
.dspwm-login, .dspwm-app, .dspwm-settings-drawer, .dspwm-modal { font-family: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
[hidden] { display: none !important; }

/* Acceso */
body.dspwm-access-page { overflow: auto; }
.dspwm-login { min-height: 100vh; display: grid; place-items: center; padding: 30px 18px; background: radial-gradient(circle at 15% 10%, #e7f7f3 0, transparent 32%), radial-gradient(circle at 90% 85%, #f9e5eb 0, transparent 30%), #fffaf7; }
.dspwm-login-card { width: min(470px, 100%); background: rgba(255,255,255,.96); border: 1px solid var(--dsp-border-soft); border-radius: 28px; box-shadow: var(--dsp-shadow); padding: 34px; }
.dspwm-brand { display: flex; justify-content: center; margin-bottom: 24px; }
.dspwm-brand img { width: min(290px, 86%); max-height: 98px; object-fit: contain; }
.dspwm-login-heading { text-align: center; margin-bottom: 22px; }
.dspwm-login-heading span { color: #4c9589; font-size: 12px; text-transform: uppercase; letter-spacing: .16em; font-weight: 700; }
.dspwm-login-heading h1 { margin: 8px 0 8px; color: var(--dsp-teal); font-size: 30px; }
.dspwm-login-heading p { margin: 0; color: var(--dsp-muted); line-height: 1.55; }
.dspwm-login-form { display: grid; gap: 10px; }
.dspwm-login-form label { font-size: 13px; font-weight: 700; }
.dspwm-login-form input[type="text"], .dspwm-login-form input[type="password"] { width: 100%; height: 46px; border: 1px solid var(--dsp-border); border-radius: 12px; padding: 0 13px; background: #fff; color: var(--dsp-text); }
.dspwm-login-form input:focus { outline: 3px solid rgba(131,210,196,.25); border-color: var(--dsp-aqua-400); }
.dspwm-login-form button, .dspwm-primary-link { min-height: 46px; border: 0; border-radius: 12px; background: var(--dsp-teal); color: #fff; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.dspwm-remember { display: flex; align-items: center; gap: 8px; margin: 4px 0 8px; color: var(--dsp-muted); }
.dspwm-login-error { padding: 11px 13px; margin-bottom: 14px; border-radius: 10px; background: #fff0f1; color: var(--dsp-danger); border: 1px solid #f1c7cd; }
.dspwm-back-site { display: block; margin-top: 18px; text-align: center; color: var(--dsp-teal); }

/* Estructura principal */
.dspwm-app { height: 100vh; min-height: 640px; background: var(--dsp-bg); display: grid; grid-template-rows: 66px minmax(0, 1fr); }
.dspwm-appbar { display: flex; align-items: center; gap: 14px; padding: 7px 16px 7px 14px; background: #fff; border-bottom: 1px solid var(--dsp-border-soft); box-shadow: 0 2px 12px rgba(22, 64, 75, .08); z-index: 20; }
.dspwm-brandmark { display: flex; align-items: center; width: 178px; height: 51px; flex: 0 0 auto; }
.dspwm-brandmark img { max-width: 100%; max-height: 48px; object-fit: contain; }
.dspwm-appbar-title { display: flex; flex-direction: column; border-left: 1px solid var(--dsp-border-soft); padding-left: 14px; line-height: 1.15; }
.dspwm-appbar-title strong { color: var(--dsp-teal); font-size: 18px; }
.dspwm-appbar-title span { color: var(--dsp-muted); font-size: 12px; margin-top: 3px; }
.dspwm-appbar-spacer { flex: 1; }
.dspwm-status-pill, .dspwm-window-pill { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 11px; font-weight: 700; padding: 7px 10px; white-space: nowrap; background: var(--dsp-yellow); color: #735b1c; border: 1px solid rgba(115,91,28,.12); }
.dspwm-status-pill.is-good, .dspwm-window-pill.is-good { background: #e2f8ed; color: #19633e; }
.dspwm-status-pill.is-warn, .dspwm-window-pill.is-warn { background: #fff0d5; color: #7d5515; }
.dspwm-icon-control { width: 38px; height: 38px; border: 1px solid var(--dsp-border); border-radius: 11px; display: grid; place-items: center; background: #fff; color: var(--dsp-teal); }
.dspwm-icon-control svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dspwm-userbox { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--dsp-muted); }
.dspwm-userbox span { font-weight: 700; color: var(--dsp-text); }
.dspwm-userbox a { color: var(--dsp-teal); text-decoration: none; font-weight: 700; }

.dspwm-workspace { min-height: 0; display: grid; grid-template-columns: 235px minmax(420px, 1fr) 170px minmax(325px, 385px); overflow: hidden; background: #fff; }

/* Bandeja */
.dspwm-inbox-column { min-width: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); border-right: 1px solid var(--dsp-border); background: #fff; }
.dspwm-inbox-head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; background: var(--dsp-teal); color: #fff; }
.dspwm-inbox-head strong { font-size: 16px; line-height: 1.05; letter-spacing: .01em; }
.dspwm-notification-pill { background: #e9fff4; color: #1f6d4c; border: 1px solid #b7e7d1; border-radius: 9px; padding: 9px 8px; font-size: 9px; font-weight: 700; text-align: center; white-space: nowrap; }
.dspwm-inbox-tools { padding: 10px 8px 8px; border-bottom: 1px solid #edf1f2; background: #fff; }
.dspwm-inbox-tools input { width: 100%; height: 40px; padding: 0 11px; border: 1px solid var(--dsp-border); border-radius: 10px; color: var(--dsp-text); background: #fff; }
.dspwm-inbox-tools input:focus { outline: 3px solid rgba(131,210,196,.22); border-color: var(--dsp-aqua-400); }
.dspwm-inbox-summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; color: var(--dsp-muted); font-size: 10px; }
.dspwm-text-button { border: 0; padding: 0; background: transparent; color: var(--dsp-teal); font-size: 10px; font-weight: 700; }
.dspwm-conversation-list { overflow-y: auto; padding: 6px 7px 18px; scrollbar-width: thin; }
.dspwm-conversation { width: 100%; min-height: 54px; border: 1px solid transparent; border-left: 4px solid var(--dsp-pink-strong); border-radius: 0 9px 9px 0; background: #fff5f8; padding: 7px 7px 7px 5px; margin-bottom: 6px; display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 7px; align-items: center; text-align: left; color: var(--dsp-text); }
.dspwm-conversation:nth-child(even) { background: #fffaf6; border-left-color: #f3c9a9; }
.dspwm-conversation:hover { border-color: #c9e6e1; border-left-color: var(--dsp-aqua-400); }
.dspwm-conversation.is-active { background: var(--dsp-aqua-100); border-color: #a7ddd4; border-left-color: var(--dsp-teal); box-shadow: inset 0 0 0 1px rgba(15,83,100,.03); }
.dspwm-avatar { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: #21c967; color: #fff; font-size: 9px; font-weight: 800; letter-spacing: -.02em; }
.dspwm-conversation-main { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dspwm-conversation-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.dspwm-conversation-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--dsp-muted); font-size: 10px; }
.dspwm-conversation-meta { align-self: stretch; display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 4px; }
.dspwm-conversation-meta time { color: #8a6f78; font-size: 9px; }
.dspwm-conversation-meta b { min-width: 18px; height: 18px; border-radius: 999px; display: grid; place-items: center; background: var(--dsp-teal); color: #fff; font-size: 9px; }

/* Chat */
.dspwm-chat-column { min-width: 0; display: grid; grid-template-rows: 50px 40px minmax(0,1fr); background: #eef6f8; border-right: 1px solid var(--dsp-border); }
.dspwm-chat-titlebar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 13px; background: var(--dsp-teal); color: #fff; }
.dspwm-chat-titlebar > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dspwm-chat-titlebar strong { font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dspwm-chat-titlebar small { color: rgba(255,255,255,.8); font-size: 10px; }
.dspwm-contact-strip { display: flex; align-items: center; gap: 12px; padding: 7px 13px; background: #fff; border-bottom: 1px solid var(--dsp-border); font-size: 11px; }
.dspwm-contact-strip strong { font-size: 11px; }
.dspwm-contact-strip span { border: 1px solid #a9d1dc; color: var(--dsp-teal); border-radius: 999px; padding: 5px 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dspwm-chat-stage { min-height: 0; position: relative; background: linear-gradient(rgba(237,247,249,.94), rgba(237,247,249,.94)), radial-gradient(circle at 20% 20%, #fff 0 1px, transparent 1px); background-size: auto, 22px 22px; }
.dspwm-chat-placeholder { padding: 40px 22px; color: var(--dsp-teal); font-size: 13px; }
.dspwm-chat-view { height: 100%; min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto auto; }
.dspwm-message-list { min-height: 0; overflow-y: auto; padding: 20px 24px 26px; display: flex; flex-direction: column; gap: 9px; scrollbar-width: thin; }
.dspwm-message { max-width: min(74%, 670px); border-radius: 12px; padding: 8px 10px 6px; box-shadow: 0 1px 4px rgba(24,61,70,.12); font-size: 13px; line-height: 1.42; }
.dspwm-message.is-inbound { align-self: flex-start; background: #fff; border-top-left-radius: 3px; }
.dspwm-message.is-outbound { align-self: flex-end; background: #dff6ed; border-top-right-radius: 3px; }
.dspwm-message-body a { color: var(--dsp-teal); text-decoration: underline; word-break: break-word; }
.dspwm-message footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 4px; color: #6f858c; font-size: 8px; }
.dspwm-media-link img, .dspwm-message video { display: block; max-width: 310px; width: 100%; border-radius: 8px; margin-bottom: 5px; }
.dspwm-message audio { width: 280px; max-width: 100%; }
.dspwm-document { display: block; padding: 10px; border-radius: 8px; background: rgba(255,255,255,.6); color: var(--dsp-teal); font-weight: 700; text-decoration: none; }
.dspwm-composer { display: grid; grid-template-columns: 42px minmax(0,1fr) 86px; gap: 8px; align-items: center; padding: 9px 12px; background: #fff; border-top: 1px solid var(--dsp-border); }
.dspwm-composer textarea { width: 100%; max-height: 120px; resize: vertical; border: 1px solid var(--dsp-border); border-radius: 11px; padding: 10px 12px; color: var(--dsp-text); background: #fff; }
.dspwm-composer textarea:focus { outline: 3px solid rgba(131,210,196,.2); border-color: var(--dsp-aqua-400); }
.dspwm-attach-button { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--dsp-border); display: grid; place-items: center; color: var(--dsp-teal); background: var(--dsp-aqua-50); cursor: pointer; }
.dspwm-attach-button input { display: none; }
.dspwm-attach-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dspwm-send-button, .dspwm-side-form button, .dspwm-reminder-actions button:not(.dspwm-secondary-action), .dspwm-primary-action, .dspwm-settings-actions button:not(.secondary), .dspwm-savebar button, .dspwm-user-create button, #dspwm-modal-send { min-height: 40px; border: 0; border-radius: 9px; background: var(--dsp-teal); color: #fff; font-weight: 700; padding: 8px 13px; }
.dspwm-send-button:disabled, .dspwm-side-form button:disabled { opacity: .45; cursor: not-allowed; }
.dspwm-file-preview { min-height: 0; padding: 0 12px 6px; background: #fff; color: var(--dsp-muted); font-size: 10px; }

/* Menú lateral */
.dspwm-tool-nav { background: #eff7f9; border-right: 1px solid var(--dsp-border); display: flex; flex-direction: column; min-width: 0; }
.dspwm-tool-nav button { width: 100%; min-height: 58px; border: 0; border-bottom: 1px solid var(--dsp-border); background: transparent; color: var(--dsp-text); display: flex; align-items: center; gap: 10px; padding: 10px 12px; text-align: left; font-size: 12px; }
.dspwm-tool-nav button:hover { background: #e4f2f5; }
.dspwm-tool-nav button.is-active { background: #d8eaf0; color: var(--dsp-teal-dark); font-weight: 700; box-shadow: inset 4px 0 0 var(--dsp-teal); }
.dspwm-tool-nav svg { flex: 0 0 auto; width: 17px; height: 17px; fill: none; stroke: var(--dsp-teal); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Panel derecho */
.dspwm-tool-column { min-width: 0; overflow: hidden; background: #fffdfb; }
.dspwm-tool-panel { display: none; height: 100%; overflow-y: auto; padding: 15px 14px 28px; }
.dspwm-tool-panel.is-active { display: block; }
.dspwm-tool-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.dspwm-tool-heading span { display: block; color: #b18375; text-transform: uppercase; letter-spacing: .13em; font-size: 9px; font-weight: 700; }
.dspwm-tool-heading h2 { margin: 2px 0 0; color: var(--dsp-teal); font-size: 23px; font-weight: 600; }
.dspwm-small-button, .dspwm-secondary-action, button.secondary { border: 1px solid #a7ced8; border-radius: 9px; background: #f1fafb; color: var(--dsp-teal); font-weight: 700; padding: 7px 10px; font-size: 10px; }
.dspwm-side-empty { border: 1px dashed #b9d5dc; border-radius: 12px; background: #f4fafb; color: var(--dsp-muted); padding: 18px; font-size: 12px; line-height: 1.5; }
.dspwm-selected-contact { border: 1px solid var(--dsp-border); border-left: 4px solid var(--dsp-aqua-400); border-radius: 10px; padding: 10px 11px; background: #fff; margin-bottom: 10px; display: flex; flex-direction: column; gap: 3px; }
.dspwm-selected-contact span { color: var(--dsp-muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.dspwm-selected-contact strong { font-size: 13px; }
.dspwm-selected-contact small { color: var(--dsp-muted); }
.dspwm-primary-action { width: 100%; margin-bottom: 12px; }
.dspwm-side-form, .dspwm-reminder-setup { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--dsp-border-soft); border-radius: 12px; background: #fff; }
.dspwm-side-form label, .dspwm-reminder-setup label { display: grid; gap: 5px; font-size: 10px; font-weight: 700; }
.dspwm-side-form input, .dspwm-side-form textarea, .dspwm-reminder-setup input { width: 100%; border: 1px solid var(--dsp-border); border-radius: 8px; background: #fff; color: var(--dsp-text); padding: 8px 9px; font-size: 11px; }
.dspwm-side-note, .dspwm-reminder-setup p, .dspwm-rcta-frame-wrap p { color: var(--dsp-muted); font-size: 10px; line-height: 1.45; }
.dspwm-rcta-card { border: 1px solid var(--dsp-border-soft); border-radius: 13px; background: linear-gradient(145deg, #fff, #fff7f4); padding: 14px; }
.dspwm-rcta-card p { color: var(--dsp-muted); font-size: 12px; line-height: 1.5; }
.dspwm-rcta-card a { display: block; text-align: center; color: var(--dsp-teal); font-size: 11px; font-weight: 700; }
.dspwm-rcta-frame-wrap { margin-top: 12px; }
.dspwm-rcta-frame-wrap iframe { width: 100%; height: 560px; border: 1px solid var(--dsp-border); border-radius: 10px; background: #fff; }
.dspwm-reminder-table-wrap { overflow-x: auto; margin-top: 10px; border: 1px solid var(--dsp-border-soft); border-radius: 10px; background: #fff; }
.dspwm-reminder-table { width: 100%; min-width: 590px; border-collapse: collapse; }
.dspwm-reminder-table th { padding: 7px 6px; background: #edf7f8; border-bottom: 1px solid var(--dsp-border); color: var(--dsp-teal); font-size: 9px; text-align: left; }
.dspwm-reminder-table td { padding: 5px; border-bottom: 1px solid #edf1f2; }
.dspwm-reminder-table input { width: 100%; min-width: 86px; border: 1px solid var(--dsp-border); border-radius: 7px; padding: 7px; font-size: 10px; }
.dspwm-icon-button { width: 26px; height: 26px; border: 1px solid #e4bfc7; border-radius: 7px; background: #fff4f6; color: var(--dsp-danger); }
.dspwm-reminder-actions { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; }
.dspwm-reminder-actions button { flex: 1; }
.dspwm-subtitle { margin: 18px 0 8px; color: var(--dsp-teal); font-size: 16px; }
.dspwm-batches { display: grid; gap: 8px; }
.dspwm-batch { border: 1px solid var(--dsp-border); border-radius: 10px; background: #fff; padding: 9px; display: grid; gap: 7px; }
.dspwm-batch > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.dspwm-batch strong { font-size: 12px; }
.dspwm-batch small { color: var(--dsp-muted); font-size: 9px; }
.dspwm-batch > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dspwm-batch a { color: var(--dsp-teal); font-size: 10px; }
.dspwm-batch button { border: 0; border-radius: 8px; padding: 7px 9px; background: var(--dsp-teal); color: #fff; font-size: 10px; font-weight: 700; }
.dspwm-batch button:disabled { opacity: .45; }

/* Configuración frontend */
.dspwm-settings-drawer { position: fixed; inset: 0; z-index: 100; }
.dspwm-settings-backdrop { position: absolute; inset: 0; background: rgba(8,35,43,.45); backdrop-filter: blur(2px); }
.dspwm-settings-sheet { position: absolute; top: 0; right: 0; width: min(720px, 94vw); height: 100%; background: var(--dsp-bg); box-shadow: -12px 0 34px rgba(9,48,58,.2); display: grid; grid-template-rows: auto minmax(0,1fr); }
.dspwm-settings-sheet > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; background: #fff; border-bottom: 1px solid var(--dsp-border-soft); }
.dspwm-settings-sheet > header span { color: #b18375; text-transform: uppercase; letter-spacing: .13em; font-size: 9px; font-weight: 700; }
.dspwm-settings-sheet > header h2 { margin: 2px 0 0; color: var(--dsp-teal); font-size: 24px; }
.dspwm-drawer-close, .dspwm-modal-close { width: 34px; height: 34px; border: 1px solid var(--dsp-border); border-radius: 9px; background: #fff; color: var(--dsp-teal); font-size: 22px; line-height: 1; }
.dspwm-settings-form { overflow-y: auto; padding: 16px 18px 90px; }
.dspwm-settings-card { background: #fff; border: 1px solid var(--dsp-border-soft); border-radius: 14px; padding: 16px; margin-bottom: 13px; }
.dspwm-settings-card h3 { margin: 0 0 5px; color: var(--dsp-teal); font-size: 18px; }
.dspwm-settings-card > p { margin: 0 0 13px; color: var(--dsp-muted); font-size: 11px; line-height: 1.5; }
.dspwm-fields { display: grid; gap: 10px; }
.dspwm-fields.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.dspwm-fields .wide { grid-column: 1 / -1; }
.dspwm-settings-card label { display: grid; gap: 5px; color: var(--dsp-text); font-size: 11px; font-weight: 700; }
.dspwm-settings-card input, .dspwm-settings-card select, .dspwm-settings-card textarea { width: 100%; border: 1px solid var(--dsp-border); border-radius: 9px; background: #fff; color: var(--dsp-text); padding: 9px 10px; font-size: 11px; }
.dspwm-settings-card textarea { resize: vertical; }
.dspwm-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 8px !important; }
.dspwm-check input { width: auto; }
.dspwm-settings-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.dspwm-settings-actions span { color: var(--dsp-muted); font-size: 10px; }
.dspwm-hours { display: grid; gap: 7px; margin-top: 12px; }
.dspwm-hour-row { display: grid; grid-template-columns: minmax(120px,1fr) 110px 18px 110px; gap: 8px; align-items: center; padding: 7px; border: 1px solid #edf0f1; border-radius: 9px; }
.dspwm-user-create { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: end; }
.dspwm-users { display: grid; gap: 8px; margin-top: 12px; }
.dspwm-user-card { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--dsp-border); border-radius: 9px; }
.dspwm-user-card > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.dspwm-user-card small { color: var(--dsp-muted); }
.dspwm-user-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.dspwm-danger-button { border: 1px solid #e8b9c1; border-radius: 8px; background: #fff1f3; color: var(--dsp-danger); font-weight: 700; padding: 7px 9px; font-size: 10px; }
.dspwm-savebar { position: sticky; bottom: -90px; display: flex; align-items: center; gap: 10px; padding: 12px 0 0; background: linear-gradient(transparent, var(--dsp-bg) 28%); }

/* Modal y avisos */
.dspwm-modal { position: fixed; inset: 0; z-index: 130; display: grid; place-items: center; padding: 20px; background: rgba(8,35,43,.52); }
.dspwm-modal-card { position: relative; width: min(520px, 100%); max-height: 88vh; overflow-y: auto; background: #fff; border-radius: 16px; box-shadow: var(--dsp-shadow); padding: 20px; }
.dspwm-modal-card h2 { margin: 0 44px 14px 0; color: var(--dsp-teal); }
.dspwm-modal-close { position: absolute; top: 12px; right: 12px; }
.dspwm-template-preview { padding: 12px; border: 1px solid var(--dsp-border); border-radius: 10px; background: var(--dsp-aqua-50); margin-bottom: 12px; line-height: 1.5; }
.dspwm-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.dspwm-toast { position: fixed; right: 18px; bottom: 18px; z-index: 160; max-width: 390px; border-radius: 11px; padding: 12px 14px; background: var(--dsp-teal-dark); color: #fff; box-shadow: var(--dsp-shadow); font-size: 12px; }
.dspwm-toast.is-error { background: var(--dsp-danger); }
.dspwm-empty { color: var(--dsp-muted); padding: 18px; text-align: center; }
.dspwm-empty.small { padding: 12px; font-size: 11px; }

@media (max-width: 1280px) {
  .dspwm-workspace { grid-template-columns: 220px minmax(380px,1fr) 145px 330px; }
  .dspwm-tool-nav button { padding-inline: 9px; }
}
@media (max-width: 1080px) {
  body.dspwm-portal-page { overflow: auto; }
  .dspwm-app { min-height: 100vh; height: auto; }
  .dspwm-workspace { min-height: calc(100vh - 66px); grid-template-columns: 230px minmax(0,1fr) 145px; grid-template-rows: minmax(620px,1fr) auto; overflow: visible; }
  .dspwm-tool-column { grid-column: 1 / -1; border-top: 1px solid var(--dsp-border); min-height: 520px; }
  .dspwm-tool-panel { height: auto; }
}
@media (max-width: 760px) {
  .dspwm-appbar-title, .dspwm-status-pill, .dspwm-userbox span { display: none; }
  .dspwm-brandmark { width: 150px; }
  .dspwm-workspace { display: block; }
  .dspwm-inbox-column { height: 340px; border-bottom: 1px solid var(--dsp-border); }
  .dspwm-chat-column { height: 620px; }
  .dspwm-tool-nav { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--dsp-border); }
  .dspwm-tool-nav button { border-right: 1px solid var(--dsp-border); justify-content: center; }
  .dspwm-tool-column { min-height: 520px; }
  .dspwm-fields.two, .dspwm-user-create { grid-template-columns: 1fr; }
  .dspwm-fields .wide { grid-column: auto; }
  .dspwm-hour-row { grid-template-columns: 1fr 90px 14px 90px; }
}

/* =========================================================
   v1.3.3 · Panel sin header y ajuste integral de identidad
   ========================================================= */
:root {
  --dsp-bg: #fffaf5;
  --dsp-surface: #ffffff;
  --dsp-cream: #fff7ef;
  --dsp-aqua-50: #effcf9;
  --dsp-aqua-100: #dff8f2;
  --dsp-aqua-200: #bff0e6;
  --dsp-aqua-400: #67dcc7;
  --dsp-mint: #55d8c1;
  --dsp-mint-dark: #2aa590;
  --dsp-blue: #afc7ef;
  --dsp-blue-soft: #edf3ff;
  --dsp-pink: #ffd8dd;
  --dsp-pink-strong: #ffb4be;
  --dsp-yellow: #ffe9b8;
  --dsp-peach: #ffc66f;
  --dsp-border: #d9e8e5;
  --dsp-border-soft: #eee5de;
  --dsp-text: #273a40;
  --dsp-muted: #687b80;
  --dsp-danger: #b24c61;
  --dsp-teal: #2aa590;
  --dsp-teal-dark: #1d7f70;
  --dsp-teal-soft: #dff8f2;
  --dsp-shadow: 0 12px 34px rgba(72, 119, 112, .14);
}

/* Respeta una única familia tipográfica: la configurada por el sitio. */
body.dspwm-portal-page,
body.dspwm-portal-page .dspwm-login,
body.dspwm-portal-page .dspwm-app,
body.dspwm-portal-page .dspwm-settings-drawer,
body.dspwm-portal-page .dspwm-modal,
body.dspwm-portal-page .dspwm-app *,
body.dspwm-portal-page .dspwm-login *,
body.dspwm-portal-page .dspwm-settings-drawer *,
body.dspwm-portal-page .dspwm-modal * {
  font-family: inherit !important;
}

body.dspwm-dashboard-page { font-size: 15px; background: var(--dsp-cream); }
.dspwm-app { height: 100vh; min-height: 620px; display: block; background: var(--dsp-cream); }
.dspwm-workspace {
  height: 100vh;
  min-height: 0;
  grid-template-columns: 260px minmax(500px, 1fr) 170px minmax(330px, 390px);
  background: var(--dsp-surface);
}

/* Bandeja */
.dspwm-inbox-column { border-right-color: var(--dsp-border); }
.dspwm-inbox-head {
  min-height: 82px;
  padding: 13px 14px;
  background: var(--dsp-aqua-100);
  color: var(--dsp-text);
  border-bottom: 1px solid var(--dsp-aqua-200);
}
.dspwm-inbox-head > strong { font-size: 18px; line-height: 1.2; font-weight: 700; white-space: nowrap; }
.dspwm-inbox-statuses { display: grid; justify-items: end; gap: 5px; }
.dspwm-notification-pill,
.dspwm-status-pill {
  min-height: 25px;
  padding: 5px 8px;
  font-size: 10px;
  border-radius: 999px;
  line-height: 1;
}
.dspwm-notification-pill { background: #fff; color: var(--dsp-mint-dark); border-color: var(--dsp-aqua-200); }
.dspwm-status-pill { background: var(--dsp-yellow); color: #765a1f; }
.dspwm-inbox-tools { padding: 12px 10px 10px; }
.dspwm-inbox-tools input { height: 43px; padding: 0 13px; font-size: 14px; border-radius: 11px; }
.dspwm-inbox-summary { margin-top: 9px; font-size: 11px; }
.dspwm-text-button { font-size: 11px; color: var(--dsp-mint-dark); }
.dspwm-conversation-list { padding: 8px 9px 92px; }
.dspwm-conversation { min-height: 62px; padding: 9px 9px 9px 7px; border-left-color: var(--dsp-pink-strong); background: #fff7f8; }
.dspwm-conversation:nth-child(even) { background: #fffaf3; border-left-color: var(--dsp-peach); }
.dspwm-conversation.is-active { background: var(--dsp-aqua-100); border-color: var(--dsp-aqua-200); border-left-color: var(--dsp-mint-dark); }
.dspwm-avatar { width: 34px; height: 34px; background: var(--dsp-mint); color: #173b36; font-size: 10px; }
.dspwm-conversation-main strong { font-size: 13px; }
.dspwm-conversation-main small { font-size: 11px; }
.dspwm-conversation-meta time { font-size: 10px; }

/* Conversación */
.dspwm-chat-column { grid-template-rows: 58px 44px minmax(0,1fr); background: var(--dsp-blue-soft); }
.dspwm-chat-titlebar { padding: 10px 16px; background: var(--dsp-blue-soft); color: var(--dsp-text); border-bottom: 1px solid #d4e1f7; }
.dspwm-chat-titlebar strong { font-size: 17px; font-weight: 700; }
.dspwm-chat-titlebar small { color: var(--dsp-muted); font-size: 11px; }
.dspwm-window-pill { font-size: 10px; background: var(--dsp-yellow); color: #765a1f; }
.dspwm-contact-strip { min-height: 44px; padding: 8px 16px; font-size: 12px; }
.dspwm-contact-strip strong { font-size: 12px; }
.dspwm-contact-strip span { padding: 6px 11px; border-color: var(--dsp-blue); color: #536b91; }
.dspwm-chat-stage { background: #f5f9ff; }
.dspwm-chat-placeholder { padding: 42px 24px; color: #60769a; font-size: 14px; }
.dspwm-message-list { padding: 22px 26px 28px; gap: 10px; }
.dspwm-message { font-size: 14px; line-height: 1.5; }
.dspwm-message.is-outbound { background: var(--dsp-aqua-100); }
.dspwm-composer { padding: 11px 14px; grid-template-columns: 44px minmax(0,1fr) 94px; }
.dspwm-composer textarea { min-height: 44px; font-size: 14px; }
.dspwm-attach-button { width: 42px; height: 42px; color: var(--dsp-mint-dark); background: var(--dsp-aqua-50); }
.dspwm-send-button,
.dspwm-side-form button,
.dspwm-reminder-actions button,
.dspwm-settings-form button:not(.dspwm-drawer-close):not(.dspwm-danger-button),
.dspwm-modal-actions button {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  background: var(--dsp-mint);
  color: #183e38;
  font-size: 13px;
  font-weight: 700;
}

/* Menú y panel derecho */
.dspwm-tool-nav { background: #f7fbff; border-right-color: var(--dsp-border); }
.dspwm-tool-nav button { min-height: 58px; padding: 0 14px; gap: 10px; color: var(--dsp-text); font-size: 13px; border-bottom-color: var(--dsp-border); }
.dspwm-tool-nav button:hover { background: var(--dsp-blue-soft); }
.dspwm-tool-nav button.is-active { background: var(--dsp-aqua-100); color: var(--dsp-mint-dark); box-shadow: inset 4px 0 0 var(--dsp-mint); }
.dspwm-tool-nav svg { width: 18px; height: 18px; }
.dspwm-tool-column { background: var(--dsp-cream); padding-bottom: 92px; }
.dspwm-tool-panel { padding: 22px 18px 100px; }
.dspwm-tool-heading { margin-bottom: 17px; }
.dspwm-tool-heading span { color: var(--dsp-pink-strong); font-size: 10px; letter-spacing: .12em; }
.dspwm-tool-heading h2 { margin-top: 5px; color: var(--dsp-text); font-size: 24px; line-height: 1.1; font-weight: 700; }
.dspwm-side-empty { padding: 18px; font-size: 13px; background: #fff; border-color: var(--dsp-blue); }
.dspwm-selected-contact strong { font-size: 14px; }
.dspwm-selected-contact small,
.dspwm-side-note,
.dspwm-reminder-setup p,
.dspwm-rcta-frame-wrap p { font-size: 11px; }
.dspwm-side-form label,
.dspwm-reminder-setup label,
.dspwm-settings-card label { font-size: 12px; }
.dspwm-side-form input,
.dspwm-side-form textarea,
.dspwm-reminder-setup input,
.dspwm-settings-card input,
.dspwm-settings-card select,
.dspwm-settings-card textarea { font-size: 13px; }
.dspwm-rcta-card p { font-size: 13px; }
.dspwm-rcta-card a { font-size: 12px; color: var(--dsp-mint-dark); }
.dspwm-subtitle { font-size: 18px; color: var(--dsp-text); }

/* Controles fijos: sin header interno. */
.dspwm-corner-actions {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 95;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
}
.dspwm-corner-button {
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 15px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(47, 91, 84, .18);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.dspwm-corner-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dspwm-settings-button { border: 1px solid var(--dsp-aqua-200); background: #fff; color: var(--dsp-mint-dark); }
.dspwm-logout-button { border: 1px solid var(--dsp-pink-strong); background: var(--dsp-pink); color: #8f3e52; }
.dspwm-settings-button:hover { background: var(--dsp-aqua-50); }
.dspwm-logout-button:hover { background: #ffcbd3; }

/* Acceso con la misma paleta. */
.dspwm-login { background: radial-gradient(circle at 14% 10%, var(--dsp-aqua-100) 0, transparent 34%), radial-gradient(circle at 88% 86%, var(--dsp-pink) 0, transparent 32%), var(--dsp-cream); }
.dspwm-login-heading span { color: var(--dsp-mint-dark); }
.dspwm-login-heading h1 { color: #7c98c8; font-size: 30px; line-height: 1.18; }
.dspwm-login-heading p { font-size: 15px; }
.dspwm-login-form label { font-size: 13px; }
.dspwm-login-form input[type="text"], .dspwm-login-form input[type="password"] { font-size: 15px; }
.dspwm-login-form button, .dspwm-primary-link { background: var(--dsp-mint); color: #183e38; }
.dspwm-back-site { color: #6c87b5; }

/* Oculta botones flotantes de WhatsApp de la web dentro de las páginas privadas. */
body.dspwm-portal-page .joinchat,
body.dspwm-portal-page #joinchat,
body.dspwm-portal-page #qlwapp,
body.dspwm-portal-page .qlwapp,
body.dspwm-portal-page .ht-ctc-chat,
body.dspwm-portal-page #ht-ctc-chat,
body.dspwm-portal-page .ctc-analytics,
body.dspwm-portal-page .floating-wpp,
body.dspwm-portal-page .wa__btn_popup,
body.dspwm-portal-page .whatsapp-chat-button,
body.dspwm-portal-page .whatsapp-floating-button,
body.dspwm-portal-page [class*="joinchat"],
body.dspwm-portal-page [id*="joinchat"] { display: none !important; visibility: hidden !important; }

@media (max-width: 1280px) {
  .dspwm-workspace { grid-template-columns: 245px minmax(420px,1fr) 155px 335px; }
}
@media (max-width: 1080px) {
  .dspwm-workspace { min-height: 100vh; grid-template-columns: 240px minmax(0,1fr) 150px; }
  .dspwm-tool-column { padding-bottom: 90px; }
}
@media (max-width: 760px) {
  .dspwm-inbox-head > strong { font-size: 17px; }
  .dspwm-inbox-statuses { grid-template-columns: 1fr 1fr; justify-items: stretch; }
  .dspwm-corner-actions { right: 12px; bottom: 12px; }
  .dspwm-corner-button { min-width: 46px; padding: 0 12px; }
  .dspwm-corner-button span { display: none; }
}

/* =========================================================
   v1.3.5 · Identidad oficial Dra. Sofía Paz
   Paleta: #f9bbbf · #fcd083 · #91dfd0 · #fefbf4
   Tipografía: Altone instalada en el sitio
   ========================================================= */
:root {
  --dsp-brand-pink: #f9bbbf;
  --dsp-brand-yellow: #fcd083;
  --dsp-brand-mint: #91dfd0;
  --dsp-brand-cream: #fefbf4;
  --dsp-bg: #fefbf4;
  --dsp-surface: #ffffff;
  --dsp-cream: #fefbf4;
  --dsp-aqua-50: #f5fcfa;
  --dsp-aqua-100: #e7f8f4;
  --dsp-aqua-200: #c8eee7;
  --dsp-aqua-400: #91dfd0;
  --dsp-mint: #91dfd0;
  --dsp-mint-dark: #4fae9d;
  --dsp-pink: #f9bbbf;
  --dsp-pink-strong: #ee9fa5;
  --dsp-yellow: #fcd083;
  --dsp-peach: #fcd083;
  --dsp-border: rgba(145, 223, 208, .68);
  --dsp-border-soft: #eee9e2;
  --dsp-text: #303033;
  --dsp-muted: #6d6b6d;
  --dsp-danger: #a94755;
  --dsp-teal: #91dfd0;
  --dsp-teal-dark: #4fae9d;
  --dsp-teal-soft: #e7f8f4;
  --dsp-shadow: 0 12px 34px rgba(74, 92, 88, .12);
}

html,
body.dspwm-portal-page,
body.dspwm-portal-page .dspwm-login,
body.dspwm-portal-page .dspwm-app,
body.dspwm-portal-page .dspwm-app *,
body.dspwm-portal-page .dspwm-settings-drawer,
body.dspwm-portal-page .dspwm-settings-drawer *,
body.dspwm-portal-page .dspwm-modal,
body.dspwm-portal-page .dspwm-modal * {
  font-family: var(--dsp-font-ui) !important;
  font-variant-ligatures: common-ligatures;
}

body.dspwm-portal-page {
  color: var(--dsp-text);
  background: var(--dsp-brand-cream);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
}

body.dspwm-portal-page h1,
body.dspwm-portal-page h2,
body.dspwm-portal-page h3,
body.dspwm-portal-page h4,
body.dspwm-portal-page strong,
body.dspwm-portal-page button {
  font-family: var(--dsp-font-ui) !important;
}

/* Acceso */
.dspwm-login {
  background:
    radial-gradient(circle at 12% 12%, rgba(145,223,208,.34) 0, transparent 32%),
    radial-gradient(circle at 88% 85%, rgba(249,187,191,.32) 0, transparent 31%),
    var(--dsp-brand-cream);
}
.dspwm-login-card {
  border: 1px solid rgba(249,187,191,.55);
  background: rgba(255,255,255,.97);
  box-shadow: 0 16px 42px rgba(57, 65, 63, .12);
}
.dspwm-brand img { width: min(330px, 90%); max-height: 92px; }
.dspwm-login-heading span { color: #4fae9d; font-size: 12px; font-weight: 600; }
.dspwm-login-heading h1 {
  color: var(--dsp-text);
  font-size: 29px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -.02em;
}
.dspwm-login-heading p { color: var(--dsp-muted); font-size: 15px; line-height: 1.55; }
.dspwm-login-form label { color: var(--dsp-text); font-size: 13px; font-weight: 600; }
.dspwm-login-form input[type="text"],
.dspwm-login-form input[type="password"] {
  font-size: 15px;
  color: var(--dsp-text);
  border-color: rgba(145,223,208,.85);
  background: #fff;
}
.dspwm-login-form input:focus {
  outline: 3px solid rgba(145,223,208,.25);
  border-color: #69c8b7;
}
.dspwm-login-form button,
.dspwm-primary-link {
  background: var(--dsp-brand-mint);
  color: #263936;
  font-size: 15px;
  font-weight: 600;
}
.dspwm-login-form button:hover,
.dspwm-primary-link:hover { background: var(--dsp-brand-yellow); color: #3d3424; }
.dspwm-back-site { color: #4c9e90; font-size: 14px; }

/* Estructura */
.dspwm-app { background: var(--dsp-brand-cream); }
.dspwm-workspace {
  background: #fff;
  grid-template-columns: 270px minmax(520px, 1fr) 170px minmax(340px, 390px);
}

/* Bandeja */
.dspwm-inbox-column { background: #fff; border-right-color: rgba(145,223,208,.65); }
.dspwm-inbox-head {
  min-height: 78px;
  background: var(--dsp-brand-mint);
  color: #2d3735;
  border-bottom: 1px solid rgba(79,174,157,.32);
}
.dspwm-inbox-head > strong { font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.dspwm-notification-pill {
  background: rgba(255,255,255,.82);
  color: #3f8d80;
  border-color: rgba(255,255,255,.95);
  font-size: 10px;
  font-weight: 600;
}
.dspwm-status-pill,
.dspwm-window-pill {
  background: var(--dsp-brand-yellow);
  color: #5c4926;
  border-color: rgba(92,73,38,.12);
  font-weight: 600;
}
.dspwm-inbox-tools { background: #fff; border-bottom-color: #f0ece7; }
.dspwm-inbox-tools input {
  border-color: rgba(145,223,208,.78);
  color: var(--dsp-text);
  font-size: 14px;
}
.dspwm-inbox-summary { color: var(--dsp-muted); font-size: 12px; }
.dspwm-text-button { color: #438f83; font-size: 12px; font-weight: 600; }
.dspwm-conversation {
  background: rgba(249,187,191,.16);
  border-left-color: var(--dsp-brand-pink);
  color: var(--dsp-text);
}
.dspwm-conversation:nth-child(even) {
  background: rgba(252,208,131,.14);
  border-left-color: var(--dsp-brand-yellow);
}
.dspwm-conversation:hover { border-color: rgba(145,223,208,.75); }
.dspwm-conversation.is-active {
  background: rgba(145,223,208,.28);
  border-color: rgba(79,174,157,.5);
  border-left-color: #4fae9d;
}
.dspwm-avatar { background: var(--dsp-brand-mint); color: #253b37; }
.dspwm-conversation-main strong { color: var(--dsp-text); font-size: 14px; font-weight: 600; }
.dspwm-conversation-main small { color: var(--dsp-muted); font-size: 12px; }
.dspwm-conversation-meta time { color: #81777a; font-size: 11px; }
.dspwm-conversation-meta b { background: var(--dsp-brand-pink); color: #55363a; }

/* Conversación */
.dspwm-chat-column {
  background: #fff;
  border-right-color: rgba(145,223,208,.62);
}
.dspwm-chat-titlebar {
  background: var(--dsp-brand-cream);
  color: var(--dsp-text);
  border-bottom: 1px solid rgba(249,187,191,.55);
}
.dspwm-chat-titlebar strong { color: var(--dsp-text); font-size: 18px; font-weight: 600; }
.dspwm-chat-titlebar small { color: var(--dsp-muted); font-size: 12px; }
.dspwm-contact-strip { background: #fff; border-bottom-color: rgba(145,223,208,.55); font-size: 13px; }
.dspwm-contact-strip strong { font-size: 13px; font-weight: 600; }
.dspwm-contact-strip span {
  color: #4b8e83;
  border-color: rgba(145,223,208,.9);
  background: rgba(145,223,208,.09);
}
.dspwm-chat-stage {
  background:
    linear-gradient(rgba(254,251,244,.94), rgba(254,251,244,.94)),
    radial-gradient(circle at 18% 18%, rgba(145,223,208,.28) 0 1px, transparent 1px);
  background-size: auto, 24px 24px;
}
.dspwm-chat-placeholder { color: #5c7772; font-size: 14px; }
.dspwm-message { color: var(--dsp-text); font-size: 14px; line-height: 1.5; }
.dspwm-message.is-inbound { background: #fff; border-color: rgba(249,187,191,.45); }
.dspwm-message.is-outbound { background: rgba(145,223,208,.34); border-color: rgba(79,174,157,.25); }
.dspwm-message time,
.dspwm-message small { color: var(--dsp-muted); }
.dspwm-composer { background: #fff; border-top-color: rgba(145,223,208,.55); }
.dspwm-composer textarea { color: var(--dsp-text); border-color: rgba(145,223,208,.75); font-size: 14px; }
.dspwm-attach-button { background: rgba(249,187,191,.24); color: #9f5f66; border-color: rgba(249,187,191,.7); }
.dspwm-send-button,
.dspwm-side-form button,
.dspwm-reminder-actions button,
.dspwm-settings-form button:not(.dspwm-drawer-close):not(.dspwm-danger-button),
.dspwm-modal-actions button,
.dspwm-primary-action {
  background: var(--dsp-brand-mint);
  color: #263936;
  font-weight: 600;
}
.dspwm-send-button:hover,
.dspwm-side-form button:hover,
.dspwm-reminder-actions button:hover,
.dspwm-primary-action:hover { background: var(--dsp-brand-yellow); color: #4d4026; }

/* Menú lateral */
.dspwm-tool-nav {
  background: #fff;
  border-right-color: rgba(145,223,208,.62);
}
.dspwm-tool-nav button {
  color: var(--dsp-text);
  font-size: 14px;
  font-weight: 500;
  border-bottom-color: rgba(145,223,208,.42);
}
.dspwm-tool-nav button:hover { background: rgba(252,208,131,.18); }
.dspwm-tool-nav button.is-active {
  background: rgba(145,223,208,.30);
  color: #347e72;
  box-shadow: inset 4px 0 0 var(--dsp-brand-mint);
  font-weight: 600;
}
.dspwm-tool-nav svg { color: #4fae9d; }

/* Panel derecho */
.dspwm-tool-column { background: var(--dsp-brand-cream); }
.dspwm-tool-panel { color: var(--dsp-text); }
.dspwm-tool-heading span { color: #d77d86; font-size: 11px; font-weight: 600; }
.dspwm-tool-heading h2 { color: var(--dsp-text); font-size: 25px; font-weight: 600; letter-spacing: -.02em; }
.dspwm-side-empty {
  background: rgba(255,255,255,.75);
  color: var(--dsp-muted);
  border-color: rgba(145,223,208,.85);
  font-size: 13px;
}
.dspwm-selected-contact,
.dspwm-side-form,
.dspwm-reminder-setup,
.dspwm-rcta-card,
.dspwm-batch,
.dspwm-settings-card {
  background: #fff;
  border-color: rgba(145,223,208,.52);
}
.dspwm-side-form label,
.dspwm-reminder-setup label,
.dspwm-settings-card label { color: var(--dsp-text); font-size: 13px; font-weight: 600; }
.dspwm-side-form input,
.dspwm-side-form textarea,
.dspwm-reminder-setup input,
.dspwm-settings-card input,
.dspwm-settings-card select,
.dspwm-settings-card textarea {
  color: var(--dsp-text);
  border-color: rgba(145,223,208,.7);
  font-size: 13px;
}
.dspwm-rcta-card a,
.dspwm-batch a { color: #428f82; }
.dspwm-subtitle { color: var(--dsp-text); font-size: 18px; font-weight: 600; }
.dspwm-reminder-table th { background: rgba(145,223,208,.2); color: #347e72; }

/* Configuración */
.dspwm-settings-backdrop { background: rgba(56,62,61,.42); }
.dspwm-settings-sheet { background: var(--dsp-brand-cream); }
.dspwm-settings-sheet > header { background: #fff; border-bottom-color: rgba(145,223,208,.55); }
.dspwm-settings-sheet > header span { color: #d77d86; }
.dspwm-settings-sheet > header h2,
.dspwm-settings-card h3,
.dspwm-modal-card h2 { color: var(--dsp-text); font-weight: 600; }
.dspwm-template-preview { background: rgba(145,223,208,.15); border-color: rgba(145,223,208,.58); }
.dspwm-toast { background: #4fae9d; color: #fff; }

/* Botones fijos */
.dspwm-settings-button {
  background: #fff;
  color: #3f8d80;
  border-color: rgba(145,223,208,.8);
}
.dspwm-settings-button:hover { background: rgba(145,223,208,.2); }
.dspwm-logout-button {
  background: var(--dsp-brand-pink);
  color: #673b41;
  border-color: rgba(238,159,165,.85);
}
.dspwm-logout-button:hover { background: var(--dsp-brand-yellow); color: #4e4024; }

@media (max-width: 1280px) {
  .dspwm-workspace { grid-template-columns: 250px minmax(430px,1fr) 155px 340px; }
}

/* =========================================================
   v1.3.5 · Ajuste fiel al sitio de la Dra. Sofía Paz
   Tipografía redondeada del sitio + paleta pastel suave
   ========================================================= */
:root {
  --dsp-font-ui: 'DSP Comfortaa','Comfortaa','Century Gothic','Trebuchet MS',sans-serif;
  --dsp-brand-blue: #b9c9ee;
  --dsp-brand-blue-soft: #f3f6fd;
  --dsp-brand-pink: #f9bbbf;
  --dsp-brand-pink-soft: #fff1f2;
  --dsp-brand-yellow: #fcd083;
  --dsp-brand-yellow-soft: #fff7e7;
  --dsp-brand-mint: #91dfd0;
  --dsp-brand-mint-soft: #effaf8;
  --dsp-brand-cream: #fefbf4;
  --dsp-text: #252529;
  --dsp-muted: #6f7077;
  --dsp-border: #e9e6df;
  --dsp-border-mint: #caeee7;
  --dsp-shadow: 0 10px 30px rgba(73, 73, 78, .08);
}

html,
body.dspwm-portal-page,
body.dspwm-portal-page input,
body.dspwm-portal-page textarea,
body.dspwm-portal-page select,
body.dspwm-portal-page button,
body.dspwm-portal-page a,
body.dspwm-portal-page h1,
body.dspwm-portal-page h2,
body.dspwm-portal-page h3,
body.dspwm-portal-page h4,
body.dspwm-portal-page strong,
body.dspwm-portal-page small,
body.dspwm-portal-page span,
body.dspwm-portal-page p,
body.dspwm-portal-page label {
  font-family: var(--dsp-font-ui) !important;
}

body.dspwm-portal-page {
  color: var(--dsp-text);
  background: var(--dsp-brand-cream);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}

/* Acceso: limpio, suave y coherente con la portada. */
.dspwm-login {
  background:
    radial-gradient(circle at 8% 10%, rgba(185,201,238,.22), transparent 31%),
    radial-gradient(circle at 91% 88%, rgba(249,187,191,.20), transparent 30%),
    var(--dsp-brand-cream);
}
.dspwm-login-card {
  background: rgba(255,255,255,.96);
  border: 1px solid #eee8df;
  border-radius: 26px;
  box-shadow: 0 16px 42px rgba(69,70,76,.09);
}
.dspwm-login-heading span {
  color: #72b9ad;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .13em;
}
.dspwm-login-heading h1 {
  color: var(--dsp-brand-blue);
  font-size: 30px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: -.025em;
}
.dspwm-login-heading p {
  color: #565861;
  font-size: 15px;
  line-height: 1.55;
}
.dspwm-login-form label { color: #2f3035; font-size: 13px; font-weight: 600; }
.dspwm-login-form input[type="text"],
.dspwm-login-form input[type="password"] {
  border-color: #dce7f7;
  border-radius: 13px;
  font-size: 15px;
  background: #fff;
}
.dspwm-login-form input:focus {
  outline: 3px solid rgba(185,201,238,.24);
  border-color: var(--dsp-brand-blue);
}
.dspwm-login-form button,
.dspwm-primary-link {
  background: var(--dsp-brand-blue);
  color: #313746;
  border-radius: 13px;
  font-weight: 700;
}
.dspwm-login-form button:hover,
.dspwm-primary-link:hover { background: var(--dsp-brand-pink); color: #493b40; }
.dspwm-back-site { color: #6d89bf; }

/* Panel general. */
.dspwm-app { background: #fff; }
.dspwm-workspace {
  background: #fff;
  grid-template-columns: 255px minmax(500px, 1fr) 165px minmax(330px, 365px);
}

/* Bandeja: sin cartel de notificaciones y estado debajo del título. */
.dspwm-inbox-column { background: #fff; border-right: 1px solid var(--dsp-border); }
.dspwm-inbox-head {
  min-height: 86px;
  padding: 17px 14px 13px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  background: var(--dsp-brand-mint-soft);
  color: var(--dsp-text);
  border-bottom: 1px solid var(--dsp-border-mint);
}
.dspwm-inbox-head > strong {
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.015em;
}
.dspwm-notification-pill { display: none !important; }
.dspwm-status-pill {
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--dsp-brand-yellow-soft);
  color: #80652d;
  border: 1px solid #f7deb1;
  font-size: 10px;
  line-height: 1;
  font-weight: 600;
  box-shadow: none;
}
.dspwm-status-pill.is-good {
  background: var(--dsp-brand-mint-soft);
  color: #568f86;
  border-color: var(--dsp-border-mint);
}
.dspwm-status-pill.is-warn {
  background: var(--dsp-brand-yellow-soft);
  color: #80652d;
  border-color: #f7deb1;
}
.dspwm-inbox-tools {
  padding: 12px 10px 10px;
  background: #fff;
  border-bottom: 1px solid #f0ede8;
}
.dspwm-inbox-tools input {
  height: 42px;
  border: 1px solid #dfe7f5;
  border-radius: 12px;
  padding: 0 12px;
  color: var(--dsp-text);
  font-size: 13px;
  background: #fff;
}
.dspwm-inbox-tools input:focus {
  outline: 3px solid rgba(185,201,238,.18);
  border-color: var(--dsp-brand-blue);
}
.dspwm-inbox-summary { margin-top: 9px; color: var(--dsp-muted); font-size: 10px; }
.dspwm-text-button { color: #7793c5; font-size: 10px; font-weight: 600; }
.dspwm-conversation-list { padding: 8px 8px 18px; }
.dspwm-conversation {
  min-height: 58px;
  border: 1px solid #f0e7e7;
  border-left: 4px solid #f5cfd2;
  border-radius: 11px;
  background: #fffafb;
  margin-bottom: 7px;
  color: var(--dsp-text);
}
.dspwm-conversation:nth-child(even) { background: #fffcf5; border-left-color: #f9dfad; }
.dspwm-conversation:hover { border-color: #dbe8f8; border-left-color: var(--dsp-brand-blue); }
.dspwm-conversation.is-active {
  background: var(--dsp-brand-blue-soft);
  border-color: #d8e1f5;
  border-left-color: var(--dsp-brand-blue);
  box-shadow: none;
}
.dspwm-avatar { background: var(--dsp-brand-mint); color: #405550; }
.dspwm-conversation-main strong { color: var(--dsp-text); font-size: 13px; font-weight: 700; }
.dspwm-conversation-main small { color: var(--dsp-muted); font-size: 11px; }
.dspwm-conversation-meta time { color: #8a8790; font-size: 10px; }
.dspwm-conversation-meta b { background: var(--dsp-brand-pink); color: #60484c; }

/* Conversación central. */
.dspwm-chat-column { background: #fff; border-right: 1px solid var(--dsp-border); }
.dspwm-chat-titlebar {
  min-height: 58px;
  padding: 10px 15px;
  background: var(--dsp-brand-blue-soft);
  color: var(--dsp-text);
  border-bottom: 1px solid #dfe6f4;
}
.dspwm-chat-titlebar strong { color: var(--dsp-text); font-size: 17px; font-weight: 700; }
.dspwm-chat-titlebar small { color: var(--dsp-muted); font-size: 11px; }
.dspwm-window-pill {
  background: var(--dsp-brand-yellow-soft);
  color: #80652d;
  border: 1px solid #f7deb1;
  font-size: 10px;
  font-weight: 600;
}
.dspwm-contact-strip {
  min-height: 44px;
  padding: 8px 15px;
  background: #fff;
  border-bottom: 1px solid #f2e4e5;
  color: var(--dsp-text);
  font-size: 11px;
}
.dspwm-contact-strip strong { font-size: 11px; font-weight: 700; }
.dspwm-contact-strip span {
  border: 1px solid #dfe7f5;
  color: #6884b5;
  background: #fbfcff;
  font-size: 11px;
}
.dspwm-chat-stage {
  background:
    linear-gradient(rgba(254,251,244,.95), rgba(254,251,244,.95)),
    radial-gradient(circle at 20% 20%, rgba(185,201,238,.22) 0 1px, transparent 1px);
  background-size: auto, 25px 25px;
}
.dspwm-chat-placeholder { color: #686b73; font-size: 12px; line-height: 1.5; }
.dspwm-message { color: var(--dsp-text); font-size: 13px; line-height: 1.5; }
.dspwm-message.is-inbound { background: #fff; border-color: #f0e3e4; }
.dspwm-message.is-outbound { background: var(--dsp-brand-mint-soft); border-color: var(--dsp-border-mint); }
.dspwm-composer { background: #fff; border-top: 1px solid #ebe8e2; }
.dspwm-composer textarea { border-color: #dfe7f5; border-radius: 12px; font-size: 13px; }
.dspwm-attach-button { background: var(--dsp-brand-pink-soft); color: #b27077; border-color: #f4d7d9; }
.dspwm-send-button,
.dspwm-side-form button,
.dspwm-reminder-actions button,
.dspwm-settings-form button:not(.dspwm-drawer-close):not(.dspwm-danger-button),
.dspwm-modal-actions button,
.dspwm-primary-action {
  background: var(--dsp-brand-blue);
  color: #343a49;
  font-size: 12px;
  font-weight: 700;
  border-radius: 11px;
  box-shadow: none;
}
.dspwm-send-button:hover,
.dspwm-side-form button:hover,
.dspwm-reminder-actions button:hover,
.dspwm-primary-action:hover { background: var(--dsp-brand-pink); color: #4c3d42; }

/* Navegación administrativa: tonos muy claros. */
.dspwm-tool-nav { background: #fff; border-right: 1px solid var(--dsp-border); }
.dspwm-tool-nav button {
  min-height: 58px;
  padding: 0 14px;
  gap: 10px;
  color: #41434a;
  font-size: 12px;
  font-weight: 500;
  border-bottom: 1px solid #eeeae4;
}
.dspwm-tool-nav button:hover { background: var(--dsp-brand-yellow-soft); }
.dspwm-tool-nav button.is-active {
  background: var(--dsp-brand-mint-soft);
  color: #4a8179;
  box-shadow: inset 3px 0 0 #b8e9df;
  font-weight: 700;
}
.dspwm-tool-nav svg { width: 17px; height: 17px; color: #72b9ad; }

/* Panel derecho. */
.dspwm-tool-column { background: var(--dsp-brand-cream); padding-bottom: 96px; }
.dspwm-tool-panel { padding: 22px 18px 105px; }
.dspwm-tool-heading span { color: #d9969c; font-size: 9px; font-weight: 600; letter-spacing: .12em; }
.dspwm-tool-heading h2 {
  margin-top: 5px;
  color: var(--dsp-brand-blue);
  font-size: 22px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: -.02em;
}
.dspwm-side-empty {
  background: rgba(255,255,255,.82);
  color: #70727a;
  border: 1px dashed #d8e2f4;
  border-radius: 13px;
  padding: 17px;
  font-size: 11px;
  line-height: 1.55;
}
.dspwm-selected-contact,
.dspwm-side-form,
.dspwm-reminder-setup,
.dspwm-rcta-card,
.dspwm-batch,
.dspwm-settings-card {
  background: rgba(255,255,255,.92);
  border-color: #ebe6df;
  box-shadow: none;
}
.dspwm-side-form label,
.dspwm-reminder-setup label,
.dspwm-settings-card label { color: #35363b; font-size: 11px; font-weight: 600; }
.dspwm-side-form input,
.dspwm-side-form textarea,
.dspwm-reminder-setup input,
.dspwm-settings-card input,
.dspwm-settings-card select,
.dspwm-settings-card textarea {
  color: var(--dsp-text);
  border-color: #dfe7f5;
  border-radius: 10px;
  background: #fff;
  font-size: 12px;
}
.dspwm-rcta-card p,
.dspwm-side-note,
.dspwm-reminder-setup p,
.dspwm-rcta-frame-wrap p { color: var(--dsp-muted); font-size: 11px; }
.dspwm-rcta-card a,
.dspwm-batch a { color: #6e8dc3; }
.dspwm-subtitle { color: var(--dsp-brand-blue); font-size: 16px; font-weight: 700; }
.dspwm-reminder-table th { background: var(--dsp-brand-mint-soft); color: #598d84; }

/* Configuración y acciones fijas. */
.dspwm-settings-backdrop { background: rgba(50,51,56,.32); }
.dspwm-settings-sheet { background: var(--dsp-brand-cream); }
.dspwm-settings-sheet > header { background: #fff; border-bottom-color: #ebe6df; }
.dspwm-settings-sheet > header span { color: #d9969c; }
.dspwm-settings-sheet > header h2,
.dspwm-settings-card h3,
.dspwm-modal-card h2 { color: var(--dsp-brand-blue); font-weight: 700; }
.dspwm-template-preview { background: var(--dsp-brand-blue-soft); border-color: #dce5f5; }
.dspwm-toast { background: #839bc8; color: #fff; }
.dspwm-corner-actions { right: 18px; bottom: 14px; gap: 8px; }
.dspwm-corner-button {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  box-shadow: 0 7px 22px rgba(77,79,88,.10);
  font-size: 11px;
  font-weight: 700;
}
.dspwm-settings-button { background: #fff; color: #6c8abf; border-color: #d8e2f4; }
.dspwm-settings-button:hover { background: var(--dsp-brand-blue-soft); }
.dspwm-logout-button { background: var(--dsp-brand-pink-soft); color: #a15f67; border-color: #f3d2d5; }
.dspwm-logout-button:hover { background: var(--dsp-brand-pink); color: #5e4146; }

@media (max-width: 1280px) {
  .dspwm-workspace { grid-template-columns: 240px minmax(420px,1fr) 150px 330px; }
}
@media (max-width: 760px) {
  .dspwm-inbox-head { min-height: 78px; }
  .dspwm-inbox-head > strong { font-size: 16px; }
}

/* v1.3.8 · módulos administrativos */
.dspwm-tool-nav,
.dspwm-tool-column,
.dspwm-tool-panel,
.dspwm-rcta-card,
.dspwm-reminder-manual-form,
.dspwm-invoice-form,
.dspwm-inline-search,
.dspwm-compact-list,
.dspwm-operation-result {
  background: #fff !important;
}
.dspwm-tool-column { border-left: 0; }
.dspwm-tool-panel { padding: 24px 18px 110px; }
.dspwm-tool-nav button { background: #fff; }
.dspwm-tool-nav button:hover { background: rgba(252, 208, 131, .13); }
.dspwm-tool-nav button.is-active { background: rgba(145, 223, 208, .16); }

.dspwm-soft-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(249, 187, 191, .65);
  border-radius: 999px;
  background: rgba(249, 187, 191, .14);
  color: #98676b !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 10px !important;
  white-space: nowrap;
}
.dspwm-soft-status.is-ready {
  border-color: rgba(145, 223, 208, .9);
  background: rgba(145, 223, 208, .18);
  color: #438e81 !important;
}

.dspwm-inline-search,
.dspwm-invoice-form,
.dspwm-reminder-manual-form {
  border: 1px solid rgba(145, 223, 208, .5);
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 14px;
  box-shadow: none;
}
.dspwm-inline-search > label,
.dspwm-invoice-form label,
.dspwm-reminder-manual-form label {
  display: grid;
  gap: 6px;
  color: var(--dsp-text);
  font-size: 11px;
  font-weight: 600;
}
.dspwm-inline-search > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 7px;
}
.dspwm-inline-search input,
.dspwm-invoice-form input,
.dspwm-invoice-form select,
.dspwm-reminder-manual-form input,
.dspwm-reminder-manual-form select {
  width: 100%;
  min-height: 41px;
  border: 1px solid rgba(178, 198, 217, .7);
  border-radius: 11px;
  background: #fff;
  padding: 8px 10px;
  color: var(--dsp-text);
  font-size: 12px;
}
.dspwm-inline-search input:focus,
.dspwm-invoice-form input:focus,
.dspwm-invoice-form select:focus,
.dspwm-reminder-manual-form input:focus,
.dspwm-reminder-manual-form select:focus {
  outline: 3px solid rgba(145, 223, 208, .2);
  border-color: #91dfd0;
}
.dspwm-inline-search button,
.dspwm-invoice-form button,
.dspwm-reminder-manual-form button,
.dspwm-list-card button,
.dspwm-operation-result button {
  min-height: 40px;
  border: 1px solid rgba(145, 223, 208, .8);
  border-radius: 11px;
  background: #91dfd0;
  color: #244844;
  padding: 8px 12px;
  font-weight: 600;
  font-size: 11px;
}
.dspwm-invoice-form button.secondary,
.dspwm-form-actions button.secondary {
  background: rgba(174, 195, 235, .24);
  border-color: rgba(174, 195, 235, .65);
  color: #536888;
}
.dspwm-form-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

.dspwm-operation-result {
  display: grid;
  gap: 5px;
  border: 1px solid rgba(145, 223, 208, .7);
  border-radius: 15px;
  padding: 14px;
  margin: 12px 0 16px;
  color: #45615e;
  font-size: 11px;
}
.dspwm-operation-result strong { color: #4e9d90; font-size: 13px; }
.dspwm-operation-result button { margin-top: 7px; }

.dspwm-compact-list {
  display: grid;
  gap: 8px;
}
.dspwm-list-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(145, 223, 208, .38);
  border-radius: 13px;
  padding: 10px 11px;
  background: #fff;
}
.dspwm-list-card > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.dspwm-list-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--dsp-text);
  font-size: 11px;
}
.dspwm-list-card small { color: var(--dsp-muted); font-size: 9px; }
.dspwm-list-card button { flex: 0 0 auto; min-height: 34px; font-size: 9px; }
.dspwm-list-card button:disabled { opacity: .55; cursor: default; }
.dspwm-list-status {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 9px;
  background: rgba(249, 187, 191, .16);
  color: #a56d73;
}
.dspwm-list-status.is-sent { background: rgba(145, 223, 208, .2); color: #468f83; }

.dspwm-rcta-card {
  border: 1px solid rgba(145, 223, 208, .5);
  box-shadow: none;
}
.dspwm-rcta-modal-card {
  width: min(1180px, 96vw);
  height: min(900px, 94vh);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 54px rgba(72, 92, 103, .18);
}
.dspwm-rcta-modal-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(145, 223, 208, .45);
  background: #fff;
}
.dspwm-rcta-modal-card > header span {
  color: #d9969c;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 9px;
}
.dspwm-rcta-modal-card > header h2 { margin: 3px 0 0; font-size: 20px; color: var(--dsp-text); }
.dspwm-rcta-modal-card .dspwm-modal-close { position: static; }
.dspwm-rcta-vault {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) auto auto auto;
  gap: 8px;
  align-items: end;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(252, 208, 131, .45);
  background: rgba(254, 251, 244, .65);
}
.dspwm-rcta-vault label { display: grid; gap: 5px; font-size: 10px; font-weight: 600; }
.dspwm-rcta-vault input {
  min-height: 38px;
  border: 1px solid rgba(178, 198, 217, .7);
  border-radius: 10px;
  padding: 7px 9px;
  background: #fff;
}
.dspwm-rcta-vault button {
  min-height: 38px;
  border: 1px solid rgba(145, 223, 208, .75);
  border-radius: 10px;
  padding: 7px 10px;
  background: #91dfd0;
  color: #244844;
  font-size: 10px;
  font-weight: 600;
}
.dspwm-rcta-vault button.secondary { background: #fff; }
.dspwm-rcta-modal-card iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.dspwm-rcta-modal-card > a {
  display: block;
  padding: 10px 18px;
  border-top: 1px solid rgba(145, 223, 208, .38);
  color: #5c8e86;
  text-align: center;
  font-size: 10px;
  background: #fff;
}

.dspwm-selected-contact.is-empty {
  border-style: dashed;
  background: #fff;
}

@media (max-width: 760px) {
  .dspwm-rcta-vault { grid-template-columns: 1fr; }
  .dspwm-rcta-modal-card { height: 96vh; }
  .dspwm-form-actions { grid-template-columns: 1fr; }
}

/* Conexión manual con Meta */
.dspwm-manual-connection-note {
  flex: 1 1 260px;
  color: var(--dsp-muted);
  font-size: 12px;
  line-height: 1.45;
}


/* v1.4.0: inicio de conversaciones y plantillas visibles */
.dspwm-new-conversation-button { width:100%; margin-top:9px; min-height:38px; border:1px solid #bfe9e1; border-radius:12px; background:#f4fcfa; color:#3b7f75; font-weight:700; }
.dspwm-new-conversation-button:hover { background:#e9f8f5; }
.dspwm-template-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:9px 13px; background:#fff; border-top:1px solid #eee8e2; }
.dspwm-template-actions span { font-size:11px; color:#7a7370; }
.dspwm-template-actions button { min-height:32px; border:1px solid #d7e7f7; border-radius:10px; background:#f7faff; color:#657fa7; padding:6px 10px; font-size:11px; font-weight:700; }
.dspwm-template-actions button:hover { background:#eef4ff; }
#dspwm-new-conversation-form { margin-top:14px; }
#dspwm-new-conversation-form label { display:grid; gap:6px; font-size:12px; font-weight:700; }
#dspwm-new-conversation-form input { width:100%; min-height:44px; border:1px solid #d7e1ef; border-radius:11px; padding:0 12px; background:#fff; color:#28323a; }

/* Recordatorios manuales v1.4.2 */
.dspwm-appointment-card {
  align-items: flex-start;
}
.dspwm-appointment-card > div:first-child {
  flex: 1 1 auto;
}
.dspwm-appointment-actions {
  flex: 0 0 auto;
  align-items: flex-end;
  gap: 6px !important;
}
.dspwm-list-status.is-failed {
  background: rgba(249, 187, 191, .24);
  color: #a45f68;
}
.dspwm-error-text {
  color: #a45f68 !important;
  white-space: normal;
  line-height: 1.35;
}
.dspwm-reminder-manual-form .dspwm-side-note strong {
  color: #4e9d90;
}


.dspwm-webhook-diagnostics { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--dsp-border-soft); }
.dspwm-diagnostics-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.dspwm-diagnostics-head > div { display: grid; gap: 3px; }
.dspwm-diagnostics-head strong { font-size: 13px; color: var(--dsp-text); }
.dspwm-diagnostics-head small { font-size: 10px; color: var(--dsp-muted); line-height: 1.4; }
.dspwm-webhook-summary { border: 1px solid var(--dsp-border); border-radius: 10px; padding: 10px 11px; font-size: 10px; line-height: 1.5; background: #fff; }
.dspwm-webhook-summary.is-ok { background: #eefaf6; border-color: #bce7d8; }
.dspwm-webhook-summary.is-warn { background: #fff8e8; border-color: #f1d99d; }
.dspwm-webhook-summary.is-error { background: #fff1f3; border-color: #efbcc4; color: var(--dsp-danger); }
.dspwm-webhook-events { max-height: 310px; overflow: auto; margin-top: 9px; display: grid; gap: 7px; }
.dspwm-webhook-event { border: 1px solid var(--dsp-border-soft); border-left: 4px solid var(--dsp-aqua-400); border-radius: 9px; padding: 8px 9px; background: #fff; }
.dspwm-webhook-event.is-warning { border-left-color: #efc46e; }
.dspwm-webhook-event.is-error { border-left-color: #e79aaa; }
.dspwm-webhook-event header { display: flex; justify-content: space-between; gap: 10px; }
.dspwm-webhook-event strong { font-size: 10px; }
.dspwm-webhook-event time { font-size: 9px; color: var(--dsp-muted); }
.dspwm-webhook-event p { margin: 5px 0 0; font-size: 10px; color: var(--dsp-muted); }
.dspwm-webhook-event pre { margin: 7px 0 0; padding: 7px; border-radius: 7px; background: #f7fafb; color: var(--dsp-text); font: 9px/1.4 monospace; white-space: pre-wrap; word-break: break-word; }


/* v1.4.6: bandeja sin sigla WA, recordatorios manuales y eliminación local */
.dspwm-conversation { grid-template-columns: minmax(0,1fr) auto !important; padding-left: 11px !important; }
.dspwm-avatar { display: none !important; }
.dspwm-chat-title-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.dspwm-delete-conversation { width: 34px; height: 34px; display: inline-grid; place-items: center; border: 1px solid #f3c7cc; border-radius: 10px; background: #fff7f8; color: #b35b66; padding: 0; }
.dspwm-delete-conversation:hover { background: #fdecef; }
.dspwm-delete-conversation svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dspwm-reminder-manual-note { display: grid; gap: 4px; margin-bottom: 10px; padding: 11px 12px; border: 1px solid #d7eee9; border-radius: 12px; background: #f7fcfb; }
.dspwm-reminder-manual-note strong { font-size: 13px; color: var(--dsp-text); }
.dspwm-reminder-manual-note span { font-size: 11px; line-height: 1.45; color: var(--dsp-muted); }


/* v1.4.7: separación del botón de recordatorios */
.dspwm-reminder-submit-row {
  margin-top: 14px;
  display: flex;
  align-items: center;
}
.dspwm-reminder-submit-row button {
  width: auto;
  min-width: 150px;
}

/* v1.4.8: timestamps normalizados a UTC y visualizados en hora argentina */


/* v1.4.9: historial con scroll propio y compositor siempre visible */
html,
body.dspwm-portal-page {
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page {
  min-height: 0 !important;
}
.dspwm-app,
.dspwm-workspace {
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.dspwm-chat-column,
.dspwm-chat-stage,
.dspwm-chat-view {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.dspwm-chat-column {
  display: grid !important;
  grid-template-rows: 58px 44px minmax(0, 1fr) !important;
}
.dspwm-chat-stage {
  position: relative;
}
.dspwm-chat-view {
  display: flex !important;
  flex-direction: column !important;
}
.dspwm-message-list {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.dspwm-template-actions,
.dspwm-composer,
.dspwm-file-preview {
  flex: 0 0 auto !important;
}
.dspwm-message-list img,
.dspwm-message-list video {
  max-height: min(64vh, 720px);
  object-fit: contain;
}

/* v1.5.0: plantillas reales sincronizadas e inicio de conversación */
.dspwm-template-actions {
  flex-wrap: nowrap;
  gap: 9px;
  overflow: hidden;
}
.dspwm-chat-template-list {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 2px 0;
}
.dspwm-chat-template-list .dspwm-real-template-button {
  flex: 0 0 auto;
  white-space: nowrap;
  background: #f7fbff;
  border-color: #d7e7f7;
  color: #657fa7;
}
.dspwm-template-refresh-button {
  flex: 0 0 auto;
  background: #f4fcfa !important;
  border-color: #bfe9e1 !important;
  color: #3b7f75 !important;
}
.dspwm-template-empty,
.dspwm-template-sync-error {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 8px;
  white-space: nowrap;
  font-size: 11px;
}
.dspwm-template-sync-error { color: #a44c5b !important; }
#dspwm-new-conversation-form select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d7e1ef;
  border-radius: 11px;
  padding: 0 12px;
  background: #fff;
  color: #28323a;
}
.dspwm-new-template-preview { margin-top: 2px; }
#dspwm-new-conversation-template-fields { gap: 10px; }
#dspwm-new-conversation-template-fields label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
#dspwm-new-conversation-template-fields input { width: 100%; min-height: 44px; border: 1px solid #d7e1ef; border-radius: 11px; padding: 0 12px; background: #fff; color: #28323a; }
@media (max-width: 760px) {
  .dspwm-template-actions { flex-wrap: wrap; }
  .dspwm-chat-template-list { order: 3; flex-basis: 100%; }
}

/* v1.5.3: módulo Pedidos con RCTA y comprobante de pago */
.dspwm-order-form {
  border: 1px solid rgba(145, 223, 208, .5);
  border-radius: 16px;
  padding: 14px;
  margin: 12px 0 16px;
  background: #fff;
  display: grid;
  gap: 10px;
}
.dspwm-order-form label {
  display: grid;
  gap: 6px;
  color: var(--dsp-text);
  font-size: 11px;
  font-weight: 600;
}
.dspwm-order-form input,
.dspwm-order-form select,
.dspwm-order-form textarea {
  width: 100%;
  min-height: 41px;
  border: 1px solid rgba(178, 198, 217, .7);
  border-radius: 11px;
  background: #fff;
  padding: 8px 10px;
  color: var(--dsp-text);
  font: inherit;
  font-size: 12px;
}
.dspwm-order-form textarea { min-height: 82px; resize: vertical; }
.dspwm-order-form input:focus,
.dspwm-order-form select:focus,
.dspwm-order-form textarea:focus {
  outline: 3px solid rgba(145, 223, 208, .2);
  border-color: #91dfd0;
}
.dspwm-order-form input[type="file"] {
  padding: 7px;
  min-height: 45px;
}
.dspwm-order-submit-row { margin-top: 4px; display: flex; }
.dspwm-order-submit-row button,
.dspwm-order-actions button {
  min-height: 38px;
  border: 1px solid rgba(145, 223, 208, .8);
  border-radius: 11px;
  background: #91dfd0;
  color: #244844;
  padding: 8px 12px;
  font-weight: 600;
  font-size: 10px;
}
.dspwm-orders-rcta-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  background: rgba(254, 251, 244, .55) !important;
}
.dspwm-orders-rcta-card > div { min-width: 0; }
.dspwm-orders-rcta-card strong { font-size: 13px; color: var(--dsp-text); }
.dspwm-orders-rcta-card p { margin: 3px 0 0; }
.dspwm-orders-rcta-card .dspwm-primary-action { width: auto; min-width: 105px; margin: 0; }
.dspwm-order-card { align-items: flex-start; }
.dspwm-order-card > div:first-child { flex: 1 1 auto; }
.dspwm-order-card p {
  margin: 4px 0 2px;
  color: var(--dsp-text);
  font-size: 10px;
  line-height: 1.45;
  word-break: break-word;
}
.dspwm-order-actions {
  flex: 0 0 auto;
  align-items: flex-end;
  gap: 7px !important;
}
.dspwm-proof-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 3px;
  color: #4b9186;
  font-size: 10px;
  font-weight: 600;
  text-decoration: none;
}
.dspwm-proof-link:hover { text-decoration: underline; }
.dspwm-proof-missing { color: var(--dsp-muted); font-size: 9px; }
@media (max-width: 760px) {
  .dspwm-orders-rcta-card { grid-template-columns: 1fr; }
  .dspwm-orders-rcta-card .dspwm-primary-action { width: 100%; }
  .dspwm-order-card { flex-direction: column; }
  .dspwm-order-actions { width: 100%; align-items: stretch; }
  .dspwm-order-actions button { width: 100%; }
}


/* v1.5.5: menú móvil con los cuatro módulos */
@media (max-width: 760px) {
  .dspwm-tool-nav { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}


/* v1.5.5: BlipDOC se abre desde un modal, sin iframe embebido */
.dspwm-blipdoc-modal-card {
  width: min(430px, 100%);
  text-align: center;
  padding: 34px 30px 30px;
  border: 1px solid #eee3dc;
  background: #fffefa;
}
.dspwm-blipdoc-modal-card .dspwm-blipdoc-kicker {
  display: block;
  margin-bottom: 7px;
  color: #d38e98;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.dspwm-blipdoc-modal-card h2 {
  margin: 0 0 10px;
  color: #aec3ee;
  font-size: 29px;
  font-weight: 700;
}
.dspwm-blipdoc-modal-card p {
  margin: 0 0 22px;
  color: #59646b;
  line-height: 1.55;
}
.dspwm-blipdoc-open-button {
  min-height: 46px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #91dfd0;
  color: #23474c;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(145, 223, 208, .2);
}
.dspwm-blipdoc-open-button:hover {
  filter: brightness(.98);
}

/* v1.5.6: reacciones, adjuntos visibles y respuesta con plantillas */
.dspwm-chat-stage {
  min-height: 0 !important;
  overflow: hidden !important;
}
.dspwm-chat-view {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto auto auto !important;
  overflow: hidden !important;
}
.dspwm-chat-view[hidden],
.dspwm-composer[hidden],
.dspwm-file-preview[hidden],
.dspwm-template-window-note[hidden] {
  display: none !important;
}
.dspwm-message-list {
  min-height: 0 !important;
  overflow-y: auto !important;
}
.dspwm-template-actions {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 10px;
  flex: none !important;
  overflow: visible !important;
  padding: 9px 13px;
}
.dspwm-template-actions.is-required {
  background: #fff8ea;
  border-top-color: #efd79b;
}
.dspwm-template-window-note {
  grid-column: 1 / -1;
  padding: 8px 10px;
  border: 1px solid #efd79b;
  border-radius: 9px;
  background: #fffdf7;
  color: #765a1f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}
#dspwm-template-actions-label {
  white-space: nowrap;
  font-weight: 700;
}
.dspwm-chat-template-list {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}
.dspwm-message {
  position: relative;
}
.dspwm-message.has-reactions {
  margin-bottom: 15px;
}
.dspwm-message-reactions {
  position: absolute;
  left: 10px;
  bottom: -17px;
  display: flex;
  align-items: center;
  gap: 3px;
  z-index: 2;
}
.dspwm-message.is-outbound .dspwm-message-reactions {
  right: 10px;
  left: auto;
}
.dspwm-message-reactions span {
  min-width: 29px;
  height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 7px;
  border: 1px solid #e5e1db;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(24, 61, 70, .14);
  font-size: 16px;
  line-height: 1;
}
.dspwm-reply-preview {
  margin: -1px 0 7px;
  padding: 7px 9px;
  border-left: 3px solid #91dfd0;
  border-radius: 7px;
  background: rgba(255, 255, 255, .66);
}
.dspwm-reply-preview span {
  display: block;
  margin-bottom: 2px;
  color: #4f8e84;
  font-size: 9px;
  font-weight: 700;
}
.dspwm-reply-preview p {
  margin: 0;
  max-height: 46px;
  overflow: hidden;
  color: #667078;
  font-size: 10px;
  line-height: 1.35;
}
.dspwm-media-card {
  width: min(330px, 100%);
  margin-bottom: 7px;
  overflow: hidden;
  border: 1px solid #e3e8ea;
  border-radius: 10px;
  background: rgba(255, 255, 255, .76);
}
.dspwm-media-card.is-image,
.dspwm-media-card.is-video,
.dspwm-media-card.is-audio {
  padding: 6px;
}
.dspwm-media-card img,
.dspwm-media-card video {
  width: 100%;
  max-width: 100% !important;
  max-height: 410px !important;
  display: block;
  margin: 0 !important;
  border-radius: 7px;
  object-fit: contain;
  background: #f4f5f5;
}
.dspwm-media-card audio {
  width: 100%;
  max-width: 100%;
  display: block;
  margin-top: 5px;
}
.dspwm-media-name {
  padding: 3px 2px 5px;
  color: #4f5b61;
  font-size: 10px;
  font-weight: 700;
  word-break: break-word;
}
.dspwm-media-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 6px;
}
.dspwm-media-actions a {
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border: 1px solid #d7e7f7;
  border-radius: 8px;
  background: #f7fbff;
  color: #58759d;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none !important;
}
.dspwm-media-actions a:hover {
  background: #edf5ff;
}
.dspwm-media-card.is-document {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px;
}
.dspwm-document-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eef5ff;
  color: #6d84aa;
}
.dspwm-document-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.dspwm-document-info {
  min-width: 0;
  flex: 1;
}
.dspwm-document-info strong,
.dspwm-document-info small {
  display: block;
  word-break: break-word;
}
.dspwm-document-info strong {
  color: #3f4b52;
  font-size: 11px;
}
.dspwm-document-info small {
  margin-top: 2px;
  color: #7a858b;
  font-size: 9px;
}
.dspwm-location-message,
.dspwm-contact-message {
  display: grid;
  gap: 5px;
}
.dspwm-location-message strong,
.dspwm-contact-message strong {
  color: #4e8179;
  font-size: 10px;
}
.dspwm-location-link {
  width: fit-content;
  color: #58759d !important;
  font-size: 10px;
  font-weight: 700;
}

@media (max-width: 760px) {
  .dspwm-template-actions {
    grid-template-columns: 1fr auto;
  }
  #dspwm-template-actions-label {
    grid-column: 1 / 2;
  }
  .dspwm-chat-template-list {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .dspwm-media-card {
    width: min(290px, 100%);
  }
}


/* v1.5.7: zona de respuesta fija y visible en todo momento */
html,
body.dspwm-portal-page,
body.dspwm-dashboard-page {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none;
}
body.dspwm-dashboard-page .dspwm-app {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1;
  display: block !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-workspace {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-chat-column,
body.dspwm-dashboard-page .dspwm-chat-stage {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-chat-view {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-message-list {
  grid-row: 1;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.dspwm-reply-dock {
  grid-row: 2;
  position: relative;
  z-index: 8;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  max-height: 48vh;
  max-height: 48dvh;
  overflow: visible;
  background: #fff;
  border-top: 1px solid #ebe8e2;
  box-shadow: 0 -5px 16px rgba(60, 70, 76, .05);
}
.dspwm-reply-dock .dspwm-template-actions {
  flex: 0 0 auto !important;
  border-top: 0 !important;
}
.dspwm-reply-dock .dspwm-composer {
  flex: 0 0 auto !important;
  min-height: 64px;
}
.dspwm-reply-dock .dspwm-file-preview {
  flex: 0 0 auto !important;
}
.dspwm-reply-dock .dspwm-composer:not([hidden]) {
  display: grid !important;
}
.dspwm-reply-dock .dspwm-template-actions:not([hidden]) {
  display: grid !important;
}
@media (max-width: 760px) {
  .dspwm-reply-dock { max-height: 58vh; max-height: 58dvh; }
}


/* v1.5.8: corrección definitiva del alto del chat y compositor visible */
:root { --dspwm-viewport-height: 100vh; }
html,
body.dspwm-portal-page,
body.dspwm-dashboard-page {
  width: 100% !important;
  height: var(--dspwm-viewport-height) !important;
  min-height: 0 !important;
  max-height: var(--dspwm-viewport-height) !important;
  margin: 0 !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-app,
body.dspwm-portal-page .dspwm-app {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: var(--dspwm-viewport-height) !important;
  min-height: 0 !important;
  max-height: var(--dspwm-viewport-height) !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-workspace,
body.dspwm-portal-page .dspwm-workspace {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-chat-column,
body.dspwm-portal-page .dspwm-chat-column {
  display: grid !important;
  grid-template-rows: 58px 44px minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
/* No usar height:100% en esta celda. Ese alto se sumaba al encabezado
   y empujaba el área para escribir por debajo de la pantalla. */
body.dspwm-dashboard-page .dspwm-chat-stage,
body.dspwm-portal-page .dspwm-chat-stage {
  position: relative !important;
  align-self: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-chat-view,
body.dspwm-portal-page .dspwm-chat-view {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
body.dspwm-dashboard-page .dspwm-message-list,
body.dspwm-portal-page .dspwm-message-list {
  grid-row: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-bottom: 24px !important;
}
body.dspwm-dashboard-page .dspwm-reply-dock,
body.dspwm-portal-page .dspwm-reply-dock {
  grid-row: 2 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 30 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 64px !important;
  max-height: 46vh !important;
  overflow: visible !important;
  background: #fff !important;
  border-top: 1px solid #ebe8e2 !important;
  box-shadow: 0 -6px 18px rgba(40, 55, 62, .08) !important;
}
body.dspwm-dashboard-page .dspwm-composer,
body.dspwm-portal-page .dspwm-composer {
  width: 100% !important;
  min-height: 64px !important;
  flex: 0 0 auto !important;
}
body.dspwm-dashboard-page .dspwm-composer:not([hidden]),
body.dspwm-portal-page .dspwm-composer:not([hidden]) {
  display: grid !important;
}
body.dspwm-dashboard-page .dspwm-template-actions:not([hidden]),
body.dspwm-portal-page .dspwm-template-actions:not([hidden]) {
  display: grid !important;
}
.dspwm-composer[hidden],
.dspwm-template-actions[hidden],
.dspwm-file-preview[hidden],
.dspwm-template-window-note[hidden] {
  display: none !important;
}


/* v1.6.0: plantillas visibles en todo momento y final del historial accesible */
#dspwm-reply-dock .dspwm-template-actions {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px 10px !important;
  min-height: 48px !important;
  max-height: 118px !important;
  overflow: hidden !important;
  padding: 8px 12px !important;
  background: #fff !important;
}
#dspwm-reply-dock .dspwm-template-actions.is-required {
  background: #fff8ea !important;
}
#dspwm-reply-dock .dspwm-template-window-note:not([hidden]) {
  display: block !important;
  grid-column: 1 / -1 !important;
}
#dspwm-reply-dock .dspwm-chat-template-list {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  padding: 2px 0 4px !important;
  scrollbar-width: thin !important;
}
#dspwm-reply-dock .dspwm-real-template-button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
#dspwm-message-list {
  scroll-padding-bottom: var(--dspwm-reply-space, 150px) !important;
}
#dspwm-message-bottom-spacer {
  display: block !important;
  flex: 0 0 var(--dspwm-reply-space, 150px) !important;
  width: 100% !important;
  height: var(--dspwm-reply-space, 150px) !important;
  min-height: var(--dspwm-reply-space, 150px) !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* v1.7.0 — ARCA: credenciales generadas desde el portal y factura A4 previa */
.dspwm-arca-settings-card textarea{width:100%;resize:vertical}
.dspwm-arca-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.dspwm-arca-steps>div{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #dfe9f0;border-radius:13px;background:#fbfdff;color:#526274;font-size:12px;line-height:1.45}
.dspwm-arca-steps strong{display:flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#dff7f3;color:#277b70;font-size:12px}
.dspwm-arca-credential-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:15px 16px;border:1px solid #caebe5;border-radius:14px;background:#f4fcfa}
.dspwm-arca-credential-box>div:first-child{display:grid;gap:4px}.dspwm-arca-credential-box span{color:#6d7d89;font-size:12px}
.dspwm-arca-logo-preview{display:flex;align-items:center;gap:14px;margin:12px 0;padding:12px;border:1px solid #e0e8ee;border-radius:12px;background:#fff}
.dspwm-arca-logo-preview img{display:block;max-width:170px;max-height:80px;object-fit:contain}.dspwm-arca-logo-preview span{font-size:12px;color:#73808a}
.dspwm-invoice-list-actions{display:flex;align-items:center;gap:8px}.dspwm-invoice-list-actions button{min-height:34px;padding:6px 12px}
.dspwm-arca-preview-open{overflow:hidden!important}
.dspwm-arca-preview-overlay{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(28,34,45,.58);backdrop-filter:blur(4px)}
.dspwm-arca-preview-modal{width:min(1040px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(10,20,35,.3)}
.dspwm-arca-preview-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #e8edf1;background:#fff}
.dspwm-arca-preview-head h3{margin:0 0 5px;color:#2d465a;font-size:21px}.dspwm-arca-preview-head p{margin:0;color:#74818b;font-size:13px}
.dspwm-arca-preview-close{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#eef7f8;color:#377e7b;font-size:25px;line-height:1;cursor:pointer}
.dspwm-arca-preview-body{padding:22px;background:#e9ebef;overflow:auto}
.dspwm-arca-preview-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:12px;padding:17px 24px;border-top:1px solid #e8edf1;background:#fff}
.dspwm-arca-preview-actions button{min-height:44px;padding:10px 18px;border-radius:11px;font-weight:700}
.dspwm-arca-preview-confirm{border:1px solid #81d8ca;background:#81d8ca;color:#163f3b}
.dspwm-arca-ref-sheet{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto;background:#fff;border:1px solid #111;color:#111;font-family:Arial,sans-serif;box-shadow:0 8px 30px rgba(22,31,45,.18)}
.dspwm-arca-ref-sheet *{box-sizing:border-box}
.dspwm-arca-ref-head{display:grid;grid-template-columns:43% 15% 42%;min-height:72mm;padding:4.5mm 4mm;border-bottom:1px solid #111}
.dspwm-arca-ref-issuer{padding:0 4mm;text-align:center;font-size:13px;line-height:1.32}
.dspwm-arca-ref-issuer>strong{display:block;margin:8mm 0 12mm;font-size:22px}
.dspwm-arca-ref-issuer img{display:block;max-width:45mm;max-height:27mm;margin:2mm auto 8mm;object-fit:contain}
.dspwm-arca-ref-issuer-data{width:100%;max-width:62mm;margin:0 auto;text-align:center}
.dspwm-arca-ref-issuer-data b,.dspwm-arca-ref-issuer-data span{display:block;margin:3px 0;font-size:13px;line-height:1.22;font-weight:400;text-align:center}
.dspwm-arca-ref-issuer-data .tax{text-transform:uppercase}
.dspwm-arca-ref-letter{padding-top:1.5mm;text-align:center}
.dspwm-arca-ref-letter>div{display:flex;align-items:center;justify-content:center;width:20mm;height:20mm;margin:0 auto;border-radius:3px;background:#e9e9e9}
.dspwm-arca-ref-letter b{font-size:34px;font-weight:400;line-height:1}.dspwm-arca-ref-letter small{display:block;margin-top:5px;font-size:10px}
.dspwm-arca-ref-receipt{padding:1mm 0 0 5mm;text-align:left;font-size:13px}
.dspwm-arca-ref-receipt h2{margin:0 0 10px;color:#111;font-size:25px;line-height:1.1;font-weight:600}
.dspwm-arca-receipt-group{display:grid;gap:5px;margin:0 0 12px}.dspwm-arca-receipt-group span{display:block;font-size:13px;line-height:1.25}
.dspwm-arca-ref-customer{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px;min-height:42mm;padding:5mm;border-bottom:1px solid #111;font-size:12.5px;line-height:1.35}
.dspwm-arca-ref-items-wrap{min-height:88mm}
.dspwm-arca-ref-items{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}
.dspwm-arca-ref-items th,.dspwm-arca-ref-items td{padding:3mm 2mm;border-right:1px solid #aaa;border-bottom:1px solid #aaa;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.dspwm-arca-ref-items th{background:#ededed;font-size:10px}.dspwm-arca-ref-items th:nth-child(1){width:10%}.dspwm-arca-ref-items th:nth-child(2){width:28%}.dspwm-arca-ref-items th:nth-child(3){width:10%}.dspwm-arca-ref-items th:nth-child(4){width:11%}.dspwm-arca-ref-items th:nth-child(5){width:13%}.dspwm-arca-ref-items th:nth-child(6){width:9%}.dspwm-arca-ref-items th:nth-child(7){width:13%}.dspwm-arca-ref-items th:nth-child(8){width:6%}
.dspwm-arca-ref-items .num{text-align:right;white-space:nowrap}
.dspwm-arca-ref-lower{display:grid;grid-template-columns:1fr 91mm;min-height:42mm;border-top:1px solid #111;font-size:11.5px}
.dspwm-arca-ref-lower>div{padding:5mm}.dspwm-arca-ref-totals{border-left:1px solid #111}.dspwm-arca-ref-totals p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0}.dspwm-arca-ref-totals hr{border:0;border-top:1px solid #111}.dspwm-arca-ref-totals .grand{font-size:15px}
.dspwm-arca-ref-footer{display:grid;grid-template-columns:45mm 1fr 45mm;align-items:center;min-height:30mm;padding:4mm;border-top:1px solid #111;font-size:11.5px}
.dspwm-arca-ref-footer>div:nth-child(2){text-align:center}.dspwm-arca-ref-footer b{display:block;font-size:20px}.dspwm-arca-ref-footer em{display:block;margin-top:5px;font-style:normal}
@media(max-width:1050px){.dspwm-arca-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.dspwm-arca-credential-box{align-items:flex-start;flex-direction:column}.dspwm-arca-preview-body{padding:10px}.dspwm-arca-ref-sheet{transform-origin:top left}}
@media(max-width:760px){.dspwm-arca-steps{grid-template-columns:1fr}.dspwm-arca-preview-overlay{padding:8px}.dspwm-arca-preview-modal{width:100%;max-height:calc(100vh - 16px);border-radius:14px}.dspwm-arca-preview-head,.dspwm-arca-preview-actions{padding:14px}.dspwm-arca-preview-actions{flex-direction:column-reverse}.dspwm-arca-preview-actions button{width:100%}.dspwm-arca-preview-body{padding:6px}.dspwm-arca-ref-sheet{width:210mm;transform:scale(.58);transform-origin:top left;margin-bottom:-124mm}}

/* v1.7.3 — autocompletado de datos fiscales por CUIT */
.dspwm-arca-cuit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.dspwm-arca-cuit-row button{min-height:44px;white-space:nowrap;padding:8px 13px}
#dspwm-arca-lookup-status{display:block;margin-top:6px;color:#6c7b87;line-height:1.4}
.dspwm-arca-autofill-note{margin:12px 0 4px;padding:10px 12px;border:1px solid #dcebe8;border-radius:11px;background:#f7fcfb;color:#5d6f72;font-size:12px;line-height:1.45}
@media(max-width:620px){.dspwm-arca-cuit-row{grid-template-columns:1fr}.dspwm-arca-cuit-row button{width:100%}}


/* v1.7.5 — Configuración integrada al menú y dividida por secciones */
.dspwm-settings-nav-button { border-top: 1px solid var(--dsp-border) !important; }
.dspwm-settings-view[hidden] { display: none !important; }

.dspwm-workspace.is-settings-active {
  grid-template-columns: 235px 190px minmax(620px, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}
.dspwm-workspace.is-settings-active .dspwm-inbox-column {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.dspwm-workspace.is-settings-active .dspwm-chat-column,
.dspwm-workspace.is-settings-active .dspwm-tool-column {
  display: none !important;
}
.dspwm-workspace.is-settings-active .dspwm-tool-nav {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-height: 0;
  overflow-y: auto;
}
.dspwm-settings-view {
  grid-column: 3 !important;
  grid-row: 1 !important;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  background: #fbfaf7;
}
.dspwm-settings-view-header {
  min-height: 92px;
  display: flex;
  align-items: center;
  padding: 18px 26px;
  border-bottom: 1px solid #e9e4dc;
  background: #fff;
}
.dspwm-settings-view-header span,
.dspwm-settings-panel-heading > span {
  display: block;
  color: #d79099;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dspwm-settings-view-header h2 {
  margin: 3px 0 3px;
  color: #adc1ec;
  font-size: 27px;
  line-height: 1.1;
}
.dspwm-settings-view-header p {
  margin: 0;
  color: #7a7d83;
  font-size: 12px;
}
.dspwm-settings-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 255px minmax(0, 1fr);
  overflow: hidden;
}
.dspwm-settings-section-nav {
  min-width: 0;
  padding: 18px 14px;
  overflow-y: auto;
  border-right: 1px solid #e9e4dc;
  background: #fff;
}
.dspwm-settings-section-nav button {
  width: 100%;
  min-height: 72px;
  display: grid;
  gap: 4px;
  align-content: center;
  margin: 0 0 8px;
  padding: 13px 14px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  color: #3f444b;
  text-align: left;
}
.dspwm-settings-section-nav button:hover { background: #f8fbff; }
.dspwm-settings-section-nav button.is-active {
  border-color: #d7e2f5;
  background: #f2f6ff;
  box-shadow: inset 4px 0 0 #b7c9ef;
}
.dspwm-settings-section-nav strong {
  font-size: 13px;
  line-height: 1.25;
}
.dspwm-settings-section-nav span {
  color: #8b8f96;
  font-size: 10px;
  line-height: 1.35;
}
.dspwm-settings-view .dspwm-settings-form {
  min-width: 0;
  min-height: 0;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fbfaf7;
}
.dspwm-settings-panels {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 22px 24px 42px;
  scrollbar-gutter: stable;
}
.dspwm-settings-panel { display: none; max-width: 980px; margin: 0 auto; }
.dspwm-settings-panel.is-active { display: block; }
.dspwm-settings-panel-heading {
  margin: 0 0 16px;
  padding: 0 2px;
}
.dspwm-settings-panel-heading h3 {
  margin: 4px 0 5px;
  color: #adc1ec;
  font-size: 24px;
  line-height: 1.15;
}
.dspwm-settings-panel-heading p {
  margin: 0;
  color: #777b82;
  font-size: 12px;
  line-height: 1.5;
}
.dspwm-settings-view .dspwm-settings-card {
  margin-bottom: 16px;
  padding: 20px;
  border-color: #e6e2dc;
  border-radius: 16px;
  box-shadow: 0 5px 18px rgba(70, 74, 82, .04);
}
.dspwm-settings-view .dspwm-settings-card > h3 {
  margin-bottom: 7px;
  color: #516b9e;
  font-size: 17px;
}
.dspwm-settings-view .dspwm-savebar {
  position: static !important;
  bottom: auto !important;
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px !important;
  border-top: 1px solid #e8e3dc;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 -5px 18px rgba(70, 74, 82, .05);
}
.dspwm-settings-view .dspwm-savebar button { min-width: 180px; }

@media (max-width: 1180px) {
  .dspwm-workspace.is-settings-active {
    grid-template-columns: 220px 165px minmax(520px, 1fr) !important;
  }
  .dspwm-settings-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .dspwm-settings-panels { padding-inline: 18px; }
}

@media (max-width: 900px) {
  .dspwm-workspace.is-settings-active {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }
  .dspwm-workspace.is-settings-active .dspwm-inbox-column { display: none !important; }
  .dspwm-workspace.is-settings-active .dspwm-tool-nav {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(130px, 1fr)) !important;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .dspwm-workspace.is-settings-active .dspwm-tool-nav button { min-width: 130px; }
  .dspwm-settings-view {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .dspwm-settings-view-header { padding: 14px 18px; }
  .dspwm-settings-layout { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); }
  .dspwm-settings-section-nav {
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid #e9e4dc;
  }
  .dspwm-settings-section-nav button {
    flex: 0 0 220px;
    min-height: 60px;
    margin: 0;
  }
  .dspwm-settings-panels { padding: 16px 14px 32px; }
  .dspwm-settings-view .dspwm-savebar { padding-inline: 14px !important; }
}

/* v1.7.9 — búsqueda fiscal por DNI sin dependencia de A13 */
.dspwm-arca-patient-source {
  margin: 10px 0 14px;
  padding: 10px 12px;
  border: 1px solid #dbe3f3;
  border-radius: 12px;
  background: #f8faff;
  color: #56627a;
  font-size: 12px;
  line-height: 1.45;
}
.dspwm-arca-patient-source.is-ok {
  border-color: #bfe8df;
  background: #f1fbf8;
  color: #35756a;
}
.dspwm-arca-patient-source.is-warning {
  border-color: #f1d0d5;
  background: #fff7f8;
  color: #a34c59;
}

/* v1.8.0 — comprobantes ARCA y recuperación de credenciales */
.dspwm-associated-voucher-fields {
  margin: 4px 0 8px;
  padding: 14px;
  border: 1px solid #cfe6e2;
  border-radius: 14px;
  background: #f7fcfb;
}
.dspwm-associated-voucher-fields > strong {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  color: #355b63;
}
.dspwm-associated-voucher-fields[hidden] { display: none !important; }
.dspwm-fields.three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.dspwm-invoice-form label.is-disabled { opacity: .68; }
.dspwm-arca-ref-associated {
  padding: 3mm 5mm;
  border-bottom: 1px solid #111;
  font-size: 12px;
}
@media (max-width: 760px) {
  .dspwm-fields.three { grid-template-columns: 1fr; }
}


/* v1.8.1 — factura A4 idéntica al modelo administrativo */
.dspwm-arca-ref-sheet{box-sizing:border-box;width:210mm;height:297mm;min-height:297mm;margin:0 auto;padding:4mm;background:#fff;border:0;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:10px;box-shadow:0 8px 30px rgba(22,31,45,.18)}
.dspwm-arca-ref-head{display:grid;grid-template-columns:43% 15% 42%;height:72mm;min-height:0;padding:4mm;border:1px solid #cfcfcf;border-radius:2px}
.dspwm-arca-ref-issuer{padding:0 3mm;text-align:center}.dspwm-arca-ref-issuer img{display:block;max-width:44mm;max-height:31mm;margin:2mm auto 4mm;object-fit:contain}.dspwm-arca-ref-issuer>strong{display:block;margin:10mm auto 8mm;font-size:18px}.dspwm-arca-ref-issuer-data{width:100%;max-width:none;margin:0}.dspwm-arca-ref-issuer-data b,.dspwm-arca-ref-issuer-data span{display:block;margin:1.2mm 0;font-size:9px;line-height:1.15;font-weight:400;text-align:center}
.dspwm-arca-ref-letter{padding-top:1mm;text-align:center}.dspwm-arca-ref-letter>div{width:20mm;height:20mm;margin:0 auto 3mm;border-radius:2px;background:#e4e4e4}.dspwm-arca-ref-letter b{font-size:25px;font-weight:600}.dspwm-arca-ref-letter small{margin:0;font-size:9px}
.dspwm-arca-ref-receipt{padding:1mm 0 0 4mm;font-size:10px}.dspwm-arca-ref-receipt h2{margin:0 0 1mm;font-size:19px;line-height:1.1;font-weight:700}.dspwm-arca-receipt-group{gap:.5mm;margin-bottom:3mm}.dspwm-arca-receipt-group span{font-size:10px;line-height:1.1}
.dspwm-arca-ref-customer{display:grid;grid-template-columns:1fr 1fr;gap:8mm;min-height:0;padding:4mm 5mm 3mm;border:0;font-size:9.5px;line-height:1.3}.dspwm-arca-customer-col{display:grid;align-content:start;gap:.7mm}.dspwm-arca-customer-col .doc{margin-top:3mm}.dspwm-arca-ref-associated{margin:0 5mm 2mm;padding:2mm;border:1px solid #d4d4d4;font-size:9px}
.dspwm-arca-ref-items-wrap{height:101mm;min-height:0;margin:1mm 0 0;border:1px solid #cfcfcf;border-radius:2px;overflow:hidden}.dspwm-arca-ref-items{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;font-size:8.5px}.dspwm-arca-ref-items th,.dspwm-arca-ref-items td{border:0}.dspwm-arca-ref-items th{height:10mm;padding:2mm 1mm;border-bottom:1px solid #cfcfcf;background:#fff;text-align:center;font-size:9px;font-weight:400}.dspwm-arca-ref-items td{padding:2mm 1mm;text-align:left;vertical-align:top}.dspwm-arca-ref-items th:nth-child(1){width:11%}.dspwm-arca-ref-items th:nth-child(2){width:30%}.dspwm-arca-ref-items th:nth-child(3){width:10%}.dspwm-arca-ref-items th:nth-child(4){width:11%}.dspwm-arca-ref-items th:nth-child(5){width:13%}.dspwm-arca-ref-items th:nth-child(6){width:10%}.dspwm-arca-ref-items th:nth-child(7){width:13%}.dspwm-arca-ref-items th:nth-child(8){width:6%}.dspwm-arca-ref-items .num{text-align:right;white-space:nowrap}.dspwm-arca-item-detail{line-height:1.15}
.dspwm-arca-ref-lower{display:grid;grid-template-columns:1fr 94mm;min-height:43mm;margin-top:3mm;border:0;font-size:9px}.dspwm-arca-ref-lower>div{padding:0}.dspwm-arca-ref-words{padding:0 4mm!important}.dspwm-arca-coverage{margin-top:10mm;font-size:8px;font-style:italic}.dspwm-arca-ref-totals{padding:3mm!important;border:0;background:#eee}.dspwm-arca-ref-totals p{margin:.5mm 0}.dspwm-arca-ref-totals hr{border:0;border-top:1px solid #bbb;margin:4mm 0 3mm}.dspwm-arca-ref-totals .grand{font-size:10px}
.dspwm-arca-ref-footer{display:grid;grid-template-columns:31% 31% 38%;align-items:center;min-height:34mm;margin-top:3mm;padding:3mm 4mm;border:1px solid #cfcfcf;border-radius:2px;font-size:9px}.dspwm-arca-footer-brand{text-align:center}.dspwm-arca-footer-brand b{display:block;font-size:28px;line-height:1}.dspwm-arca-footer-brand em{display:block;margin-top:2mm;font-size:9px;font-style:italic;font-weight:700}.dspwm-arca-footer-tax{align-self:center;padding-left:2mm}.dspwm-arca-footer-tax small{display:block;font-size:7px;font-style:italic;white-space:nowrap}.dspwm-arca-footer-tax strong{display:block;margin-top:5mm;font-size:8px;font-style:italic}
@media(max-width:760px){.dspwm-arca-ref-sheet{width:210mm;height:297mm;transform:scale(.58);transform-origin:top left;margin-bottom:-124mm}}


/* v1.8.2 — tipografía de factura igual al comprobante modelo */
.dspwm-arca-ref-sheet{
  font-family:"Arial Narrow","Roboto Condensed","Liberation Sans Narrow",Arial,Helvetica,sans-serif;
  font-size:12px;
  line-height:1.22;
  letter-spacing:0;
}
.dspwm-arca-ref-issuer-data b,
.dspwm-arca-ref-issuer-data span{
  margin:1.25mm 0;
  font-size:11.5px;
  line-height:1.18;
}
.dspwm-arca-ref-letter b{font-size:28px;line-height:1}
.dspwm-arca-ref-letter small{font-size:10.5px;line-height:1.1}
.dspwm-arca-ref-receipt{font-size:12px}
.dspwm-arca-ref-receipt h2{font-size:22px;line-height:1.05}
.dspwm-arca-receipt-group,
.dspwm-arca-receipt-group span{font-size:12px;line-height:1.18}
.dspwm-arca-ref-customer{font-size:11.5px;line-height:1.3}
.dspwm-arca-ref-associated{font-size:10.5px;line-height:1.25}
.dspwm-arca-ref-items{font-size:10.5px;line-height:1.2}
.dspwm-arca-ref-items th{font-size:10.8px;line-height:1.15;font-weight:400}
.dspwm-arca-ref-items td{font-size:10.5px;line-height:1.2}
.dspwm-arca-item-detail{line-height:1.2}
.dspwm-arca-ref-lower{font-size:10.8px;line-height:1.25}
.dspwm-arca-coverage{font-size:9.5px;line-height:1.2}
.dspwm-arca-ref-totals{font-size:11.2px}
.dspwm-arca-ref-totals .grand{font-size:12.5px}
.dspwm-arca-ref-footer{font-size:10.5px;line-height:1.25}
.dspwm-arca-footer-brand b{font-size:31px}
.dspwm-arca-footer-brand em{font-size:10px}
.dspwm-arca-footer-tax small{font-size:8.5px}
.dspwm-arca-footer-tax strong{font-size:10px}


/* v1.8.3 — reenvío de mensajes fallidos + aviso sonoro de entrantes */
.dspwm-message.is-outbound.is-failed {
  border: 1px solid rgba(201, 91, 91, .28);
}
.dspwm-message footer .dspwm-message-retry {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 2px 8px;
  min-height: 22px;
  background: rgba(255,255,255,.9);
  color: #8d3d3d;
  font: inherit;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.dspwm-message footer .dspwm-message-retry:hover {
  text-decoration: underline;
}
.dspwm-message footer .dspwm-message-retry:disabled {
  opacity: .6;
  cursor: wait;
}


/* v1.8.4 — estados reales de entrega: Entregado/Leído prevalecen sobre failed */
.dspwm-message footer span[title] { cursor: help; }

/* v1.8.5 — estados visibles simplificados: Enviado / Recibido / No enviado. */


/* v1.8.6 — estado asincrónico real: no mostrar Enviado hasta webhook sent. */
.dspwm-message-status-error{display:block;margin:4px 10px 8px;text-align:right;font-size:11px;line-height:1.25;color:#b24b57;max-width:92%;margin-left:auto}
