body {
    font-family: 'Inter', sans-serif;
    background-color: #f1f5f9; /* bg-slate-100 */
    color: #334155; /* slate-700 */
}
.kanban-card { position: relative; }
.kanban-card.dragging { opacity: 0.5; transform: rotate(2deg); }
.kanban-column.drag-over { border-style: dashed; border-color: #0ea5e9; background-color: #f0f9ff; }
.main-tab-active { background-color: white; color: #0284c7; box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); }
.settings-tab-active { color: #0284c7; background-color: #e0f2fe; }
.form-settings-subtab.active { color: #0284c7; border-color: #0284c7; }
#toast-notification {
    transition: opacity 0.3s, transform 0.3s;
    transform: translate(-50%, -120%);
    opacity: 0;
    z-index: 1000;
}
#toast-notification.show {
    transform: translate(-50%, 25%);
    opacity: 1;
}
.pagination-btn.disabled { opacity: 0.5; cursor: not-allowed; }

.workflow-timeline-step { position: relative; padding-left: 32px; padding-bottom: 24px; cursor: pointer; }
.workflow-timeline-step:last-child { padding-bottom: 4px; }
.workflow-timeline-step:not(:last-child)::before { content: ''; position: absolute; left: 10px; top: 24px; bottom: -8px; width: 2px; background-color: #e2e8f0; transition: background-color 0.3s; }
.workflow-timeline-step::after { content: ''; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; border-radius: 9999px; background-color: white; border: 2px solid #cbd5e1; transition: all 0.3s; z-index: 10; }
.workflow-timeline-step.completed::before { background-color: #0ea5e9; }
.workflow-timeline-step.completed::after { background-color: #0ea5e9; border-color: #0ea5e9; }
.workflow-timeline-step.active .step-title { color: #0369a1; font-weight: 600; }
.workflow-timeline-step.active::after { background-color: #0284c7; border-color: #0284c7; transform: scale(1.1); }
.workflow-step-content { display: none; animation: fadeIn 0.5s; }
.workflow-step-content.active { display: block; }

.inline-edit-container { position: relative; }
.inline-edit-icons { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); display: none; gap: 4px; }
.inline-edit-container.editing .inline-edit-icons { display: flex; }
.inline-edit-btn { background: none; border: none; padding: 2px; cursor: pointer; border-radius: 9999px; }
.inline-edit-btn:hover { background-color: #e2e8f0; }

.field-checkbox-list { max-height: 250px; overflow-y: auto; }

.grid-stack-item-content {
    background-color: #ffffff;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.widget-content-container {
     flex-grow: 1;
     position: relative;
     padding: 0.75rem;
     display: flex;
     align-items: center;
     justify-content: center;
}
.kpi-card-value { font-size: 2.5rem; font-weight: 700; color: #1e293b; }

.icon-btn { display: inline-flex; justify-content: center; align-items: center; width: 2rem; height: 2rem; border-radius: 9999px; }
.icon-btn:hover { background-color: #e2e8f0; }

button, .btn { transition: all 0.2s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }