body {
            font-family: 'Inter', sans-serif;
            background-color: #f4f7f9;
            color: #333;
        }
        .modal {
            display: none;
            position: fixed;
            z-index: 100;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow-y: auto;
            background-color: rgba(0,0,0,0.5);
            justify-content: center;
            align-items: center;
        }
        .modal-content {
            background-color: #fefefe;
            padding: 24px;
            border-radius: 12px;
            max-width: 600px;
            width: 90%;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            animation: fadeIn 0.3s ease-in-out;
            margin-top: 2rem;
            margin-bottom: 2rem;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        /* Deeper outline for focused form fields */
        .form-input {
            margin-top: 0.25rem;
            display: block;
            width: 100%;
            border-radius: 0.375rem;
            border: 1px solid #9ca3af; /* border-gray-400 */
            box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
            padding: 0.5rem;
            transition: box-shadow 0.15s ease-in-out, border-color 0.15s ease-in-out;
        }
        .form-input:focus {
            --tw-ring-opacity: 1;
            border-color: rgb(79 70 229 / var(--tw-ring-opacity)) !important;
            --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity));
            box-shadow: 0 0 0 2px var(--tw-ring-color);
        }
         /* For Webkit browsers like Chrome, Safari */
        input[type="date"]::-webkit-calendar-picker-indicator {
            cursor: pointer;
            filter: invert(0.5);
        }
        #notification-container {
            position: fixed;
            top: 1rem;
            right: 1rem;
            z-index: 200;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }
        .notification {
            padding: 1rem;
            border-radius: 0.5rem;
            color: white;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            animation: slideIn 0.3s ease-out, fadeOut 0.5s ease-in 3.5s forwards;
        }
        .notification.success { background-color: #10B981; }
        .notification.error { background-color: #EF4444; }
        .notification.info { background-color: #3B82F6; }
        @keyframes slideIn { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } }
        @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; transform: scale(0.9); } }