/* FILE: assets/css/components/forms.css (new) */

#edition-zone {
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
    display: none;
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.form-group {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.form-group label {
    flex-basis: 120px;
    flex-grow: 1;
    margin-bottom: 0;
    font-weight: 600;
    color: var(--text-light);
}
.form-group .form-control, .form-group input[type="datetime-local"], .form-group input[type="text"], .form-group input[type="number"] {
    flex-basis: 200px;
    flex-grow: 2;
}

input[type="datetime-local"], textarea#notes, .form-control {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius-md);
    font-size: 16px;
    transition: all 0.3s ease;
    background: var(--bg-light);
}
input[type="datetime-local"]:focus, textarea#notes:focus, .form-control:focus {
    outline: none;
    border-color: var(--color-save);
    background: var(--text-white);
    box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.2);
}
textarea#notes { min-height: 80px; resize: vertical; }

.options-group { margin-top: 20px; padding: 15px; background: var(--bg-light); border-radius: var(--border-radius-md); }
.interruption-item { display: flex; align-items: center; margin-bottom: 10px; }
.interruption-item input { flex: 1; margin-right: 10px; }
.checkbox-group { display: flex; align-items: center; margin-bottom: 15px; flex-grow: 1; }
.checkbox-group label { margin: 0 0 0 10px; font-weight: normal; color: var(--text-dark); flex-grow: 0; }
#notes-wrapper { display: none; margin-top: 10px; width: 100%; }

.btn { border: none; padding: 12px 20px; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none; display: inline-block; color: var(--text-white); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.btn-save { background-color: var(--color-save); }
.btn-save:hover { background-color: var(--color-update); }
.btn-cancel { background-color: var(--color-cancel); }
.btn-delete { background-color: var(--color-delete); }
.btn-secondary { background-color: var(--color-action-secondary); }
.btn-small { padding: 8px 12px; font-size: 12px; }

.form-actions {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}
.form-actions .btn-save {
    width: 100%;
    padding: 15px;
    font-size: 16px;
}
.form-actions-secondary {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.form-actions-secondary .btn {
    flex-grow: 1;
}


.quantity-selector { display: flex; gap: 20px; align-items: center; justify-content: center; font-size: 24px; flex-grow: 2; }
.quantity-selector label { cursor: pointer; display: flex; align-items: center; gap: 5px; }
.quantity-selector input[type="radio"] { width: 20px; height: 20px; }

/* Modal Styles */
.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 1000; }
.modal-box { background: var(--text-white); padding: 25px; border-radius: 15px; text-align: center; max-width: 90%; width: 300px; }
.modal-box h3 { margin-top: 0; margin-bottom: 20px; color: var(--text-dark); }
.modal-buttons { display: flex; flex-direction: column; gap: 10px; }

/* --- MODIFICATION: High-contrast modal buttons --- */
.modal-buttons .btn {
    background-color: #343a40; /* Anthracite */
    color: var(--text-white);
}
.modal-buttons .btn:hover {
    background-color: #495057; /* Lighter anthracite for hover */
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}


/* User Medication Settings */
.user-med-row { background: var(--bg-light); padding: 15px; border-radius: var(--border-radius-sm); border-left: 4px solid var(--color-grey); }
.med-row-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.med-name-input { font-weight: bold; font-size: 1.1em; border: none !important; background: transparent !important; padding: 5px !important; flex-grow: 1; }
.med-name-input:read-only { color: var(--text-light); pointer-events: none; }
.med-visible-toggle { display: flex; align-items: center; gap: 5px; font-weight: normal; }
.med-row-body { display: flex; align-items: center; gap: 10px; }
.med-row-body label { margin-bottom: 0; font-size: 0.9em; }
.med-remove-btn { padding: 4px 8px; font-size: 1em; line-height: 1; }

@keyframes blink { 50% { opacity: 0; } }
.chronometer-blinking { animation: blink 1s step-end infinite; }
#live-chronometer { font-size: 2em; font-weight: bold; }