
/* === Impero Hosting 2.3.1 — client chrome (hard contrast; follows hosting-theme lock) === */
:root {
  --imp-fg-fallback: #0f172a;
  --imp-bg-fallback: #ffffff;
  --imp-heading-fallback: #0f172a;
  --imp-muted-fallback: #475569;
  --imp-surface-fallback: #f8fafc;
  --imp-border-fallback: #e2e8f0;
  --imp-fg: var(--body-color, var(--color-fg, var(--nf-body-text, var(--imp-fg-fallback))));
  --imp-bg: var(--body-bg, var(--color-bg, var(--nf-body-bg, var(--imp-bg-fallback))));
  --imp-heading: var(--heading-color, var(--nf-body-text, var(--imp-heading-fallback)));
  --imp-muted: var(--muted-color, color-mix(in srgb, var(--imp-fg) 62%, var(--imp-bg)));
  --imp-surface: var(--surface-color, var(--sh-card-bg, color-mix(in srgb, var(--imp-fg) 6%, var(--imp-bg))));
  --imp-border: var(--border-color, var(--sh-border, color-mix(in srgb, var(--imp-fg) 16%, var(--imp-bg))));
  --imp-icon: var(--imp-fg);
  --imp-link: var(--link-color, var(--nf-link, LinkText));
}
@supports (color: light-dark(#111, #eee)) {
  :root {
    --imp-fg-fallback: light-dark(#0f172a, #e8eef5);
    --imp-bg-fallback: light-dark(#ffffff, #0b1220);
    --imp-heading-fallback: light-dark(#0f172a, #f1f5f9);
    --imp-muted-fallback: light-dark(#475569, #9db0c0);
    --imp-surface-fallback: light-dark(#f8fafc, #121a28);
    --imp-border-fallback: light-dark(#e2e8f0, #2a3648);
  }
}

.ih-portal,
.ih-portal-hero,
.ih-kpi-card {
  color: var(--ih-text, #e8eef7) !important;
}
.ih-kpi-label {
  color: var(--ih-muted, #94a3b8) !important;
}
.ih-btn-ghost {
  color: var(--ih-text, #e8eef7) !important;
  border-color: var(--ih-border, rgba(226, 232, 240, 0.16)) !important;
}

.ih-hosting-plans .ih-plan-card {
  border: 1px solid var(--ih-border, rgba(226, 232, 240, 0.16));
  border-radius: var(--ih-radius, 14px);
  background: var(--ih-surface, #111827);
  color: var(--ih-fg, #e8eef7);
  transition: box-shadow 0.2s;
}
.ih-hosting-plans .ih-plan-card:hover {
  box-shadow: var(--ih-shadow, 0 14px 36px rgba(0, 0, 0, 0.35));
}
.ih-price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ih-accent, #38bdf8) !important;
}
.ih-features {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
  color: var(--ih-muted, #94a3b8);
}
.ih-features li {
  padding: 0.25rem 0;
}
.ih-features li::before {
  content: "✓ ";
  color: var(--ih-success, #34d399);
}

#ih-chat-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  color-scheme: dark;
}
#ih-chat-toggle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--ih-gradient, linear-gradient(135deg, #0ea5e9, #6366f1));
  color: #fff !important;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
#ih-chat-panel {
  display: none;
  width: 340px;
  max-height: 420px;
  background: var(--ih-surface, #111827) !important;
  color: var(--ih-fg, #e8eef7) !important;
  border: 1px solid var(--ih-border, rgba(226, 232, 240, 0.16));
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
  flex-direction: column;
  margin-bottom: 10px;
  overflow: hidden;
}
#ih-chat-panel.open {
  display: flex;
}
#ih-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  font-size: 0.9rem;
  color: var(--ih-fg, #e8eef7);
}
#ih-chat-messages .ih-msg {
  margin-bottom: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  max-width: 85%;
}
#ih-chat-messages .ih-msg.user {
  background: color-mix(in srgb, var(--ih-accent, #38bdf8) 22%, transparent);
  margin-left: auto;
  color: var(--ih-fg, #e8eef7) !important;
}
#ih-chat-messages .ih-msg.bot {
  background: var(--ih-surface-elev, #1a2332);
  color: var(--ih-fg, #e8eef7) !important;
}
#ih-chat-input-row {
  display: flex;
  border-top: 1px solid var(--ih-border, rgba(226, 232, 240, 0.16));
  padding: 8px;
  gap: 6px;
  background: var(--ih-bg-alt, #121a28);
}
#ih-chat-input {
  flex: 1;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 0.9rem;
  background: #ffffff !important;
  color: #0b1220 !important;
}
#ih-chat-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--ih-border, rgba(226, 232, 240, 0.16));
  background: var(--ih-bg-alt, #121a28);
  font-size: 0.85rem;
}
#ih-chat-head span {
  opacity: 0.7;
  font-size: 0.75rem;
}
#ih-chat-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 10px;
  border-top: 1px solid var(--ih-border, rgba(226, 232, 240, 0.12));
}
#ih-chat-quick button {
  border: 1px solid var(--ih-border, rgba(226, 232, 240, 0.25));
  background: var(--ih-surface-elev, #1a2332);
  color: var(--ih-fg, #e8eef7);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.72rem;
  cursor: pointer;
}
#ih-chat-messages .ih-cta {
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background: color-mix(in srgb, var(--ih-accent, #38bdf8) 85%, #0ea5e9);
  color: #041018;
  font-weight: 600;
  cursor: pointer;
}
#ih-chat-messages .ih-thinking {
  opacity: 0.65;
  font-style: italic;
}
#ih-chat-send:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
#ih-chat-toggle svg {
  display: block;
}
