:root {
  --nx-ink: #0b1220;
  --nx-bg: #edf2f7;
  --nx-surface: #ffffff;
  --nx-line: #162033;
  --nx-primary: #2563eb;
  --nx-primary-deep: #1d4ed8;
  --nx-accent: #94a3b8;
  --nx-shadow: rgba(15, 23, 42, 0.14);
}

html,
body,
button,
input,
select,
textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}

html {
  background: var(--nx-bg);
}

body {
  background:
    linear-gradient(180deg, #f8fbff 0%, #edf2f7 46%, #e5edf5 100%) !important;
  color: var(--nx-ink);
}

.bg-neo-primary {
  background: var(--nx-primary) !important;
}

.hover\:bg-neo-primary:hover {
  background: var(--nx-primary-deep) !important;
}

.bg-neo-bg,
.hover\:bg-neo-bg:hover {
  background: #f3f6fb !important;
}

.text-neo-black,
.accent-neo-black {
  color: var(--nx-ink) !important;
  accent-color: var(--nx-ink) !important;
}

.border-neo-black,
.decoration-neo-black,
.shadow-neo-black {
  border-color: var(--nx-line) !important;
  text-decoration-color: var(--nx-line) !important;
  --tw-shadow-color: var(--nx-line) !important;
}

.neo-btn,
.neo-card,
.neo-shadow,
.neo-shadow-sm,
.neo-shadow-lg,
[class*="shadow-[3px_3px_0px_#191919]"],
[class*="shadow-[3px_3px_0px_#1a1a1a]"],
[class*="shadow-[2px_2px_0_#1a1a1a]"],
[class*="shadow-[0_4px_0_#1a1a1a]"] {
  box-shadow: 0 10px 24px var(--nx-shadow) !important;
}

.neo-btn,
.neo-card {
  border-width: 2px !important;
  border-radius: 16px !important;
}

.neo-btn {
  font-weight: 800 !important;
  letter-spacing: 0.015em;
}

.neo-btn:active {
  transform: translateY(1px) !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12) !important;
}

.neo-card:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

.rounded-xl,
.rounded-2xl,
.rounded-lg {
  border-radius: 16px !important;
}

.rounded-full {
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.18);
}

[class*="w-12 h-12 border-[3px]"],
[class*="w-16 h-16 bg-neo-primary"],
[class*="w-[60px] h-[60px]"] {
  border-radius: 14px !important;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%) !important;
  color: var(--nx-primary-deep) !important;
}

svg {
  stroke-linecap: round;
  stroke-linejoin: round;
}

input,
select,
textarea,
.form-input {
  border-width: 2px !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05) !important;
}

.form-input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--nx-primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
  transform: none !important;
}

.form-input.error {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.14) !important;
}

[class*="uppercase tracking-widest"],
[class*="uppercase tracking-wide"] {
  letter-spacing: 0.06em !important;
}
