/* Adviser "Funds" management page */
[v-cloak] { display: none; }


.mf_topbar {
    margin-bottom:30px;
    display:flex;
    justify-content: space-between;
    width:100%;
}
    .mf_topbar h2 {
        margin-bottom: 0px;
        color: #02424B;
        font-size: 32px;
    }

    .mf_topbar .profile-hero-actions {
    display:flex;
    gap:7px;
    }

    /* ---------- Card ---------- */

.mf_card_head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    margin-top: 30px;
    padding-top:30px;
    border-top:1px solid #ffffff30;
}

    .mf_card_head .fund_company_name {
        color: #00a6a6;
        margin-bottom: 2px;
        font-weight: 500;
        display:block;
    }

    .mf_card_head p {
        margin: 0px;
        max-width: 900px;
        width: 100%;
        padding-right: 45px;
        width: calc(100% - 540px);
    }

.mf_summary_row .badge_header_st1 {
    background: #ffffff15!important;
    color: #ffffff !important;
    border-color: #ffffff01 !important;
    font-weight:400;
    flex-wrap:wrap;
    justify-content:center;
    padding:7px 10px;
    border-radius:7px;
    min-width:140px;
    gap:0px;
    font-size:14px!important;
    position:relative;
    max-width:180px;
}

    .mf_summary_row .badge_header_st1 strong {
    font-weight:300;
    font-size:36px;
    display:block;
    text-align:center;
    width:100%;
    line-height:36px;
    position:relative;
    min-height:36px;
    margin-bottom:3px;
    }

    .mf_summary_row .badge_header_st1:before {
        content: "\f00c";
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        display: inline-block;
        background: #00a6a6;
        color: #ffffff;
        width: 24px;
        height: 24px;
        border-radius: 100%;
        position: absolute;
        top: 7px;
        left: 7px;
        text-align: center;
        line-height: 24px;
        font-size: 10px;
    }

    .mf_eyebrow {
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    font-size: 0.74rem;
    font-weight: 700;
    color: #363836;
}

.mf_company {
    margin: 6px 0 0;
    font-weight: 600;
    color: #363836;
}

.mf_help {
    margin: 12px 0 0;
    color: var(--mf-muted);
    max-width: 720px;
    line-height: 1.55;
}

/* ---------- Summary chips ---------- */
.mf_summary_row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.mf_type,
.mf_fund_name {
    font-weight: 600;
}

/* ---------- Filter bar ---------- */
.mf_filter_bar {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 30px;
}

.adv_dashboard_title {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}

    .adv_dashboard_title p {
    margin:0px;
    }

    .adv_dashboard_title h2 + p {
    margin-top:26px;
    }

    /* ---------- Table ---------- */
    .mf_sortable {
        cursor: pointer;
        user-select: none;
        transition: color 140ms ease;
    }

.mf_sort_icon {
    margin-left: 5px;
    font-size: 12px;
    color: #363836;
    display:none;
}

.mf_sort_active {
    color: #363836;
    display:block;
}

.mf_num { text-align: right; }

.mf_desc {
    font-size: 14px;
    max-width: 240px;
    line-height: 1.5;
    margin:10px 0px;
}

.connections_holder .table td {
vertical-align:top!important;
}

/* ---------- Status badges ---------- */
.mf_badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: 220px;
}

/* ---------- Action icon buttons ---------- */
.mf_actions {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
}

/* ---------- WI 1335: landing-page section banner ----------
   Defined here rather than duplicated: the Portfolio Holdings page links this stylesheet
   alongside its own, so one definition styles both banners. */
.mf_landing_banner {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    padding: 30px;
    border-radius: 5px;
    background: #00a6a618;
    line-height: 1.5;
    border:1px solid #00a6a620;
}

    .mf_icon_holder,
    .mf_landing_banner i {
        margin-top: 3px;
        color: #02424B;
        width: 46px;
        height: 46px;
        border-radius: 100%;
        line-height: 44px;
        text-align: center;
        background: #ffffff;
        border: 1px solid #00a6a658;
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }

        .mf_icon_holder img {
            width:20px;
        }

.mf_landing_banner_on .mf_icon_holder img {
    opacity: 1;
}

.mf_landing_banner_off .mf_icon_holder img {
    opacity: 0.3;
}

.mf_landing_banner_text {
    margin: 0;
    color: #363836;
}

.mf_landing_banner_action {
    background: none;
    border: 0;
    padding: 0 0 0 4px;
    color: #00a6a6;
    text-decoration: none;
    cursor: pointer;
}

    .mf_landing_banner_action img {
        margin-left: 3px;
        transition: 0.25s ease;
    }

    .mf_landing_banner_action:hover img {
        margin-left: 10px !important;
        margin-right: -7px;
    }

    .mf_landing_banner_action:disabled {
    opacity: .55;
    cursor: default;
    text-decoration: none;
}

@media (max-width: 575px) {
    .mf_landing_banner {
        flex-direction: column;
    }
}

/* ---------- Empty state ---------- */
.mf_empty {
    border: 1px dashed var(--mf-border-strong);
    border-radius: 16px;
    padding: 52px 18px;
    text-align: center;
    margin-bottom: 18px;
}

.mf_empty i { color: var(--mf-border-strong); }

.mf_empty p { margin: 8px 0 18px; }

/* ---------- Edit modal source hints ---------- */
.mf_source_hint {
    margin-top: 5px;
    font-size: 0.8rem;
    color: var(--mf-muted);
    line-height: 1.4;
}

