/*
* Copyright © 2026 VectorPulse
* All rights reserved.
*
* VectorPulse is proprietary and confidential.
* Unauthorized copying, distribution, modification,
* reverse engineering, or use of this software,
* in whole or in part, is strictly prohibited.
*
* This software is licensed only for authorized use.
*
* Product: VectorPulse
* Module: AgentHub Module
* Version: 1.0
* Build: 2026
*/

.agenthub-shell {
    background: radial-gradient(circle at top left, rgba(0, 195, 255, 0.10), transparent 35%),
                radial-gradient(circle at top right, rgba(155, 89, 255, 0.08), transparent 35%);
}

.agenthub-panel {
    background: transparent;
    border: none;
    padding: 5px;
    box-shadow: 0;
    margin-bottom: 2px;
}

.agenthub-panel-title {
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(0, 195, 255, 0.9);
    margin-bottom: 16px;
}

.agenthub-card {
   background: linear-gradient(145deg, rgba(42, 48, 55, 0.95), rgba(26, 32, 38, 0.95));
    border: 1px solid rgba(255,255,255,0.12);
    transition: all 0.18s ease-in-out;
}

.agenthub-card:hover {
    border-color: rgba(0, 195, 255, 0.65);
    box-shadow: 0 0 18px rgba(0, 195, 255, 0.18);
    transform: translateY(-2px);
}

.agenthub-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 6px 0 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    margin-bottom: 20px;
}

.agenthub-subnav .btn {
    border-radius: 10px;
    padding: 10px 16px;
}

.agenthub-money {
    font-size: 1.45rem;
    font-weight: 600;
}


.agenthub-subnav .btn {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.85);
    transition: all 0.2s ease;
}

.agenthub-subnav .btn:hover {
    border-color: rgba(0, 195, 255, 0.7);
    box-shadow: 0 0 10px rgba(0, 195, 255, 0.25);
    color: #fff;
}


/* ============================================================
   AgentHub Section Separation
   ============================================================ */

.agenthub-section {
    margin-bottom: 30px;
}

.agenthub-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 0 2px;
}

.agenthub-section-title {
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(0, 195, 255, 0.92);
}

.agenthub-section-subtitle {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.55);
}

.agenthub-section-box {
    background: rgba(38, 44, 52, 0.38);
    border: 1px solid rgba(255,255,255,0.70);
    border-radius: 14px;
    padding: 18px;
    box-shadow: inset 0 0 20px rgba(255,255,255,0.015);
}


/* ============================================================
   Print View
   ============================================================ */

@media print {
    .agenthub-panel,
    .btn,
    nav,
    header,
    footer {
        display: none !important;
    }

    body,
    .agenthub-shell {
        background: #ffffff !important;
        color: #000000 !important;
    }

    .agenthub-section-box,
    .agenthub-card,
    .card,
    .table {
        background: #ffffff !important;
        color: #000000 !important;
        border-color: #cccccc !important;
        box-shadow: none !important;
    }

    .table th,
    .table td,
    .text-light,
    .agenthub-section-title,
    .agenthub-section-subtitle {
        color: #000000 !important;
    }
}

@media print {
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 12px !important;
    }

    .btn,
    .d-flex.flex-wrap.gap-2.mb-4,
    form,
    nav,
    header,
    footer {
        display: none !important;
    }

    .container-fluid {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .card,
    .card-body {
        background: #ffffff !important;
        color: #000000 !important;
        border: none !important;
        box-shadow: none !important;
    }

    h1, h5 {
        color: #000000 !important;
    }

    .text-light,
    .text-muted,
    .opacity-75,
    .opacity-50 {
        color: #000000 !important;
        opacity: 1 !important;
    }

    .table {
        color: #000000 !important;
        border-collapse: collapse !important;
        width: 100% !important;
    }

    .table th,
    .table td {
        color: #000000 !important;
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        padding: 6px !important;
    }

    .table thead th {
        background: #eeeeee !important;
        font-weight: bold !important;
    }

    .collapse {
        display: table-row !important;
    }

    .badge {
        border: 1px solid #999999 !important;
        color: #000000 !important;
        background: #ffffff !important;
    }

    .fs-3 {
        font-size: 18px !important;
    }

    .row,
    .col-md-3,
    .col-md-4,
    .col-12 {
        break-inside: avoid !important;
    }

    .print-title {
        display: block !important;
        text-align: center;
        margin-bottom: 20px;
    }
}

.print-title {
    display: none;
}


.print-title {
    display: none;
}

