/* ── REVISÕES ── */
#rev-content { width: 100%; }

.rev-filter-bar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.rev-topic-inp {
  background: var(--panel-3);
  border: 1px solid var(--line-2);
  border-radius: 6px;
  color: var(--ink);
  font-family: 'Geist','Inter',sans-serif;
  font-size: 12px;
  padding: 5px 10px;
  outline: none;
  transition: border-color .15s;
  width: 160px;
}
.rev-topic-inp:focus { border-color: var(--blue); }
.rev-topic-inp::placeholder { color: var(--dim); }

/* ── Section header ── */
.rev-section { margin-bottom: 0; padding: 12px 16px 0; }
.rev-section:first-child { padding-top: 16px; }
.rev-section-title {
  font-size: 10px;
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dim);
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 8px;
}
.rev-count-badge {
  font-size: 10px;
  background: var(--panel-3);
  border: 1px solid var(--line-2);
  border-radius: 10px;
  padding: 1px 8px;
  color: var(--muted);
}
.rev-today-badge {
  font-size: 10px;
  font-weight: 600;
  background: var(--alta-bg);
  border: 1px solid var(--alta-border);
  border-radius: 10px;
  padding: 1px 8px;
  color: var(--alta-text);
}
.rev-overdue-badge {
  font-size: 10px;
  font-weight: 600;
  background: rgba(248,113,113,.1);
  border: 1px solid rgba(248,113,113,.3);
  border-radius: 10px;
  padding: 1px 8px;
  color: #f87171;
}

/* ── Card ── */
.rev-card {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 16px;
  margin-bottom: 6px;
  margin-left: 0;
  margin-right: 0;
  display: grid;
  grid-template-columns: 90px minmax(0,1fr) 80px 110px;
  gap: 12px;
  align-items: center;
  transition: background .1s;
}
.rev-card:hover { background: var(--panel-3); }
.rev-card.today { border-color: rgba(74,222,128,0.25); background: rgba(74,222,128,.04); }
.rev-card.overdue { border-color: rgba(248,113,113,0.2); background: rgba(248,113,113,.03); }
.rev-card.done { opacity: 0.4; border-color: var(--line); background: var(--panel-2); }

