@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

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

.caz-auth-wrap,
.caz-dash-wrap {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  max-width: 680px;
  margin: 40px auto;
  padding: 0 16px 60px;
}

/* ── AUTH ── */
.caz-auth-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
  max-width: 420px;
  margin: 0 auto;
}
.caz-auth-logo {
  font-size: 22px;
  font-weight: 900;
  color: #111827;
  letter-spacing: -.03em;
  margin-bottom: 24px;
  text-align: center;
}
.caz-auth-logo span { color: #E8B84B; }
.caz-auth-title {
  font-size: 22px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 8px;
  letter-spacing: -.03em;
  text-align: center;
}
.caz-auth-sub {
  font-size: 14px;
  color: #9CA3AF;
  text-align: center;
  margin: 0 0 28px;
}
.caz-auth-form { display: flex; flex-direction: column; gap: 14px; }
.caz-auth-forgot { text-align: center; margin: 8px 0 0; font-size: 13px; }
.caz-auth-forgot a { color: #9CA3AF; text-decoration: none; }
.caz-auth-footer {
  text-align: center;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #F3F4F6;
  font-size: 13px;
  color: #6B7280;
}
.caz-auth-footer a { color: #E8B84B; font-weight: 700; text-decoration: none; }

/* ── DASHBOARD HEADER ── */
.caz-dash-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 18px 22px;
  margin-bottom: 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
.caz-dash-header__info { display: flex; align-items: center; gap: 14px; }
.caz-dash-header__avatar {
  width: 42px; height: 42px;
  background: #E8B84B;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; font-weight: 900; color: #0A0A0F;
  flex-shrink: 0;
}
.caz-dash-header__name { font-size: 15px; font-weight: 700; color: #111827; }
.caz-dash-header__email { font-size: 13px; color: #9CA3AF; }

/* Log out link below My Account header */
.caz-dash-logout-wrap {
  margin-top: -8px;
  margin-bottom: 20px;
  padding: 0 4px;
}
.caz-dash-logout-link {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #E8B84B;
  text-decoration: none;
  transition: color .15s, opacity .15s;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.caz-dash-logout-link:hover {
  color: #c9a03e;
  opacity: .9;
}

/* ── LICENSE CARD ── */
.caz-license-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 16px;
  box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
.caz-license-card__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #F3F4F6;
}
.caz-license-card__title {
  font-size: 16px; font-weight: 800; color: #111827;
  display: flex; align-items: center; gap: 8px;
}
.caz-license-card__icon { font-size: 18px; }

/* Badge */
.caz-badge {
  font-size: 11px; font-weight: 700; padding: 4px 10px;
  border-radius: 20px; text-transform: uppercase; letter-spacing: .06em;
}
.caz-badge--active   { background: #DCFCE7; color: #166534; }
.caz-badge--expired  { background: #FEE2E2; color: #991B1B; }
.caz-badge--inactive { background: #F3F4F6; color: #6B7280; }

/* License Key */
.caz-license-key-wrap { margin-bottom: 20px; }
.caz-license-key-label {
  font-size: 11px; font-weight: 800; color: #9CA3AF;
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 8px;
}
.caz-license-key-row { display: flex; align-items: center; gap: 10px; }
.caz-license-key {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 18px; font-weight: 700; color: #111827;
  background: #F9FAFB; border: 1px solid #E5E7EB;
  border-radius: 8px; padding: 10px 16px;
  letter-spacing: .12em; flex: 1;
}
.caz-copy-btn {
  background: #F3F4F6; border: 1px solid #E5E7EB;
  border-radius: 8px; padding: 8px 14px;
  font-size: 13px; font-weight: 600; color: #374151;
  cursor: pointer; transition: all .15s; white-space: nowrap;
  font-family: inherit;
}
.caz-copy-btn:hover { background: #E5E7EB; }
.caz-copy-btn.copied { background: #DCFCE7; border-color: #BBF7D0; color: #166534; }
.caz-license-meta { font-size: 12px; color: #9CA3AF; margin-top: 8px; font-weight: 500; }

/* Download */
.caz-download-wrap {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 0; border-top: 1px solid #F3F4F6;
  margin-top: 4px; margin-bottom: 16px;
}
.caz-btn-download {
  background: #111827; color: #fff; text-decoration: none;
  border-radius: 10px; padding: 11px 20px;
  font-size: 14px; font-weight: 700;
  transition: background .15s; white-space: nowrap;
  display: inline-block;
}
.caz-btn-download:hover { background: #1F2937; color: #fff; }
.caz-download-hint { font-size: 12px; color: #9CA3AF; }

/* Domains */
.caz-domains-wrap {
  border-top: 1px solid #F3F4F6;
  padding-top: 18px;
}
.caz-domains-title {
  font-size: 13px; font-weight: 700; color: #374151;
  margin-bottom: 12px; display: flex; align-items: center; gap: 8px;
}
.caz-domains-count {
  background: #F3F4F6; color: #6B7280;
  font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 20px;
}
.caz-domains-empty { font-size: 13px; color: #9CA3AF; margin-bottom: 14px; }
.caz-domain-row {
  display: flex; justify-content: space-between; align-items: center;
  background: #F9FAFB; border: 1px solid #E5E7EB;
  border-radius: 8px; padding: 10px 14px; margin-bottom: 8px;
}
.caz-domain-name {
  font-size: 14px; font-weight: 600; color: #111827;
  display: flex; align-items: center; gap: 8px;
}
.caz-domain-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #22C55E; flex-shrink: 0;
}
.caz-deactivate-btn {
  font-size: 12px; font-weight: 600; color: #EF4444;
  background: none; border: none; cursor: pointer;
  padding: 4px 8px; border-radius: 6px; font-family: inherit;
  transition: background .15s;
}
.caz-deactivate-btn:hover { background: #FEE2E2; }
.caz-activate-form { display: flex; gap: 8px; margin-top: 12px; }
.caz-domain-input { flex: 1 !important; }
.caz-activate-btn {
  background: #E8B84B; color: #0A0A0F; border: none;
  border-radius: 8px; padding: 11px 18px;
  font-size: 14px; font-weight: 700; cursor: pointer;
  font-family: inherit; transition: background .15s; white-space: nowrap;
}
.caz-activate-btn:hover { background: #c9a03e; }
.caz-domains-full { font-size: 13px; color: #9CA3AF; margin-top: 10px; }
.caz-domains-locked {
  font-size: 13px; color: #6B7280; margin-top: 12px; padding: 10px 14px;
  background: #FEF3C7; border: 1px solid #F59E0B; border-radius: 8px;
}
.caz-domains-locked a { color: #B45309; font-weight: 600; text-decoration: underline; }

/* Support card */
.caz-support-card {
  background: #F9FAFB; border: 1px solid #E5E7EB;
  border-radius: 16px; padding: 20px 22px;
  display: flex; align-items: center; gap: 16px; margin-top: 8px;
}
.caz-support-card__icon { font-size: 28px; flex-shrink: 0; }
.caz-support-card__title { font-size: 15px; font-weight: 700; color: #111827; }
.caz-support-card__text { font-size: 13px; color: #6B7280; margin-top: 2px; }
.caz-support-card .caz-btn-secondary { margin-left: auto; flex-shrink: 0; }

/* Empty state */
.caz-empty-state {
  text-align: center; padding: 60px 24px;
  background: #fff; border: 1px solid #E5E7EB;
  border-radius: 16px; margin-bottom: 16px;
}
.caz-empty-state__icon { font-size: 48px; margin-bottom: 16px; }
.caz-empty-state h3 { font-size: 18px; font-weight: 800; color: #111827; margin: 0 0 8px; }
.caz-empty-state p { font-size: 14px; color: #9CA3AF; margin: 0 0 24px; }

/* ── SHARED COMPONENTS ── */
.caz-field { display: flex; flex-direction: column; gap: 6px; }
.caz-label { font-size: 12px; font-weight: 700; color: #374151; letter-spacing: .01em; }
.caz-input {
  border: 1.5px solid #E5E7EB !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  color: #111827 !important;
  background: #FAFAFA !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  width: 100%;
}
.caz-input:focus {
  border-color: #E8B84B !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(232,184,75,.12) !important;
}

.caz-btn-primary {
  display: block; width: 100%;
  background: #E8B84B; color: #0A0A0F;
  border: none; border-radius: 10px;
  padding: 14px 20px; font-size: 15px; font-weight: 800;
  cursor: pointer; font-family: inherit;
  text-decoration: none; text-align: center;
  box-shadow: 0 3px 14px rgba(232,184,75,.35);
  transition: all .2s;
}
.caz-btn-primary:hover { background: #c9a03e; transform: translateY(-1px); }

.caz-btn-secondary {
  display: inline-block;
  background: #fff; color: #374151;
  border: 1.5px solid #E5E7EB; border-radius: 10px;
  padding: 10px 18px; font-size: 13px; font-weight: 700;
  cursor: pointer; font-family: inherit; text-decoration: none;
  transition: all .15s;
}
.caz-btn-secondary:hover { border-color: #9CA3AF; color: #111827; }

.caz-alert { border-radius: 10px; padding: 12px 16px; font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.caz-alert-error { background: #FEF2F2; border: 1px solid #FECACA; color: #DC2626; }
.caz-alert-success { background: #F0FDF4; border: 1px solid #BBF7D0; color: #166534; }

@media (max-width: 520px) {
  .caz-auth-card { padding: 28px 20px; }
  .caz-license-card { padding: 18px; }
  .caz-license-key { font-size: 14px; }
  .caz-support-card { flex-wrap: wrap; }
  .caz-support-card .caz-btn-secondary { margin: 0; width: 100%; text-align: center; }
}
