:root {
  /* ── Cockpit palette ── */
  --bg: #07090c;
  --bg-2: #0a0d12;
  --panel: #0d1117;
  --panel-2: #131922;
  --panel-3: #1a2230;
  --line: #1c2432;
  --line-2: #283244;
  --ink: #e6ebf2;
  --ink-2: #c5cdd9;
  --muted: #7a8494;
  --dim: #4a5364;
  --faint: #2d3545;
  --blue: oklch(0.72 0.16 240);
  --blue-deep: oklch(0.52 0.18 245);
  --blue-soft: oklch(0.62 0.12 240);
  --red: oklch(0.62 0.17 25);

  /* ── Legacy aliases (keep other CSS files working) ── */
  --bg-surface: var(--panel);
  --bg-hover: var(--panel-2);
  --bg-card: var(--panel-2);
  --border: var(--line);
  --border-strong: var(--line-2);
  --text: var(--ink);
  --text-muted: var(--muted);
  --text-dim: var(--dim);
  --accent: var(--blue);

  --alta-bg: #0d2218;   --alta-text: #4ade80;  --alta-border: rgba(74,222,128,0.2);
  --media-bg: #1f1708;  --media-text: #fb923c; --media-border: rgba(251,146,60,0.2);
  --baixa-bg: #161f30;  --baixa-text: #6b7280; --baixa-border: rgba(107,114,128,0.25);
  --nd-bg: #111827;     --nd-text: #3d4a60;    --nd-border: rgba(61,74,96,0.3);

  --d-bd:  #0f1e2e; --d-bd-t:  #60a5fa;
  --d-dev: #0f2218; --d-dev-t: #4ade80;
  --d-eng: #1a1429; --d-eng-t: #c084fc;
  --d-sec: #231015; --d-sec-t: #f87171;
  --d-so:  #1e1608; --d-so-t:  #fbbf24;
  --d-net: #091e20; --d-net-t: #2dd4bf;
  --d-ges: #1c1028; --d-ges-t: #e879f9;
  --d-ia:  #14162a; --d-ia-t:  #a78bfa;
  --d-lp:  #0f1e2e; --d-lp-t:  #7dd3fc;
  --d-dc:  #1a1429; --d-dc-t:  #c084fc;
  --d-da:  #0f2218; --d-da-t:  #4ade80;
  --d-afo: #1e1608; --d-afo-t: #fbbf24;
  --d-leg: #231015; --d-leg-t: #f87171;
  --d-geo: #091e20; --d-geo-t: #2dd4bf;
  --d-none:#161f30; --d-none-t:#3d4a60;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  min-height: 100vh;
}

/* ── LOGIN ── */
#login-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  padding: 24px 16px;
  box-sizing: border-box;
  background: radial-gradient(ellipse at 50% 0%, oklch(0.28 0.06 240 / .35) 0%, transparent 65%);
}

@media (max-width: 480px) {
  .login-box { padding: 28px 24px; }
}

.login-box {
  background: var(--bg-card);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: min(420px, calc(100vw - 32px));
  box-shadow: 0 24px 60px rgba(0,0,0,.4);
}

/* ── Login header ── */
.login-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}
.login-brand-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.login-brand-name {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.02em;
}
.login-box h2 {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.02em;
  margin-bottom: 2px;
}
.login-box p {
  font-size: 13px;
  color: var(--text-dim);
  margin-top: 4px;
}

/* ── Field group ── */
.login-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.login-field label {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-muted);
  font-family: 'Geist', 'Inter', sans-serif;
  letter-spacing: .02em;
}
.login-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.login-box input[type="email"],
.login-box input[type="password"],
.login-box input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  background: var(--bg-surface);
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  color: var(--text);
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 14px;
  padding: 11px 14px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.login-box input[type="password"] { padding-right: 44px; }
.login-box input[type="email"]:focus,
.login-box input[type="password"]:focus,
.login-box input[type="text"]:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px oklch(0.72 0.16 240 / .12);
}
.login-pw-toggle {
  position: absolute;
  right: 12px;
  background: none;
  border: none;
  color: var(--text-dim);
  cursor: pointer;
  font-size: 15px;
  padding: 2px;
  line-height: 1;
  transition: color .15s;
}
.login-pw-toggle:hover { color: var(--text-muted); }

.btn-login {
  padding: 12px;
  background: var(--accent);
  border: none;
  border-radius: 8px;
  color: #fff;
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .15s, transform .1s;
  letter-spacing: .01em;
  margin-top: 4px;
}
.btn-login:hover { opacity: .88; transform: translateY(-1px); }
.btn-login:active { transform: translateY(0); }

.login-sep {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -4px 0;
}
.login-sep::before,
.login-sep::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border-strong);
}
.login-sep span {
  font-size: 11px;
  color: var(--text-dim);
  font-family: 'Geist', 'Inter', sans-serif;
  letter-spacing: .05em;
}

.btn-register-link {
  background: none;
  border: none;
  color: var(--text-dim);
  font-size: 13px;
  font-family: 'Geist', 'Inter', sans-serif;
  cursor: pointer;
  padding: 4px 0;
  text-align: center;
  transition: color .15s;
}
.btn-register-link:hover { color: var(--text); }

.login-forgot {
  text-align: right;
  margin-top: -12px;
}
.login-forgot button {
  background: none;
  border: none;
  font-size: 12px;
  color: var(--text-dim);
  font-family: 'Geist', 'Inter', sans-serif;
  cursor: pointer;
  transition: color .15s;
}
.login-forgot button:hover { color: var(--accent); }

.verify-icon {
  font-size: 40px;
  text-align: center;
  line-height: 1;
}
.verify-hint {
  font-size: 12px;
  color: var(--text-dim);
  text-align: center;
  margin-top: -10px;
}

/* ── Verify banner (above login card) ── */
.verify-banner {
  width: min(420px, calc(100vw - 32px));
  border-radius: 10px;
  padding: 13px 20px;
  font-size: 13px;
  font-family: 'Geist', 'Inter', sans-serif;
  text-align: center;
  animation: bannerIn .3s ease;
}
@keyframes bannerIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.verify-banner--success {
  background: rgba(74, 222, 128, .08);
  border: 1px solid rgba(74, 222, 128, .35);
  color: #4ade80;
}
.verify-banner--warn {
  background: rgba(251, 191, 36, .08);
  border: 1px solid rgba(251, 191, 36, .35);
  color: #fbbf24;
}
.verify-banner--info {
  background: rgba(59, 130, 246, .08);
  border: 1px solid rgba(59, 130, 246, .35);
  color: #93c5fd;
}
.verify-banner--info a {
  color: #60a5fa;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Register wizard ── */
.reg-wizard { gap: 24px; }

.reg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.reg-logo {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}
.reg-dots { display: flex; gap: 8px; align-items: center; }
.reg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--border-strong);
  transition: background .25s, transform .25s;
}
.reg-dot.active {
  background: var(--accent);
  transform: scale(1.3);
}

.reg-step { display: flex; flex-direction: column; gap: 14px; }
.reg-step-in { animation: regSlideIn .28s ease; }
@keyframes regSlideIn {
  from { opacity: 0; transform: translateX(18px); }
  to   { opacity: 1; transform: translateX(0); }
}

.reg-label {
  font-size: 17px;
  font-weight: 600;
  color: var(--text);
  font-family: 'Geist', 'Inter', sans-serif;
  letter-spacing: -.01em;
}
.reg-sublabel {
  font-size: 13px;
  color: var(--text-dim);
  margin-top: 4px;
}

.reg-input {
  width: 100%;
  box-sizing: border-box;
  background: var(--bg-surface);
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  color: var(--text);
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 15px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.reg-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px oklch(0.72 0.16 240 / .12);
}

.reg-terms-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--text-muted);
  cursor: pointer;
  line-height: 1.5;
}
.reg-terms-row input[type="checkbox"] {
  margin-top: 2px;
  accent-color: var(--accent);
  cursor: pointer;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}
