283 lines
4.5 KiB
CSS

/* .reports-container {
margin: 20px auto;
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
} */
.reports-header {
color: #fff;
padding: 20px;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}
.reports-header h1 {
font-size: 22px;
margin: 0;
}
.reports-header .project-info {
font-size: 14px;
text-align: right;
}
.reports-status-note {
font-size: 12px;
color: #555;
padding: 15px 20px 0 20px;
}
.reports-status-cards {
display: flex;
justify-content: space-between;
gap: 15px;
padding: 20px;
flex-wrap: wrap;
}
.reports-card {
flex: 1;
min-width: 200px;
border: 1px solid #ddd;
border-radius: 8px;
padding: 15px;
text-align: center;
background: #fff;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
/* <-- added shadow */
transition: transform 0.2s ease, box-shadow 0.2s ease;
border-top: 1px solid #e63946;
}
.reports-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.reports-card h3 {
font-size: 14px;
margin: 0 0 10px 0;
}
.reports-card p {
margin: 5px 0;
}
.reports-card .value {
font-size: 22px;
font-weight: bold;
}
.reports-card-title {
font-size: 0.9rem;
text-transform: uppercase;
font-weight: 600;
color: #6c757d;
}
.reports-attendance {
color: #b10000;
}
.reports-tasks {
color: #007bff;
}
.reports-completion {
color: #28a745;
}
.reports-activities {
padding: 20px;
}
.reports-activities h2 {
font-size: 18px;
margin-bottom: 10px;
}
.reports-table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
}
.reports-table th,
.reports-table td {
border: 1px solid #ddd;
padding: 8px;
text-align: center;
}
.reports-table th {
background: #f0f0f0;
}
/* .footer {
background: #b10000;
color: #fff;
text-align: center;
padding: 15px;
font-size: 12px;
}
.footer a {
color: #fff;
margin: 0 8px;
text-decoration: none;
} */
/* Responsive */
@media (max-width: 600px) {
.reports-header {
flex-direction: column;
text-align: center;
}
.reports-header .reports-project-info {
text-align: center;
margin-top: 10px;
}
.reports-status-cards {
flex-direction: column;
}
}
.reports-legend {
margin-top: 10px;
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 8px;
font-size: 12px;
color: #555;
}
.reports-legend-item {
display: flex;
align-items: center;
gap: 4px;
}
.reports-legend-color {
width: 10px;
height: 10px;
border-radius: 2px;
display: inline-block;
}
.reports-legend-red {
background: #b10000;
}
.reports-legend-blue {
background: #007bff;
}
.reports-legend-green {
background: #28a745;
}
.reports-legend-gray {
background: #ccc;
}
.reports-donut {
--percentage: 65;
/* Change this per chart */
--danger: #e63946;
--primary: #007bff;
--warning: #ffc107;
--success: #198754;
/* Fill color */
--track: #e9ecef;
/* Background track */
--size: 120px;
/* Default size */
--thickness: 20px;
/* Default thickness */
width: var(--size);
height: var(--size);
border-radius: 50%;
background: conic-gradient(
var(--danger) calc(var(--percentage) * 1%),
var(--track) 0
);
position: relative;
display: flex;
align-items: center;
justify-content: center;
font-family: Arial, sans-serif;
font-weight: bold;
color: #333;
}
.reports-donut::before {
content: "";
position: absolute;
width: calc(var(--size) - var(--thickness));
height: calc(var(--size) - var(--thickness));
border-radius: 50%;
background: #fff;
/* Inner cut-out */
}
.reports-donut span {
position: absolute;
font-size: calc(var(--size) / 6);
}
/* Variants */
.reports-donut.thin {
--size: 80px;
--thickness: 12px;
}
.reports-donut.medium {
--size: 120px;
--thickness: 25px;
}
.reports-donut.large {
--size: 180px;
--thickness: 35px;
}
/* Color variants */
.reports-donut-success {
background: conic-gradient(
var(--success) calc(var(--percentage) * 1%),
var(--track) 0
);
color: var(--success);
}
.reports-donut-warning {
background: conic-gradient(
var(--warning) calc(var(--percentage) * 1%),
var(--track) 0
);
color: var(--warning);
}
.reports-donut-danger {
background: conic-gradient(
var(--danger) calc(var(--percentage) * 1%),
var(--track) 0
);
color: var(--danger);
}
.reports-donut-primary {
background: conic-gradient(
var(--primary) calc(var(--percentage) * 1%),
var(--track) 0
);
color: var(--primary);
}