/* RheumaScore — Noir Editorial Aesthetic
   capa de revista médica de luxo
   Preto profundo + dourado, alto contraste
   Tipografia dramática: serif display pesado, números colossais
   Hairlines douradas, numeração setorial, textura binária */

/* ══════════ tokens — NOIR (default) ══════════ */
:root {
  --brand-primary: #0a0907;
  --brand-accent: #c9a24a;
  --brand-accent-2: #e9c570;
  --paper-base: #0e0c08;
  --paper: var(--paper-base);
  --paper-2: #14110b;
  --paper-3: #1c1812;
  --ink: #f4ecd6;
  --ink-80: #e6dcc3;
  --ink-60: #b9ad8c;
  --ink-50: #8c8268;
  --ink-30: #5a5340;
  --ink-20: #3d3829;
  --ink-10: #25211a;
  --gold: var(--brand-accent);
  --gold-2: var(--brand-accent-2);
  --gold-30: color-mix(in oklab, var(--gold) 30%, transparent);
  --gold-15: color-mix(in oklab, var(--gold) 15%, transparent);
  --line: color-mix(in oklab, var(--gold) 22%, transparent);
  --line-2: color-mix(in oklab, var(--gold) 38%, transparent);
  --mrss-l0: color-mix(in oklab, var(--paper-2) 80%, var(--ink) 6%);
  --mrss-l1: color-mix(in oklab, var(--gold) 25%, var(--paper-2) 75%);
  --mrss-l2: color-mix(in oklab, var(--gold) 55%, var(--paper-2) 45%);
  --mrss-l3: color-mix(in oklab, var(--gold) 90%, #6b3f1e 10%);
  --font-display: "Fraunces", "Source Serif 4", Georgia, serif;
  --font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --r-sm: 2px; --r-md: 3px; --r-lg: 4px;
  --pad-x: clamp(20px, 5vw, 64px);
  --row-h: 56px;
}

/* SÉPIA CLÍNICA */
:root[data-mode="sepia"] {
  --paper-base: #f1e9d4; --paper: #f1e9d4; --paper-2: #ebe1c7; --paper-3: #e2d5b2;
  --ink: #1a1610; --ink-80: #2c2519; --ink-60: #5a4c33; --ink-50: #76664a;
  --ink-30: #a89875; --ink-20: #c4b793; --ink-10: #d8cba8;
  --line: color-mix(in oklab, var(--brand-accent) 55%, transparent);
  --line-2: color-mix(in oklab, var(--brand-accent) 70%, transparent);
}

/* X-RAY */
:root[data-mode="xray"] {
  --brand-accent: #6ad7ff; --brand-accent-2: #b3e9ff;
  --paper-base: #060a10; --paper: #060a10; --paper-2: #0c1320; --paper-3: #131c2e;
  --ink: #e6f4ff; --ink-60: #8ea7c2; --ink-50: #6b8298; --ink-30: #3d4d63; --ink-20: #243446;
}

/* ══════════ reset ══════════ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--paper); color: var(--ink);
  font-family: var(--font-ui); font-size: 15px; line-height: 1.5;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
button { background: none; border: none; padding: 0; cursor: pointer; color: inherit; font: inherit; }
input, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
em { font-style: italic; font-family: var(--font-display); }
::selection { background: var(--gold); color: var(--paper); }
ul { list-style: none; padding: 0; margin: 0; }

.rs-rule { flex: 1; height: 1px; background: var(--line); }

.rs-root {
  min-height: 100vh; background: var(--paper); position: relative;
}
.rs-root::before {
  content: ""; position: fixed; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(ellipse at top right, color-mix(in oklab, var(--gold) 8%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse at bottom left, color-mix(in oklab, var(--gold) 4%, transparent) 0%, transparent 50%);
  z-index: 0;
}
.rs-root > * { position: relative; z-index: 1; }
.rs-main { max-width: 1320px; margin: 0 auto; padding: 32px var(--pad-x) 80px; }

/* ══════════ HEADER ══════════ */
.rs-header {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in oklab, var(--paper) 90%, transparent);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.rs-header__inner {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: 32px; padding: 16px var(--pad-x);
}
.rs-brand {
  display: flex; align-items: center; gap: 14px;
  text-decoration: none; color: var(--gold);
}
.rs-brand__mark { width: 48px; height: 48px; display: grid; place-items: center; color: var(--gold); }
.rs-brand__type { display: inline-flex; align-items: baseline; gap: 4px; line-height: 1; }
.rs-brand__name {
  font-family: var(--font-display); font-weight: 500; font-style: italic;
  font-size: 22px; letter-spacing: -0.01em; color: var(--ink);
}
.rs-brand__reg { font-family: var(--font-mono); font-size: 9px; color: var(--gold); letter-spacing: 0.15em; text-transform: uppercase; }

.rs-nav { display: flex; gap: 0; justify-self: center; align-items: center; }
.rs-nav__link {
  padding: 10px 18px; font-family: var(--font-mono); font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.18em; color: var(--ink-60);
  position: relative; transition: color 120ms;
}
.rs-nav__link::after { content: "·"; position: absolute; right: -2px; top: 50%; transform: translateY(-50%); color: var(--ink-30); }
.rs-nav__link:last-child::after { display: none; }
.rs-nav__link:hover { color: var(--ink); }
.rs-nav__link.is-active { color: var(--gold); }

.rs-header__right { display: flex; align-items: center; gap: 16px; }
.rs-lang { display: flex; align-items: center; gap: 4px; padding: 4px 10px; border: 1px solid var(--line); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.15em; }
.rs-lang__opt { padding: 2px 4px; color: var(--ink-50); background: none; border: none; cursor: pointer; font: inherit; }
.rs-lang__opt.is-on { color: var(--gold); font-weight: 600; }
.rs-lang__sep { color: var(--ink-30); }
.rs-user { text-align: right; line-height: 1.2; }
.rs-user__name { font-family: var(--font-display); font-style: italic; font-size: 14px; color: var(--ink); }
.rs-user__role { font-family: var(--font-mono); font-size: 9px; color: var(--ink-50); text-transform: uppercase; letter-spacing: 0.15em; }
.rs-avatar { width: 38px; height: 38px; border: 1px solid var(--gold); background: var(--paper-2); color: var(--gold); display: grid; place-items: center; font-family: var(--font-display); font-style: italic; font-size: 14px; }

/* ══════════ HERO ══════════ */
.rs-hero {
  position: relative; padding: 80px 0 64px;
  border-bottom: 1px solid var(--line); margin-bottom: 64px; overflow: hidden;
  display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: end;
}
.rs-hero__watermark {
  position: absolute; right: -100px; top: 50%; transform: translateY(-50%);
  color: var(--gold); pointer-events: none; z-index: 0;
}
.rs-hero > *:not(.rs-hero__watermark) { position: relative; z-index: 1; }
.rs-hero__copy { max-width: 780px; }
.rs-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--font-mono); font-size: 10px; text-transform: uppercase;
  letter-spacing: 0.25em; color: var(--gold); padding: 6px 0;
  border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); margin-bottom: 32px;
}
.rs-hero__issue { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.3em; color: var(--ink-50); margin-bottom: 16px; text-transform: uppercase; }
.rs-hero__title {
  font-family: var(--font-display); font-weight: 300;
  font-size: clamp(48px, 8vw, 96px); line-height: 0.95; letter-spacing: -0.035em;
  margin: 0 0 24px; max-width: 14ch; color: var(--ink); text-wrap: balance;
}
.rs-hero__title em { color: var(--gold); font-weight: 400; }
.rs-hero__sub {
  font-family: var(--font-display); font-size: 19px; font-weight: 300;
  color: var(--ink-60); max-width: 56ch; margin: 0 0 40px; line-height: 1.5; font-style: italic;
}
.rs-hero__numeral {
  font-family: var(--font-display); font-weight: 300;
  font-size: clamp(140px, 22vw, 280px); line-height: 0.85;
  color: var(--gold); letter-spacing: -0.05em; font-variant-numeric: lining-nums; position: relative;
}
.rs-hero__numeral-label {
  position: absolute; bottom: 8px; right: 0;
  font-family: var(--font-mono); font-size: 10px; text-transform: uppercase;
  letter-spacing: 0.25em; color: var(--ink-60); white-space: nowrap;
}

