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

body {
    font-family: 'Manrope', sans-serif;
}

/* Transitions */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

/* Custom shadows */
.shadow-soft {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.dark .shadow-soft {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

/* Cards */
.card {
    transition: all 0.3s ease;
    border-radius: 16px;
}

.card:hover {
    transform: translateY(-4px);
}

/* Buttons */
.btn-primary {
    background-color: #4A6CF7;
    color: white;
    border-radius: 12px;
    padding: 12px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: #3a5ae8;
}

/* Inputs */
.input-field {
    border-radius: 12px;
    padding: 12px 16px;
    border: 1px solid #E5E7EB;
    transition: all 0.3s ease;
}

.dark .input-field {
    border-color: #2D3748;
    background-color: #1A1C20;
}

.input-field:focus {
    border-color: #4A6CF7;
    outline: none;
    box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.2);
}

/* Progress rings */
.progress-ring {
    transform: rotate(-90deg);
}

.progress-ring__circle {
    stroke-dasharray: 283;
    stroke-dashoffset: 283;
    transition: stroke-dashoffset 0.5s ease;
}

/* Grid lines for charts */
.chart-grid line {
    stroke: #E5E7EB;
    stroke-dasharray: 4;
}

.dark .chart-grid line {
    stroke: #2D3748;
}