body {
font-family: sans-serif;
margin: 0;
padding: 20px;
background-color: #f4f7f6;
color: #333;
line-height: 1.6;
}
.dashboard-container {
max-width: 1000px;
margin: 20px auto;
background-color: #fff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
h1, h2, h3 {
color: #0056b3; margin-bottom: 15px;
}
h1 {
text-align: center;
margin-bottom: 30px;
} .controls {
margin-bottom: 25px;
padding-bottom: 20px;
border-bottom: 1px solid #eee;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap; }
.controls label {
font-weight: bold;
}
.controls select,
.controls button {
padding: 8px 12px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
}
.controls select {
flex-grow: 1; min-width: 150px; } #assessment-section,
#history-section,
#chart-section,
#export-section {
margin-bottom: 30px;
padding: 20px;
border: 1px solid #e0e0e0;
border-radius: 5px;
background-color: #fdfdfd;
} #assessment-form .form-group {
margin-bottom: 15px;
}
#assessment-form label {
display: block;
margin-bottom: 5px;
font-weight: 600;
font-size: 0.9em;
}
#assessment-form input[type="text"],
#assessment-form input[type="number"],
#assessment-form input[type="date"],
#assessment-form select {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box; font-size: 1em;
}
#assessment-form input[readonly] {
background-color: #e9ecef;
cursor: not-allowed;
} .grid-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px;
margin-top: 10px;
margin-bottom: 20px;
} #custom-fields-section h3 {
margin-top: 25px;
}
#custom-fields-container .custom-field-group {
display: flex;
gap: 10px;
align-items: center;
margin-bottom: 10px;
}
#custom-fields-container .custom-field-name {
flex: 1;
}
#custom-fields-container .custom-field-value {
flex: 2;
}
#custom-fields-container .remove-custom-field-btn {
padding: 5px 8px;
background-color: #dc3545;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 0.8em;
}
#custom-fields-container .remove-custom-field-btn:hover {
background-color: #c82333;
} button {
padding: 10px 15px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 1em;
transition: background-color 0.2s ease;
}
button#add-patient-btn,
button#add-custom-field-btn,
button#save-assessment-btn,
button#send-webhook-btn {
background-color: #28a745; color: white;
}
button#add-patient-btn:hover,
button#add-custom-field-btn:hover,
button#save-assessment-btn:hover,
button#send-webhook-btn:hover {
background-color: #218838;
}
button#delete-patient-btn,
button#delete-assessment-btn {
background-color: #dc3545; color: white;
}
button#delete-patient-btn:hover,
button#delete-assessment-btn:hover {
background-color: #c82333;
}
button#new-assessment-btn {
background-color: #ffc107; color: #333;
}
button#new-assessment-btn:hover {
background-color: #e0a800;
}
button#export-pdf-btn,
button#export-json-btn,
button#export-webhook-btn {
background-color: #007bff; color: white;
margin-right: 10px; }
button#export-pdf-btn:hover,
button#export-json-btn:hover,
button#export-webhook-btn:hover {
background-color: #0056b3;
}
.action-buttons {
margin-top: 20px;
display: flex;
gap: 10px;
flex-wrap: wrap;
} #history-section {
display: flex;
flex-direction: column;
gap: 15px;
}
#assessment-history-select {
padding: 8px 12px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
}
#assessment-details ul {
list-style: none;
padding: 0;
margin-top: 10px;
border-top: 1px dashed #eee;
padding-top: 10px;
}
#assessment-details li {
margin-bottom: 8px;
}
#assessment-details li ul {
margin-left: 20px;
margin-top: 5px;
border-top: none;
padding-top: 0;
} #chart-section .chart-controls {
margin-bottom: 20px;
display: flex;
gap: 15px;
align-items: center;
flex-wrap: wrap;
}
#chart-section label {
font-weight: bold;
}
#chart-section select {
padding: 8px 12px;
border: 1px solid #ccc;
border-radius: 4px;
}
#evolution-chart {
max-height: 400px; width: 100% !important; } #export-section button {
margin-bottom: 10px; }
#webhook-config {
margin-top: 15px;
padding: 15px;
border: 1px solid #ddd;
border-radius: 4px;
background-color: #f9f9f9;
display: flex; flex-direction: column; gap: 10px; }
#webhook-config label {
display: block; margin-bottom: 5px;
font-weight: 600;
}
#webhook-config input[type="url"],
#webhook-config select {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-bottom: 10px; }
#webhook-config button {
align-self: flex-start; } @media (max-width: 768px) {
.dashboard-container {
padding: 20px;
}
h1 {
font-size: 1.5em;
}
.controls {
flex-direction: column; align-items: stretch; }
.grid-container {
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
#custom-fields-container .custom-field-group {
flex-direction: column; align-items: stretch;
}
#custom-fields-container .remove-custom-field-btn {
align-self: flex-end; margin-top: 5px;
}
.action-buttons {
flex-direction: column; align-items: stretch;
}
#chart-section .chart-controls {
flex-direction: column;
align-items: stretch;
}
#export-section button {
display: block; width: 100%;
margin-bottom: 10px;
margin-right: 0;
}
#webhook-config {
align-items: stretch;
}
#webhook-config button {
align-self: stretch;
}
}
@media (max-width: 480px) {
body {
padding: 10px;
}
.dashboard-container {
padding: 15px;
}
h1 {
font-size: 1.3em;
}
.grid-container {
grid-template-columns: 1fr; }
}