.rev-date { font-family: 'Geist Mono','JetBrains Mono',monospace; font-size: 11px; color: var(--muted); }
.rev-date.today { color: var(--alta-text); font-weight: 600; }
.rev-date.overdue { color: #f87171; }
.rev-date-lbl { font-size: 9px; color: var(--dim); text-transform: uppercase; letter-spacing: .04em; font-family: 'Geist Mono','JetBrains Mono',monospace; }

.rev-topic { font-size: 12px; color: var(--ink); font-family: 'Geist','Inter',sans-serif; }
.rev-topic small { display: block; font-size: 11px; color: var(--dim); margin-top: 2px; font-family: 'Geist Mono','JetBrains Mono',monospace; }

.rev-interval {
  font-size: 10px;
  font-family: 'Geist Mono','JetBrains Mono',monospace;
  padding: 2px 8px;
  border-radius: 4px;
  text-align: center;
  white-space: nowrap;
}
.rev-interval.d1  { background: rgba(125,211,252,.1); color: #7dd3fc; border: 1px solid rgba(125,211,252,.2); }
.rev-interval.d7  { background: rgba(192,132,252,.1); color: #c084fc; border: 1px solid rgba(192,132,252,.2); }
.rev-interval.d30 { background: rgba(74,222,128,.1);  color: #4ade80; border: 1px solid rgba(74,222,128,.2); }
.rev-interval.d60 { background: rgba(251,191,36,.1);  color: #fbbf24; border: 1px solid rgba(251,191,36,.2); }
.rev-interval.d90 { background: rgba(248,113,113,.1); color: #f87171; border: 1px solid rgba(248,113,113,.2); }

.rev-empty { padding: 40px 16px; text-align: center; color: var(--dim); font-family: 'Geist Mono','JetBrains Mono',monospace; font-size: 12px; }
#rev-content { padding: 12px 16px 4px; }

/* Botões de ação */
.btn-rev-mark {
  font-size: 11px;
  font-family: 'Geist','Inter',sans-serif;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid rgba(74,222,128,.3);
  background: var(--alta-bg);
  color: var(--alta-text);
  cursor: pointer;
  white-space: nowrap;
  transition: opacity .15s;
}
.btn-rev-mark:hover { opacity: .8; }
.btn-rev-done {
  font-size: 11px;
  font-family: 'Geist','Inter',sans-serif;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid var(--line-2);
  background: none;
  color: var(--dim);
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
}
.btn-rev-done:hover { color: #f87171; border-color: rgba(248,113,113,.3); }

/* Inline form */
.rev-inline-form {
  margin-top: 8px;
  padding: 12px;
  background: var(--panel);
  border: 1px solid rgba(74,222,128,.2);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rf-row { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
.rf-row-1 > .form-group { flex: 1; min-width: 90px; }
.rf-row-2 > .form-group { flex: 1; min-width: 70px; }
.rf-teoria-wrap { flex: 0 0 auto; }
.rf-row-3 { justify-content: flex-end; gap: 6px; }
.rev-inline-form label { font-size:10px; font-family:'Geist Mono','JetBrains Mono',monospace; color:var(--dim); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:3px; }
.rev-inline-form input, .rev-inline-form select {
  width:100%; background:var(--panel-2); border:1px solid var(--line-2);
  border-radius:5px; color:var(--ink); font-size:12px; padding:5px 8px; outline:none;
  font-family:'Geist','Inter',sans-serif;
}
.rev-inline-form input:focus, .rev-inline-form select:focus { border-color: var(--blue); }
.btn-rev-confirm {
  padding: 5px 12px; font-size:12px; font-family:'Geist','Inter',sans-serif;
  border-radius:6px; background:var(--alta-bg); color:var(--alta-text);
  border:1px solid var(--alta-border); cursor:pointer; white-space:nowrap;
}
.btn-rev-confirm:hover { opacity:.8; }
.btn-rev-cancel {
  padding: 5px 10px; font-size:12px; font-family:'Geist','Inter',sans-serif;
  border-radius:6px; border:1px solid var(--line-2); background:none;
  color:var(--muted); cursor:pointer;
}

.badge-rev { font-size:9px; font-family:'Geist Mono','JetBrains Mono',monospace; font-weight:600;
  background:rgba(125,211,252,.1); color:#7dd3fc; border:1px solid rgba(125,211,252,.2);
  padding:1px 5px; border-radius:3px; vertical-align:middle; margin-left:5px; }

/* Filtros de intervalo (botões) */
.rev-fb { padding: 5px 12px; font-size: 11px; font-family: 'Geist','Inter',sans-serif; border: 1px solid var(--line-2); border-radius: 5px; background: none; color: var(--muted); cursor: pointer; transition: all .15s; }
.rev-fb:hover { color: var(--ink); }
.rev-fb.on { background: var(--panel-3); color: var(--ink); border-color: var(--muted); }

.rev-ib { padding: 3px 10px; font-size: 11px; font-family: 'Geist Mono','JetBrains Mono',monospace;
  border: 1px solid var(--line-2); border-radius: 4px;
  background: none; color: var(--dim); cursor: pointer; transition: all .15s; }
.rev-ib:hover { color: var(--ink); }
.rev-ib.on  { color: var(--ink); border-color: var(--muted); background: var(--panel-3); }
.rev-ib.d1.on  { background: rgba(125,211,252,.1); color: #7dd3fc; border-color: rgba(125,211,252,.3); }
.rev-ib.d7.on  { background: rgba(192,132,252,.1); color: #c084fc; border-color: rgba(192,132,252,.3); }
.rev-ib.d30.on { background: rgba(74,222,128,.1);  color: #4ade80; border-color: rgba(74,222,128,.3); }
.rev-ib.d60.on { background: rgba(251,191,36,.1);  color: #fbbf24; border-color: rgba(251,191,36,.3); }
.rev-ib.d90.on { background: rgba(248,113,113,.1); color: #f87171; border-color: rgba(248,113,113,.3); }

@media (max-width: 720px) {
  .rev-card {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    gap: 4px 8px;
    align-items: start;
  }
  .rev-card > div:nth-child(3) { grid-column: 1; grid-row: 1; align-self: center; }
  .rev-card .rev-date { grid-column: 2; grid-row: 1; align-self: center; }
  .rev-card .rev-topic { grid-column: 1 / -1; grid-row: 2; }
  .rev-card > div:nth-child(4) { grid-column: 1 / -1; grid-row: 3; display: flex; justify-content: flex-end; }
  .btn-rev-mark, .btn-rev-done { font-size: 11px; padding: 5px 14px; }
}
