/* ── QA Tool Custom Styles (Tabler overrides) ──────────────── */

/* Status badges */
.badge-backlog { background-color: #667382; color: #fff; }
.badge-assigned { background-color: #4299e1; color: #fff; }
.badge-in_progress { background-color: #f59f00; color: #fff; }
.badge-dev_testing { background-color: #f76707; color: #fff; }
.badge-done_awaiting_qa { background-color: #4263eb; color: #fff; }
.badge-qa_passed { background-color: #2fb344; color: #fff; }
.badge-qa_failed { background-color: #d63939; color: #fff; }
.badge-released { background-color: #ae3ec9; color: #fff; }
.badge-on_hold { background-color: #8B6914; color: #fff; }

/* Info request banner */
.info-request-banner {
    border-left: 4px solid #f59f00;
    background: rgba(245, 159, 0, 0.06);
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 12px;
}

/* Attachment chips */
.attachment-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--tblr-bg-surface);
    border: 1px solid var(--tblr-border-color);
    font-size: 0.8rem;
    margin: 2px;
    text-decoration: none;
    color: inherit;
}
.attachment-chip:hover { background: rgba(var(--tblr-primary-rgb), 0.06); }
.attachment-chip .ti { font-size: 0.9rem; }

/* Type badges */
.badge-bug { background-color: #d63939; color: #fff; }
.badge-change_request { background-color: #f76707; color: #fff; }
.badge-new_feature { background-color: #4263eb; color: #fff; }
.badge-improvement { background-color: #0ca678; color: #fff; }

/* Dashboard stat cards */
.card-stat {
    border-left: 4px solid;
    border-radius: 8px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.card-stat:hover,
.card-sm[style*="cursor:pointer"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Clickable card transition */
.card-sm[style*="cursor:pointer"] {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Weight/Impact bar indicators */
.weight-bar, .impact-bar {
    display: inline-block;
    height: 6px;
    border-radius: 3px;
    vertical-align: middle;
}
.weight-bar { background: linear-gradient(90deg, #f59f00, #f76707); }
.impact-bar { background: linear-gradient(90deg, #d63939, #ae3ec9); }

/* Sprint Kanban board */
.kanban-column {
    min-height: 220px;
    background: var(--tblr-bg-surface);
    border: 1px solid var(--tblr-border-color);
    border-radius: 8px;
    padding: 12px;
}
.kanban-column .card {
    margin-bottom: 8px;
    cursor: pointer;
    border-radius: 6px;
    transition: box-shadow 0.15s ease;
}
.kanban-column .card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

/* History timeline */
.history-item {
    border-left: 2px solid var(--tblr-border-color);
    padding-left: 16px;
    margin-left: 8px;
    margin-bottom: 16px;
    padding-bottom: 4px;
    position: relative;
}
.history-item::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--tblr-primary);
    border: 2px solid #fff;
}
.history-item.qa_pass::before { background: #2fb344; }
.history-item.qa_fail::before { background: #d63939; }
.history-item.status_change::before { background: #f59f00; }
.history-item.created::before { background: #4263eb; }
.history-item.assigned::before { background: #4299e1; }

/* Module tree */
.module-tree .submodule {
    margin-left: 28px;
    border-left: 2px solid var(--tblr-border-color);
    padding-left: 12px;
}

/* Clickable table rows */
.table-clickable tbody tr {
    cursor: pointer;
}
.table-clickable tbody tr:hover {
    background-color: rgba(var(--tblr-primary-rgb), 0.04);
}

/* Loading spinner */
.loading-spinner {
    text-align: center;
    padding: 60px 20px;
    color: var(--tblr-secondary);
}

/* Reduce icon-to-label gap in nav */
.nav-link-icon { margin-right: 0.1rem !important; }

/* Vertical dividers between nav items */
#nav-links > .nav-item + .nav-item { border-left: 1px solid rgba(98, 105, 118, 0.16); }

/* Active nav link emphasis */
.navbar-nav .nav-link.active {
    font-weight: 600;
    color: #206bc4 !important;
}
.navbar-nav .nav-link.active .nav-link-icon { color: #206bc4 !important; }

/* Nav badge counters */
.nav-badge {
    font-size: 0.65rem;
    min-width: 18px;
    padding: 2px 5px;
    line-height: 1;
    vertical-align: top;
    color: #fff !important;
}

/* Tabs — active tab: white background, no bottom border */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: #fff !important;
    border-bottom-color: #fff !important;
}

/* Page header utility */
.page-header-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
