/* ── Tables / Buttons - Ported from VrilWebHosting ───────────────────────── */
.table-vcenter tbody tr::after,
.table-vcenter tbody tr::before {
    content: none !important;
}

.table-vcenter tbody td,
.table-vcenter tbody td .btn {
    position: relative;
    z-index: 10;
    pointer-events: auto;
}

.table-vcenter .btn {
    border-radius: 4px !important;
}

/* ── General table structure ─────────────────────────────────────────── */
.table thead th {
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-weight: 600;
}

.table tbody td {
    padding-top: 1rem;
    padding-bottom: 1rem;
    vertical-align: middle;
    border-bottom: 1px solid rgba(255,255,255,.05);
}

.table tbody td .text-muted i {
    display: block;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Card styling ───────────────────────────────────────────────────── */
.card {
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02);
}

.card-table {
    margin-bottom: 0;
}

/* ── Status & priority chips (used by Tickets + Invoices) ───────────── */
.chip {
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    border-radius: .5rem;
    padding: .25rem .5rem;
}

.chip-blue {
    background: rgba(80,140,255,.15);
    color: #8ab4ff;
}

.chip-amber {
    background: rgba(245,158,11,.15);
    color: #fbbf24;
}

.chip-green {
    background: rgba(16,185,129,.15);
    color: #34d399;
}

.chip-red {
    background: rgba(239,68,68,.15);
    color: #f87171;
}

/* ── Badges (Invoices/Orders status labels) ─────────────────────────── */
.badge {
    color: #fff !important;
    font-size: .75rem;
    padding: .3rem .6rem;
    border-radius: 4px;
}

/* ── Page layout tweaks ─────────────────────────────────────────────── */
.page-header {
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-header .page-title {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}

/* ── Buttons inside card/table headers ───────────────────────────────── */
.order-actions .btn,
.ticket-actions .btn {
    padding: .35rem .6rem;
    font-size: .875rem;
    font-weight: 500;
    height: auto;
}

/* ── Responsive adjustments ─────────────────────────────────────────── */
@media (max-width: 767.98px) {
    .page-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .page-header .page-title {
        margin: 0;
        line-height: 1.25;
        display: flex;
        align-items: center;
    }

    .table thead th {
        font-size: 0.7rem;
    }

    .table tbody td {
        font-size: 0.875rem;
        padding-top: .75rem;
        padding-bottom: .75rem;
    }

    .btn-group-sm .btn {
        padding: .25rem .5rem;
        font-size: .75rem;
    }
}

/* ── Utility colors ─────────────────────────────────────────────────── */
.text-secondary {
    color: var(--secondary, var(--tblr-secondary, #94a3b8)) !important;
}

.text-bg-orange {
    color: #fff;
    background-color: #fd7e14 !important;
}

/* REMOVE CARD TOP BORDER */
.card-stacked::before,
.card-stacked::after {
    display: none !important;
    content: none !important;
    border: none !important;
}