@media print {
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 12px !important;
    }

    .btn,
    .agenthub-ledger-submenu,
    .screen-filters,
    nav,
    header,
    footer {
        display: none !important;
    }

    .print-title {
        display: block !important;
        text-align: center;
        margin-bottom: 22px;
    }

    .container-fluid {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .card,
    .card-body {
        background: #ffffff !important;
        color: #000000 !important;
        border: none !important;
        box-shadow: none !important;
    }

    h1, h5, h6,
    .text-light,
    .opacity-75,
    .opacity-50 {
        color: #000000 !important;
        opacity: 1 !important;
    }

    .table {
        color: #000000 !important;
        border-collapse: collapse !important;
        width: 100% !important;
    }

    .table th,
    .table td {
        color: #000000 !important;
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        padding: 6px !important;
    }

    .table thead th {
        background: #eeeeee !important;
        font-weight: bold !important;
    }

    .collapse {
        display: table-row !important;
    }

    .badge {
        border: 1px solid #999999 !important;
        color: #000000 !important;
        background: #ffffff !important;
    }

    .fs-3 {
        font-size: 18px !important;
    }

    .page-break-print {
        break-before: page !important;
    }
}

.agenthub-shell {
    background: transparent !important;
}


/* ==========================================================================
   HOLOGRAPHIC CARD SYSTEM (GLOBAL)
========================================================================== */

.vp-card {
    background: rgba(26, 32, 38, 0.85);
    border: 1px solid rgba(0, 195, 255, 0.15);
    border-radius: 14px;
    backdrop-filter: blur(10px);
    transition: all 0.25s ease;
}

.vp-card:hover {
    border-color: rgba(0, 195, 255, 0.45);
    box-shadow: 0 0 18px rgba(0, 195, 255, 0.18);
}

.vp-card-icon {
    font-size: 28px;
    color: #00c3ff;
    margin-bottom: 10px;
}

.vp-card-title {
    color: #4cc9f0;
    font-weight: 600;
    font-size: 0.95rem;
}

.vp-card-value {
    font-size: 26px;
    font-weight: 600;
}


/* ==========================================================================
   AgentHub title blue accents
========================================================================== */

.agenthub-shell h1,
.agenthub-section-title,
.agenthub-panel-title,
.vp-card h5,
.agenthub-card h5,
.agenthub-card-title {
    color: #00c3ff !important;
}

.vp-card h5,
.agenthub-card h5 {
    text-shadow: 0 0 10px rgba(0, 195, 255, 0.25);
}

.agenthub-shell .card-title,
.agenthub-shell .fw-semibold {
    color: #00c3ff;
}


/* ==========================================================================
   AgentHub card title accents
========================================================================== */

.agenthub-card h4,
.agenthub-card h5,
.agenthub-card .card-title,
.agenthub-card-title,
.agenthub-module-title,
.agenthub-shell .agenthub-card strong {
    color: #00c3ff !important;
    text-shadow: 0 0 10px rgba(0, 195, 255, 0.22);
}

.agenthub-card .small,
.agenthub-card .text-muted,
.agenthub-card .opacity-75 {
    color: rgba(234, 248, 255, 0.72) !important;
}

.agenthub-card:hover h4,
.agenthub-card:hover h5,
.agenthub-card:hover .card-title,
.agenthub-card:hover .agenthub-card-title,
.agenthub-card:hover .agenthub-module-title {
    color: #45d7ff !important;
}


.vp-card-title {
    color: #5aa9ff;
    transition: all 0.2s ease;
}

.vp-card:hover .vp-card-title {
    color: #8ec5ff;
    text-shadow: 0 0 6px rgba(90, 169, 255, 0.4);
}


.vp-card:hover {
    border-color: rgba(90, 169, 255, 0.5);
    box-shadow: 0 0 12px rgba(90, 169, 255, 0.15);
}


/* ==========================================================================
   AgentHub module card title accent fix
========================================================================== */

.agenthub-card .vp-card-title {
    color: #00c3ff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    line-height: 1.25 !important;
    text-shadow: 0 0 8px rgba(0, 195, 255, 0.25);
}

.agenthub-card:hover .vp-card-title {
    color: #45d7ff !important;
    text-shadow: 0 0 10px rgba(0, 195, 255, 0.45);
}

/* ==========================================================================
   Layout v2 — hybrid panels (matches AgentHub Ledger reports-pl.php)
========================================================================== */

.agenthub-ledger-page .agenthub-ledger-submenu .btn,
.agenthub-layout-v2 .agenthub-subnav .btn {
    border-radius: 0.375rem;
}

