/* === Login === */
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 20% 20%, var(--bg-2), var(--bg-0));
  padding: var(--sp-6);
}
.login-box {
  width: 100%;
  max-width: 400px;
  background: var(--surface);
  padding: var(--sp-8);
  border-radius: var(--r-xl);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
}
.login-brand {
  text-align: center;
  margin-bottom: var(--sp-6);
}
.login-brand__mark {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--sp-3);
  border-radius: var(--r-lg);
  background: linear-gradient(135deg, var(--brand), var(--brand-strong));
  display: grid; place-items: center;
  font-size: var(--fs-xl);
  font-weight: var(--fw-b);
}
.login-brand__name {
  font-size: var(--fs-xl);
  font-weight: var(--fw-sb);
}
.login-brand__sub {
  color: var(--text-3);
  font-size: var(--fs-sm);
}
.login-demo {
  background: var(--bg-3);
  padding: var(--sp-3);
  border-radius: var(--r-md);
  margin-top: var(--sp-5);
  font-size: var(--fs-xs);
  color: var(--text-3);
  line-height: 1.6;
}
.login-demo code { color: var(--text-1); }

/* === Dashboard === */
.dashboard-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--sp-5);
  margin-bottom: var(--sp-5);
}
@media (max-width: 1200px) {
  .dashboard-grid { grid-template-columns: 1fr; }
}

/* === Detalhe (tarefa/cliente/membro) === */
.detail {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--sp-5);
}
@media (max-width: 1100px) {
  .detail { grid-template-columns: 1fr; }
}

.detail__meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-3);
}
.detail__meta-item {
  padding: var(--sp-3);
  background: var(--surface-alt);
  border-radius: var(--r-md);
}
.detail__meta-label {
  font-size: var(--fs-xs);
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.detail__meta-value {
  color: var(--text-1);
  font-size: var(--fs-sm);
  font-weight: var(--fw-med);
}

.detail__header {
  display: flex;
  gap: var(--sp-4);
  margin-bottom: var(--sp-5);
  align-items: center;
}
.detail__title { font-size: var(--fs-2xl); font-weight: var(--fw-sb); }
.detail__sub { color: var(--text-3); font-size: var(--fs-sm); margin-top: 4px; }

.back-link {
  color: var(--text-3);
  font-size: var(--fs-sm);
  display: inline-flex;
  gap: var(--sp-2);
  align-items: center;
  margin-bottom: var(--sp-3);
}
.back-link:hover { color: var(--text-1); }

/* === Base de conhecimento === */
.kb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--sp-4);
}
.kb-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  transition: border-color var(--t-fast), transform var(--t-fast);
  cursor: pointer;
}
.kb-card:hover { border-color: var(--border-strong); }

.kb-card__category {
  font-size: var(--fs-xs);
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: var(--fw-sb);
  margin-bottom: var(--sp-2);
}
.kb-card__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-sb);
  color: var(--text-1);
  margin-bottom: var(--sp-2);
}
.kb-card__content {
  color: var(--text-2);
  font-size: var(--fs-sm);
  line-height: 1.55;
  white-space: pre-line;
  margin-top: var(--sp-3);
  max-height: 180px;
  overflow: hidden;
  position: relative;
}
.kb-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: var(--sp-3);
}
.kb-card__tag {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--bg-3);
  color: var(--text-3);
  border-radius: var(--r-sm);
}

/* === Dúvidas === */
.duvida-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  margin-bottom: var(--sp-3);
}
.duvida-card__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-3);
  margin-bottom: var(--sp-3);
}
.duvida-card__title {
  font-weight: var(--fw-sb);
  font-size: var(--fs-md);
  color: var(--text-1);
}
.duvida-card__meta {
  font-size: var(--fs-xs);
  color: var(--text-3);
  margin-top: 4px;
}
.duvida-card__desc {
  color: var(--text-2);
  font-size: var(--fs-sm);
  line-height: 1.55;
  margin-bottom: var(--sp-3);
}
.duvida-card__resposta {
  background: var(--verde-soft);
  padding: var(--sp-3);
  border-radius: var(--r-md);
  border-left: 3px solid var(--verde);
  font-size: var(--fs-sm);
  color: var(--text-1);
  line-height: 1.55;
}

/* === Checklist card === */
.checklist-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  margin-bottom: var(--sp-5);
  overflow: hidden;
}
.checklist-card__head {
  padding: var(--sp-5);
  border-bottom: 1px solid var(--border);
}
.checklist-card__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-sb);
  margin-bottom: var(--sp-2);
}
.checklist-card__progress-label {
  display: flex;
  justify-content: space-between;
  font-size: var(--fs-xs);
  color: var(--text-3);
  margin-bottom: var(--sp-2);
}

/* === Membro card === */
.member-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  display: flex;
  gap: var(--sp-4);
  align-items: center;
  transition: border-color var(--t-fast);
}
.member-card:hover { border-color: var(--border-strong); }

.member-card__info {
  flex: 1;
  min-width: 0;
}
.member-card__name {
  font-weight: var(--fw-sb);
  color: var(--text-1);
  margin-bottom: 2px;
}
.member-card__role {
  color: var(--text-3);
  font-size: var(--fs-xs);
  margin-bottom: var(--sp-2);
}
.member-card__stats {
  display: flex;
  gap: var(--sp-4);
  font-size: var(--fs-xs);
  color: var(--text-2);
}
.member-card__stat strong { color: var(--text-1); font-weight: var(--fw-sb); }
.member-card.is-overloaded { border-color: var(--laranja); }
.member-card.is-overloaded .member-card__role::after {
  content: ' • sobrecarregado';
  color: var(--laranja);
  font-weight: var(--fw-sb);
}
