.cip-ruis, .cip-ruis * { box-sizing: border-box; }
.cip-ruis [hidden] { display:none !important; }

.cip-ruis {
  --cip-blue:#2563eb;
  --cip-blue-dark:#1e40af;
  --cip-blue-soft:#eff6ff;
  --cip-text:#172554;
  --cip-muted:#64748b;
  --cip-border:#dbe7fb;
  --cip-bg:#ffffff;
  --cip-card:#f8fbff;
  --cip-danger:#ef4444;
  --cip-warning:#f59e0b;
  --cip-success:#10b981;
  font-family: inherit;
  color: var(--cip-text);
  background: linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  border: 1px solid var(--cip-border);
  border-radius: 18px;
  padding: 28px;
  max-width: 980px;
  margin: 0 auto 28px;
  box-shadow: 0 18px 55px rgba(37,99,235,.08);
}
.cip-ruis__hero { text-align:center; margin-bottom:24px; }
.cip-ruis__icon {
  width:56px;height:56px;margin:0 auto 12px;border-radius:16px;
  display:grid;place-items:center;background:linear-gradient(135deg,var(--cip-blue),#60a5fa);color:#fff;
  box-shadow:0 14px 26px rgba(37,99,235,.25);
}
.cip-ruis h2,.cip-ruis h3,.cip-ruis h4,.cip-ruis p { margin-top:0; }
.cip-ruis h2 { font-size:clamp(24px,3vw,34px); margin-bottom:8px; letter-spacing:-.03em; color:#0f1f4a; }
.cip-ruis__hero p { color:var(--cip-muted); margin:0 auto; max-width:680px; }
.cip-ruis__form { background:#fff; border:1px solid var(--cip-border); border-radius:16px; padding:18px; margin-bottom:18px; }
.cip-ruis__label { display:block; font-weight:800; margin-bottom:8px; color:#0f1f4a; }
.cip-ruis__inputrow { display:flex; gap:12px; align-items:stretch; }
.cip-ruis input[type="text"] {
  width:100%; min-height:50px; padding:0 16px; border:1px solid #bfd2f5; border-radius:12px;
  color:#0f172a; background:#fff; outline:none; font-size:16px;
}
.cip-ruis input[type="text"]:focus { border-color:var(--cip-blue); box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.cip-ruis__hint { font-size:13px; color:var(--cip-muted); margin:10px 0 0; }
.cip-ruis__btn {
  border:1px solid var(--cip-blue); border-radius:12px; padding:0 20px; min-height:46px; cursor:pointer;
  background:#fff; color:var(--cip-blue); font-weight:800; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  text-decoration:none !important;
}
.cip-ruis__btn:hover, .cip-ruis__btn:focus { background:var(--cip-blue-soft); color:var(--cip-blue-dark); transform:translateY(-1px); }
.cip-ruis__btn--primary { background:linear-gradient(135deg,var(--cip-blue),var(--cip-blue-dark)); color:#fff; box-shadow:0 14px 28px rgba(37,99,235,.22); }
.cip-ruis__btn--primary:hover,.cip-ruis__btn--primary:focus { background:linear-gradient(135deg,var(--cip-blue-dark),#172554); color:#fff; }
.cip-ruis__btn--ghost { background:#fff; color:var(--cip-blue); }
.cip-ruis__btn:disabled { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
.cip-ruis__loading { display:flex; gap:14px; align-items:center; padding:18px; border-radius:16px; background:var(--cip-blue-soft); border:1px solid #bfd2f5; margin:18px 0; }
.cip-ruis__loading span { display:block; color:var(--cip-muted); font-size:14px; }
.cip-ruis__spinner { width:30px;height:30px;border-radius:50%; border:3px solid #bfdbfe; border-top-color:var(--cip-blue); animation:cipRuisSpin .8s linear infinite; }
@keyframes cipRuisSpin { to { transform:rotate(360deg); } }
.cip-ruis__error { padding:14px 16px; background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:14px; margin:16px 0; font-weight:700; }
.cip-ruis__result { margin-top:18px; }
.cip-ruis-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; border-bottom:1px solid var(--cip-border); padding-bottom:18px; margin-bottom:18px; }
.cip-ruis-eyebrow { display:inline-block; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--cip-blue); font-weight:900; margin-bottom:6px; }
.cip-ruis-result-head h3 { font-size:clamp(22px,3vw,32px); margin-bottom:4px; color:#0f1f4a; }
.cip-ruis-result-head p { color:var(--cip-muted); margin:0; }
.cip-ruis-status { display:flex; gap:12px; align-items:center; border-radius:16px; padding:16px; margin-bottom:18px; border:1px solid var(--cip-border); background:#fff; }
.cip-ruis-status__badge { border-radius:999px; padding:7px 12px; font-weight:900; color:#fff; white-space:nowrap; }
.cip-ruis-status--success { border-color:#a7f3d0; background:#ecfdf5; }
.cip-ruis-status--success .cip-ruis-status__badge { background:var(--cip-success); }
.cip-ruis-status--warning { border-color:#fde68a; background:#fffbeb; }
.cip-ruis-status--warning .cip-ruis-status__badge { background:var(--cip-warning); }
.cip-ruis-status--danger { border-color:#fecaca; background:#fef2f2; }
.cip-ruis-status--danger .cip-ruis-status__badge { background:var(--cip-danger); }
.cip-ruis-status--info .cip-ruis-status__badge { background:var(--cip-blue); }
.cip-ruis-summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.cip-ruis-metric { background:#fff; border:1px solid var(--cip-border); border-radius:16px; padding:16px; min-height:112px; }
.cip-ruis-metric span { display:block; color:var(--cip-muted); font-size:13px; margin-bottom:8px; }
.cip-ruis-metric strong { display:block; color:#0f1f4a; font-size:16px; line-height:1.35; word-break:break-word; }
.cip-ruis-metric small { display:block; color:var(--cip-blue); margin-top:6px; font-weight:800; }
.cip-ruis-tabs { display:flex; background:#edf4ff; border:1px solid var(--cip-border); border-radius:16px; padding:5px; margin-bottom:18px; gap:4px; overflow:auto; }
.cip-ruis-tabs button { flex:1; min-width:max-content; border:0; background:transparent; color:#32527e; padding:12px 14px; border-radius:12px; font-weight:900; cursor:pointer; }
.cip-ruis-tabs button:hover { background:#fff; color:var(--cip-blue-dark); }
.cip-ruis-tabs button.is-active { background:#fff; color:var(--cip-blue); box-shadow:0 8px 18px rgba(37,99,235,.1); }
.cip-ruis-panel { display:none; }
.cip-ruis-panel.is-active { display:block; }
.cip-ruis-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cip-ruis-card { background:#fff; border:1px solid var(--cip-border); border-radius:16px; padding:18px; box-shadow:0 10px 24px rgba(15,23,42,.04); }
.cip-ruis-card h4 { font-size:17px; margin-bottom:14px; color:#0f1f4a; }
.cip-ruis-dl { margin:0; display:grid; gap:10px; }
.cip-ruis-dl div { display:grid; grid-template-columns:150px 1fr; gap:12px; border-bottom:1px dashed #dbe7fb; padding-bottom:10px; }
.cip-ruis-dl div:last-child { border-bottom:0; padding-bottom:0; }
.cip-ruis-dl dt { color:var(--cip-muted); font-weight:800; }
.cip-ruis-dl dd { margin:0; color:#0f1f4a; word-break:break-word; }
.cip-ruis-chipwrap { display:flex; flex-wrap:wrap; gap:6px; }
.cip-ruis-chip { display:inline-flex; align-items:center; border:1px solid #bfd2f5; background:var(--cip-blue-soft); color:var(--cip-blue-dark); border-radius:999px; padding:5px 9px; font-size:12px; font-weight:900; margin:2px 4px 2px 0; }
.cip-ruis-timeline { display:grid; gap:12px; }
.cip-ruis-timeline div { position:relative; padding-left:26px; }
.cip-ruis-timeline span { position:absolute; left:0; top:4px; width:12px; height:12px; border-radius:50%; background:var(--cip-blue); box-shadow:0 0 0 5px var(--cip-blue-soft); }
.cip-ruis-timeline strong { display:block; color:#0f1f4a; }
.cip-ruis-timeline em { display:block; font-style:normal; color:var(--cip-muted); font-size:14px; }
.cip-ruis-entities-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cip-ruis-privacy { background:#fffbeb; color:#92400e; border:1px solid #fde68a; border-radius:12px; padding:10px 12px; font-size:13px; font-weight:700; margin-bottom:12px; }
.cip-ruis-note { margin:14px 0 0; color:var(--cip-muted); font-size:13px; }
.cip-ruis-records { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.cip-ruis-records li { background:var(--cip-card); border:1px solid #e5eefc; border-radius:10px; padding:9px 10px; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:13px; color:#1e293b; word-break:break-word; }
.cip-ruis-muted { color:var(--cip-muted); }
.cip-ruis-debug { margin-top:14px; border:1px solid var(--cip-border); border-radius:14px; padding:12px; background:#f8fbff; }
.cip-ruis-debug summary { cursor:pointer; font-weight:900; color:var(--cip-blue-dark); }
.cip-ruis-debug pre { white-space:pre-wrap; overflow:auto; background:#0f172a; color:#dbeafe; border-radius:12px; padding:14px; margin:12px 0 0; font-size:12px; }
@media (max-width: 860px) {
  .cip-ruis { padding:20px; border-radius:16px; }
  .cip-ruis__inputrow, .cip-ruis-result-head, .cip-ruis-status { flex-direction:column; align-items:stretch; }
  .cip-ruis__btn { width:100%; }
  .cip-ruis-summary-grid, .cip-ruis-two, .cip-ruis-entities-grid { grid-template-columns:1fr; }
  .cip-ruis-dl div { grid-template-columns:1fr; gap:3px; }
  .cip-ruis-tabs button { flex:0 0 auto; }
}

.cip-ruis-available-card {
  display:flex;
  gap:16px;
  align-items:flex-start;
  border:1px solid var(--cip-border);
  border-radius:18px;
  background:#fff;
  padding:20px;
  margin:0 0 18px;
  box-shadow:0 14px 28px rgba(15,23,42,.05);
}
.cip-ruis-available-card.is-available { border-color:#a7f3d0; background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%); }
.cip-ruis-available-card.is-warning { border-color:#fde68a; background:linear-gradient(180deg,#fffbeb 0%,#fff 100%); }
.cip-ruis-available-icon {
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:24px;
  background:var(--cip-blue);
  color:#fff;
}
.cip-ruis-available-card.is-available .cip-ruis-available-icon { background:var(--cip-success); }
.cip-ruis-available-card.is-warning .cip-ruis-available-icon { background:var(--cip-warning); }
.cip-ruis-available-card h4 { margin:0 0 8px; font-size:22px; color:#0f1f4a; }
.cip-ruis-available-card p { margin:0 0 8px; color:#334155; }
.cip-ruis-available-note { font-weight:700; color:#1e3a8a !important; }
@media (max-width: 860px) {
  .cip-ruis-available-card { flex-direction:column; }
  .cip-ruis-available-icon { width:42px; height:42px; }
}

/* Ajustes v1.0.7 - CTA WhatsApp para domínio possivelmente disponível */
.cip-ruis__btn--whatsapp {
  border-color:#22c55e !important;
  background:linear-gradient(135deg,#25d366,#16a34a) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(22,163,74,.22) !important;
}
.cip-ruis__btn--whatsapp:hover,
.cip-ruis__btn--whatsapp:focus {
  background:linear-gradient(135deg,#16a34a,#15803d) !important;
  color:#fff !important;
}
.cip-ruis-wa-icon {
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  color:#16a34a;
  line-height:1;
  flex:0 0 22px;
}
.cip-ruis-wa-icon svg {
  width:16px;
  height:16px;
  display:block;
  fill:currentColor;
}
.cip-ruis-card-action {
  margin-top:16px;
}
.cip-ruis-card-action .cip-ruis__btn {
  width:100%;
}
