/* UI acumulativa + temas de marca seguros */
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .form-control{
  background-color:#0c1726!important;
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
  border-color:#40536b!important;
  caret-color:#f8fafc!important;
  color-scheme:dark!important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] .form-control::placeholder{
  color:#94a3b8!important;
  -webkit-text-fill-color:#94a3b8!important;
  opacity:1!important;
}
html[data-theme="dark"] select option,
html[data-theme="dark"] select optgroup{
  background:#0c1726!important;
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
}
html[data-theme="dark"] input:disabled,
html[data-theme="dark"] select:disabled,
html[data-theme="dark"] textarea:disabled,
html[data-theme="dark"] input[readonly],
html[data-theme="dark"] textarea[readonly]{
  background:#172538!important;
  color:#cbd5e1!important;
  -webkit-text-fill-color:#cbd5e1!important;
  opacity:1!important;
}
html[data-theme="dark"] input:-webkit-autofill,
html[data-theme="dark"] input:-webkit-autofill:hover,
html[data-theme="dark"] input:-webkit-autofill:focus,
html[data-theme="dark"] textarea:-webkit-autofill,
html[data-theme="dark"] select:-webkit-autofill{
  -webkit-text-fill-color:#f8fafc!important;
  -webkit-box-shadow:0 0 0 1000px #0c1726 inset!important;
  box-shadow:0 0 0 1000px #0c1726 inset!important;
  caret-color:#f8fafc!important;
}
html[data-theme="dark"] input[type="number"]::-webkit-inner-spin-button,
html[data-theme="dark"] input[type="number"]::-webkit-outer-spin-button,
html[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.6)}
html[data-theme="dark"] ::selection{background:#175cd3!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html[data-theme="dark"] .notice,
html[data-theme="dark"] .form-help,
html[data-theme="dark"] .muted{color:#b7c5d8!important}
html[data-theme="dark"] .notice{background:#102033!important;border-color:#29415e!important}
html[data-theme="dark"] .notice.ok{background:#0c2a22!important;border-color:#1e624e!important;color:#d1fae5!important}
html[data-theme="dark"] .notice.warning{background:#34240c!important;border-color:#7c5515!important;color:#fef3c7!important}
html[data-theme="dark"] .notice.danger{background:#35151a!important;border-color:#7f2631!important;color:#ffe4e6!important}

/* Logs comprensibles */
.pp-human-log{display:grid;gap:3px;min-width:0}
.pp-human-log__title{font-weight:850;color:var(--ui-text,var(--text,#101828))}
.pp-human-log__explain{font-size:.78rem;color:var(--ui-muted,var(--muted,#667085));line-height:1.35}
.pp-human-log__code{font:600 .68rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ui-muted,var(--muted,#667085));opacity:.78;overflow-wrap:anywhere}

/* Acceso a identidad de empresa inyectado por el hotfix */
.pp-branding-shortcut{display:inline-flex;align-items:center;gap:8px}

/* Ocultar cualquier resto visual de Sendmail que provenga de una vista antigua. */
[data-pp-sendmail-hidden="1"]{display:none!important}

/* Turnstile silencioso: el widget no reserva espacio; Cloudflare puede mostrar interacción solo si la considera necesaria. */
.pp-turnstile-silent{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}


/* Descubribilidad del editor Empresa / Marca */
.pp-branding-discovery-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:18px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--ui-primary,#175cd3) 9%,var(--ui-surface,#fff)),var(--ui-surface,#fff));box-shadow:var(--ui-shadow-sm,0 7px 20px rgba(15,23,42,.07))}
.pp-branding-discovery-card__copy{min-width:0}.pp-branding-discovery-card__copy strong{display:block;font-size:1rem;margin-bottom:3px}.pp-branding-discovery-card__copy span{display:block;color:var(--ui-muted,var(--muted,#667085));font-size:.82rem;line-height:1.45}
.pp-branding-settings-redirect{padding:20px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:16px;background:var(--ui-surface,var(--surface,#fff))}.pp-branding-settings-redirect h2{margin:0 0 7px}.pp-branding-settings-redirect p{margin:0 0 14px;color:var(--ui-muted,var(--muted,#667085));max-width:760px}
.pp-branding-context-link{margin-top:4px}
@media(max-width:700px){.pp-branding-discovery-card{align-items:flex-start;flex-direction:column}.pp-branding-discovery-card .button{width:100%;justify-content:center}}

/* Navegación contextual de empresa */
.pp-tenant-context-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}
.pp-tenant-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.pp-tenant-tool-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:16px;background:var(--ui-surface,var(--surface,#fff));box-shadow:var(--ui-shadow-sm,0 7px 20px rgba(15,23,42,.06));min-width:0}
.pp-tenant-tool-card__icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--ui-primary,#175cd3) 11%,transparent);color:var(--ui-primary,#175cd3);font-size:1.15rem;font-weight:950}
.pp-tenant-tool-card__copy{min-width:0}.pp-tenant-tool-card__copy strong{display:block;font-size:1rem;margin-bottom:4px}.pp-tenant-tool-card__copy span{display:block;color:var(--ui-muted,var(--muted,#667085));font-size:.82rem;line-height:1.4}
.pp-tenant-tool-card .button{white-space:nowrap}
.pp-tenant-context-nav{display:grid;gap:4px;margin:8px 10px 12px;padding:10px 0 0;border-top:1px solid var(--ui-line,var(--line,#d0d5dd))}
.pp-tenant-context-nav__label{padding:0 10px 5px;color:var(--ui-muted,var(--muted,#667085));font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pp-tenant-context-nav__link{display:flex;align-items:center;gap:9px;min-height:40px;padding:9px 11px;border-radius:10px;color:var(--ui-muted,var(--muted,#667085));text-decoration:none;font-size:.86rem;font-weight:800}
.pp-tenant-context-nav__link:hover,.pp-tenant-context-nav__link[aria-current="page"]{background:color-mix(in srgb,var(--ui-primary,#175cd3) 10%,transparent);color:var(--ui-primary,#175cd3)}
.pp-tenant-context-nav__dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.72;flex:0 0 auto}
@media(max-width:980px){.pp-tenant-tool-card{grid-template-columns:44px minmax(0,1fr)}.pp-tenant-tool-card .button{grid-column:1/-1;width:100%;justify-content:center}}
@media(max-width:780px){.pp-tenant-tools{grid-template-columns:1fr}.pp-tenant-context-actions{width:100%;justify-content:flex-start;margin-left:0}.pp-tenant-context-actions .button{flex:1 1 180px;justify-content:center}}
@media(max-width:560px){.pp-tenant-tool-card{grid-template-columns:40px minmax(0,1fr);padding:14px}.pp-tenant-tool-card__icon{width:40px;height:40px;border-radius:12px}.pp-tenant-context-actions .button{width:100%;flex-basis:100%}}

/* Branding editor */
/* El editor se comparte entre Owner y Tenant. Estas reglas encapsuladas garantizan que
   los controles con clases del design system Owner también se vean correctamente dentro
   del layout Tenant, que históricamente usa .btn/.field/.control. */
.pp-branding-editor{display:grid;gap:18px}
.pp-branding-editor .form-field{margin-bottom:14px;min-width:0}
.pp-branding-editor .form-field>label:first-child{display:block;font-weight:800;margin-bottom:6px}
.pp-branding-editor .form-control{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ui-line-strong,var(--line,#d0d5dd));border-radius:11px;background:var(--ui-control-bg,var(--surface,#fff));color:var(--ui-control-text,var(--text,#101828));font:inherit;caret-color:currentColor}
.pp-branding-editor .form-control:focus{outline:0;border-color:var(--ui-primary,var(--primary,#175cd3));box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary,var(--primary,#175cd3)) 18%,transparent)}
.pp-branding-editor .form-help{font-size:.8rem;color:var(--ui-muted,var(--muted,#667085));margin-top:5px}
.pp-branding-editor .owner-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.pp-branding-editor .page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pp-branding-editor .button{min-height:42px;border:1px solid transparent;border-radius:11px;padding:9px 14px;background:linear-gradient(145deg,var(--ui-primary,var(--primary,#175cd3)),color-mix(in srgb,var(--ui-primary,var(--primary,#175cd3)) 72%,#000));color:#fff;font:inherit;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;box-shadow:0 7px 16px color-mix(in srgb,var(--ui-primary,var(--primary,#175cd3)) 18%,transparent);transition:transform .16s ease,box-shadow .16s ease}
.pp-branding-editor .button:hover{transform:translateY(-1px);box-shadow:0 10px 22px color-mix(in srgb,var(--ui-primary,var(--primary,#175cd3)) 24%,transparent)}
.pp-branding-editor .button.secondary{background:var(--ui-surface,var(--surface,#fff));border-color:var(--ui-line,var(--line,#d0d5dd));color:var(--ui-text,var(--text,#101828));box-shadow:0 4px 12px rgba(15,23,42,.07)}
.pp-branding-editor .button.small{min-height:36px;padding:7px 10px;font-size:.84rem}
.pp-brand-theme-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--ui-line,var(--line,#d0d5dd))}
.pp-brand-theme-section__head h3{margin:0 0 4px}.pp-brand-theme-section__head p{margin:0 0 12px}
.pp-brand-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pp-brand-theme-card{min-width:0;display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 10px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:12px;background:var(--ui-surface,var(--surface,#fff));color:var(--ui-text,var(--text,#101828));font:inherit;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.pp-brand-theme-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--ui-primary,var(--primary,#175cd3)) 55%,var(--ui-line,var(--line,#d0d5dd)));box-shadow:0 7px 18px rgba(15,23,42,.08)}
.pp-brand-theme-card.is-active{border-color:var(--ui-primary,var(--primary,#175cd3));box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary,var(--primary,#175cd3)) 14%,transparent)}
.pp-brand-theme-card__swatches{display:flex;flex:0 0 auto}
.pp-brand-theme-card__swatches i{width:18px;height:30px;border:2px solid var(--ui-surface,var(--surface,#fff));border-radius:7px;box-shadow:0 0 0 1px rgba(15,23,42,.12)}
.pp-brand-theme-card__swatches i+i{margin-left:-7px}
.pp-branding-editor__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pp-branding-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}
.pp-branding-panel{border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:18px;background:var(--ui-surface,var(--surface,#fff));padding:18px;min-width:0}
.pp-branding-logo-preview{min-height:150px;border:1px dashed var(--ui-line,var(--line,#d0d5dd));border-radius:14px;display:grid;place-items:center;padding:14px;background:var(--ui-surface-2,#f8fafc);overflow:hidden}
.pp-branding-logo-preview img{max-width:100%;max-height:135px;object-fit:contain}
.pp-branding-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pp-branding-swatch{border:1px solid var(--ui-line,var(--line,#d0d5dd));background:var(--ui-surface,var(--surface,#fff));color:inherit;border-radius:999px;padding:6px 9px;display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:800;cursor:pointer}
.pp-branding-swatch i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}
.pp-branding-global{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pp-branding-preset-row{display:flex;gap:8px;flex-wrap:wrap}
.pp-branding-preset{min-height:38px;padding:7px 11px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:11px;background:var(--ui-surface,var(--surface,#fff));color:inherit;font-weight:800;cursor:pointer}
.pp-branding-family{border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:16px;padding:16px;margin-top:12px;background:var(--ui-surface,var(--surface,#fff))}
.pp-branding-family summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900;list-style:none}
.pp-branding-family summary::-webkit-details-marker{display:none}
.pp-branding-family__body{padding-top:16px}
.pp-branding-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pp-color-field{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center}
.pp-color-field input[type="color"]{width:46px;height:44px;padding:3px;border-radius:10px}
.pp-brand-preview{position:sticky;top:90px}
.pp-brand-preview__surface{border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:18px;overflow:hidden;background:var(--pp-brand-surface,#fff);color:var(--pp-brand-text,#101828);box-shadow:0 20px 50px rgba(15,23,42,.12)}
.pp-brand-preview__head{padding:18px;background:linear-gradient(135deg,var(--pp-brand-primary,#303048),var(--pp-brand-secondary,#781860));color:var(--pp-brand-on-primary,#fff)}
.pp-brand-preview__body{padding:18px}
.pp-brand-preview__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.pp-preview-button{min-height:42px;border:1px solid transparent;font-weight:850;cursor:pointer}
.pp-contrast-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:850;background:#ecfdf3;color:#027a48}
.pp-contrast-chip.is-bad{background:#fff1f3;color:#c01048}
@media(max-width:1050px){.pp-branding-grid{grid-template-columns:1fr}.pp-brand-preview{position:static}.pp-branding-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-brand-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pp-branding-global,.pp-branding-family-grid,.pp-brand-preview__buttons,.pp-brand-theme-grid{grid-template-columns:1fr}.pp-branding-editor .owner-grid{grid-template-columns:1fr}.pp-branding-editor .owner-grid>.form-field{grid-column:1/-1!important}.pp-branding-editor .page-actions .button{width:100%}.pp-branding-panel{padding:14px}}


/* Alta guiada de empresas */
.pp-launch-card{margin:0 0 18px;padding:20px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--ui-primary,#175cd3) 7%,var(--ui-surface,#fff)),var(--ui-surface,#fff));box-shadow:var(--ui-shadow-sm,0 7px 20px rgba(15,23,42,.07))}
.pp-launch-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.pp-launch-card__head h2{margin:0 0 5px}.pp-launch-card__head p{margin:0;color:var(--ui-muted,var(--muted,#667085));max-width:760px}.pp-launch-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.pp-launch-step{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--ui-line,var(--line,#d0d5dd));border-radius:12px;background:var(--ui-surface,var(--surface,#fff));font-size:.8rem;font-weight:760}.pp-launch-step i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ui-surface-2,#eef2f7);color:var(--ui-muted,#667085);font-style:normal;font-size:.72rem}.pp-launch-step.is-done i{background:#d1fadf;color:#027a48}.pp-launch-step.is-done{border-color:#a6f4c5}.pp-launch-error{margin:12px 0;padding:11px 13px;border-radius:12px;background:#fff1f3;border:1px solid #fda4af;color:#9f1239}.pp-launch-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pp-launch-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ui-muted,var(--muted,#667085));font-size:.78rem;margin-top:10px}.pp-advanced-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted,var(--muted,#667085));font-weight:850}.pp-node-provisioning-shortcut{margin-left:auto}.pp-hidden-technical-card{display:none!important}
@media(max-width:900px){.pp-launch-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pp-launch-steps{grid-template-columns:1fr}.pp-launch-actions .button{width:100%;justify-content:center}}

/* Validación visual transversal alpha.109 */
.pp-field-error-target{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.14)!important;outline-color:#d92d20!important}
.pp-field-error-target[type=checkbox],.pp-field-error-target[type=radio]{outline:2px solid #d92d20!important;outline-offset:3px}
.pp-field-error-scope{position:relative}
.pp-field-error-message{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:#b42318;font-size:.78rem;font-weight:750;line-height:1.35}
.pp-field-error-message::before{content:'⚠';font-size:.82rem;line-height:1.2;flex:0 0 auto}
html[data-theme="dark"] .pp-field-error-target{border-color:#f97066!important;box-shadow:0 0 0 3px rgba(249,112,102,.18)!important;outline-color:#f97066!important}
html[data-theme="dark"] .pp-field-error-message{color:#fda29b!important}
