/* Reswardo Continuity 3.0 — product simplification and annual continuity */

:root {
  --rw-c3-gold: #d4af37;
  --rw-c3-gold-2: #b68b2c;
  --rw-c3-ivory: #f1ede1;
  --rw-c3-panel: rgba(255,255,255,.025);
  --rw-c3-line: rgba(255,255,255,.09);
  --rw-c3-good: #79c69a;
  --rw-c3-warn: #e4b96a;
  --rw-c3-bad: #e38a84;
}

/* Plans: sell continuity first, storage second. */
.plan-card .plan-capacity,
.upgrade-plan .plan-capacity {
  display: block;
  margin-top: .65rem;
  color: var(--text-muted);
  font-size: .74rem;
  line-height: 1.45;
}

.plan-billing-note {
  margin: 1rem 0 0;
  padding: .85rem 1rem;
  border: 1px solid var(--rw-c3-line);
  border-radius: 12px;
  background: var(--rw-c3-panel);
  color: var(--text-muted);
  font-size: .76rem;
  line-height: 1.55;
}

.rw-plan-state {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: .7rem;
  padding: .42rem .7rem;
  border: 1px solid var(--rw-c3-line);
  border-radius: 999px;
  font-size: .72rem;
  color: var(--text-muted);
}
.rw-plan-state.active, .rw-plan-state.grandfathered { color: var(--rw-c3-good); border-color: rgba(121,198,154,.38); }
.rw-plan-state.custody_mode { color: var(--rw-c3-warn); border-color: rgba(228,185,106,.4); }
.rw-plan-state.manual_review { color: var(--rw-c3-bad); border-color: rgba(227,138,132,.4); }

/* Guided capsule creation */
#uploadCard { max-width: 900px; margin-inline: auto; }
.rw-template-intro { max-width: 720px; }
.rw-template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .75rem;
  margin: 1.1rem 0 1.4rem;
}
.rw-template-card {
  appearance: none;
  width: 100%;
  min-height: 120px;
  padding: 1rem;
  border: 1px solid var(--rw-c3-line);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
  color: var(--text-main);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.rw-template-card:hover { transform: translateY(-2px); border-color: rgba(212,175,55,.45); }
.rw-template-card.is-selected {
  border-color: var(--rw-c3-gold);
  background: rgba(212,175,55,.08);
  box-shadow: inset 0 0 0 1px rgba(212,175,55,.18);
}
.rw-template-icon { display:block; font-size:1.35rem; margin-bottom:.65rem; }
.rw-template-card strong { display:block; font-size:.84rem; margin-bottom:.3rem; }
.rw-template-card span:last-child { color:var(--text-muted); font-size:.7rem; line-height:1.35; }

.rw-wizard-progress {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: .45rem;
  margin: 1rem 0 1.4rem;
}
.rw-wizard-progress button {
  appearance:none;
  border:0;
  border-top: 2px solid var(--rw-c3-line);
  background: transparent;
  color: var(--text-muted);
  padding: .65rem .2rem .2rem;
  font-size: .7rem;
  cursor: pointer;
}
.rw-wizard-progress button.is-active,
.rw-wizard-progress button.is-complete {
  border-color: var(--rw-c3-gold);
  color: var(--rw-c3-ivory);
}
.rw-wizard-step { display:none; animation:rwC3Fade .2s ease; }
.rw-wizard-step.is-active { display:block; }
@keyframes rwC3Fade { from { opacity:.45; transform:translateY(5px); } to { opacity:1; transform:none; } }
.rw-wizard-panel {
  padding: 1.1rem;
  border: 1px solid var(--rw-c3-line);
  border-radius: 14px;
  background: rgba(255,255,255,.012);
}
.rw-wizard-panel h3 { margin:.1rem 0 .45rem; font-size:1rem; }
.rw-wizard-panel > p { margin:.1rem 0 1rem; }
.rw-wizard-actions {
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  margin-top:1.25rem;
}
.rw-wizard-actions .btn { width:auto; min-width:150px; }
.rw-review-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin:1rem 0;
}
.rw-review-summary > div {
  padding:.85rem;
  border:1px solid var(--rw-c3-line);
  border-radius:12px;
  background:rgba(255,255,255,.015);
}
.rw-review-summary strong { display:block; margin-bottom:.3rem; font-size:.74rem; color:var(--rw-c3-gold); }
.rw-review-summary span { font-size:.78rem; color:var(--text-muted); }

/* Annual review */
.rw-review-card { max-width: 900px; margin-inline:auto; }
.rw-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1rem 0; }
.rw-review-check {
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:1rem;
  border:1px solid var(--rw-c3-line);
  border-radius:13px;
  background:rgba(255,255,255,.015);
  font-size:.78rem;
  line-height:1.45;
  cursor:pointer;
}
.rw-review-check input { margin-top:.2rem; accent-color:var(--rw-c3-gold); }
.rw-review-status {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:.8rem 0 0;
}
.rw-status-chip {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:1px solid var(--rw-c3-line);
  border-radius:999px;
  padding:.4rem .65rem;
  font-size:.7rem;
  color:var(--text-muted);
}
.rw-status-chip.ok { color:var(--rw-c3-good); border-color:rgba(121,198,154,.36); }
.rw-status-chip.warn { color:var(--rw-c3-warn); border-color:rgba(228,185,106,.36); }