/* search */
.rs-search {
  display: flex; align-items: center; gap: 14px; padding: 14px 18px;
  border: 1px solid var(--line-2); background: var(--paper-2); max-width: 720px;
  color: var(--ink-50); transition: border-color 120ms, background 120ms;
}
.rs-search:focus-within { border-color: var(--gold); }
.rs-search input {
  flex: 1; border: none; outline: none; background: transparent; font-size: 14px;
  color: var(--ink); font-family: var(--font-display); font-style: italic;
}
.rs-search input::placeholder { color: var(--ink-50); font-style: italic; }
.rs-search kbd {
  font-family: var(--font-mono); font-size: 10px; color: var(--gold);
  border: 1px solid var(--line); padding: 2px 6px; background: var(--paper); letter-spacing: 0.1em;
}

/* ══════════ Section heads ══════════ */
.rs-section { margin-bottom: 80px; position: relative; }
.rs-section__head {
  display: grid; grid-template-columns: auto auto 1fr auto;
  align-items: baseline; gap: 18px; margin-bottom: 32px;
  padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.rs-section__num { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.2em; color: var(--gold); }
.rs-section__title { font-family: var(--font-display); font-weight: 400; font-style: italic; font-size: 28px; letter-spacing: -0.015em; margin: 0; color: var(--ink); }
.rs-section__count { font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); letter-spacing: 0.15em; text-transform: uppercase; }

