/*! © 2026 Cyber Affinity LLC. All rights reserved. Use is subject to https://www.cyber-affinity.com/terms — copying or redistributing this code is not permitted. */
/* Scam and Identity Theft Recovery — tool-specific styles (shared classes live in /styles.css) */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.rc-urgent { max-width: 760px; margin: 0 0 18px; padding: 14px 18px; border: 1px solid rgba(251, 191, 36, 0.45); border-left: 4px solid #fbbf24; border-radius: 10px; background: rgba(251, 191, 36, 0.08); }
.rc-urgent strong { color: #fde68a; }
.rc-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); margin-left: 4px; }
.rc-toggle input { width: auto; }

.rc-section { margin-top: 40px; min-width: 0; }
.rc-section h2 { font-size: 24px; margin: 0 0 8px; display: flex; align-items: center; gap: 10px; }
.rc-num { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(45, 212, 191, 0.15); color: var(--accent); font-size: 16px; font-weight: 800; flex: none; }
.rc-other { margin: 14px 0 0; font-size: 14px; }

/* Questions */
.rc-qgroup { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin: 12px 0; }
.rc-qgroup > summary { cursor: pointer; padding: 14px 18px; font-weight: 700; font-size: 17px; }
.rc-qlist { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 4px 16px; padding: 0 18px 16px; }
.rc-q { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border-radius: 8px; cursor: pointer; font-weight: 400; line-height: 1.45; }
.rc-q:hover { background: rgba(125, 211, 252, 0.06); }
.rc-q input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--accent); }
.rc-q:has(input:checked) { background: rgba(45, 212, 191, 0.1); }
.rc-money { margin: 12px 0; border: 1px solid rgba(251, 191, 36, 0.45); border-radius: var(--radius); padding: 10px 18px 14px; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2px 16px; }
.rc-money legend { font-weight: 700; padding: 0 6px; color: #fde68a; }

/* Progress */
.rc-progress { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 10px 0 6px; }
.rc-bar { flex: 1 1 200px; height: 8px; border-radius: 4px; background: var(--line); overflow: hidden; }
.rc-bar-fill { display: block; height: 100%; background: var(--accent); border-radius: 4px; transition: width 0.25s ease; }

/* Plan */
.rc-phase { margin-top: 26px; }
.rc-phase > h3 { font-size: 18px; margin: 0 0 10px; padding-left: 12px; border-left: 4px solid var(--accent); }
.rc-now > h3 { border-left-color: #f87171; }
.rc-today > h3 { border-left-color: #fbbf24; }
.rc-week > h3 { border-left-color: var(--accent-2); }
.rc-step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 18px; margin: 10px 0; }
.rc-step.done { opacity: 0.72; }
.rc-step.done .rc-title { text-decoration: line-through; text-decoration-color: var(--muted); }
.rc-step-head { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.rc-step-head input { width: 20px; height: 20px; margin: 3px 0 0; flex: none; accent-color: var(--accent); }
.rc-step-head label { flex: 1 1 260px; display: flex; gap: 8px; cursor: pointer; font-weight: 700; font-size: 17px; }
.rc-n { color: var(--muted); font-variant-numeric: tabular-nums; }
.rc-done { font-size: 13px; color: var(--accent); white-space: nowrap; }
.rc-why { margin: 8px 0 6px 30px; color: var(--muted); }
.rc-how { margin: 0 0 8px 30px; padding-left: 20px; }
.rc-how li { margin: 4px 0; }
.rc-contacts { margin: 8px 0 8px 30px; padding: 10px 12px; background: var(--bg-alt); border-radius: 8px; font-size: 15px; }
.rc-label { display: block; font-size: 13px; color: var(--muted); font-weight: 600; margin-bottom: 4px; }
.rc-contacts ul { margin: 0; padding-left: 18px; }
.rc-contacts li { margin: 3px 0; }
.rc-phone { color: var(--muted); }
.rc-phone a { white-space: nowrap; }
.rc-more { margin: 6px 0 8px 30px; }
.rc-more summary { cursor: pointer; color: var(--accent-2); font-size: 14px; }
.rc-more textarea { width: 100%; margin-top: 6px; }
.rc-step > .btn { margin-left: 30px; }

/* Contact log */
.rc-table-wrap { position: relative; overflow-x: auto; max-width: 100%; margin-top: 12px; }
.rc-log { width: 100%; min-width: 860px; border-collapse: collapse; font-size: 14px; }
.rc-log th, .rc-log td { padding: 6px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.rc-log thead th { font-size: 13px; color: var(--muted); font-weight: 600; white-space: nowrap; }
.rc-log input, .rc-log textarea { width: 100%; font-size: 14px; }
.rc-log td:first-child, .rc-log td:nth-child(6) { width: 150px; }
.rc-log td:nth-child(5) { min-width: 220px; }

/* Letters */
.rc-letter { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.4fr); gap: 20px; margin-top: 12px; }
.rc-letter-form { display: grid; gap: 12px; align-content: start; }
.rc-letter-form label { display: grid; gap: 4px; font-weight: 600; font-size: 14px; }
.rc-letter-text { margin: 0 0 10px; white-space: pre-wrap; background: #fff; color: #111; border-radius: var(--radius); padding: 22px 24px; font: 14px/1.55 Georgia, "Times New Roman", serif; max-height: 560px; overflow: auto; }
@media (max-width: 760px) {
  .rc-letter { grid-template-columns: 1fr; }
  .rc-why, .rc-how, .rc-contacts, .rc-more { margin-left: 0; }
  .rc-step > .btn { margin-left: 0; }
}

@media print {
  .rc-section { margin-top: 18px; }
  .rc-step { break-inside: avoid; background: #fff !important; border: 1px solid #bbb !important; color: #111; opacity: 1; }
  .rc-contacts { background: #f3f4f6 !important; }
  .rc-why, .rc-phone, .rc-n, .rc-label { color: #444 !important; }
  .rc-bar { background: #ddd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-bar-fill { background: #0f766e !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-step-head input { accent-color: #0f766e; }
  .rc-log { min-width: 0; }
  .rc-log input, .rc-log textarea { border: 0 !important; background: none !important; color: #111 !important; padding: 0; resize: none; }
  .rc-contacts a { color: #111; text-decoration: none; }
}
