/* app/static/css/theme.css */

/* General typography tweaks */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text",
    "Inter", "Segoe UI", sans-serif;
}

/* Cards */
.card {
  border-radius: 1rem;
  background: radial-gradient(circle at top left, rgba(45,212,191,0.08), transparent 55%),
              radial-gradient(circle at bottom right, rgba(56,189,248,0.06), transparent 55%),
              rgba(15,23,42,0.98);
  border: 1px solid rgba(148,163,184,0.18);
  box-shadow:
    0 24px 70px rgba(15,23,42,0.95),
    0 0 0 1px rgba(15,23,42,1);
}

/* Primary button */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: 9999px;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.5rem 1.25rem;
  background-image: linear-gradient(135deg, #00ffe0, #00a3cc);
  color: #020617;
  box-shadow: 0 0 25px rgba(34,211,238,0.55);
  border: none;
  cursor: pointer;
  transition:
    transform 120ms ease-out,
    box-shadow 120ms ease-out,
    filter 120ms ease-out;
}

.btn-primary:hover {
  filter: brightness(1.05);
  box-shadow: 0 0 35px rgba(34,211,238,0.75);
  transform: translateY(-1px);
}

.btn-primary:active {
  transform: translateY(0px) scale(0.98);
  box-shadow: 0 0 18px rgba(34,211,238,0.55);
}

/* Secondary button */
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.75rem;
  padding: 0.35rem 0.9rem;
  border: 1px solid rgba(148,163,184,0.4);
  background: rgba(15,23,42,0.9);
  color: #e5e7eb;
  cursor: pointer;
  transition: background 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out, transform 80ms;
}

.btn-secondary:hover {
  background: rgba(30,64,175,0.75);
  border-color: rgba(129,140,248,0.7);
}

/* Nav links */
.az-nav-link {
  border-radius: 9999px;
  padding: 0.35rem 0.85rem;
  color: #9ca3af;
  border: 1px solid transparent;
  text-decoration: none;
}

.az-nav-link:hover {
  color: #e5e7eb;
  background: rgba(15,23,42,0.9);
  border-color: rgba(55,65,81,0.9);
}

.az-nav-link-active {
  color: #0f172a;
  background-image: linear-gradient(135deg, #00ffe0, #00a3cc);
  border-color: transparent;
  box-shadow: 0 0 18px rgba(34,211,238,0.8);
}

/* Flash messages */
.az-flash {
  border-radius: 0.75rem;
  padding: 0.65rem 0.9rem;
  font-size: 0.8rem;
  border: 1px solid transparent;
}

.az-flash-success {
  background: rgba(22,163,74,0.12);
  border-color: rgba(34,197,94,0.45);
  color: #bbf7d0;
}

.az-flash-danger, .az-flash-error {
  background: rgba(185,28,28,0.12);
  border-color: rgba(248,113,113,0.55);
  color: #fecaca;
}

.az-flash-info {
  background: rgba(37,99,235,0.12);
  border-color: rgba(96,165,250,0.6);
  color: #bfdbfe;
}

/* Forms */
.form-input,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea {
  border-radius: 0.75rem !important;
  border: 1px solid rgba(51,65,85,0.9) !important;
  background-color: rgba(15,23,42,0.95) !important;
  color: #e5e7eb !important;
  font-size: 0.875rem !important;
}

.form-input:focus,
input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: rgba(45,212,191,0.9) !important;
  box-shadow: 0 0 0 1px rgba(13,148,136,0.7), 0 0 25px rgba(34,211,238,0.35);
}

/* Tables */
table {
  border-collapse: collapse;
}

table thead tr {
  background: rgba(15,23,42,0.9);
}

table th,
table td {
  border-bottom: 1px solid rgba(30,41,59,0.9);
}

/* Small helper for subtle labels */
.az-label-muted {
  font-size: 0.75rem;
  color: #9ca3af;
}
