/* BPWorkflow Theme — Primary: #DB6036 */
:root {
    --bpw-primary: #DB6036;
    --bpw-primary-dark: #b84e2c;
    --bpw-primary-light: #e8845f;
    --bpw-success: #2e7d32;
    --bpw-danger: #c62828;
    --bpw-warning: #f9a825;
    --bpw-info: #1565c0;
    --bpw-bg: #ffffff;
    --bpw-bg-card: #ffffff;
    --bpw-bg-sidebar: #f8f5f3;
    --bpw-text: #2c2c2c;
    --bpw-text-muted: #6b6b6b;
    --bpw-border: #e0d6d0;
    --bpw-radius: 8px;
    --bpw-shadow: 0 2px 8px rgba(219, 96, 54, 0.08);
}

/* Dark Theme */
[data-theme="Dark"], .bpworkflow-dark {
    --bpw-bg: #1a1412;
    --bpw-bg-card: #2a211d;
    --bpw-bg-sidebar: #221a16;
    --bpw-text: #f0e8e4;
    --bpw-text-muted: #a89890;
    --bpw-border: #3d3530;
    --bpw-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.bpworkflow-portal {
    color: var(--bpw-text);
    background: var(--bpw-bg);
    min-height: 80vh;
}

/* Topbar */
.bpw-topbar {
    background: var(--bpw-bg-card);
    border-bottom: 1px solid var(--bpw-border);
    padding: 10px 16px;
    border-radius: var(--bpw-radius);
    box-shadow: var(--bpw-shadow);
}

/* Buttons */
.bpw-btn-primary {
    background: var(--bpw-primary);
    color: #fff;
    border: none;
    border-radius: var(--bpw-radius);
    padding: 6px 16px;
    cursor: pointer;
    transition: background 0.2s;
}
.bpw-btn-primary:hover { background: var(--bpw-primary-dark); color: #fff; }

.bpw-btn-danger {
    background: var(--bpw-danger);
    color: #fff;
    border: none;
    border-radius: var(--bpw-radius);
    padding: 6px 16px;
    cursor: pointer;
}
.bpw-btn-danger:hover { background: #a02020; color: #fff; }

.bpw-btn-success {
    background: var(--bpw-success);
    color: #fff;
    border: none;
    border-radius: var(--bpw-radius);
    padding: 6px 16px;
    cursor: pointer;
}

/* Cards */
.bpw-card {
    background: var(--bpw-bg-card);
    border: 1px solid var(--bpw-border);
    border-radius: var(--bpw-radius);
    box-shadow: var(--bpw-shadow);
    transition: box-shadow 0.2s;
}
.bpw-card:hover { box-shadow: 0 4px 16px rgba(219, 96, 54, 0.12); }

/* Tables */
.bpw-table {
    background: var(--bpw-bg-card);
    border-radius: var(--bpw-radius);
    overflow: hidden;
}
.bpw-table th {
    background: var(--bpw-bg-sidebar);
    color: var(--bpw-text);
    border-bottom: 2px solid var(--bpw-primary);
    padding: 10px 12px;
    font-weight: 600;
}
.bpw-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--bpw-border);
    color: var(--bpw-text);
}

/* Status Badges */
.bpw-badge { padding: 3px 10px; border-radius: 12px; font-size: 0.8rem; font-weight: 600; }
.bpw-badge-queued { background: var(--bpw-info); color: #fff; }
.bpw-badge-running { background: var(--bpw-warning); color: #333; }
.bpw-badge-waiting { background: var(--bpw-primary); color: #fff; }
.bpw-badge-completed { background: var(--bpw-success); color: #fff; }
.bpw-badge-failed { background: var(--bpw-danger); color: #fff; }
.bpw-badge-cancelled { background: var(--bpw-text-muted); color: #fff; }

/* Dialog Form */
.bpw-dialog-form .form-label {
    font-weight: 600;
    color: var(--bpw-text);
}
.bpw-dialog-form .form-control,
.bpw-dialog-form .form-select {
    background: var(--bpw-bg);
    color: var(--bpw-text);
    border: 1px solid var(--bpw-border);
    border-radius: var(--bpw-radius);
}
.bpw-dialog-form .form-control:focus,
.bpw-dialog-form .form-select:focus {
    border-color: var(--bpw-primary);
    box-shadow: 0 0 0 2px rgba(219, 96, 54, 0.2);
}

/* Responsive */
@media (max-width: 768px) {
    .bpw-topbar { flex-direction: column; gap: 8px; }
}
