:root {
    --primary: #16a34a;
    --accent: #FFDE59;
    --input-bg: #f9fafb;
}

body {
    background: #ffffff;
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.55;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(78,39,128,0.06), transparent 45%),
        radial-gradient(circle at bottom left, rgba(255,222,89,0.08), transparent 45%);
    z-index: -1;
}

/* Inputs */
.input {
    width: 100%;
    padding: 1.05rem 0.9rem 1.05rem 3rem;
    background: var(--input-bg);
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    font-size: 0.95rem;
    transition: all 0.25s ease;
}

.input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(255,222,89,0.25);
}

/* Button */
.btn-primary {
    width: 100%;
    background: linear-gradient(135deg, #196d38, #16a34a);
    color: white;
    font-weight: 700;
    padding: 1.05rem;
    border-radius: 14px;
    letter-spacing: 0.08em;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(78,39,128,0.35);
}

.btn-primary:active {
    transform: translateY(1px);
    box-shadow: 0 6px 16px rgba(78,39,128,0.3);
}

.btn-primary:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Animations */
.fade-up {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease forwards;
}

.delay-1 { animation-delay: .1s; }
.delay-2 { animation-delay: .25s; }
.delay-3 { animation-delay: .4s; }
.delay-4 { animation-delay: .55s; }

@keyframes fadeUp {
    to { opacity: 1; transform: translateY(0); }
}