.agenthub-shell .card.bg-dark.border-secondary.h-100,
.agenthub-ledger-page .card.bg-dark.border-secondary.h-100,
.agenthub-layout-v2 .card.bg-dark.border-secondary.h-100 {
    background: rgba(0, 20, 35, 0.45) !important;
    border: 1px solid rgba(0, 195, 255, 0.45) !important;
    border-radius: 0.375rem !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease;
}

.agenthub-shell .row.g-3 > [class*="col-"]:nth-child(4n+1) .card.h-100,
.agenthub-shell .row.g-4 > [class*="col-"]:nth-child(4n+1) .card.h-100,
.agenthub-ledger-page .row.g-3 > [class*="col-"]:nth-child(4n+1) .card.h-100,
.agenthub-ledger-page .row.g-4 > [class*="col-"]:nth-child(4n+1) .card.h-100,
.agenthub-layout-v2 .row.g-3 > [class*="col-"]:nth-child(4n+1) .card.h-100,
.agenthub-layout-v2 .row.g-4 > [class*="col-"]:nth-child(4n+1) .card.h-100 {
    background: rgba(0, 35, 20, 0.45) !important;
    border-color: rgba(25, 135, 84, 0.65) !important;
}

.agenthub-shell .row.g-3 > [class*="col-"]:nth-child(4n+2) .card.h-100,
.agenthub-shell .row.g-4 > [class*="col-"]:nth-child(4n+2) .card.h-100,
.agenthub-ledger-page .row.g-3 > [class*="col-"]:nth-child(4n+2) .card.h-100,
.agenthub-ledger-page .row.g-4 > [class*="col-"]:nth-child(4n+2) .card.h-100,
.agenthub-layout-v2 .row.g-3 > [class*="col-"]:nth-child(4n+2) .card.h-100,
.agenthub-layout-v2 .row.g-4 > [class*="col-"]:nth-child(4n+2) .card.h-100 {
    background: rgba(35, 0, 0, 0.35) !important;
    border-color: rgba(220, 53, 69, 0.55) !important;
}

.agenthub-shell .row.g-3 > [class*="col-"]:nth-child(4n+3) .card.h-100,
.agenthub-shell .row.g-4 > [class*="col-"]:nth-child(4n+3) .card.h-100,
.agenthub-ledger-page .row.g-3 > [class*="col-"]:nth-child(4n+3) .card.h-100,
.agenthub-ledger-page .row.g-4 > [class*="col-"]:nth-child(4n+3) .card.h-100,
.agenthub-layout-v2 .row.g-3 > [class*="col-"]:nth-child(4n+3) .card.h-100,
.agenthub-layout-v2 .row.g-4 > [class*="col-"]:nth-child(4n+3) .card.h-100 {
    background: rgba(0, 20, 35, 0.45) !important;
    border-color: rgba(0, 195, 255, 0.55) !important;
}

.agenthub-shell .row.g-3 > [class*="col-"]:nth-child(4n+4) .card.h-100,
.agenthub-shell .row.g-4 > [class*="col-"]:nth-child(4n+4) .card.h-100,
.agenthub-ledger-page .row.g-3 > [class*="col-"]:nth-child(4n+4) .card.h-100,
.agenthub-ledger-page .row.g-4 > [class*="col-"]:nth-child(4n+4) .card.h-100,
.agenthub-layout-v2 .row.g-3 > [class*="col-"]:nth-child(4n+4) .card.h-100,
.agenthub-layout-v2 .row.g-4 > [class*="col-"]:nth-child(4n+4) .card.h-100 {
    background: rgba(35, 25, 0, 0.35) !important;
    border-color: rgba(255, 193, 7, 0.55) !important;
}

.agenthub-shell .card.bg-dark.border-secondary.h-100 .card-body,
.agenthub-ledger-page .card.bg-dark.border-secondary.h-100 .card-body,
.agenthub-layout-v2 .card.bg-dark.border-secondary.h-100 .card-body {
    padding: 1rem !important;
}

.agenthub-shell .card.bg-dark.border-secondary.h-100 .fs-3,
.agenthub-shell .card.bg-dark.border-secondary.h-100 .fs-5,
.agenthub-ledger-page .card.bg-dark.border-secondary.h-100 .fs-3,
.agenthub-ledger-page .card.bg-dark.border-secondary.h-100 .fs-5,
.agenthub-layout-v2 .card.bg-dark.border-secondary.h-100 .fs-3,
.agenthub-layout-v2 .card.bg-dark.border-secondary.h-100 .fs-5 {
    font-size: 1.5rem !important;
    font-weight: 600;
}

