@font-face {
    font-family: 'Lato';
    src: url('/uploads/Lato-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

body {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    min-height: 100vh;
    font-family: 'Lato', 'Segoe UI', 'Roboto', Arial, sans-serif;
}
.card-form, .card {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
    padding: 2rem 2.5rem;
    margin: 2rem auto;
    max-width: 520px;
    animation: fadeInDown 0.7s cubic-bezier(.39,.575,.565,1) both;
}
@keyframes fadeInDown {
    0% { opacity: 0; transform: translateY(-40px); }
    100% { opacity: 1; transform: translateY(0); }
}
.btn-primary, .btn-success, .btn-learn {
    background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%);
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 1rem;
    transition: background 0.3s, box-shadow 0.3s;
    box-shadow: 0 2px 8px rgba(30,60,114,0.08);
}
.btn-primary:hover, .btn-success:hover, .btn-learn:hover {
    background: linear-gradient(90deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
}
input, select, textarea {
    border-radius: 0.75rem !important;
    border: 1px solid #e0e6ed !important;
    box-shadow: none !important;
}
label {
    font-weight: 500;
    color: #1e3c72;
}
.preview-box {
    border: 1px dashed #2a5298;
    background: #f4f8fb;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1rem;
    color: #1e3c72;
    font-size: 1.05rem;
}
.icon-preview {
    color: #2a5298;
    margin-right: 0.5rem;
}
::-webkit-scrollbar {
    width: 8px;
    background: #e0e6ed;
}
::-webkit-scrollbar-thumb {
    background: #2a5298;
    border-radius: 8px;
}