.mf_source_label {
    font-weight: 700;
    color: #8a5a00;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.72rem;
}

.mf_source_reset {
    margin-left: 8px;
    font-weight: 600;
    color: var(--mf-accent-dark);
    text-decoration: none;
}

.mf_source_reset:hover {
    text-decoration: underline;
}

/* ---------- Modal ---------- */
.mf_modal_backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    backdrop-filter: blur(5px);
}

.mf_modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    max-width: 800px;
    max-height: calc(100vh - 90px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 0px;
    z-index: 1061;
    box-shadow: 0 10px 20px 10px rgba(15, 84, 67, 0.1);
}

    .mf_modal .modal-body {
        max-height: calc(100vh - 300px);
        overflow: auto;
    }


/* ---------- Head actions + ghost button ---------- */
.mf_head_actions {
    position: relative;
    display: flex;
    gap: 7px;
    justify-content: flex-end;
}

.hf_page_wrap .mf_head_actions {
    flex-wrap: wrap;
    max-width:550px;
}

.mf_head_actions .btn-outline-primary {
    background:transparent;
    color:#00a6a6;
}


.mf_head_actions h2 {
    width: calc(100% - 550px);
}

    /* ---------- Import / Export compact control ---------- */
    .mf_io {
    position: relative;
}

.mf_io_toggle  {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 15px;
    border: 1px solid #00a6a6;
    border-radius: 5px;
    background: #00a6a6;
    color: #ffffff;
    font-size: 14px;
    cursor: pointer;
    transition: border-color 140ms ease, color 140ms ease, background 140ms ease;
    outline: 0px !important;
}

    .mf_io_toggle .mf_io_caret {
        font-size: 0.5rem;
        margin-left: 2px;
        transition: transform 160ms ease;
    }
    .mf_io_toggle:hover {
        border-color: #00a6a6;
        color: #ffffff;
        background: #00a6a6;
    }

.mf_io_toggle_open {
    border-color: #02424B;
    color: #ffffff;
    background: #02424B;
}

    .mf_io_toggle_open .mf_io_caret {
        transform: rotate(180deg);
    }

.mf_io_panel {
    background: #02424B;
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    z-index: 1050;
    width: 380px;
    max-width: calc(100vw - 32px);
    border-radius: 5px;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 7px;
    overflow: hidden;
    text-align: left;
    color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 2px 5px;
}

.mf_io_body {
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.mf_io_section .btn {
    margin-bottom: 7px;
    text-transform: none;
    width: 100%;
}

.mf_io_section .btn i {
    font-size:16px;
    margin-right:7px;
}

    .mf_io_hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
}

.mf_io_hint strong { color: #ffffff; font-weight:600; }

.mf_io_actions { display: flex; gap: 10px; }

.mf_io_action {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid var(--mf-border-strong);
    border-radius: 11px;
    background: #fff;
    color: var(--mf-text);
    font-weight: 600;
    font-size: 0.86rem;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 140ms ease, color 140ms ease, background 140ms ease;
}

.mf_io_action:hover {
    border-color: var(--mf-accent);
    color: var(--mf-accent-dark);
    background: var(--mf-accent-soft);
}

.mf_io_file { width: 100%; padding-top:10px; color:#363836;}

.mf_io_fade-enter-active,
.mf_io_fade-leave-active { transition: opacity 140ms ease, transform 140ms ease; }
.mf_io_fade-enter,
.mf_io_fade-leave-to { opacity: 0; transform: translateY(-6px); }



/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  
}

/* WI 1321: hidden rows read as inactive, matching .mpc_row_hidden on Portfolio Companies. */
.mf_row_hidden { opacity: 0.55; }

/* ---------- Blocked row actions (WI 1324) ------------------------------ */
/* .btn_st_hidden has no disabled state of its own, so the delete on a synced fund - which the
   page has always refused - still looked exactly like one that would work. Funds sourced from
   9AT/HFDB can be overridden or hidden in Connect, never deleted, and the action now shows that
   before it is clicked rather than after. */
.btn_st_hidden.mf_action_blocked,
.btn_st_hidden.mf_action_blocked:hover {
    opacity: 0.35;
    cursor: not-allowed;
    color: #363836;
}

.btn_st_hidden.mf_action_blocked:hover img {
    filter: none;
}

/* ---------- Manager-reported vs ADV-reported size (WI 1334) ------------- */
.mf_size_source {
    font-size: 11px;
    color: var(--mf-muted);
    line-height: 1.4;
    margin-top: 2px;
    white-space: nowrap;
}

/* WI 1334: marks a type or strategy as the manager's own answer rather than the ADV's.
   Inline after the value instead of on its own line like .mf_size_source - these two sit stacked in
   one cell, and a second full-width line under each would push the row taller than the rest. */
.mf_field_source {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 10px;
    background: var(--mf-chip-bg, #f1f3f5);
    font-size: 10px;
    line-height: 1.5;
    color: var(--mf-muted);
    white-space: nowrap;
    vertical-align: middle;
}

/* WI 1336: the sentence at the top of the report modal explaining that a report is not an override.
   Shared by the Funds and Service Providers pages - the SP view already loads this stylesheet. */
.mf_report_intro {
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--mf-muted);
}

/* WI 1335: shown when the banner's state is staged but not published. */
.mf_landing_banner_note {
    margin-top: 4px;
    font-size: 14px;
    color: #777777;
}