/* ══════════ Recent deck ══════════ */
.rs-recent {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1px; background: var(--line); border: 1px solid var(--line);
}
.rs-recent__item {
  background: var(--paper); padding: 24px 22px; display: flex; flex-direction: column;
  gap: 8px; text-align: left; position: relative; transition: background 120ms;
}
.rs-recent__item::before { content: ""; position: absolute; top: 0; left: 0; width: 32px; height: 1px; background: var(--gold); }
.rs-recent__item:hover { background: var(--paper-2); }
.rs-recent__acr { font-family: var(--font-mono); font-size: 11px; font-weight: 600; color: var(--gold); letter-spacing: 0.08em; }
.rs-recent__disease { font-family: var(--font-display); font-style: italic; font-size: 17px; color: var(--ink); line-height: 1.2; }
.rs-recent__time { font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); letter-spacing: 0.1em; text-transform: uppercase; margin-top: auto; }

/* ══════════ Disease grid ══════════ */
.rs-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line);
}
.rs-card {
  background: transparent; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 28px 24px; display: flex; flex-direction: column; position: relative;
  transition: background 200ms;
}
.rs-card:hover { background: var(--paper-2); }
.rs-card.is-featured { background: color-mix(in oklab, var(--gold) 5%, var(--paper)); }
.rs-card.is-featured::before {
  content: "PRIMARY"; position: absolute; top: 12px; right: 16px;
  font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.25em; color: var(--gold);
}
.rs-card__head { margin-bottom: 18px; }
.rs-card__title { font-family: var(--font-display); font-weight: 400; font-style: italic; font-size: 22px; letter-spacing: -0.01em; margin: 0 0 6px; color: var(--ink); line-height: 1.1; }
.rs-card__blurb { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--ink-50); margin: 0; }
.rs-card__scores { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }

.rs-score-chip {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.05em;
  padding: 5px 9px; border: 1px solid var(--line-2); color: var(--ink-60);
  background: transparent; transition: all 120ms; text-transform: uppercase;
}
.rs-score-chip:hover { color: var(--gold); border-color: var(--gold); }
.rs-score-chip.is-primary { color: var(--paper); border-color: var(--gold); background: var(--gold); font-weight: 600; }
.rs-score-chip.is-link { cursor: pointer; }

.rs-card__foot { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 14px; }
.rs-card__count { font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); letter-spacing: 0.1em; text-transform: uppercase; }

.rs-link { font-family: var(--font-mono); font-size: 11px; font-weight: 500; color: var(--gold); display: inline-flex; gap: 8px; align-items: center; letter-spacing: 0.15em; text-transform: uppercase; }
.rs-link:hover { color: var(--ink); }

/* ══════════ Guidelines block ══════════ */
.rs-guidelines {
  background: var(--paper-2); border: 1px solid var(--line); border-top: 2px solid var(--gold);
  padding: 36px 32px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center;
}
.rs-guidelines__title { font-family: var(--font-display); font-weight: 400; font-style: italic; font-size: 28px; margin: 0 0 8px; color: var(--ink); }
.rs-guidelines__sub { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--ink-60); margin: 0; }
.rs-guidelines__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rs-chip { font-family: var(--font-mono); font-size: 10px; padding: 6px 12px; border: 1px solid var(--gold); color: var(--gold); letter-spacing: 0.1em; text-transform: uppercase; }