.reg-terms-link {
  background: none;
  border: none;
  padding: 0;
  font-size: 13px;
  color: var(--accent);
  cursor: pointer;
  text-decoration: underline;
  font-family: inherit;
}
.reg-terms-link:hover { opacity: .8; }

/* ── PAYWALL ── */
#paywall-screen {
  min-height: 100vh; align-items: center; justify-content: center;
  background: var(--bg);
}
.paywall-box {
  background: var(--bg-card); border: 1px solid var(--border-strong);
  border-radius: 14px; padding: 44px 52px; max-width: 400px; width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  text-align: center;
}
.paywall-logo {
  font-family: 'JetBrains Mono', monospace; font-size: 13px;
  color: var(--text-dim); letter-spacing: .1em; text-transform: uppercase;
}
.paywall-title {
  font-size: 18px; font-weight: 500; color: var(--text); margin: 0;
}
.paywall-sub {
  font-size: 12px; color: var(--text-muted); margin: 0;
}
.paywall-price {
  font-family: 'JetBrains Mono', monospace; font-size: 36px;
  font-weight: 600; color: var(--text); line-height: 1;
}
.paywall-price span { font-size: 14px; color: var(--text-muted); margin-left: 2px; }
.paywall-features {
  list-style: none; padding: 0; margin: 4px 0; text-align: left;
  font-size: 12px; color: var(--text-muted); display: flex;
  flex-direction: column; gap: 6px; width: 100%;
}
.paywall-features li { color: var(--text-muted); }
.paywall-features li::first-letter { color: #4ade80; }
.btn-subscribe {
  width: 100%; padding: 13px; background: var(--accent); border: none;
  border-radius: 8px; color: #fff; font-family: 'JetBrains Mono', monospace;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: opacity .15s; letter-spacing: .04em;
}
.btn-subscribe:hover { opacity: .87; }
.btn-subscribe:disabled { opacity: .5; cursor: not-allowed; }
.paywall-note { font-size: 10px; color: var(--text-dim); margin: 0; }

/* ── BOTÃO PLANO ── */
.btn-plano {
  font-size: 11px; font-family: 'JetBrains Mono', monospace;
  background: none; border: 1px solid var(--border-strong);
  border-radius: 5px; color: var(--text-muted); padding: 5px 12px;
  cursor: pointer; transition: all .15s;
}
.btn-plano:hover { color: var(--text); border-color: var(--text-dim); }

/* ── MODAL ── */
.modal-backdrop {
  display: none; position: fixed; inset: 0; z-index: 1100;
  background: rgba(0,0,0,.6);
}
.modal-backdrop.open { display: block; }
.modal-box {
  display: none; position: fixed; z-index: 1101;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: var(--bg-card); border: 1px solid var(--border-strong);
  border-radius: 12px; padding: 28px 32px; min-width: 320px; max-width: 420px; width: 90%;
}
.modal-box.open { display: block; }
.modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.modal-title { font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 600; color: var(--text); }
.modal-close { background: none; border: none; color: var(--text-dim); font-size: 16px; cursor: pointer; padding: 0; line-height: 1; }
.modal-close:hover { color: var(--text); }
.modal-body   { padding: 20px; }
.modal-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--border); }
.btn-ghost {
  background: transparent; border: 1px solid var(--border-strong); color: var(--text-muted);
  font-size: 13px; font-family: 'JetBrains Mono', monospace; padding: 9px 18px;
  border-radius: 8px; cursor: pointer; transition: border-color .15s, color .15s;
}
.btn-ghost:hover { border-color: var(--text-muted); color: var(--text); }

