/* General Styles */
body { font-family: 'Inter', system-ui, sans-serif; background-color: #f8fafc; overflow-x: hidden; }

/* Dashboard Cards */
.module-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.module-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* Modal Overlay */
#modal-overlay {
    backdrop-filter: blur(4px);
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
#modal-overlay.active {
    display: flex;
    opacity: 1;
}

/* Modal Window */
#modal-window {
    transform: scale(0.95);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
#modal-window.open {
    transform: scale(1);
    opacity: 1;
}

/* Status Badges */
.badge-pending {
    background-color: #fee2e2;
    color: #b91c1c;
}
.badge-done {
    background-color: #d1fae5;
    color: #047857;
}

/* Spinner for Generator */
.spin-fast {
    animation: spinf 0.8s linear infinite;
}
@keyframes spinf { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* PDF generation Wrapper (Off-screen) */
#pdf-ghost {
    position: absolute;
    left: -10000px;
    top: 0;
    width: 800px;
    background: #fff;
    padding: 40px;
}

.pdf-style {
    font-family: 'Arial', sans-serif;
    color: #000;
    line-height: 1.6;
    text-align: justify;
    font-size: 13px;
}
.pdf-style h3 { font-size: 16px; font-weight: bold; margin-top: 25px; margin-bottom: 10px; text-transform: uppercase; }
.pdf-style p { margin-bottom: 10px; }
.pdf-style ul { margin-left: 20px; list-style-type: disc; margin-bottom: 10px; }
.page-break { page-break-before: always; }