/* ══════════ Footer ══════════ */
.rs-foot {
  margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--line);
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px;
}
.rs-foot__brand { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-display); font-style: italic; font-size: 14px; color: var(--gold); }
.rs-foot__seal { justify-self: center; color: var(--gold); }
.rs-foot__meta { justify-self: end; font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); letter-spacing: 0.15em; text-transform: uppercase; }

/* ══════════ Buttons ══════════ */
.rs-btn {
  padding: 11px 20px; font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; border: 1px solid transparent; transition: all 120ms;
  display: inline-block; cursor: pointer;
}
.rs-btn--ghost { color: var(--ink-60); border-color: var(--line-2); }
.rs-btn--ghost:hover { color: var(--gold); border-color: var(--gold); }
.rs-btn--primary { background: var(--gold); color: var(--paper); border-color: var(--gold); }
.rs-btn--primary:hover { background: var(--gold-2); border-color: var(--gold-2); }

/* ══════════ Responsive ══════════ */
@media (max-width: 900px) {
  .rs-hero { grid-template-columns: 1fr; }
  .rs-hero__numeral { font-size: 120px; }
  .rs-hero__watermark { display: none; }
  .rs-guidelines { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .rs-header__inner { grid-template-columns: 1fr auto; }
  .rs-nav { display: none; }
  .rs-hero__title { font-size: clamp(36px, 12vw, 60px); }
  .rs-foot { grid-template-columns: 1fr; text-align: center; }
  .rs-foot__seal { display: none; }
  .rs-foot__meta { justify-self: center; }
}

/* ══════════ Sépia Clínica — Inter como display ══════════ */
[data-mode="sepia"] {
  --font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
[data-mode="sepia"] em { font-style: italic; font-family: var(--font-ui); }
[data-mode="sepia"] .rs-brand__name,
[data-mode="sepia"] .rs-section__title,
[data-mode="sepia"] .rs-card__title,
[data-mode="sepia"] .rs-guidelines__title,
[data-mode="sepia"] .rs-hero__title,
[data-mode="sepia"] .rs-hero__sub { font-style: normal; }

/* ══════════ Auth pages ══════════ */
.rs-auth {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: 40px var(--pad-x);
}
.rs-auth__card {
  width: 100%; max-width: 440px; padding: 48px 40px;
  background: var(--paper-2); border: 1px solid var(--line);
  border-top: 2px solid var(--gold);
}
.rs-auth__logo {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  margin-bottom: 40px; text-align: center; color: inherit; text-decoration: none;
}
.rs-auth__logo-name { font-family: var(--font-display); font-weight: 600; font-size: 22px; color: var(--ink); letter-spacing: -0.02em; }
.rs-auth__logo-sub { font-family: var(--font-mono); font-size: 9px; color: var(--gold); letter-spacing: 0.25em; text-transform: uppercase; }
.rs-auth__head { margin-bottom: 28px; }
.rs-auth__head h1 { font-family: var(--font-display); font-weight: 600; font-size: 26px; color: var(--ink); margin: 0 0 6px; letter-spacing: -0.02em; }
.rs-auth__head p { font-family: var(--font-ui); font-size: 14px; color: var(--ink-60); margin: 0; }
.rs-auth__foot { margin-top: 24px; text-align: center; font-family: var(--font-mono); font-size: 11px; color: var(--ink-50); letter-spacing: 0.05em; }
.rs-auth__foot a { color: var(--gold); }
.rs-auth__foot a:hover { color: var(--gold-2); }

/* Form fields */
.rs-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.rs-field label { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--ink-60); }
.rs-field input, .rs-field select, .rs-field textarea {
  background: var(--paper); border: 1px solid var(--line-2); color: var(--ink);
  padding: 11px 14px; font-family: var(--font-ui); font-size: 14px; outline: none;
  transition: border-color 120ms; width: 100%;
}
.rs-field input:focus, .rs-field select:focus { border-color: var(--gold); }
.rs-field input::placeholder { color: var(--ink-30); }
.rs-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a24a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.rs-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Alerts */
.rs-alert { padding: 12px 14px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.03em; margin-bottom: 16px; border-left: 2px solid; line-height: 1.5; }
.rs-alert a { color: inherit; text-decoration: underline; }
.rs-alert--error { background: color-mix(in oklab, #c0392b 8%, var(--paper-2)); border-color: #c0392b; color: #c0392b; }
.rs-alert--success { background: color-mix(in oklab, var(--gold) 8%, var(--paper-2)); border-color: var(--gold); color: var(--ink-60); }
.rs-alert--info { background: var(--paper-2); border-color: var(--line-2); color: var(--ink-60); }

/* Checkbox */
.rs-checkbox { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 16px; }
.rs-checkbox input { margin-top: 2px; accent-color: var(--gold); flex-shrink: 0; }
.rs-checkbox span { font-family: var(--font-ui); font-size: 13px; color: var(--ink-60); line-height: 1.5; }
.rs-checkbox a { color: var(--gold); }

/* Auth row (remember + forgot) */
.rs-auth-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.rs-auth-row label { display: flex; gap: 8px; align-items: center; font-family: var(--font-mono); font-size: 10px; color: var(--ink-60); cursor: pointer; }
.rs-auth-row a { font-family: var(--font-mono); font-size: 10px; color: var(--gold); letter-spacing: 0.05em; }

/* Password meter */
.rs-pw-meter { display: flex; gap: 4px; margin-top: 6px; }
.rs-pw-bar { flex: 1; height: 2px; background: var(--line); transition: background 200ms; }
.rs-pw-bar.on-1 { background: #c0392b; }
.rs-pw-bar.on-2 { background: #e67e22; }
.rs-pw-bar.on-3 { background: #f39c12; }
.rs-pw-bar.on-4 { background: var(--gold); }
.rs-pw-rules { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; list-style: none; padding: 0; }
.rs-pw-rules li { font-family: var(--font-mono); font-size: 10px; color: var(--ink-30); letter-spacing: 0.08em; transition: color 150ms; }
.rs-pw-rules li.ok { color: var(--gold); }

/* Verify */
.rs-verify-icon { display: grid; place-items: center; margin: 0 0 24px; }

/* ══════════ App inner pages (pacientes / perfil / planos) ══════════ */
.rs-app-layout { min-height: 100vh; display: flex; flex-direction: column; background: var(--paper); }
.rs-page { flex: 1; max-width: 1320px; width: 100%; margin: 0 auto; padding: 40px var(--pad-x) 80px; }
.rs-page-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 40px; padding-bottom: 20px; border-bottom: 1px solid var(--line); gap: 20px; }
.rs-page-head__left h1 { font-family: var(--font-display); font-weight: 600; font-size: 32px; letter-spacing: -0.025em; color: var(--ink); margin: 0 0 4px; }
.rs-page-head__left p { font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); margin: 0; text-transform: uppercase; letter-spacing: 0.15em; }

.rs-inner-card { background: var(--paper-2); border: 1px solid var(--line); margin-bottom: 20px; }
.rs-inner-card__head { padding: 24px 28px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: flex-start; }
.rs-inner-card__head h2 { font-family: var(--font-display); font-weight: 600; font-size: 20px; color: var(--ink); margin: 0 0 4px; letter-spacing: -0.02em; }
.rs-inner-card__head p { font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); text-transform: uppercase; letter-spacing: 0.15em; margin: 0; }
.rs-inner-card__body { padding: 28px; }

/* Search input */
.rs-search-inline { background: var(--paper); border: 1px solid var(--line-2); color: var(--ink); padding: 10px 14px; font-family: var(--font-ui); font-size: 13px; outline: none; transition: border-color 120ms; width: 200px; }
.rs-search-inline:focus { border-color: var(--gold); }

/* Data table */
.rs-table { width: 100%; border-collapse: collapse; }
.rs-table th { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--ink-50); padding: 10px 16px; text-align: left; border-bottom: 1px solid var(--line); }
.rs-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); font-size: 13px; color: var(--ink-60); }
.rs-table tr:last-child td { border-bottom: none; }
.rs-table tr:hover td { background: color-mix(in oklab, var(--gold) 3%, var(--paper-2)); }
.rs-table td strong { color: var(--ink); font-weight: 600; }
.rs-badge { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 8px; border: 1px solid var(--line-2); color: var(--ink-60); }
.rs-badge--gold { border-color: var(--gold-30); color: var(--gold); }
.rs-badge--blue { border-color: color-mix(in oklab, #6ad7ff 30%, transparent); color: color-mix(in oklab, #6ad7ff 80%, var(--ink)); }
.rs-badge--slate { border-color: var(--line-2); color: var(--ink-60); }
.rs-table-btn { background: transparent; border: none; color: var(--ink-50); font-size: 18px; cursor: pointer; padding: 4px 8px; transition: color 120ms; }
.rs-table-btn:hover { color: var(--gold); }

/* Account dropdown */
.rs-account { position: relative; }
.rs-account__trigger { display: flex; align-items: center; gap: 10px; cursor: pointer; background: none; border: none; }
.rs-account__info { text-align: right; }
.rs-account__name { font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--ink); display: block; }
.rs-account__role { font-family: var(--font-mono); font-size: 9px; color: var(--ink-50); text-transform: uppercase; letter-spacing: 0.15em; display: block; }
.rs-account__avatar { width: 36px; height: 36px; border: 1px solid var(--gold); background: var(--paper-3); color: var(--gold); display: grid; place-items: center; font-family: var(--font-display); font-weight: 600; font-size: 14px; }
.rs-dropdown { position: absolute; top: calc(100% + 12px); right: 0; min-width: 220px; background: var(--paper-2); border: 1px solid var(--line-2); box-shadow: 0 8px 32px rgba(0,0,0,0.15); z-index: 100; display: none; }
.rs-account.open .rs-dropdown { display: block; }
.rs-dropdown__user { padding: 16px 20px; border-bottom: 1px solid var(--line); }
.rs-dropdown__user strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: 15px; color: var(--ink); }
.rs-dropdown__user span { font-family: var(--font-mono); font-size: 10px; color: var(--ink-50); letter-spacing: 0.08em; }
.rs-dropdown a, .rs-dropdown button { display: block; width: 100%; padding: 12px 20px; text-align: left; font-family: var(--font-mono); font-size: 11px; color: var(--ink-60); letter-spacing: 0.12em; text-transform: uppercase; transition: color 120ms, background 120ms; background: none; border: none; cursor: pointer; }
.rs-dropdown a:hover, .rs-dropdown button:hover { color: var(--gold); background: var(--paper-3); }