.agenthub-shell .card.bg-dark.border-secondary:not(.h-100),
.agenthub-ledger-page .card.bg-dark.border-secondary:not(.h-100),
.agenthub-layout-v2 .card.bg-dark.border-secondary:not(.h-100) {
    background: transparent !important;
    border: 1px solid rgba(108, 117, 125, 0.65) !important;
    border-radius: 0.375rem !important;
    box-shadow: none !important;
}

.agenthub-ledger-page .border.border-secondary.rounded.p-3,
.agenthub-ledger-page .border.border-info.rounded.p-3 {
    background: rgba(0, 20, 35, 0.25);
}

.agenthub-filter-panel {
    background: rgba(0, 20, 35, 0.45);
    border: 1px solid rgba(0, 195, 255, 0.55);
    border-radius: 0.375rem;
    padding: 1rem;
}

/* DealHub property import / snapshot tools (Broker + AgentHub shared) */
.dealhub-property-tool .card.bg-dark.border-secondary {
    background: rgba(0, 20, 35, 0.35) !important;
    border-color: rgba(0, 195, 255, 0.35) !important;
}

.dealhub-property-tool .dealhub-property-toolbar {
    padding: 0.75rem 1rem;
    border: 1px solid rgba(0, 195, 255, 0.35);
    border-radius: 0.375rem;
    background: rgba(0, 20, 35, 0.45);
}

.dealhub-property-tool .dealhub-property-coverage {
    background: rgba(0, 20, 35, 0.25);
}

.agenthub-shell.dealhub-property-tool h1 {
    font-weight: 300;
}

/* VectorPulse module layout — AssetHub-aligned (roll out module-by-module) */
.vp-module-shell {
    width: min(100%, 1440px);
    margin-left: auto;
    margin-right: auto;
}

.vp-kpi-panel {
    border: 1px solid rgba(13, 202, 240, 0.55);
    border-radius: 0.375rem;
    padding: 1rem;
    background: rgba(0, 20, 35, 0.45);
    height: 100%;
}

.vp-filter-panel {
    border: 1px solid rgba(108, 117, 125, 0.65);
    border-radius: 0.375rem;
    padding: 1rem;
    background: rgba(0, 0, 20, 0.45);
}

.vp-section-panel {
    border: 1px solid rgba(108, 117, 125, 0.65);
    border-radius: 0.375rem;
    padding: 1rem;
    background: rgba(0, 20, 35, 0.25);
    margin-bottom: 1rem;
}

.vp-section-panel--info {
    border-color: rgba(13, 202, 240, 0.45);
}

.vp-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.vp-section-title {
    font-weight: 300;
    margin-bottom: 0.15rem;
    color: rgba(13, 202, 240, 0.95);
}

.vp-page-title {
    color: rgba(13, 202, 240, 0.95);
}

.vp-section-subtitle {
    font-size: 0.875rem;
    opacity: 0.75;
}

.vp-module-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(13, 202, 240, 0.35);
    border-radius: 0.375rem;
    background: rgba(0, 20, 35, 0.45);
    margin-bottom: 1rem;
}

/* ==========================================================================
   Broker DealHub — AssetHub-aligned panels + title colors
   Applies to all /modules/DealHub/ pages via .dealhub-module-root
========================================================================== */

.dealhub-module-root {
    width: min(100%, 1440px);
}

.dealhub-module-root h1.fw-light,
.dealhub-module-root .vp-page-title {
    color: rgba(13, 202, 240, 0.95);
}

.dealhub-module-root h5.card-title,
.dealhub-module-root .card-body > h5.mb-0 {
    color: rgba(13, 202, 240, 0.92) !important;
    font-weight: 300;
}

.dealhub-module-root h6.text-info,
.dealhub-module-root h5.text-info {
    color: rgba(13, 202, 240, 0.95) !important;
}

.dealhub-module-root .metric-card {
    border: 1px solid rgba(13, 202, 240, 0.55);
    border-radius: 0.375rem;
    background: rgba(0, 20, 35, 0.45);
    box-shadow: none;
    transform: none;
}

.dealhub-module-root .metric-card::before {
    display: none;
}

.dealhub-module-root .metric-card:hover {
    transform: none;
    box-shadow: none;
}

.dealhub-module-root .card.bg-dark.border-secondary,
.dealhub-module-root .card.overflow-hidden {
    border: 1px solid rgba(108, 117, 125, 0.65) !important;
    border-radius: 0.375rem;
    background: rgba(0, 20, 35, 0.25) !important;
}

