/* Paginas auxiliares do portal (downloads, versao web, cancelamento). */
.portal-tools-wrapper {
  max-width: 960px;
  margin: 0 auto;
}

.portal-back-link {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb6ff;
  text-decoration: none;
  font-size: 0.92rem;
}

.portal-back-link:hover {
  color: #c3d8ff;
}

.portal-placeholder__message {
  margin: 0;
  padding: 16px;
  border: 1px dashed #2a3a57;
  border-radius: 10px;
  background: rgba(15, 26, 45, 0.55);
  color: #c7d4ea;
  line-height: 1.55;
}

.cancel-subscription-card h1 {
  margin-bottom: 8px;
}

.cancel-subscription-lead {
  margin: 0 0 18px;
  color: #c7d4ea;
  line-height: 1.55;
}

.cancel-subscription-summary {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid #2a3a57;
  border-radius: 10px;
  background: rgba(15, 26, 45, 0.55);
}

.cancel-subscription-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #c7d4ea;
}

.cancel-subscription-row strong {
  color: #f8fafc;
  text-align: right;
}

.cancel-subscription-notice,
.cancel-subscription-feedback {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 10px;
  line-height: 1.5;
}

.cancel-subscription-notice {
  border: 1px solid #2f7dff;
  background: rgba(47, 125, 255, 0.12);
  color: #dbeafe;
}

.cancel-subscription-feedback.is-error {
  border: 1px solid #b91c1c;
  background: rgba(185, 28, 28, 0.14);
  color: #fecaca;
}

.cancel-subscription-feedback.is-success {
  border: 1px solid #15803d;
  background: rgba(21, 128, 61, 0.14);
  color: #bbf7d0;
}

.cancel-subscription-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.cancel-subscription-actions .portal-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 0;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  background: var(--primary);
  cursor: pointer;
}

.cancel-subscription-actions .portal-action-btn--danger {
  background: #b91c1c;
}

.cancel-subscription-actions .portal-action-btn--logout {
  background: #334155;
}

.cancel-subscription-actions .portal-action-btn:disabled {
  background: #475569;
  color: #cbd5e1;
  cursor: not-allowed;
  opacity: 0.72;
}

/* Grade de cards de download por sistema operacional. */
.download-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-top: 18px;
}

.download-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 150px;
  padding: 18px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(17, 27, 46, 0.98) 0%, rgba(11, 18, 32, 0.98) 100%);
  box-shadow: var(--shadow);
  color: var(--text);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.download-card:hover {
  transform: translateY(-3px);
  border-color: #3b82f6;
  box-shadow: 0 14px 30px rgba(4, 10, 20, 0.45), 0 0 18px rgba(59, 130, 246, 0.2);
}

.download-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: transparent;
}

.download-card__icon-image {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  background: transparent;
}

.download-card__name {
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
}

.download-card__hint {
  font-size: 0.82rem;
  color: var(--muted);
}
