/* Padagos - Forms (Module 102k). Loads after app-dash.css. */

@supports (overflow: clip) {
    html, body { overflow-x: clip; }
}

.card:has(.form-section) {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0 !important;
    max-width: 920px !important;
}
.card:has(.form-section):hover { border-color: transparent; }

.form-section {
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 24px 28px 8px;
    margin: 0 0 18px;
}
.form-section + .form-section { margin-top: 0; }

.form-section-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--ink-900);
}
.form-section-title .fs-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #E3F4EA;
    color: #0B6E4F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    flex-shrink: 0;
}
.form-section-title .badge {
    text-transform: none !important;
    letter-spacing: 0;
    font-weight: 600;
    font-size: 0.74rem;
    padding: 4px 10px;
    border: 0 !important;
    border-radius: 999px;
    background: #E3F4EA !important;
    color: #0A4D38 !important;
}

.form-section .form-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--ink-900);
    margin-bottom: 6px;
}
.form-section .form-label .badge {
    text-transform: none !important;
    letter-spacing: 0;
    font-weight: 600;
    font-size: 0.72rem;
    padding: 3px 9px;
    margin-left: 6px;
    border: 0 !important;
    border-radius: 999px;
    background: #E3F4EA !important;
    color: #0A4D38 !important;
}
.form-section .form-control,
.form-section .form-select {
    background-color: #F6F8F5;
    border: 1px solid #DFE6DF;
    border-radius: 10px;
    padding: 11px 14px;
}
.form-section .form-control::placeholder { color: #86978F; opacity: 1; }
.form-section .form-control:hover:not(:focus):not(:disabled),
.form-section .form-select:hover:not(:focus):not(:disabled) { border-color: var(--border-strong); }
.form-section .form-control:focus,
.form-section .form-select:focus {
    background-color: #ffffff;
    border-color: var(--padagos-secondary);
    box-shadow: 0 0 0 4px rgba(11, 110, 79, 0.14);
}
.form-section textarea.form-control { min-height: 120px; }
.form-section .form-text { color: var(--ink-500); font-size: 0.82rem; }

.form-section .form-control[type="file"] {
    padding: 8px;
    background-color: #ffffff;
    border: 1.5px dashed #B9C7BF;
}
.form-section .form-control[type="file"]::file-selector-button {
    margin: 0 12px 0 0;
    padding: 8px 16px;
    border: 0;
    border-radius: 8px;
    background: #E3F4EA;
    color: #0A4D38;
    font-weight: 600;
    cursor: pointer;
}
.form-section .form-control[type="file"]:hover:not(:disabled):not([readonly])::file-selector-button {
    background: #CBEBD9 !important;
    color: #0A4D38;
}

.form-section .btn-check + .day-chip {
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: 600;
    background: #F6F8F5;
    border-color: #DFE6DF;
}
.form-section .btn-check + .day-chip:hover { background: #E3F4EA; border-color: var(--padagos-secondary); }
.form-section .btn-check:checked + .day-chip {
    background: var(--padagos-secondary);
    border-color: var(--padagos-secondary);
    color: #ffffff;
}

.screening-item {
    background: #F6F8F5;
    border-color: #DFE6DF !important;
    border-radius: 12px !important;
}
.screening-item .form-control { background-color: #ffffff; }

.form-actionbar {
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin: 4px 0 0;
    padding: 12px 0;
    background: #F6F8F5;
    border-top: 1px solid #DFE6DF;
}
.form-actionbar-hint { color: var(--ink-500); font-size: 0.85rem; }
.form-actionbar .btn { margin: 0 !important; padding: 10px 26px; }

@media (max-width: 575.98px) {
    .form-section { padding: 18px 16px 4px; border-radius: 12px; }
    .form-actionbar .btn { width: 100%; }
    .form-actionbar-hint { display: none; }
}

/* Module 102l - section descriptions, photo preview, account settings */
.form-section-title.has-desc { margin-bottom: 4px; }
.form-section-desc {
    margin: 0 0 20px 48px;
    color: var(--ink-500);
    font-size: 0.88rem;
    line-height: 1.4;
}

.photo-preview {
    display: block;
    width: 128px;
    height: 128px;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    background: #ffffff;
    margin: 0 auto 12px;
}
.photo-note { text-align: center; }
.photo-note.is-ok { color: var(--success); }
.photo-note.is-error { color: var(--danger); font-weight: 600; }

.card-header.bg-transparent { padding: 18px 22px !important; }
.card-header.bg-transparent h6 { display: flex; align-items: center; gap: 10px; font-size: 1rem; }
.card-header.bg-transparent h6 > i.bi:first-child {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #E3F4EA;
    color: #0B6E4F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    margin: 0 !important;
    flex-shrink: 0;
}
.card-header.bg-transparent h6.text-danger > i.bi:first-child { background: #FCEBEB; color: #A32D2D; }

.card-header.bg-transparent + .p-4 .form-label { font-size: 0.9rem; color: var(--ink-900); }
.card-header.bg-transparent + .p-4 .form-control {
    background-color: #F6F8F5;
    border: 1px solid #DFE6DF;
    border-radius: 10px;
    padding: 11px 14px;
}
.card-header.bg-transparent + .p-4 .form-control:focus {
    background-color: #ffffff;
    border-color: var(--padagos-secondary);
    box-shadow: 0 0 0 4px rgba(11, 110, 79, 0.14);
}
.card-header.bg-transparent + .p-4 .password-field-wrapper .form-control { padding-right: 44px; }

@media (max-width: 575.98px) {
    .form-section-desc { margin-left: 0; }
}