.dealhub-module-root .card.bg-dark.border-secondary.border-info,
.dealhub-module-root .vp-section-panel--info {
    border-color: rgba(13, 202, 240, 0.45) !important;
}

.dealhub-module-root .vp-filter-panel {
    margin-bottom: 1rem;
}

.dealhub-module .vp-section-title,
.dealhub-module-root .vp-section-title {
    color: rgba(13, 202, 240, 0.95);
}

/* ==========================================================================
   Collapse register — wide tables (6+ columns)
========================================================================== */

.vp-collapse-register thead th {
    white-space: nowrap;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.vp-collapse-register tbody td {
    vertical-align: middle;
}

.vp-collapse-register .vp-collapse-summary-title {
    font-weight: 600;
}

.vp-collapse-register .vp-collapse-summary-meta {
    font-size: 0.82rem;
    opacity: 0.75;
}

.vp-collapse-detail-row > td {
    background: transparent !important;
}

.vp-collapse-detail-panel {
    background: rgba(0, 20, 35, 0.45);
}

.vp-collapse-detail-panel .vp-collapse-field-label {
    font-size: 0.78rem;
    opacity: 0.7;
    margin-bottom: 0.15rem;
}

.vp-collapse-detail-panel .vp-collapse-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.75rem;
    margin-top: 0.75rem;
    border-top: 1px solid rgba(108, 117, 125, 0.45);
}

/* ==========================================================================
   Print — professional financial statement reports
========================================================================== */

.agenthub-print-header {
    display: none;
}

.agenthub-report-statement .amount-col {
    text-align: right;
    width: 140px;
    white-space: nowrap;
}

.agenthub-report-statement .section-row td {
    font-weight: 700;
    padding-top: 0.85rem;
}

.agenthub-report-statement .total-row td {
    font-weight: 700;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.agenthub-report-statement .grand-row td {
    font-weight: 700;
    border-top: 3px double rgba(255, 255, 255, 0.35);
}

@media print {
    .agenthub-print-header {
        display: block !important;
        text-align: center;
        margin: 0 0 22px;
        page-break-after: avoid;
    }

    .agenthub-print-company {
        font-size: 16pt;
        font-weight: 700;
        color: #111 !important;
        letter-spacing: 0.02em;
    }

    .agenthub-print-title {
        font-size: 13pt;
        font-weight: 600;
        color: #222 !important;
        margin-top: 4px;
    }

    .agenthub-print-period {
        font-size: 10pt;
        color: #444 !important;
        margin-top: 2px;
    }

    .agenthub-print-rule {
        border: none;
        border-top: 1px solid #999;
        width: 55%;
        margin: 12px auto 0;
    }

    .agenthub-screen-only,
    .agenthub-report-toolbar,
    .agenthub-ledger-submenu,
    .screen-filters,
    .border.border-info.rounded.p-3.mb-4.screen-filters,
    .agenthub-report-toolbar,
    .btn,
    nav,
    header,
    footer {
        display: none !important;
    }

    .agenthub-ledger-page .border.border-secondary.rounded,
    .agenthub-ledger-page .border.border-info.rounded,
    .agenthub-ledger-page .card.bg-dark.border-secondary {
        background: #fff !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-bottom: 12px !important;
    }

    .agenthub-ledger-page .row.g-3.mb-4 {
        display: none !important;
    }

    .agenthub-report-statement,
    .agenthub-report-statement .table {
        color: #111 !important;
        background: #fff !important;
    }

    .agenthub-report-statement .table td,
    .agenthub-report-statement .table th {
        border: none !important;
        background: #fff !important;
        color: #111 !important;
        padding: 4px 8px !important;
    }

    .agenthub-report-statement .section-row td {
        font-weight: 700 !important;
        padding-top: 10px !important;
    }

    .agenthub-report-statement .total-row td {
        border-top: 1px solid #333 !important;
        font-weight: 700 !important;
    }

    .agenthub-report-statement .grand-row td {
        border-top: 3px double #333 !important;
        font-weight: 700 !important;
    }

    .agenthub-report-statement .amount-col {
        text-align: right !important;
    }

    .page-break-print {
        break-before: page !important;
    }
}

/*===========================================================================
|VP EMAIL
===========================================================================*/
.vp-email-attachment-modal {
    z-index: 20050 !important;
}

.modal-backdrop {
    z-index: 20040 !important;
}

.vp-email-attachment-modal .modal-dialog {
    max-width: 96vw;
}

.vp-email-attachment-modal .modal-content {
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.75);
}
