/* Conta (login / cadastro) */
.btn-primary { width: 100%; justify-content: center; }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
.btn-secondary { font-size: 14px; padding: 10px 18px; }

.field-label { font-size: 13px; font-weight: 600; color: #3F3F46; margin-bottom: 6px; display: block; }
.field-input { width: 100%; padding: 12px 14px; border-radius: 8px; border: 1px solid #E4E4E7; font-size: 14px; background: #FFFFFF; font-family: inherit; }
.field-input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }

.tab {
  padding: 10px 4px; font-size: 14px; font-weight: 600; color: #A1A1AA; cursor: pointer;
  border: none; border-bottom: 2px solid transparent; background: none; font-family: inherit;
}
.tab.active { color: #18181B; border-bottom-color: var(--accent); }

.benefit-row { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #D4D4D8; }

.msg { font-size: 13px; border-radius: 8px; padding: 10px 12px; margin-bottom: 14px; display: none; }
.msg.error { background: #FEF2F2; color: #B91C1C; border: 1px solid #FCA5A5; }
.msg.success { background: #F0FDF4; color: #15803D; border: 1px solid #86EFAC; }

.spinner { width: 14px; height: 14px; border: 2px solid rgba(255,255,255,0.4); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Suas licenças */
.licenses { margin: 8px 0 20px; }
.licenses-title { font-size: 13px; font-weight: 600; color: #3F3F46; margin-bottom: 8px; }
.licenses-empty { font-size: 14px; color: #71717A; }
.licenses-empty a { color: var(--accent); font-weight: 600; }
.license { border: 1px solid #E4E4E7; border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; background: #FAFAF9; }
.license-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 14px; margin-bottom: 8px; }
.license-head span { font-size: 12px; color: #71717A; }
.license-key { display: block; font-family: 'IBM Plex Mono', Menlo, monospace; font-size: 11px; word-break: break-all; color: #3F3F46; max-height: 3.2em; overflow: hidden; margin-bottom: 8px; }
.license-hint { font-size: 13px; color: #71717A; margin: 10px 0 0; }
.license-hint a { color: var(--accent); font-weight: 600; }
.license-copy { width: auto !important; font-size: 13px !important; padding: 6px 12px !important; }

@media (max-width: 900px) {
  .account-grid { grid-template-columns: 1fr !important; }
  .benefits-side { display: none !important; }
}