/* Gear icon button */
.rs-gear-btn { display: grid; place-items: center; color: var(--ink-50); transition: color 120ms; background: none; border: none; cursor: pointer; padding: 4px; }
.rs-gear-btn:hover { color: var(--gold); }

/* Plans */
.rs-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.rs-plan { background: var(--paper-2); padding: 32px 28px; display: flex; flex-direction: column; position: relative; }
.rs-plan.is-current { border-top: 2px solid var(--gold); }
.rs-plan.is-current::after { content: "ATIVO"; position: absolute; top: 12px; right: 16px; font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.25em; color: var(--gold); }
.rs-plan__tag { font-family: var(--font-mono); font-size: 10px; color: var(--gold); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 8px; }
.rs-plan__name { font-family: var(--font-display); font-weight: 600; font-size: 22px; color: var(--ink); margin: 0 0 20px; letter-spacing: -0.02em; }
.rs-plan__price { font-family: var(--font-display); font-weight: 300; font-size: 48px; color: var(--ink); letter-spacing: -0.03em; line-height: 1; margin-bottom: 4px; }
.rs-plan__price small { font-size: 14px; color: var(--ink-50); font-family: var(--font-mono); font-weight: 400; }
.rs-plan ul { list-style: none; padding: 0; margin: 24px 0; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.rs-plan li { font-family: var(--font-ui); font-size: 13px; color: var(--ink-60); display: flex; gap: 10px; align-items: flex-start; }
.rs-plan li::before { content: "✓"; color: var(--gold); font-weight: 700; flex-shrink: 0; }
.rs-plan li.off { color: var(--ink-30); }
.rs-plan li.off::before { content: "—"; color: var(--ink-30); }

/* Danger zone */
.rs-danger { border: 1px solid color-mix(in oklab, #c0392b 35%, transparent); background: color-mix(in oklab, #c0392b 5%, var(--paper-2)); padding: 28px; margin-top: 20px; }
.rs-danger h3 { font-family: var(--font-display); font-weight: 600; font-size: 20px; color: #c0392b; margin: 0 0 8px; letter-spacing: -0.02em; }
.rs-danger p { font-size: 13px; color: var(--ink-60); margin: 0 0 20px; line-height: 1.6; }

/* Sepia select fix */
[data-mode="sepia"] .rs-field select { color: var(--ink); background-color: var(--paper); }
[data-mode="sepia"] .rs-field input, [data-mode="sepia"] .rs-field select { border-color: color-mix(in oklab, var(--gold) 30%, transparent); }

@media (max-width: 640px) {
  .rs-auth__card { padding: 36px 24px; }
  .rs-field-row { grid-template-columns: 1fr; }
  .rs-page-head { flex-direction: column; }
  .rs-plans { grid-template-columns: 1fr; }
}
