/* ============================================================================
   FINON WORKFLOWS
   Depends on: theme.css, app-finon.css
   Workflow-specific shells, state cards, forms and headers
   ============================================================================ */

/* ============================================================================
   WORKFLOW SHELL
   ============================================================================ */
.workflow-shell {
    padding-bottom: 1rem;
}

.workflow-panel {
    padding: 1rem 1.1rem;
}

.workflow-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--border-subtle);
}

/* ============================================================================
   WORKFLOW STATE
   ============================================================================ */
.workflow-state-card {
    padding: 1rem 1.1rem;
    margin-bottom: 1.25rem;
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.workflow-state-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.workflow-state-error {
    border-color: #fecaca;
    background: #fff7f7;
    color: #991b1b;
}

/* ============================================================================
   WORKFLOW FORM SECTIONS
   ============================================================================ */
.workflow-section {
    padding: 1rem;
    background: var(--surface-muted);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
}

.workflow-label {
    font-weight: 600;
    color: var(--text-color);
}

.workflow-input-md {
    min-height: 44px;
}

/* ============================================================================
   WORKFLOW ACTIONS SECTIONS
   ============================================================================ */

.workflow-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    padding-top: .25rem;
}

.workflow-next-description {
    color: var(--text-muted);
    font-size: .9rem;
}

.workflow-action-primary {
    min-width: 150px;
}

.workflow-action-secondary {
    min-width: 120px;
}

.workflow-process-muted {
    opacity: .72;
}

.workflow-process-current {
    outline: 2px solid var(--accent-border);
    outline-offset: -2px;
}

.workflow-next-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: var(--surface-muted);
    box-shadow: var(--shadow-sm);
}

.workflow-next-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-weight: 700;
    background: var(--accent-bg);
    border: 1px solid var(--accent-border);
    color: var(--primary-color);
    flex: 0 0 auto;
    min-width: 2.25rem;
}

.workflow-next-title {
    font-weight: 700;
    color: var(--text-color);
}

.workflow-next-ready {
    border-color: var(--workflow-ready-border);
    background: var(--workflow-ready-bg);
}

.workflow-next-ready .workflow-next-icon {
    background: var(--workflow-ready-icon-bg);
    color: var(--workflow-ready-text);
}

.workflow-next-blocked {
    border-color: var(--workflow-blocked-border);
    background: var(--workflow-blocked-bg);
}

.workflow-next-blocked .workflow-next-icon {
    background: var(--workflow-blocked-icon-bg);
    color: var(--workflow-blocked-text);
}

.workflow-next-progress {
    border-color: var(--workflow-progress-border);
    background: var(--workflow-progress-bg);
}

.workflow-next-progress .workflow-next-icon {
    background: var(--workflow-progress-icon-bg);
    color: var(--workflow-progress-text);
}

.workflow-next-warning {
    background: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

/* ============================================================================
   WORKFLOW STEPS
   ============================================================================ */

.workflow-steps {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin-bottom: 1rem;
}

.workflow-step {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .75rem;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: .9rem;
}

.workflow-step-dot {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border-color);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1;
}

.workflow-step-label {
    white-space: nowrap;
}

.workflow-step-done {
    border-color: var(--workflow-ready-border);
    background: var(--workflow-ready-bg);
    color: var(--workflow-ready-text);
}

.workflow-step-done .workflow-step-dot {
    background: var(--workflow-ready-icon-bg);
    border-color: var(--workflow-ready-border);
    color: var(--workflow-ready-text);
}

.workflow-step-current {
    border-color: var(--workflow-progress-border);
    background: var(--workflow-progress-bg);
    color: var(--workflow-progress-text);
}

.workflow-step-current .workflow-step-dot {
    background: var(--workflow-progress-icon-bg);
    border-color: var(--workflow-progress-border);
    color: var(--workflow-progress-text);
}

.workflow-step-pending {
    opacity: .68;
}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width: 991.98px) {
    .workflow-panel-header {
        flex-direction: column;
        align-items: flex-start;
    }
}