
:root {
    --iy-primary:      #0E1E2E;
    --iy-secondary:    #F9B233;
    --iy-bg:           #F5F7FB;
    --iy-card-shadow:  0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(27,58,92,.06);
    --iy-radius:       .75rem;
}

body {
    background-color: var(--iy-bg);
    font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #1F2937;
}

.navbar { border-bottom: 1px solid #E5E7EB !important; }

.card {
    border-radius: var(--iy-radius) !important;
    box-shadow: var(--iy-card-shadow) !important;
}
.card-header { border-radius: var(--iy-radius) var(--iy-radius) 0 0 !important; }

.form-control, .form-select {
    border-color: #D1D5DB;
    border-radius: .5rem;
    padding: .55rem .85rem;
    font-size: .9rem;
    transition: border-color .2s, box-shadow .2s;
}
.form-control:focus, .form-select:focus {
    border-color: var(--iy-primary);
    box-shadow: 0 0 0 3px rgba(27,58,92,.12);
    outline: none;
}
.form-control.is-invalid, .form-select.is-invalid {
    border-color: #EF4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,.1);
}
.form-label { font-size: .875rem; color: #374151; margin-bottom: .35rem; }
.invalid-feedback { font-size: .8rem; }

.day-checkbox-input { display: none; }

.day-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem 1.1rem;
    border-radius: 50px;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
    background:    #fff;
    color:         #374151;
    border:        1.5px solid #D1D5DB;
}

.day-checkbox-label.day-inactive:hover,
.day-checkbox-label:not(.day-active):hover {
    background:    #EEF2FF;
    color:         var(--iy-primary);
    border-color:  var(--iy-primary);
}

.day-checkbox-label.day-active {
    background:    linear-gradient(135deg, var(--iy-primary), var(--iy-secondary));
    color:         #fff !important;
    border-color:  transparent;
    box-shadow:    0 2px 8px rgba(27,58,92,.3);
}

.day-checkbox-label.day-active:hover {
    background:    linear-gradient(135deg, #4338CA, #6D28D9);
    color:         #fff !important;
    box-shadow:    0 4px 12px rgba(27,58,92,.4);
}

.submit-btn {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    letter-spacing: .3px;
    transition: transform .15s, box-shadow .15s !important;
    box-shadow: 0 4px 15px rgba(27,58,92,.35) !important;
}
.submit-btn:hover {
    transform:  translateY(-2px);
    box-shadow: 0 8px 25px rgba(27,58,92,.45) !important;
}
.submit-btn:active { transform: translateY(0); }

#formProgress { transition: width .3s ease; }

.section-icon-bg {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
}

.doc-upload-card {
    border: 2px dashed #D1D5DB;
    border-radius: .75rem;
    background: #FAFAFA;
    transition: border-color .2s, background .2s;
}
.doc-upload-card:hover {
    border-color: var(--iy-primary);
    background: #F5F3FF;
}
.doc-upload-card .doc-icon {
    font-size: 1.75rem;
    opacity: .5;
}
.doc-upload-label {
    font-size: .8rem;
    color: #6B7280;
    font-weight: 500;
    margin-bottom: .25rem;
}
.doc-upload-input.is-valid { border-color: #10B981 !important; }

.alert { border: none; border-radius: .75rem; }

.input-group .form-control:not(:first-child) { border-left: 0; }
.input-group .form-control:not(:last-child)  { border-right: 0; }

.card { animation: fadeInUp .3s ease both; }
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 576px) {
    h1.h4 { font-size: 1.1rem; }
    .day-checkbox-label { padding: .35rem .7rem; font-size: .8rem; }
}

@media print {
    .navbar, .submit-btn, .btn { display: none !important; }
    .card { box-shadow: none !important; }
}

.text-primary { color: var(--iy-primary) !important; }
.bg-primary { background-color: var(--iy-primary) !important; }
.btn-primary { 
    background-color: var(--iy-primary) !important; 
    border-color: var(--iy-primary) !important; 
}
.btn-primary:hover {
    background-color: #122841 !important;
    border-color: #122841 !important;
}
.btn-outline-primary {
    color: var(--iy-primary) !important;
    border-color: var(--iy-primary) !important;
}
.btn-outline-primary:hover {
    background-color: var(--iy-primary) !important;
    color: white !important;
}

.iy-site { background: #F5F7FB; }

.iy-site main > .container { max-width: 1200px; padding-left: 24px; padding-right: 24px; }
@media (max-width: 760px) { .iy-site main > .container { padding-left: 16px; padding-right: 16px; } }