/* Trusted contacts */
.rw-contact-list { display:grid; gap:.7rem; margin:.9rem 0; }
.rw-contact-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem;
  align-items:center;
  padding:.85rem 1rem;
  border:1px solid var(--rw-c3-line);
  border-radius:12px;
  background:rgba(255,255,255,.014);
}
.rw-contact-row strong { display:block; font-size:.8rem; }
.rw-contact-row small { color:var(--text-muted); }
.rw-contact-badge {
  border-radius:999px;
  padding:.35rem .6rem;
  font-size:.68rem;
  border:1px solid var(--rw-c3-line);
}
.rw-contact-badge.accepted { color:var(--rw-c3-good); border-color:rgba(121,198,154,.38); }
.rw-contact-badge.pending { color:var(--rw-c3-warn); border-color:rgba(228,185,106,.38); }
.rw-contact-badge.declined { color:var(--rw-c3-bad); border-color:rgba(227,138,132,.38); }

/* Golden Key backup */
.rw-key-tools {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  margin:1rem 0 1.25rem;
}
.rw-key-share-box {
  display:none;
  margin:1rem 0;
  padding:1rem;
  border:1px solid rgba(212,175,55,.35);
  border-radius:12px;
  background:rgba(212,175,55,.045);
  text-align:left;
}
.rw-key-share-box.is-visible { display:block; }
.rw-key-share {
  display:block;
  margin:.45rem 0 .8rem;
  padding:.65rem;
  border:1px solid var(--rw-c3-line);
  border-radius:8px;
  background:#080809;
  color:var(--rw-c3-ivory);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.68rem;
  word-break:break-all;
}

/* Professional dashboard */
.rw-pro-card { max-width:900px; margin-inline:auto; }
.rw-pro-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
.rw-pro-kpi { padding:1rem; border:1px solid var(--rw-c3-line); border-radius:12px; background:rgba(255,255,255,.014); }
.rw-pro-kpi strong { display:block; color:var(--rw-c3-gold); font-size:1.2rem; }
.rw-pro-kpi span { font-size:.7rem; color:var(--text-muted); }
.rw-pro-referral-code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--rw-c3-gold); }
.rw-pro-table { width:100%; border-collapse:collapse; font-size:.73rem; }
.rw-pro-table th,.rw-pro-table td { padding:.65rem; border-bottom:1px solid var(--rw-c3-line); text-align:left; }
.rw-pro-table th { color:var(--rw-c3-gold); }

/* Compact security: details live on the dedicated page. */
#disclaimerCard { display:none !important; }
.rw-security-link {
  margin-top:1rem;
  padding:.85rem 1rem;
  border:1px solid var(--rw-c3-line);
  border-radius:12px;
  color:var(--text-muted);
  font-size:.76rem;
}
.rw-security-link a { color:var(--rw-c3-gold); }

/* Public landing additions */
.rw-public-templates { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-top:1.4rem; }
.rw-public-template { padding:1rem; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(255,255,255,.018); }
.rw-public-template strong { display:block; margin-bottom:.4rem; color:var(--rw-c3-ivory); }
.rw-public-template span { color:var(--text-muted); font-size:.78rem; line-height:1.45; }

/* Invitation / local utility pages */
.rw-standalone-shell { min-height:100vh; display:grid; place-items:center; padding:1.25rem; background:#050503; color:var(--rw-c3-ivory); }
.rw-standalone-card { width:min(680px,100%); padding:1.5rem; border:1px solid var(--rw-c3-line); border-radius:18px; background:#0d0d0d; box-shadow:0 22px 70px rgba(0,0,0,.4); }
.rw-standalone-card h1 { margin:.2rem 0 .7rem; }
.rw-standalone-card p { color:#aaa7a0; line-height:1.6; }
.rw-standalone-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.2rem; }

@media (max-width: 900px) {
  .rw-template-grid,.rw-public-templates { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rw-review-grid { grid-template-columns:1fr; }
  .rw-pro-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .rw-template-grid,.rw-public-templates,.rw-review-summary,.rw-key-tools,.rw-pro-kpis { grid-template-columns:1fr; }
  .rw-wizard-progress { overflow-x:auto; grid-template-columns:repeat(5,minmax(86px,1fr)); padding-bottom:.35rem; }
  .rw-wizard-actions { flex-direction:column-reverse; }
  .rw-wizard-actions .btn { width:100%; }
  .rw-contact-row { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .rw-wizard-step,.rw-template-card { animation:none !important; transition:none !important; }
}

.rw-trusted-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
@media (max-width:700px){ .rw-trusted-contact-fields { grid-template-columns:1fr; } }


/* Annual plan modal and billing explanation */
.rw-billing-explainer {
  margin:1rem 0 0;
  padding:.9rem 1rem;
  border:1px solid rgba(212,175,55,.26);
  border-radius:12px;
  background:rgba(212,175,55,.045);
  color:var(--text-muted);
  font-size:.75rem;
  line-height:1.55;
}
@media (min-width:980px) {
  .plans-modal-box { max-width:1080px !important; }
  .plans-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