/* ── EDITAL DROPZONE ── */
.edital-dropzone {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  border: 1.5px dashed oklch(0.45 0.16 240 / .6);
  border-radius: 14px; padding: 52px 28px;
  cursor: pointer; text-align: center;
  background: linear-gradient(160deg, oklch(0.16 0.04 240 / .6), oklch(0.13 0.03 270 / .4));
  position: relative; overflow: hidden;
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.edital-dropzone::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, oklch(0.55 0.18 240 / .08) 0%, transparent 70%);
  pointer-events: none;
}
.edital-dropzone:hover, .edital-dropzone.edital-dz--over {
  border-color: oklch(0.65 0.2 240 / .9);
  background: linear-gradient(160deg, oklch(0.18 0.06 240 / .7), oklch(0.15 0.04 270 / .5));
  box-shadow: 0 0 32px oklch(0.55 0.2 240 / .15), inset 0 0 20px oklch(0.55 0.18 240 / .04);
}
.edital-dz-icon {
  font-size: 36px; line-height: 1;
  filter: drop-shadow(0 0 10px oklch(0.65 0.2 240 / .5));
}
.edital-dz-label {
  font-size: 15px; font-weight: 500;
  color: var(--ink);
  font-family: 'Geist', 'Inter', sans-serif;
  line-height: 1.5;
}
.edital-dz-label strong {
  background: linear-gradient(90deg, oklch(0.75 0.18 240), oklch(0.7 0.16 270));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.edital-dz-hint {
  font-size: 11px; color: oklch(0.45 0.08 240);
  font-family: 'Geist Mono', monospace;
  letter-spacing: .03em;
}

.edital-status { font-size: 12px; font-family: 'Geist Mono', monospace; min-height: 18px; margin-top: 10px; }
.edital-status--info  { color: var(--text-muted); }
.edital-status--warn  { color: #fb923c; }
.edital-status--error { color: var(--baixa-text); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.edital-retry-btn {
  background: none; border: 1px solid var(--baixa-text);
  color: var(--baixa-text); border-radius: 6px; padding: 6px 14px;
  font-size: 12px; font-family: 'Geist Mono', monospace; cursor: pointer;
  transition: background .15s, color .15s;
}
.edital-retry-btn:hover { background: var(--baixa-text); color: #fff; }

/* ── Upload progress card ── */
.edital-uploading {
  display: flex; flex-direction: column; gap: 18px;
  background: linear-gradient(135deg, oklch(0.12 0.05 240 / .95), oklch(0.10 0.04 260 / .95));
  border: 1px solid oklch(0.65 0.2 240 / .25);
  border-radius: 14px; padding: 28px 24px;
  animation: editalFadeUp .25s ease;
}
.edital-upl-header { display: flex; align-items: center; gap: 14px; }
.edital-upl-file-icon { font-size: 28px; flex-shrink: 0; filter: drop-shadow(0 2px 8px oklch(0.65 0.2 240 / .3)); }
.edital-upl-file-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.edital-upl-title {
  font-size: 14px; font-weight: 600;
  background: linear-gradient(90deg, oklch(0.88 0.08 240), oklch(0.82 0.12 250));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.edital-upl-name {
  font-size: 11px; font-family: 'Geist Mono', monospace; color: var(--dim);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 340px;
}
.edital-upl-bar-track {
  height: 6px; background: oklch(0.20 0.04 240 / .8);
  border-radius: 6px; overflow: hidden;
}
.edital-upl-bar-fill {
  height: 100%; width: 0%; border-radius: 6px;
  background: linear-gradient(90deg, oklch(0.6 0.22 240), oklch(0.72 0.18 260), oklch(0.78 0.14 280));
  box-shadow: 0 0 12px oklch(0.65 0.2 240 / .7);
  transition: width .15s ease-out;
  position: relative;
}
.edital-upl-bar-fill::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  animation: editalBarShine 1.2s ease-in-out infinite;
}
@keyframes editalBarShine {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(300%); }
}
.edital-upl-pct {
  font-size: 11px; font-family: 'Geist Mono', monospace;
  color: oklch(0.65 0.15 240); text-align: right;
}

/* ── AI thinking stage ── */
.edital-ai-stage {
  display: flex; flex-direction: column; align-items: center; gap: 24px;
  padding: 36px 20px 32px;
  opacity: 0; transform: translateY(10px);
  transition: opacity .4s ease, transform .4s ease;
}
.edital-ai-stage--visible { opacity: 1; transform: translateY(0); }

.edital-ai-orb {
  position: relative; width: 80px; height: 80px;
  display: flex; align-items: center; justify-content: center;
}
.edital-ai-orb-ring {
  position: absolute; border-radius: 50%; border: 1px solid oklch(0.65 0.2 240 / .35);
  animation: editalOrbPulse 2.4s ease-in-out infinite;
}
.edital-ai-orb-ring--1 { width: 80px;  height: 80px;  animation-delay: 0s; }
.edital-ai-orb-ring--2 { width: 100px; height: 100px; animation-delay: .4s; border-color: oklch(0.65 0.2 240 / .2); }
.edital-ai-orb-ring--3 { width: 124px; height: 124px; animation-delay: .8s; border-color: oklch(0.65 0.2 240 / .1); }
@keyframes editalOrbPulse {
  0%, 100% { transform: scale(1);    opacity: 1; }
  50%       { transform: scale(1.08); opacity: .5; }
}
.edital-ai-orb-core {
  position: relative; z-index: 1;
  width: 54px; height: 54px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, oklch(0.55 0.22 240), oklch(0.28 0.14 260));
  border: 1px solid oklch(0.65 0.2 240 / .5);
  box-shadow: 0 0 24px oklch(0.65 0.2 240 / .5), 0 0 48px oklch(0.65 0.2 240 / .25), inset 0 1px 0 oklch(0.85 0.1 240 / .3);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: #fff;
  animation: editalCoreSpin 4s linear infinite;
  filter: drop-shadow(0 0 10px oklch(0.72 0.2 240 / .8));
}
@keyframes editalCoreSpin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.edital-ai-stage-msg {
  font-size: 15px; font-weight: 600; letter-spacing: .02em;
  background: linear-gradient(90deg, oklch(0.88 0.1 230), oklch(0.78 0.18 250), oklch(0.88 0.1 270));
  background-size: 200% auto;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: editalMsgShimmer 2.5s linear infinite;
}
@keyframes editalMsgShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
.edital-ai-stage-dots { display: flex; gap: 6px; }
.edital-ai-stage-dots span {
  width: 5px; height: 5px; border-radius: 50%;
  background: oklch(0.65 0.18 240);
  animation: editalDotBounce .9s ease-in-out infinite;
  box-shadow: 0 0 6px oklch(0.65 0.18 240 / .6);
}
.edital-ai-stage-dots span:nth-child(2) { animation-delay: .15s; }
.edital-ai-stage-dots span:nth-child(3) { animation-delay: .30s; }
@keyframes editalDotBounce {
  0%, 80%, 100% { transform: translateY(0);   opacity: .4; }
  40%           { transform: translateY(-7px); opacity: 1; }
}

@keyframes editalFadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Legacy (mantido para compatibilidade) */
.edital-status--ai { display: none; }
.edital-ai-spin, .edital-ai-msg { display: none; }

.edital-meta { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.edital-label { font-size: 10px; font-family: 'Geist Mono', monospace; text-transform: uppercase;
  letter-spacing: .06em; color: var(--dim); margin-bottom: 2px; display: block; }
.edital-input {
  width: 100%; box-sizing: border-box;
  background: var(--bg-input, var(--bg-card)); border: 1px solid var(--border-strong);
  border-radius: 7px; padding: 9px 12px; font-size: 13px; color: var(--text);
  font-family: 'Inter', sans-serif; transition: border-color .15s;
}
.edital-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px oklch(0.72 0.16 240/.1); }
.edital-input--sm { width: auto; flex: 1; }
.edital-input--xs { width: 80px; }
.edital-meta-row { display: flex; gap: 10px; flex-wrap: wrap; }

.edital-stats {
  font-size: 11px; font-family: 'Geist Mono', monospace; color: var(--dim);
  margin-bottom: 12px; padding: 6px 10px; background: var(--bg-surface, var(--panel-2));
  border-radius: 6px;
}
.edital-disc-list { display: flex; flex-direction: column; gap: 6px; }
.edital-disc {
  border: 1px solid var(--border); border-radius: 8px;
}
.edital-disc-hdr {
  display: flex; align-items: center; gap: 8px; padding: 10px 14px;
  cursor: pointer; font-size: 13px; color: var(--text);
  background: var(--panel-2); user-select: none; border-radius: 8px;
  transition: background .12s;
}
.edital-disc-hdr:hover { background: var(--panel-3); }
.edital-disc-hdr-arrow { font-size: 10px; color: var(--dim); flex-shrink: 0; transition: transform .15s; }
.edital-disc.open .edital-disc-hdr { border-radius: 8px 8px 0 0; }
.edital-disc.open .edital-disc-hdr-arrow { transform: rotate(90deg); }
.edital-disc-nome { flex: 1; font-weight: 500; }
.edital-disc-count { font-size: 10px; font-family: 'Geist Mono', monospace; color: var(--dim); flex-shrink: 0; }
.edital-badge {
  font-size: 9px; font-family: 'Geist Mono', monospace; text-transform: uppercase;
  letter-spacing: .06em; padding: 2px 6px; border-radius: 4px; flex-shrink: 0;
}
.edital-badge--geral { background: oklch(0.4 0.1 240 / .3); color: #6b8fd4; }
.edital-badge--espec { background: oklch(0.4 0.1 150 / .3); color: #4caf85; }
.edital-topicos-wrap { display: none; border-top: 1px solid var(--border); padding: 10px 14px 12px 14px; }
.edital-disc.open .edital-topicos-wrap { display: block; }
.edital-topicos {
  margin: 0; padding-left: 16px;
  list-style: disc; font-size: 12px; color: var(--text-muted);
  display: flex; flex-direction: column; gap: 4px; line-height: 1.5;
}
/* ── Análises panel ── */
.edital-an-new-btn {
  background: oklch(0.72 0.16 240 / .12); border: 1px solid oklch(0.72 0.16 240 / .35);
  border-radius: 6px; color: oklch(0.78 0.14 240); font-size: 12px;
  font-family: 'Geist Mono', monospace; padding: 7px 16px; cursor: pointer;
  transition: all .15s; flex-shrink: 0; white-space: nowrap;
}
.edital-an-new-btn:hover { background: oklch(0.72 0.16 240 / .22); border-color: oklch(0.72 0.16 240 / .6); }
.edital-an-new-btn--hero {
  background: linear-gradient(135deg, oklch(0.22 0.07 240), oklch(0.18 0.06 265));
  border-color: oklch(0.65 0.2 240 / .45);
  color: oklch(0.88 0.1 240);
  font-size: 13px; padding: 10px 22px;
  box-shadow: 0 0 18px oklch(0.65 0.2 240 / .2), inset 0 1px 0 oklch(0.85 0.1 240 / .1);
  transition: all .2s ease;
}
.edital-an-new-btn--hero:hover {
  background: linear-gradient(135deg, oklch(0.27 0.09 240), oklch(0.22 0.08 265));
  border-color: oklch(0.72 0.2 240 / .7);
  box-shadow: 0 0 28px oklch(0.65 0.2 240 / .35), inset 0 1px 0 oklch(0.85 0.1 240 / .15);
  transform: translateY(-1px);
}
.edital-an-new-icon {
  display: inline-block;
  filter: drop-shadow(0 0 5px oklch(0.72 0.2 240 / .8));
  animation: editalAiSpin 3s linear infinite;
}

.edital-an-loading {
  text-align: center; padding: 32px 16px; font-size: 12px;
  font-family: 'Geist Mono', monospace; color: var(--dim);
}
.edital-an-empty {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 48px 24px; text-align: center;
}
.edital-an-empty-icon { font-size: 28px; color: oklch(0.55 0.12 240); margin-bottom: 4px;
  filter: drop-shadow(0 0 8px oklch(0.65 0.2 240 / .4)); }

/* ── Info banner ── */
.edital-an-info {
  display: flex; align-items: flex-start; gap: 10px;
  background: oklch(0.14 0.04 240 / .6);
  border: 1px solid oklch(0.65 0.2 240 / .18);
  border-radius: 8px; padding: 12px 14px; margin-bottom: 10px;
  font-size: 12px; color: var(--muted); line-height: 1.55;
}
.edital-an-info-icon {
  font-size: 13px; color: oklch(0.65 0.18 240); flex-shrink: 0; margin-top: 1px;
  filter: drop-shadow(0 0 4px oklch(0.65 0.2 240 / .5));
}

/* ── Quota banner ── */
.edital-an-quota {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 10px; padding: 14px 16px; margin-bottom: 16px;
  display: flex; flex-direction: column; gap: 8px;
}
.edital-an-quota--full { border-color: oklch(0.55 0.15 25 / .4); background: oklch(0.12 0.04 25 / .4); }
.edital-an-quota-info { display: flex; align-items: baseline; justify-content: space-between; }
.edital-an-quota-label { font-size: 11px; font-family: 'Geist Mono', monospace; color: var(--dim); text-transform: uppercase; letter-spacing: .05em; }
.edital-an-quota-count { font-size: 18px; font-weight: 700; color: var(--ink); }
.edital-an-quota-sep { font-size: 12px; color: var(--dim); font-weight: 400; }
.edital-an-quota-bar-track { height: 4px; background: var(--line-2); border-radius: 4px; overflow: hidden; }
.edital-an-quota-bar-fill {
  height: 100%; border-radius: 4px; transition: width .4s ease;
  background: linear-gradient(90deg, oklch(0.65 0.2 240), oklch(0.72 0.16 260));
}
.edital-an-quota--full .edital-an-quota-bar-fill { background: linear-gradient(90deg, oklch(0.55 0.18 25), oklch(0.62 0.15 30)); }
.edital-an-quota-msg { font-size: 11px; color: var(--muted); }
.edital-an-quota--full .edital-an-quota-msg { color: oklch(0.65 0.14 30); }
.edital-an-empty-txt { font-size: 14px; font-weight: 600; color: var(--ink-2); }
.edital-an-empty-sub { font-size: 12px; color: var(--dim); max-width: 320px; line-height: 1.5; }

.edital-an-card {
  display: flex; align-items: center; gap: 16px;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 8px; padding: 14px 16px; margin-bottom: 8px;
  transition: border-color .15s;
}
.edital-an-card:hover { border-color: var(--line-2); }
.edital-an-card-left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.edital-an-nome { font-size: 13px; font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.edital-an-meta { font-size: 11px; color: var(--muted); }
.edital-an-stats { font-size: 10px; color: var(--dim); font-family: 'Geist Mono', monospace; }
.edital-an-ai-tag {
  font-size: 9px; font-family: 'Geist Mono', monospace; padding: 1px 6px; border-radius: 4px;
  background: oklch(0.4 0.1 240 / .3); color: oklch(0.75 0.14 240); flex-shrink: 0;
}
.edital-an-ai-tag--regex { background: var(--panel-3); color: var(--dim); }
.edital-an-card-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
@media(max-width:600px) {
  .edital-an-card { flex-direction: column; align-items: flex-start; }
  .edital-an-card-actions { width: 100%; }
}

/* ── Modal preview de análise ── */
.edital-modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 9000;
  display: flex; align-items: center; justify-content: center; padding: 16px;
  opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
.edital-modal-overlay.edital-modal--open { opacity: 1; pointer-events: all; }
.edital-modal-overlay.edital-modal--open .edital-modal { transform: translateY(0); opacity: 1; }
.edital-modal {
  background: var(--panel); border: 1px solid var(--line-2);
  border-radius: 12px; width: 100%; max-width: 560px; max-height: 82vh;
  display: flex; flex-direction: column; overflow: hidden;
  transform: translateY(16px); opacity: 0; transition: transform .25s ease, opacity .25s ease;
}
.edital-modal-hdr {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px; border-bottom: 1px solid var(--line); flex-shrink: 0;
}
.edital-modal-hdr-icon {
  font-size: 14px; color: oklch(0.72 0.16 240);
  filter: drop-shadow(0 0 5px oklch(0.65 0.2 240 / .6));
}
.edital-modal-title { flex: 1; font-size: 14px; font-weight: 600; color: var(--ink); }
.edital-modal-close {
  background: none; border: none; color: var(--dim); cursor: pointer;
  font-size: 16px; line-height: 1; padding: 2px 4px; transition: color .15s;
}
.edital-modal-close:hover { color: #f87171; }
.edital-modal-body { padding: 16px 18px; overflow-y: auto; flex: 1; }
.edital-modal-ftr {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 12px 18px; border-top: 1px solid var(--line); flex-shrink: 0;
}
.edital-pm-meta { font-size: 12px; color: var(--muted); margin-bottom: 4px; }
.edital-pm-stats {
  font-size: 10px; font-family: 'Geist Mono', monospace; color: var(--dim);
  margin-bottom: 16px;
}
.edital-pm-discs { display: flex; flex-direction: column; gap: 6px; }
.edital-pm-disc { border: 1px solid var(--line); border-radius: 8px; }
.edital-pm-disc-hdr {
  display: flex; align-items: center; gap: 8px; padding: 10px 14px;
  cursor: pointer; font-size: 13px; color: var(--ink);
  background: var(--panel-2); border-radius: 8px; user-select: none;
  transition: background .12s;
}
.edital-pm-disc-hdr:hover { background: var(--panel-3); }
.edital-pm-disc.open .edital-pm-disc-hdr { border-radius: 8px 8px 0 0; }
.edital-pm-disc.open .edital-disc-hdr-arrow { transform: rotate(90deg); }
.edital-pm-disc.open .edital-topicos-wrap { display: block; }
.edital-pm-disc-nome { flex: 1; font-weight: 500; }

/* Override guias-zone overflow only inside edital panel */
#edital-panel .guias-zone { overflow: visible; }
/* Make preview area scrollable */
#edital-step-preview { max-height: calc(100vh - 340px); overflow-y: auto; padding-right: 4px; }

/* ── Edital IA card (entry point) ── */
.edital-ia-card {
  cursor: pointer;
  background: linear-gradient(135deg, oklch(0.18 0.04 240), oklch(0.15 0.06 270));
  border-color: oklch(0.45 0.18 240 / .5) !important;
  transition: border-color .2s, transform .15s, box-shadow .2s;
  position: relative;
  overflow: hidden;
}
.edital-ia-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, oklch(0.72 0.16 240 / .06), transparent 60%);
  pointer-events: none;
}
.edital-ia-card:hover {
  border-color: oklch(0.65 0.2 240 / .8) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 20px oklch(0.55 0.2 240 / .2);
}
.edital-ia-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 24px;
  gap: 16px;
}
.edital-ia-left {
  display: flex;
  align-items: center;
  gap: 18px;
}
.edital-ia-icon {
  font-size: 28px;
  color: var(--accent, #4a7cdc);
  flex-shrink: 0;
  line-height: 1;
  filter: drop-shadow(0 0 8px oklch(0.65 0.2 240 / .7));
}
.edital-ia-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  font-family: 'Geist', 'Inter', sans-serif;
  margin-bottom: 5px;
}
.edital-ia-sub {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}
.edital-ia-arrow {
  font-size: 22px;
  color: oklch(0.55 0.18 240);
  flex-shrink: 0;
  transition: transform .2s;
}
.edital-ia-card:hover .edital-ia-arrow {
  transform: translateX(5px);
}

/* ── Cargo selection step ── */
.edital-cargo-intro {
  font-size: 13px; color: var(--text-muted); margin: 0 0 14px;
}
.edital-cargo-list {
  display: flex; flex-direction: column; gap: 8px;
}
.edital-cargo-btn {
  width: 100%; text-align: left; padding: 12px 16px;
  background: var(--panel-2); border: 1px solid var(--border);
  border-radius: 8px; font-size: 13px; color: var(--text);
  cursor: pointer; transition: border-color .15s, background .15s;
  font-family: 'Inter', sans-serif;
}
.edital-cargo-btn:hover {
  border-color: var(--accent); background: oklch(0.72 0.16 240 / .06);
}

/* ── PLANO MODAL CONTENT ── */
.plano-status-row { margin-bottom: 16px; }
.plano-rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 8px; }
.plano-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; font-family: 'JetBrains Mono', monospace;
  padding: 8px 12px; background: var(--bg-surface); border-radius: 6px;
}
.plano-row span:first-child { color: var(--text-muted); }
.plano-row span:last-child  { color: var(--text); font-weight: 500; }
.badge-green  { background: rgba(74,222,128,.12); color: #4ade80; border: 1px solid rgba(74,222,128,.25); border-radius: 4px; padding: 3px 10px; font-size: 11px; font-family: 'JetBrains Mono', monospace; }
.badge-orange { background: rgba(251,146,60,.12);  color: #fb923c; border: 1px solid rgba(251,146,60,.25); border-radius: 4px; padding: 3px 10px; font-size: 11px; font-family: 'JetBrains Mono', monospace; }
.badge-red    { background: rgba(248,113,113,.12); color: #f87171; border: 1px solid rgba(248,113,113,.25); border-radius: 4px; padding: 3px 10px; font-size: 11px; font-family: 'JetBrains Mono', monospace; }

/* ── TRIAL BADGE ── */
.trial-badge {
  font-size: 10px; font-family: 'JetBrains Mono', monospace;
  background: rgba(251,146,60,.12); border: 1px solid rgba(251,146,60,.3);
  color: #fb923c; border-radius: 4px; padding: 3px 8px;
  cursor: pointer; transition: background .15s;
}
.trial-badge:hover { background: rgba(251,146,60,.2); }

.login-error {
  font-size: 11px;
  color: var(--baixa-text);
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  min-height: 16px;
}

/* ── Auth loading overlay ── */
#auth-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: oklch(0.12 0.01 240 / .72);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  backdrop-filter: blur(2px);
  cursor: not-allowed;
}
.auth-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid oklch(0.72 0.16 240 / .25);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: auth-spin .7s linear infinite;
}
@keyframes auth-spin { to { transform: rotate(360deg); } }
.auth-loading-msg {
  font-size: 12px;
  font-family: 'JetBrains Mono', 'Geist Mono', monospace;
  color: var(--text-muted);
  letter-spacing: .04em;
}

/* ── Auth error box ── */
#auth-error-box {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  background: oklch(0.22 0.06 15);
  border: 1px solid oklch(0.55 0.22 15);
  color: oklch(0.88 0.12 15);
  font-size: 13px;
  font-family: 'JetBrains Mono', 'Geist Mono', monospace;
  padding: 12px 40px 12px 16px;
  border-radius: 8px;
  max-width: min(420px, calc(100vw - 32px));
  box-shadow: 0 4px 24px oklch(0 0 0 / .5);
  line-height: 1.5;
  animation: auth-err-in .18s ease;
}
@keyframes auth-err-in {
  from { opacity: 0; transform: translateX(-50%) translateY(-6px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.auth-error-close {
  position: absolute;
  top: 8px;
  right: 10px;
  background: none;
  border: none;
  color: oklch(0.65 0.08 15);
  cursor: pointer;
  font-size: 14px;
  padding: 2px 4px;
  line-height: 1;
}
.auth-error-close:hover { color: oklch(0.88 0.12 15); }

/* ── APP LAYOUT ── */
#app { display: none; }

#app.active {
  display: flex;
  height: 100vh;
  overflow: hidden;
}

/* ── SIDEBAR ── */
.sidebar {
  width: 200px;
  flex-shrink: 0;
  height: 100vh;
  background: var(--bg-2);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 100;
}

.sidebar-brand {
  padding: 20px 14px 16px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px 10px;
  flex-wrap: wrap;
}


.sidebar-logo-img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

.sidebar-logo {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -.02em;
}

.sidebar-guia {
  display: block;
  font-size: 10px;
  color: var(--dim);
  margin-top: 3px;
  font-family: 'Geist Mono', 'JetBrains Mono', monospace;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-nav {
  flex: 1;
  padding: 8px 8px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.sidebar-group-label {
  font-family: 'Geist Mono', 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--dim);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 14px 10px 6px;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 10px;
  font-size: 13px;
  font-family: 'Geist', 'Inter', sans-serif;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--muted);
  cursor: pointer;
  transition: all .15s;
  text-align: left;
  white-space: nowrap;
}
.nav-item:hover { background: var(--panel); color: var(--ink-2); }
.nav-item.active { background: var(--panel-2); color: var(--ink); font-weight: 500; box-shadow: inset 0 0 0 1px var(--line); }
.nav-item.locked { opacity: .35; cursor: not-allowed; pointer-events: none; }
.nav-item--ia { color: oklch(0.72 0.14 250) !important; }
.nav-item--ia .nav-icon { filter: drop-shadow(0 0 4px oklch(0.65 0.2 240 / .6)); }

.nav-icon {
  font-size: 13px;
  width: 16px;
  text-align: center;
  flex-shrink: 0;
  opacity: 0.7;
}

.sidebar-sep {
  height: 1px;
  background: var(--line);
  margin: 6px 8px;
}

.sidebar-footer {
  padding: 12px 10px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}

.sidebar-footer-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ── Sidebar user card ── */
.sidebar-user-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.sidebar-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--blue-deep));
  flex-shrink: 0;
}
.sidebar-user-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sidebar-user-name {
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-user-plan {
  font-family: 'Geist Mono', 'JetBrains Mono', monospace;
  font-size: 10px;
}
.sidebar-user-plan--premium { color: #4ade80; }
.sidebar-user-plan--trial   { color: #fb923c; }
.sidebar-user-plan--expirado{ color: #f87171; }

/* ── APP CONTENT ── */
.app-content {
  margin-left: 200px;
  flex: 1;
  height: 100vh;
  overflow-y: auto;
  padding: 32px 44px 60px;
  background: var(--bg);
}

.btn-logout {
  font-size: 11px;
  font-family: 'JetBrains Mono', monospace;
  background: none;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  color: var(--text-muted);
  padding: 5px 12px;
  cursor: pointer;
  transition: all .15s;
  width: 100%;
  text-align: left;
}
.btn-logout:hover { color: #f87171; border-color: rgba(248,113,113,0.4); }

/* ── TIMEZONE CONTROL ── */
.tz-ctrl { display: flex; flex-direction: column; gap: 4px; width: 100%; }
.tz-ctrl-label { font-size: 10px; font-family: 'Geist Mono','JetBrains Mono',monospace; color: var(--dim); text-transform: uppercase; letter-spacing: .05em; }
.tz-select { width: 100%; }
.tz-select {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 4px; color: var(--muted);
  font-family: 'Geist Mono','JetBrains Mono',monospace; font-size: 11px;
  padding: 3px 5px; cursor: pointer; outline: none;
}

/* ── FONT SIZE CONTROL ── */
.font-ctrl {
  display: flex;
  align-items: center;
  gap: 4px;
}
.btn-font {
  font-size: 11px;
  font-family: 'JetBrains Mono', monospace;
  background: none;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  color: var(--text-muted);
  padding: 4px 8px;
  cursor: pointer;
  transition: all .15s;
  line-height: 1;
}
.btn-font:hover { color: var(--text); border-color: var(--text-dim); }
.btn-font:disabled { opacity: 0.3; cursor: default; }
#zoom-label {
  font-size: 10px;
  font-family: 'JetBrains Mono', monospace;
  color: var(--text-dim);
  min-width: 32px;
  text-align: center;
}

/* ── PANELS ── */
.main-panel { display: none; }
.main-panel.active { display: block; }

/* ── LOADING ── */
.loading-overlay {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 60px 20px; gap: 16px; color: var(--text-dim);
}
.spinner {
  width: 28px; height: 28px; border: 2px solid var(--border-strong);
  border-top-color: var(--accent); border-radius: 50%;
  animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.loading-overlay p { font-size: 12px; font-family: 'JetBrains Mono', monospace; }

.skeleton-row {
  height: 38px; background: var(--bg-surface); border-radius: 6px;
  margin-bottom: 5px; animation: pulse 1.4s ease-in-out infinite;
}
.skeleton-card {
  height: 80px; background: var(--bg-surface); border-radius: 8px;
  animation: pulse 1.4s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:.4} 50%{opacity:.9} }

/* ── BTN BASE ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:11px;font-family:'JetBrains Mono',monospace;border-radius:5px;border:none;cursor:pointer;transition:opacity .15s,background .15s;white-space:nowrap;font-weight:500}
.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}

/* ── HOME PANEL — Cockpit ── */
.home-wrap { display: flex; flex-direction: column; gap: 1px; background: var(--bg); }
.home-loading { font-size: 12px; color: var(--dim); font-family: 'Geist Mono','JetBrains Mono',monospace; padding: 40px 0; }
.home-link-btn { background:none;border:none;color:var(--blue);font-size:13px;cursor:pointer;padding:0 0 0 6px;font-family:inherit;text-decoration:underline; }
.home-link-btn:hover { opacity:.8; }

/* Zone 1 — Focus panel (ciclo + revisões) */
.home-focus {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 14px;
}
.home-focus-left,
.home-focus-right {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px 22px;
}
.home-focus-label {
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  font-size: 10px;
  color: var(--dim);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 14px;
}
.home-focus-discs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.home-focus-disc-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.home-focus-disc-dot {
  width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 700;
}
.home-focus-disc-name { font-size: 14px; font-weight: 500; color: var(--ink); }
.home-focus-disc-hours {
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  font-size: 11px; color: var(--muted); margin-left: auto;
}
.home-focus-disc-row.feita .home-focus-disc-name { opacity: .5; text-decoration: line-through; }
.home-focus-disc-row.feita .home-focus-disc-hours { color: var(--alta-text, #4ad295); }
.home-focus-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.home-focus-btn-primary {
  background: var(--blue); color: #050708; font-weight: 600;
  border: none; border-radius: 6px; padding: 8px 16px; font-size: 12px;
  cursor: pointer; transition: opacity .15s; font-family: 'Geist','Inter',sans-serif;
}
.home-focus-btn-primary:hover { opacity: .85; }
.home-focus-btn-ghost {
  background: var(--panel-2); color: var(--ink-2); border: 1px solid var(--line);
  border-radius: 6px; padding: 8px 16px; font-size: 12px;
  cursor: pointer; transition: all .15s; font-family: 'Geist','Inter',sans-serif;
}
.home-focus-btn-ghost:hover { border-color: var(--line-2); color: var(--ink); }
.home-focus-rest { font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.home-focus-empty { font-size: 13px; color: var(--muted); margin-bottom: 18px; }

/* Revisões list in focus panel */
.home-rev-list { display: flex; flex-direction: column; gap: 6px; }
.home-rev-item {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 10px; border-radius: 6px; background: var(--panel-2); border: 1px solid var(--line);
  font-size: 12px;
}
.home-rev-item--late  { border-color: rgba(248,113,113,.25); }
.home-rev-item--today { border-color: var(--line); }
.home-rev-item--soon  { opacity: .7; }
.home-rev-iv {
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  font-size: 10px; font-weight: 600;
  padding: 2px 6px; border-radius: 4px; flex-shrink: 0;
}
.home-rev-iv--late  { background: rgba(248,113,113,.12); color: #f87171; }
.home-rev-iv--today { background: rgba(230,235,242,.08); color: var(--ink); }
.home-rev-iv--soon  { background: var(--faint); color: var(--muted); }
.home-rev-topic { flex: 1; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-rev-disc  { font-size: 11px; color: var(--muted); flex-shrink: 0; }
.home-rev-empty { font-size: 12px; color: var(--dim); padding: 10px 0; }

/* Zone 2 — Stat strip */
.home-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.home-today {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 2px 0;
}
.home-today-weekday {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
}
.home-today-sep {
  font-size: 18px;
  color: var(--ink-2);
}
.home-today-date {
  font-size: 14px;
  color: var(--ink-2);
  font-weight: 400;
}
.home-today-time {
  font-size: 13px;
  color: var(--ink-2);
  font-family: 'JetBrains Mono', 'Geist Mono', monospace;
  margin-left: 6px;
  opacity: .7;
}
.home-stat {
  background: var(--panel);
  padding: 16px 18px;
}
.home-stat-val {
  font-size: 26px;
  font-weight: 600;
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  color: var(--blue);
  line-height: 1.1;
  margin-bottom: 4px;
}
.home-stat-val--red   { color: #f87171; }
.home-stat-val--muted { color: var(--ink-2); }
.home-stat-lbl {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
}
.home-stat-sub {
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  font-size: 10px;
  color: var(--dim);
  margin-top: 2px;
}

/* Zone 3 — Lower grid */
.home-lower {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.home-lower > * {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}

/* Card shared styles */
.home-card-hdr {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.home-card-title {
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-2);
}
.home-card-body { padding: 16px; }

/* Zone 4 — Evolution chart */
.home-evo-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
}

/* Heatmap 26×7 grid */
.home-heatmap-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.home-heatmap-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
}
.home-heatmap-cell {
  flex: 1; height: 28px; border-radius: 3px; min-width: 0;
  background: var(--panel-2); cursor: default;
  transition: transform .1s;
}
.home-heatmap-cell.out { background: transparent; cursor: default; }
.home-heatmap-cell:not(.out):hover { transform: scale(1.15); z-index: 2; position: relative; }
.home-heatmap-cell.today { outline: 1.5px solid var(--blue); outline-offset: 1px; }
.home-heatmap-legend {
  display: flex; align-items: center; gap: 3px;
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  font-size: 9px; color: var(--dim);
}
.home-heatmap-legend-cell { width: 10px; height: 10px; border-radius: 2px; }

/* Sem plano */
.home-sem-plano {
  display:flex;align-items:flex-start;gap:18px;
  background: var(--panel);
  border:1px solid rgba(59,130,246,.3);
  border-radius:12px;padding:22px 24px;
}
.home-sem-plano-icon{font-size:32px;line-height:1;flex-shrink:0;padding-top:2px}
.home-sem-plano-body{display:flex;flex-direction:column;gap:8px;flex:1}
.home-sem-plano-title{font-size:14px;font-weight:600;color:var(--ink)}
.home-sem-plano-sub{font-size:12px;color:var(--muted);line-height:1.6;max-width:520px}
.home-sem-plano-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.home-sem-plano-btn{border:none;border-radius:6px;font-size:12px;font-family:'Geist','Inter',sans-serif;cursor:pointer;padding:7px 16px;transition:opacity .15s}
.home-sem-plano-btn:hover{opacity:.85}
.home-sem-plano-btn--primary{background:var(--blue);color:#050708;font-weight:600}
.home-sem-plano-btn--secondary{background:rgba(192,132,252,.15);color:#c084fc;border:1px solid rgba(192,132,252,.25)}
.home-sem-plano-btn--ghost{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}

/* Evolution chart (reused) */
.home-evo { background: transparent; border: none; padding: 0; margin-top: 0; position: relative; }
.home-evo-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.home-evo-legend-txt{font-size:10px;font-family:'Geist Mono','JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.home-evo-dot{width:10px;height:10px;border-radius:2px;display:inline-block;margin-left:8px}
.home-evo-dot.ac{background:rgba(74,222,128,.8)}
.home-evo-dot.er{background:rgba(239,68,68,.7)}
.home-evo-wrap{overflow-x:auto;padding:2px}
.home-evo-svg{width:100%;height:auto;display:block;min-width:480px}
.home-evo-svg .evo-lbl{font-size:8px;fill:var(--dim);font-family:'Geist Mono','JetBrains Mono',monospace}
.home-evo-svg .evo-lbl.weekend{fill:var(--muted)}
.home-evo-svg .evo-lbl.today{fill:var(--blue)}
.home-evo-bar-group{cursor:default}
.home-evo-tip{display:none;position:fixed;background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;padding:5px 10px;font-size:11px;font-family:'Geist Mono','JetBrains Mono',monospace;color:var(--ink);pointer-events:none;white-space:nowrap;z-index:9999}

/* Keep old calendar classes for backward compat */
.home-cal{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px;width:100%}
.home-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}
.home-cal-title{font-size:10px;font-family:'Geist Mono','JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.home-cal-legend{display:flex;align-items:center;gap:3px}
.home-cal-legend .home-cal-cell{width:10px;height:10px;border-radius:2px}
.home-cal-legend-txt{font-size:9px;color:var(--dim);font-family:'Geist Mono','JetBrains Mono',monospace;padding:0 4px}
.home-cal-wrap{overflow-x:auto;padding:6px 2px 2px}
.home-cal-grid{display:flex;gap:4px;align-items:flex-start}
.home-cal-day{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}
.home-cal-lbl{font-size:10px;color:var(--dim);font-family:'Geist Mono','JetBrains Mono',monospace;line-height:1;user-select:none}
.home-cal-lbl.weekend{color:var(--muted)}
.home-cal-lbl.today{color:var(--blue)}
.home-cal-cell{width:22px;height:22px;border-radius:4px;background:var(--panel-2);flex-shrink:0;cursor:default;transition:transform .1s,box-shadow .1s}
.home-cal-cell.studied{box-shadow:0 0 5px rgba(74,222,128,.35)}
.home-cal-cell.proc{background:var(--panel-2)}
.home-cal-cell.today{outline:2px solid var(--blue);outline-offset:1px;box-shadow:0 0 8px oklch(0.72 0.16 240 / .4)}
.home-cal-cell:hover{transform:scale(1.4);z-index:2;position:relative}

/* ── MOBILE FAB + NAV ── */
#login-screen:not([style*="display: none"]) ~ #mob-fab { display: none !important; }

.mob-fab {
  display: none;
  position: fixed; bottom: 24px; right: 20px; z-index: 1001;
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--bg-card); border: 1px solid var(--border-strong);
  color: var(--text); font-size: 18px; cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
  transition: background .15s, transform .15s;
}
.mob-fab:hover { background: var(--bg-hover); transform: scale(1.05); }

.mob-backdrop {
  display: none;
  position: fixed; inset: 0; z-index: 999;
  background: rgba(0,0,0,.5);
  opacity: 0; transition: opacity .2s;
}
.mob-backdrop.open { opacity: 1; }

.mob-nav {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000;
  background: var(--bg-card); border-top: 1px solid var(--border-strong);
  border-radius: 16px 16px 0 0;
  padding: 8px 0 32px;
  transform: translateY(100%); transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.mob-nav.open { transform: translateY(0); }
.mob-nav-handle {
  width: 36px; height: 4px; border-radius: 2px;
  background: var(--border-strong); margin: 4px auto 12px;
}
.mob-nav-item {
  display: block; width: 100%; text-align: left;
  padding: 13px 24px; font-size: 13px;
  font-family: 'JetBrains Mono', monospace;
  background: transparent; border: none; color: var(--text-muted);
  cursor: pointer; transition: background .1s, color .1s;
}
.mob-nav-item:hover { background: var(--bg-hover); color: var(--text); }
.mob-nav-item.active { color: var(--accent); font-weight: 600; }
.mob-nav-logout { border-top: 1px solid var(--border); margin-top: 8px; color: var(--text-muted); }
.mob-nav-logout:hover { color: var(--danger, #e05c5c); }

@media (max-width: 720px) {
  .sidebar { display: none; }
  .app-content { margin-left: 0; padding: 20px 16px 80px; height: auto; overflow-y: unset; overflow-x: hidden; }
  #app.active { display: block; overflow: unset; height: auto; }
  body { overflow-x: hidden; }
  .mob-fab { display: flex; align-items: center; justify-content: center; }
  .mob-backdrop { display: block; pointer-events: none; }
  .mob-backdrop.open { pointer-events: auto; }
  .mob-nav { display: block; }
  .home-stats { grid-template-columns: 1fr 1fr; }
  .home-focus { grid-template-columns: 1fr; }
  .home-lower  { grid-template-columns: 1fr; }
  .home-evo-svg { min-width: unset; }
  .home-evo-svg .evo-lbl { font-size: 28px; }
  .home-evo-wrap { overflow-x: auto; }
  .home-cal-wrap { overflow-x: auto; }
  .home-charts-row { flex-direction: column; }
  .home-top-row { flex-direction: column; }
  .home-top-row .home-ciclo { min-width: 0; width: 100%; }
}

/* ── GUIAS / PLANOS ── */
/* ── Guias panel — home-aligned ── */
.guias-zone{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:24px}
.guias-zone:last-child{margin-bottom:0}
.tpl-select{background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;color:var(--ink-2);font-size:12px;font-family:'Geist','Inter',sans-serif;padding:5px 10px;cursor:pointer;outline:none;transition:border-color .15s}
.tpl-select:focus{border-color:var(--blue)}
.gcard-skeleton{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;height:130px;animation:skeleton-pulse 1.4s ease-in-out infinite}
@keyframes skeleton-pulse{0%,100%{opacity:1}50%{opacity:.4}}

.gsec-count{background:var(--panel-2);border:1px solid var(--line-2);border-radius:4px;padding:1px 7px;font-size:10px;color:var(--muted);margin-left:6px;vertical-align:middle}
.gsec-empty{font-size:12px;color:var(--dim);font-family:'JetBrains Mono',monospace}

.gcards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.gcard{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s}
.gcard--ativo{border-color:rgba(74,222,128,0.3)}
.gcard--disponivel{border-color:var(--line)}
.gcard--bloqueado{opacity:.45;pointer-events:none}

.gcard-top{display:flex;flex-direction:column;gap:4px}
.gcard-titles{display:flex;flex-direction:column;gap:3px;min-width:0}
.gcard-nome{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3;font-family:'Geist','Inter',sans-serif}
.gcard-meta{font-size:11px;color:var(--muted);font-family:'Geist Mono','JetBrains Mono',monospace}
.gcard-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.gcard-ativo-badge{font-size:9px;font-family:'Geist Mono','JetBrains Mono',monospace;background:var(--alta-bg);color:var(--alta-text);border:1px solid rgba(74,222,128,0.3);padding:2px 7px;border-radius:4px;white-space:nowrap}
.gcard-comm-badge{font-size:9px;font-family:'Geist Mono','JetBrains Mono',monospace;background:rgba(99,102,241,0.12);color:#818cf8;border:1px solid rgba(99,102,241,0.25);padding:2px 7px;border-radius:4px;white-space:nowrap}

.gcard-pills{display:flex;flex-wrap:wrap;gap:5px;min-height:20px}
.gcard-pill{font-size:10px;font-family:'Geist Mono','JetBrains Mono',monospace;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap}
.gcard-pill-more{font-size:10px;font-family:'Geist Mono','JetBrains Mono',monospace;color:var(--dim);background:var(--panel-3);border:1px solid var(--line-2);padding:2px 7px;border-radius:4px}

.gcard-footer{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.gcard-disc-count{font-size:10px;color:var(--dim);font-family:'Geist Mono','JetBrains Mono',monospace}
.gcard-actions{display:flex;gap:6px;flex-wrap:wrap}

.tpl-btn{font-size:12px;font-family:'Geist','Inter',sans-serif;font-weight:600;padding:6px 14px;border-radius:6px;border:1px solid transparent;background:var(--blue);color:#050708;cursor:pointer;transition:all .15s;white-space:nowrap}
.tpl-btn:hover{opacity:.85}
.gcard-btn{font-size:12px;font-family:'Geist','Inter',sans-serif;padding:6px 13px;border-radius:6px;border:1px solid var(--line-2);background:var(--panel-3);color:var(--ink-2);cursor:pointer;transition:all .15s;white-space:nowrap}
.gcard-btn:hover{border-color:var(--muted);color:var(--ink)}
.gcard-btn--green{border-color:rgba(74,222,128,0.35);background:var(--alta-bg);color:var(--alta-text)}
.gcard-btn--green:hover{border-color:rgba(74,222,128,0.6)}
.gcard-btn--blue{background:var(--blue);color:#050708;border-color:transparent;font-weight:600}
.gcard-btn--blue:hover{opacity:.85}
.gcard-btn--red{background:var(--panel-3);color:#f87171;border-color:rgba(248,113,113,0.3)}
.gcard-btn--red:hover{border-color:rgba(248,113,113,0.6)}

.gcard-create-btn{background:var(--blue);color:#050708;font-weight:600;border:none;border-radius:6px;padding:7px 14px;font-size:12px;cursor:pointer;font-family:'Geist','Inter',sans-serif;transition:opacity .15s;white-space:nowrap}
.gcard-create-btn:hover{opacity:.85}

.gcard-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center}
.gcard-empty-icon{font-size:28px}
.gcard-empty-txt{font-size:14px;font-weight:500;color:var(--ink)}
.gcard-empty-sub{font-size:12px;color:var(--muted);max-width:280px}

/* discovery section */
.guias-disc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.guias-disc-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s}
.guias-disc-item:hover{border-color:var(--line-2)}
.guias-disc-icon{font-size:20px;line-height:1}
.guias-disc-nome{font-size:13px;font-weight:600;color:var(--ink);font-family:'Geist','Inter',sans-serif;margin-bottom:3px}
.guias-disc-desc{font-size:11px;color:var(--muted);line-height:1.5}

@media(max-width:700px){.gcards-grid{grid-template-columns:1fr}.guias-disc-grid{grid-template-columns:1fr}.gcard-actions{flex-direction:column;width:100%}.gcard-btn{text-align:center}}

/* ── PAINEL MEU PLANO ── */
.plano-page{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.plano-top-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.plano-top-row .plano-status-card{height:100%}
@media(max-width:900px){.plano-page,.plano-top-row{grid-template-columns:1fr}.plano-top-row{grid-column:1}}
.plano-status-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.plano-status-left{display:flex;flex-direction:column;gap:8px}
.plano-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:11px;font-family:'Geist Mono','JetBrains Mono',monospace;font-weight:600;width:fit-content}
.plano-status-name{font-size:20px;font-weight:500;color:var(--ink)}
.plano-status-sub{font-size:12px;color:var(--muted)}
.plano-days-box{text-align:center;padding:14px 24px;background:var(--panel);border-radius:8px;border:1px solid var(--line)}
.plano-days-num{font-size:32px;font-weight:600;font-family:'Geist Mono','JetBrains Mono',monospace;line-height:1}
.plano-days-lbl{font-size:10px;color:var(--dim);margin-top:4px;font-family:'Geist Mono','JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.plano-cta-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:24px 28px;text-align:center}
.plano-cta-card h3{font-size:15px;font-weight:500;margin-bottom:6px;color:var(--ink)}
.plano-cta-card p{font-size:12px;color:var(--muted);margin-bottom:18px}
.plano-cta-note{font-size:10px;color:var(--dim);margin-top:10px}
.plano-payment-methods{display:flex;flex-direction:column;gap:6px;margin-top:12px;text-align:left}
.plano-pay-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:7px;background:var(--panel);border:1px solid var(--line);font-size:12px}
.plano-pay-best{border-color:rgba(74,222,128,0.25);background:rgba(74,222,128,0.05)}
.plano-pay-icon{font-size:13px;width:16px;text-align:center;flex-shrink:0;opacity:.7}
.plano-pay-label{flex:1;color:var(--muted)}
.plano-pay-price{font-family:'Geist Mono','JetBrains Mono',monospace;font-weight:600;color:var(--ink)}
.plano-pay-tag{font-size:10px;font-family:'Geist Mono','JetBrains Mono',monospace;padding:2px 7px;border-radius:4px;background:rgba(74,222,128,0.1);color:#4ade80;border:1px solid rgba(74,222,128,0.2)}
.plano-pay-tag--fee{background:rgba(251,146,60,0.1);color:#fb923c;border-color:rgba(251,146,60,0.25)}
.plano-info-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.plano-info-title{padding:12px 20px;border-bottom:1px solid var(--line);font-size:10px;font-family:'Geist Mono','JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.plano-info-row{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line);font-size:12px}
.plano-info-row:last-child{border-bottom:none}
.plano-info-row span:first-child{color:var(--muted)}
.plano-info-row span:last-child{color:var(--ink);font-family:'Geist Mono','JetBrains Mono',monospace;font-weight:500}
.plano-pay-hist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.plano-pay-hist-row:last-child{border-bottom:none}
.plano-pay-hist-left{display:flex;flex-direction:column;gap:3px}
.plano-pay-hist-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.plano-pay-hist-status{font-size:11px;font-family:'Geist Mono','JetBrains Mono',monospace;font-weight:600}
.plano-pay-hist-status.paid{color:#4ade80}
.plano-pay-hist-status.pending{color:#fb923c}
.plano-pay-hist-status.failed{color:#f87171}
.plano-pay-hist-desc{font-size:11px;color:var(--muted)}
.plano-pay-hist-amt{font-size:13px;font-weight:600;font-family:'Geist Mono','JetBrains Mono',monospace;color:var(--ink)}
.plano-pay-hist-date{font-size:10px;color:var(--dim);font-family:'Geist Mono','JetBrains Mono',monospace}

/* ── CONFIG INTERVALOS ── */
.rev-cfg-row{display:flex;align-items:center;gap:8px}
.rev-cfg-badge{font-size:10px;font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--accent);background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:4px;padding:2px 8px;min-width:44px;text-align:center;flex-shrink:0}
.rev-cfg-input{width:70px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:5px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;padding:6px 10px;outline:none;transition:border-color .15s;text-align:center}
.rev-cfg-input:focus{border-color:var(--accent)}
.rev-cfg-days-lbl{font-size:11px;color:var(--text-dim);flex:1}
.rev-cfg-remove{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}
.rev-cfg-remove:hover{color:#f87171}

/* ── SHARE / IMPORT GUIAS ── */
.gcard-btn--share{background:var(--panel-3);color:#a78bfa;border:1px solid rgba(139,92,246,.3)}
.gcard-btn--share:hover{border-color:rgba(139,92,246,.6)}
.share-popup{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:8px;padding:14px 16px;margin-top:8px}
.share-popup-title{font-size:11px;font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.share-popup-token-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.share-popup-token{font-family:'JetBrains Mono',monospace;font-size:13px;background:var(--bg-surface);border:1px solid var(--border);border-radius:5px;padding:6px 12px;color:var(--accent);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.share-popup-hint{font-size:11px;color:var(--text-dim);margin:4px 0 0}
.guias-import-box{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px 20px}
.guias-import-desc{font-size:12px;color:var(--text-muted);margin:0 0 12px}
.guias-import-row{display:flex;gap:8px;align-items:center}
.guias-import-row input{flex:1;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;padding:8px 12px;outline:none}
.guias-import-row input:focus{border-color:var(--accent)}
.share-preview-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.share-preview-nome{font-weight:600;font-size:14px;color:var(--text)}
.share-preview-meta{font-size:11px;color:var(--text-muted)}
.share-import-err{font-size:12px;color:#f87171;font-family:'JetBrains Mono',monospace}

/* ── SHARE CARD MODAL ── */
.sc-period-btn{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-muted);font-family:'JetBrains Mono',monospace;font-size:12px;padding:5px 14px;border-radius:5px;cursor:pointer;transition:all .15s}
.sc-period-btn:hover{color:var(--text);border-color:var(--accent)}
.sc-period-btn.active{background:rgba(59,130,246,.12);color:var(--accent);border-color:rgba(59,130,246,.4)}
