/*
 * InvestHub V7.2 — unified product experience layer
 * --------------------------------------------------
 * One responsive visual language for authenticated, operational, account,
 * verification, data-room, owner, investor and admin screens.
 * Loaded after the V7 foundation so this file can safely normalize legacy
 * page primitives without re-introducing the pre-V7 design system.
 */

:root {
    --ih7-sidebar: 278px;
    --ihx-surface: #ffffff;
    --ihx-surface-soft: #f5f8fa;
    --ihx-surface-tint: #edf7f7;
    --ihx-ink: #081f25;
    --ihx-body: #50646a;
    --ihx-muted: #7b8d92;
    --ihx-line: #d9e5e8;
    --ihx-line-strong: #bfd2d7;
    --ihx-teal: #00a9a5;
    --ihx-teal-deep: #006b68;
    --ihx-navy: #002a40;
    --ihx-green: #003f3d;
    --ihx-purple: #724493;
    --ihx-magenta: #a3266c;
    --ihx-radius: 18px;
    --ihx-radius-lg: 24px;
    --ihx-shadow: 0 18px 52px rgba(0, 42, 64, .07);
    --ihx-shadow-hover: 0 26px 72px rgba(0, 42, 64, .12);
}

/* --------------------------------------------------------------------------
   Global authenticated shell
   -------------------------------------------------------------------------- */
.ih-app-body {
    background:
        radial-gradient(circle at 8% 0%, rgba(0, 169, 165, .045), transparent 28rem),
        linear-gradient(180deg, #eef3f6 0, #f6f8f9 22rem, #f3f6f8 100%);
}

.ih-app-sidebar {
    width: var(--ih7-sidebar);
    padding: 1rem .9rem;
    background:
        radial-gradient(circle at 78% 4%, rgba(18, 197, 191, .15), transparent 18rem),
        linear-gradient(180deg, #003e3c 0%, #003430 55%, #002925 100%);
    box-shadow: 18px 0 46px rgba(0, 28, 36, .08);
}
[dir="rtl"] .ih-app-sidebar { box-shadow: -18px 0 46px rgba(0, 28, 36, .08); }

.ih-app-sidebar__brandrow {
    min-height: 76px;
    padding: .25rem .25rem 1rem;
    border-bottom-color: rgba(255,255,255,.12);
}
.ih-brand--app .ih-brand__mark {
    width: 46px;
    height: 46px;
    border-radius: 8px 18px 8px 8px;
    background: rgba(255,255,255,.08);
    color: #fff;
}
.ih-brand--app .ih-brand__copy small { color: #86aaa2; }

.ih-side-nav { padding: .8rem .25rem 1rem; }
.ih-side-nav__group { gap: .24rem; padding-top: 1rem; }
.ih-side-nav__label {
    padding: .25rem .8rem .55rem;
    color: #74a39b;
    font-size: .6rem;
}
.ih-side-nav__link {
    min-height: 48px;
    gap: .78rem;
    padding: .7rem .82rem;
    border-radius: 12px;
    color: #a9c1bc;
    font-size: .77rem;
}
.ih-side-nav__link i { color: #82a39d; }
.ih-side-nav__link:hover { background: rgba(255,255,255,.07); }
.ih-side-nav__link.active {
    background: #fff;
    color: #003b3a;
    box-shadow: 0 14px 30px rgba(0, 20, 28, .16);
}
.ih-side-nav__link.active::before {
    inset-block: 12px;
    inset-inline-start: -.9rem;
    width: 4px;
    background: var(--ihx-teal);
}
.ih-side-nav__account { padding-top: .9rem; }

.ih-app-main { margin-inline-start: var(--ih7-sidebar); }
.ih-app-topbar {
    min-height: 70px;
    padding-inline: clamp(1rem, 2.2vw, 2rem);
    border-bottom-color: rgba(188, 207, 212, .72);
    background: rgba(255,255,255,.91);
    box-shadow: 0 8px 28px rgba(0, 38, 52, .035);
}
.ih-app-topbar.is-elevated { box-shadow: 0 12px 34px rgba(0, 38, 52, .09); }
.ih-app-content {
    width: min(calc(100% - 40px), 1460px);
    margin-inline: auto;
    padding-block: 1.35rem 3.5rem;
}
.ih-app-content > * + * { margin-top: 1rem; }

/* --------------------------------------------------------------------------
   Shared page hero / heading system
   -------------------------------------------------------------------------- */
.dashboard-hero,
.interest-hero,
.data-room-hero,
.preference-hero,
.verification-hero,
.opportunity-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 176px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: end;
    margin: 0 0 1rem !important;
    padding: clamp(1.45rem, 2.8vw, 2.25rem) !important;
    border: 0 !important;
    border-radius: 24px 24px 8px 24px !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(18,197,191,.22), transparent 25rem),
        linear-gradient(125deg, #003f3d 0%, #005d59 58%, #006e69 100%) !important;
    color: #fff !important;
    box-shadow: 0 24px 68px rgba(0, 49, 61, .12) !important;
}
[dir="rtl"] .dashboard-hero,
[dir="rtl"] .interest-hero,
[dir="rtl"] .data-room-hero,
[dir="rtl"] .preference-hero,
[dir="rtl"] .verification-hero,
[dir="rtl"] .opportunity-hero { border-radius: 24px 24px 24px 8px !important; }

.dashboard-hero::before,
.interest-hero::before,
.data-room-hero::before,
.preference-hero::before,
.verification-hero::before,
.opportunity-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 350px;
    height: 350px;
    inset-inline-end: -120px;
    inset-block-start: -210px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    box-shadow: 0 0 0 54px rgba(255,255,255,.018), 0 0 0 108px rgba(255,255,255,.012);
}
.dashboard-hero::after,
.interest-hero::after,
.data-room-hero::after,
.preference-hero::after,
.verification-hero::after,
.opportunity-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset-inline-start: 0;
    inset-block-end: 0;
    width: 42%;
    height: 3px;
    background: linear-gradient(90deg, var(--ihx-teal), transparent);
}
.dashboard-hero__copy { min-width: 0; }
.dashboard-hero__copy h1,
.interest-hero h1,
.data-room-hero h1,
.preference-hero h1,
.verification-hero h1,
.opportunity-hero h1 {
    max-width: 20ch;
    margin: .55rem 0 .45rem;
    color: #fff !important;
    font-size: clamp(1.8rem, 3vw, 3.05rem);
    font-weight: 680;
    line-height: 1.06;
}
html[lang="ar"] :is(.dashboard-hero__copy,.interest-hero,.data-room-hero,.preference-hero,.verification-hero,.opportunity-hero) h1 {
    line-height: 1.24;
}
.dashboard-hero__copy > p,
.interest-hero p,
.data-room-hero p,
.preference-hero p,
.verification-hero p,
.opportunity-hero p {
    max-width: 64rem;
    margin: 0;
    color: #c3d7d4 !important;
    font-size: .84rem;
    line-height: 1.75;
}
.dashboard-eyebrow,
.dashboard-back-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #7ee5df;
    font-size: .7rem;
    font-weight: 820;
}
.dashboard-eyebrow .bi,
.dashboard-back-link .bi { line-height: 1; }
.dashboard-hero__actions {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    flex-wrap: wrap;
}
.dashboard-hero__actions .btn-outline-primary,
.dashboard-hero__actions .btn-outline-secondary {
    --bs-btn-color: #fff;
    --bs-btn-border-color: rgba(255,255,255,.36);
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
    --bs-btn-hover-color: #003f3d;
}
.dashboard-hero__actions .btn-primary {
    --bs-btn-bg: #12c5bf;
    --bs-btn-border-color: #12c5bf;
    --bs-btn-color: #002d31;
}
.preference-hero--compact { min-height: 148px; }

/* --------------------------------------------------------------------------
   Shared panels / cards / headings
   -------------------------------------------------------------------------- */
.dashboard-panel,
.profile-section,
.verification-panel,
.verification-summary-card,
.data-room-state-card,
.data-room-documents,
.opportunity-section,
.preference-form-panel,
.interest-card,
.admin-review-panel,
.admin-interest-detail-panel,
.admin-interest-status-card,
.verification-submit-panel,
.opportunity-submit-panel,
.opportunity-danger-zone,
.preference-danger-zone,
.data-room-note,
.data-room-decision,
.data-room-revoke {
    min-width: 0;
    border: 1px solid var(--ihx-line) !important;
    border-radius: var(--ihx-radius) !important;
    background: var(--ihx-surface) !important;
    box-shadow: 0 10px 32px rgba(0, 42, 64, .035) !important;
}
.dashboard-panel,
.profile-section,
.verification-panel,
.data-room-documents,
.opportunity-section,
.preference-form-panel,
.admin-review-panel,
.admin-interest-detail-panel,
.admin-interest-status-card,
.data-room-note,
.data-room-decision,
.data-room-revoke { padding: 1.2rem; }

.dashboard-panel__head,
.panel-heading-row,
.profile-section__head,
.verification-card__header,
.data-room-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--ihx-line) !important;
}
.dashboard-panel__head > div,
.panel-heading-row > div { min-width: 0; }
.dashboard-panel__head h2,
.dashboard-panel__head h3,
.panel-heading-row h2,
.panel-heading-row h3,
.profile-section__head h2,
.verification-panel h2,
.opportunity-section h2 {
    margin: 0;
    color: var(--ihx-ink);
    font-size: 1.08rem;
    font-weight: 760;
    line-height: 1.35;
}
.dashboard-panel__head p,
.panel-heading-row p {
    max-width: 52rem;
    margin: .25rem 0 0;
    color: var(--ihx-muted);
    font-size: .72rem;
    line-height: 1.65;
}
.dashboard-panel__head > a,
.panel-heading-row > a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--ihx-teal-deep);
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

/* Remove accidental giant empty panel heights from pre-V7 layouts. */
.dashboard-panel,
.profile-section,
.verification-panel,
.data-room-documents,
.opportunity-section,
.preference-form-panel,
.interest-card { min-height: 0 !important; height: auto !important; }

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */
.ih-app-content :is(.form-control,.form-select) {
    min-height: 48px;
    border-color: var(--ihx-line-strong);
    border-radius: 10px;
    background: #fff;
    color: var(--ihx-ink);
}
.ih-app-content textarea.form-control { min-height: 118px; }
.ih-app-content .form-label,
.opportunity-field > span,
.ih-control-form > label > span:not(.form-check-label) {
    margin-bottom: .4rem;
    color: #334d54;
    font-size: .72rem;
    font-weight: 780;
}
.ih-app-content .form-text { margin-top: .35rem; color: var(--ihx-muted); font-size: .68rem; line-height: 1.55; }
.ih-app-content .form-check { min-height: 32px; }
.ih-app-content .form-check-input {
    width: 1.12rem;
    height: 1.12rem;
    margin-top: .2rem;
    border-color: #aebfc3;
}
.ih-app-content .form-switch .form-check-input {
    width: 2.4rem;
    height: 1.3rem;
    cursor: pointer;
}
.ih-app-content .form-check-input:checked { background-color: var(--ihx-teal); border-color: var(--ihx-teal); }
.ih-app-content .form-check-label { color: var(--ihx-body); font-size: .74rem; line-height: 1.6; }

.opportunity-form-grid,
.verification-summary-grid,
.opportunity-summary-grid,
.admin-review-grid,
.opportunity-admin-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}
.opportunity-field { display: grid; gap: .32rem; min-width: 0; }
.opportunity-field--wide { grid-column: 1 / -1; }

.opportunity-savebar,
.profile-actions,
.preference-form-actions {
    position: sticky;
    inset-block-end: .65rem;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
    margin-top: 1rem;
    padding: .65rem;
    border: 1px solid rgba(190, 210, 214, .92);
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 40px rgba(0,42,64,.08);
    backdrop-filter: blur(14px);
}

/* --------------------------------------------------------------------------
   Profile
   -------------------------------------------------------------------------- */
.profile-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
    gap: 1rem;
    align-items: start;
}
.profile-form { display: grid; gap: 1rem; min-width: 0; }
.profile-section { padding: 1.2rem; }
.profile-section__head {
    justify-content: flex-start;
    align-items: center;
}
.profile-section__head > span {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
    font-size: .68rem;
    font-weight: 860;
}
.profile-aside {
    position: sticky;
    inset-block-start: 88px;
    display: grid;
    gap: .8rem;
}
.profile-aside-card {
    position: relative;
    overflow: hidden;
    padding: 1.15rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--ihx-radius);
    background:
        radial-gradient(circle at 85% 12%, rgba(18,197,191,.18), transparent 10rem),
        linear-gradient(145deg, #003f3d, #004f4b);
    color: #fff;
    box-shadow: 0 16px 46px rgba(0,42,64,.08);
}
.profile-aside-card:nth-child(even) {
    background: linear-gradient(145deg, #002c41, #004856);
}
.profile-aside-card__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: .8rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    color: #7ee5df;
}
.profile-aside-card h3 { margin: 0; color: #fff; font-size: 1rem; }
.profile-aside-card p { margin: .45rem 0 0; color: #b8cfcc; font-size: .72rem; line-height: 1.7; }
.profile-meta-list { display: grid; gap: 0; margin-top: .9rem; border-top: 1px solid rgba(255,255,255,.14); }
.profile-meta-item {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: .65rem;
    align-items: center;
    padding: .7rem 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: .68rem;
}
.profile-meta-item span { color: #88aaa4; }
.profile-meta-item strong { min-width: 0; overflow-wrap: anywhere; color: #fff; text-align: end; }

/* --------------------------------------------------------------------------
   Verification
   -------------------------------------------------------------------------- */
.verification-feedback {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: .8rem;
    align-items: start;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border: 1px solid #e7d49f;
    border-radius: 14px;
    background: #fff9e9;
}
.verification-feedback__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #fff1c8;
    color: #8c650e;
}
.verification-feedback strong { display: block; color: #6f500b; font-size: .8rem; }
.verification-feedback p { margin-top: .15rem; color: #735f34; font-size: .72rem; }

.verification-summary-grid { margin-bottom: 1rem; }
.verification-summary-card {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .45rem;
    padding: 1rem 1.1rem;
}
.verification-summary-card > span:first-child { color: var(--ihx-muted); font-size: .64rem; font-weight: 760; }
.verification-summary-card small { color: var(--ihx-muted); font-size: .65rem; }

.verification-document-list { display: grid; gap: .7rem; }
.verification-document-card {
    padding: .95rem;
    border: 1px solid var(--ihx-line);
    border-radius: 14px;
    background: #f9fbfc;
}
.verification-document-card--compact { background: #fff; }
.verification-document-card__head {
    display: flex;
    justify-content: space-between;
    gap: .9rem;
    align-items: flex-start;
    padding: 0 0 .75rem;
    border-bottom: 1px solid var(--ihx-line);
}
.verification-document-card__head strong { color: var(--ihx-ink); font-size: .8rem; }
.verification-requirement { display: block; margin-top: .18rem; color: var(--ihx-muted); font-size: .62rem; }
.verification-document-state {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--ihx-muted);
    font-size: .65rem;
    font-weight: 780;
    white-space: nowrap;
}
.verification-document-state.is-uploaded { color: #08745c; }
.verification-file-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: .75rem;
    align-items: center;
    margin-top: .75rem;
    padding: .75rem;
    border: 1px solid var(--ihx-line);
    border-radius: 11px;
    background: #fff;
}
.verification-file-row__meta { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: .65rem; align-items: center; }
.verification-file-row__meta > i {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
}
.verification-file-row__meta strong,
.verification-file-row__meta span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.verification-file-row__meta strong { color: var(--ihx-ink); font-size: .72rem; }
.verification-file-row__meta span { margin-top: .08rem; color: var(--ihx-muted); font-size: .61rem; }
.verification-file-row__actions { display: flex; gap: .4rem; flex-wrap: wrap; }
.verification-upload-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; align-items: end; margin-top: .75rem; }
.verification-submit-panel {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
}
.verification-submit-panel h2 { margin: 0; font-size: 1rem; }
.verification-submit-panel p { margin: .25rem 0 0; color: var(--ihx-muted); font-size: .7rem; }

/* --------------------------------------------------------------------------
   Data room
   -------------------------------------------------------------------------- */
.data-room-state-card {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr) auto;
    gap: .9rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
}
.data-room-state-card__icon,
.data-room-document__icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
    font-size: 1rem;
}
.data-room-state-card__copy h2 { margin: 0; font-size: 1.04rem; }
.data-room-state-card__copy p { max-width: 58rem; margin: .25rem 0 0; color: var(--ihx-muted); font-size: .72rem; line-height: 1.65; }
.data-room-state-card__action { display: flex; justify-content: flex-end; }
.data-room-note,
.data-room-decision,
.data-room-revoke,
.data-room-documents { margin-bottom: 1rem; }
.data-room-note strong { display: block; margin-bottom: .3rem; color: var(--ihx-ink); font-size: .78rem; }
.data-room-note p { margin: 0; color: var(--ihx-muted); font-size: .72rem; white-space: pre-line; }
.data-room-security-note,
.data-room-usage-note {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    gap: .65rem;
    align-items: start;
    margin-bottom: .8rem;
    padding: .75rem .85rem;
    border: 1px solid #cce4e5;
    border-radius: 12px;
    background: #eff9fa;
    color: #355b62;
    font-size: .68rem;
    line-height: 1.65;
}
.data-room-security-note > i,
.data-room-usage-note > i {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #dff4f4;
    color: var(--ihx-teal-deep);
}
.data-room-document-list { display: grid; gap: .6rem; }
.data-room-document {
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid var(--ihx-line);
    border-radius: 12px;
    background: #fff;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.data-room-document:hover { transform: translateY(-2px); border-color: #bdd5d8; box-shadow: var(--ihx-shadow); }
.data-room-document__copy { min-width: 0; }
.data-room-document__copy strong { display: block; overflow: hidden; color: var(--ihx-ink); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.data-room-document__copy span { display: block; margin-top: .12rem; color: var(--ihx-muted); font-size: .62rem; }
.data-room-empty {
    min-height: 150px;
    display: grid;
    place-items: center;
    gap: .45rem;
    padding: 1.2rem;
    border: 1px dashed var(--ihx-line-strong);
    border-radius: 14px;
    background: #fafcfc;
    text-align: center;
}
.data-room-empty > i { color: var(--ihx-teal); font-size: 1.45rem; }
.data-room-decision__form,
.data-room-revoke__form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .75rem; align-items: end; }
.data-room-decision__actions { display: flex; gap: .45rem; flex-wrap: wrap; }

/* --------------------------------------------------------------------------
   Preferences / matches
   -------------------------------------------------------------------------- */
.preference-layout { display: grid; gap: 1rem; }
.preference-form-panel { padding: 1.2rem; }
.preference-form-panel > form,
.preference-form-panel form { min-width: 0; }
.preference-form-help {
    margin-bottom: .9rem;
    padding: .75rem .85rem;
    border-inline-start: 3px solid var(--ihx-teal);
    border-radius: 8px;
    background: #f1f8f9;
    color: var(--ihx-body);
    font-size: .69rem;
}
.preference-fit-divider {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 1rem 0 .8rem;
    color: var(--ihx-ink);
    font-size: .78rem;
    font-weight: 820;
}
.preference-fit-divider::after { content: ""; flex: 1; height: 1px; background: var(--ihx-line); }
.preference-active-switch {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin-top: .9rem;
    padding: .8rem .9rem;
    border: 1px solid var(--ihx-line);
    border-radius: 12px;
    background: #fafcfc;
}

.preference-active-switch .form-check-input {
    float: none;
    margin: .15rem 0 0;
    flex: 0 0 auto;
}
.preference-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .95rem 1rem;
    border-color: #efc5c8 !important;
    background: #fffafa !important;
}
.preference-danger-zone h2 { margin: 0; color: #8d333b; font-size: .92rem; }
.preference-danger-zone p { margin: .2rem 0 0; color: #8b6a6d; font-size: .68rem; }

.ih-preference-list {
    overflow: hidden;
    border: 1px solid var(--ihx-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(0,42,64,.04);
}
.ih-preference-row {
    grid-template-columns: minmax(190px,.72fr) minmax(0,1.55fr) auto;
    gap: 1rem;
    min-height: 132px;
    padding: 1rem;
}
.ih-preference-row__facts { border-inline-color: var(--ihx-line); }
.ih-preference-row__facts > div { padding: .65rem; }
.ih-preference-row__actions { justify-content: center; }

/* --------------------------------------------------------------------------
   Interests
   -------------------------------------------------------------------------- */
.interest-filter-bar,
.operations-filter-bar,
.admin-filter-grid {
    display: grid !important;
    grid-template-columns: minmax(220px,1.3fr) repeat(2,minmax(145px,.65fr)) auto !important;
    gap: .65rem !important;
    align-items: end !important;
    margin: 0 0 1rem !important;
    padding: .85rem !important;
    border: 1px solid var(--ihx-line) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 10px 34px rgba(0,42,64,.035) !important;
}
.operations-filter-bar--compact { grid-template-columns: minmax(220px,1.4fr) minmax(150px,.65fr) auto !important; }
.operations-filter-bar__search { min-width: 0; }
.operations-filter-bar__actions { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.interest-list { display: grid; gap: .8rem; }
.interest-card { padding: 1rem; }
.interest-card__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--ihx-line);
}
.interest-card__title-wrap { min-width: 0; }
.interest-card__title-wrap h2,
.interest-card__title-wrap h3 { margin: .15rem 0; font-size: 1rem; }
.interest-card__eyebrow { color: var(--ihx-teal-deep); font-size: .62rem; font-weight: 820; }
.interest-card__meta { display: flex; flex-wrap: wrap; gap: .4rem .7rem; color: var(--ihx-muted); font-size: .63rem; }
.interest-card__content { display: grid; gap: .8rem; padding-top: .85rem; }
.interest-message,
.interest-investor-bio,
.interest-preference,
.interest-decision-note {
    margin: 0;
    padding: .8rem .9rem;
    border-radius: 11px;
    background: #f7fafb;
    color: var(--ihx-body);
    font-size: .7rem;
    line-height: 1.7;
}
.interest-message { border-inline-start: 3px solid var(--ihx-teal); }
.interest-decision-note { background: #f1f8f8; }
.interest-facts,
.admin-interest-facts,
.interest-owner-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .6rem;
}
.interest-facts > div,
.admin-interest-facts > div,
.interest-owner-grid > div {
    min-width: 0;
    padding: .7rem .75rem;
    border: 1px solid #e8eff1;
    border-radius: 11px;
    background: #fbfcfd;
}
.interest-facts dt,
.admin-interest-facts dt,
.interest-owner-grid dt { color: var(--ihx-muted); font-size: .6rem; }
.interest-facts dd,
.admin-interest-facts dd,
.interest-owner-grid dd { margin: .15rem 0 0; color: var(--ihx-ink); font-size: .72rem; font-weight: 760; overflow-wrap: anywhere; }
.interest-facts--stacked,
.admin-interest-facts--stacked { grid-template-columns: 1fr; }
.interest-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .8rem;
    margin-top: .8rem;
    padding-top: .8rem;
    border-top: 1px solid var(--ihx-line);
}
.interest-card__footer-copy { min-width: 0; color: var(--ihx-muted); font-size: .66rem; }
.interest-card__actions,
.interest-card__actions--owner,
.interest-review-form__actions { display: flex; gap: .45rem; flex-wrap: wrap; }
.interest-review-form { display: grid; gap: .65rem; }
.interest-empty {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: 1.4rem;
    text-align: center;
}
.interest-empty__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
    font-size: 1.2rem;
}

/* --------------------------------------------------------------------------
   Owner opportunity editor / management
   -------------------------------------------------------------------------- */
.opportunity-editor { display: grid; gap: 1rem; }
.opportunity-feedback {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    gap: .75rem;
    padding: .8rem .9rem;
    border: 1px solid #e8d7ab;
    border-radius: 13px;
    background: #fff9ec;
    color: #765b1a;
}
.opportunity-feedback > i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #ffefc6;
}
.opportunity-summary-grid { margin-bottom: 1rem; }
.opportunity-details-list,
.verification-details-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .6rem;
    margin: 0;
    border: 0;
}
.opportunity-details-list > div,
.verification-details-list > div {
    min-width: 0;
    padding: .7rem .75rem;
    border: 1px solid #e4ecee;
    border-radius: 11px;
    background: #f9fbfc;
}
.opportunity-details-list__wide { grid-column: 1 / -1; }
.opportunity-details-list dt,
.verification-details-list dt { color: var(--ihx-muted); font-size: .61rem; font-weight: 740; }
.opportunity-details-list dd,
.verification-details-list dd { margin: .15rem 0 0; color: var(--ihx-ink); font-size: .72rem; font-weight: 720; line-height: 1.55; overflow-wrap: anywhere; }
.opportunity-document-list { display: grid; gap: .6rem; }
.opportunity-document-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem .8rem;
    border: 1px solid var(--ihx-line);
    border-radius: 12px;
    background: #fff;
}
.opportunity-document-card__meta { min-width: 0; }
.opportunity-document-card__meta strong { display: block; overflow: hidden; color: var(--ihx-ink); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.opportunity-document-card__meta span { display: block; margin-top: .1rem; color: var(--ihx-muted); font-size: .61rem; }
.opportunity-document-card__actions { display: flex; gap: .4rem; flex-wrap: wrap; }
.opportunity-upload-grid {
    display: grid;
    grid-template-columns: minmax(150px,.8fr) minmax(140px,.65fr) minmax(220px,1.3fr) auto;
    gap: .65rem;
    align-items: end;
    margin-top: .8rem;
    padding-top: .8rem;
    border-top: 1px solid var(--ihx-line);
}
.opportunity-upload-grid__file { min-width: 0; }
.opportunity-checklist-missing { display: grid; gap: .25rem; margin-top: .55rem; color: var(--ihx-muted); font-size: .67rem; }
.opportunity-submit-panel,
.opportunity-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .95rem 1rem;
}
.opportunity-submit-panel h2,
.opportunity-danger-zone h2 { margin: 0; font-size: .92rem; }
.opportunity-submit-panel p,
.opportunity-danger-zone p { margin: .22rem 0 0; color: var(--ihx-muted); font-size: .67rem; }
.opportunity-danger-zone { border-color: #efc4c8 !important; background: #fffafa !important; }
.opportunity-danger-zone h2 { color: #91363e; }
.opportunity-sticky-panel,
.opportunity-admin-sidebar { position: sticky; inset-block-start: 88px; }

/* --------------------------------------------------------------------------
   Admin operations, tables and detail screens
   -------------------------------------------------------------------------- */
.ih-operations-page,
.ih-dashboard-page--admin { display: grid; gap: 1rem; }
.ih-operations-toolbar {
    border-color: var(--ihx-line);
    border-radius: 16px;
    box-shadow: 0 10px 34px rgba(0,42,64,.035);
}
.ih-operations-toolbar > form {
    grid-template-columns: minmax(260px,1.2fr) repeat(2,minmax(150px,.58fr)) auto auto;
    gap: .65rem;
    padding: .85rem;
}
.ih-operations-search {
    min-height: 48px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    border: 1px solid var(--ihx-line-strong);
    border-radius: 10px;
    background: #fff;
}
.ih-operations-search i { display: grid; place-items: center; color: #819297; }
.ih-operations-search input { min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; color: var(--ihx-ink); }
.ih-toolbar-reset { align-self: center; color: var(--ihx-muted); font-size: .68rem; font-weight: 760; }

.ih-data-panel,
.dashboard-panel { overflow: visible; }
.ih-data-panel {
    border-color: var(--ihx-line);
    border-radius: 18px;
    box-shadow: 0 12px 38px rgba(0,42,64,.04);
}
.ih-data-panel__head { padding: .75rem .9rem; color: var(--ihx-muted); }
.table-responsive { border-radius: inherit; }
.admin-data-table,
.ih-data-table,
.opportunity-table { margin: 0; }
.admin-data-table thead th,
.ih-data-table thead th,
.opportunity-table thead th {
    padding: .7rem .8rem;
    border-bottom: 1px solid var(--ihx-line);
    background: #f6f9fa;
    color: #697c82;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}
html[lang="ar"] :is(.admin-data-table,.ih-data-table,.opportunity-table) thead th { letter-spacing: 0; }
.admin-data-table tbody td,
.ih-data-table tbody td,
.opportunity-table tbody td {
    padding: .78rem .8rem;
    border-color: #e7eef0;
    color: var(--ihx-body);
    font-size: .69rem;
    vertical-align: middle;
}
.admin-clickable-row { cursor: pointer; transition: background .18s ease; }
.admin-clickable-row:hover { background: #f0f8f8 !important; }
.table-subtext { display: block; margin-top: .12rem; color: var(--ihx-muted); font-size: .61rem; }
.audit-metadata { display: block; max-width: 26rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .61rem; }
.operations-inline-action { display: inline-flex; align-items: center; gap: .35rem; }

.admin-interest-status-strip {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .65rem;
    margin-bottom: 1rem;
}
.admin-interest-status-card { padding: .8rem .9rem; }
.admin-interest-status-card span { display: block; color: var(--ihx-muted); font-size: .6rem; }
.admin-interest-status-card strong { display: block; margin-top: .18rem; color: var(--ihx-ink); font-size: .76rem; }
.admin-interest-detail-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(270px,320px);
    gap: 1rem;
    align-items: start;
}
.admin-interest-detail-main,
.admin-interest-detail-side { display: grid; gap: .8rem; min-width: 0; }
.admin-interest-detail-side { position: sticky; inset-block-start: 88px; }
.admin-interest-detail-panel .admin-interest-detail-hero { padding: 0; background: transparent; color: inherit; }
.admin-interest-message,
.admin-interest-note {
    padding: .75rem .85rem;
    border: 1px solid #e6edef;
    border-radius: 11px;
    background: #f8fafb;
    color: var(--ihx-body);
    font-size: .69rem;
    line-height: 1.7;
}
.admin-interest-note--danger { border-color: #efc6c9; background: #fff4f5; color: #8f3c43; }
.admin-interest-timeline { display: grid; gap: .55rem; }
.admin-interest-timeline > * { position: relative; padding-inline-start: 1.2rem; }
.admin-interest-timeline > *::before {
    content: "";
    position: absolute;
    inset-inline-start: .1rem;
    inset-block-start: .55rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ihx-teal);
    box-shadow: 0 0 0 4px #e1f5f4;
}
.admin-interest-data-room-head { display: flex; justify-content: space-between; gap: .7rem; align-items: center; }
.admin-interest-facts--two { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Generic legacy stat / step components */
.dashboard-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }
.dashboard-stat-card {
    min-height: 118px;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: .75rem;
    align-items: center;
    padding: .9rem;
    border: 1px solid var(--ihx-line);
    border-radius: 15px;
    background: #fff;
}
.dashboard-stat-card__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
}
.dashboard-stat-card__body { min-width: 0; }
.dashboard-stat-card__label { display: block; color: var(--ihx-muted); font-size: .61rem; }
.dashboard-stat-card__value { display: block; margin-top: .15rem; color: var(--ihx-ink); font-size: 1.35rem; font-weight: 780; }
.dashboard-stat-card--accent { background: linear-gradient(145deg,#002b40,#00485a); border-color: transparent; }
.dashboard-stat-card--accent :is(.dashboard-stat-card__label,.dashboard-stat-card__value) { color: #fff; }
.dashboard-stat-card--success .dashboard-stat-card__icon { background: #e7f7f1; color: #08745c; }
.dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.dashboard-step { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: .7rem; align-items: center; padding: .75rem 0; border-top: 1px solid var(--ihx-line); }
.dashboard-step:first-child { border-top: 0; }
.dashboard-step__number { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #eef6f7; color: var(--ihx-teal-deep); font-size: .65rem; font-weight: 850; }
.dashboard-step__copy strong { display: block; color: var(--ihx-ink); font-size: .72rem; }
.dashboard-step__copy span { display: block; margin-top: .12rem; color: var(--ihx-muted); font-size: .61rem; }
.dashboard-step__state { color: var(--ihx-teal-deep); font-size: .64rem; font-weight: 760; }
.dashboard-security-list { display: grid; gap: .55rem; }
.dashboard-security-item { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: .65rem; align-items: start; padding: .7rem; border: 1px solid var(--ihx-line); border-radius: 12px; background: #fafcfc; }
.dashboard-security-item > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--ihx-surface-tint); color: var(--ihx-teal-deep); }

/* --------------------------------------------------------------------------
   Control center / CMS refinements
   -------------------------------------------------------------------------- */
.ih-control-center { gap: .85rem; }
.ih-control-nav {
    position: sticky;
    inset-block-start: 78px;
    z-index: 20;
    gap: .3rem;
    padding: .4rem;
    border-radius: 15px;
    box-shadow: 0 10px 34px rgba(0,42,64,.05);
}
.ih-control-nav a { min-height: 40px; border-radius: 10px; }
.ih-control-create,
.ih-control-list { border-radius: 18px; }
.ih-control-form { gap: .75rem; }
.ih-control-form--embedded { background: #f8fafb; }
.ih-control-row { border-radius: 13px; }
.ih-control-row > summary { min-height: 58px; }
.ih-control-row[open] { box-shadow: 0 12px 34px rgba(0,42,64,.05); }
.ih-feature-grid,
.ih-risk-grid,
.ih-weight-grid { gap: .75rem; }
.ih-feature-switch {
    border-color: var(--ihx-line);
    border-radius: 14px;
    box-shadow: none;
}
.ih-cms-section-card { border-radius: 18px; overflow: hidden; }
.ih-cms-section-card > header { background: linear-gradient(90deg,#f3f9f9,#fff); }
.ih-cms-section-card__toolbar { padding: .65rem .8rem; }
.ih-cms-item { border-radius: 12px; }
.ih-cms-media-list__preview { border-radius: 10px; overflow: hidden; }

/* --------------------------------------------------------------------------
   Alerts, badges, pagination, menus
   -------------------------------------------------------------------------- */
.ih-app-content .alert {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .78rem .9rem;
    border-radius: 12px;
    font-size: .7rem;
    line-height: 1.55;
}
.ih-app-content .alert ul { margin-top: .25rem; }
.ih-app-content .alert-success { border-color: #bde5da; background: #eff9f5; color: #17644d; }
.ih-app-content .alert-danger { border-color: #efc5c9; background: #fff4f5; color: #913a43; }

.account-status,
.opportunity-status,
.verification-status,
.interest-status,
.data-room-status {
    min-height: 28px;
    padding: .34rem .6rem;
    border-width: 1px;
    font-size: .61rem;
    line-height: 1;
}

.ih-pagination,
.ih-data-panel__pagination { margin-top: .85rem; }
.ih-data-panel__pagination { padding: .8rem; border-top: 1px solid var(--ihx-line); }
.pagination { gap: .3rem; margin: 0; }
.page-link {
    min-width: 36px;
    min-height: 36px;
    display: grid;
    place-items: center;
    border-color: var(--ihx-line);
    border-radius: 9px !important;
    color: var(--ihx-body);
    font-size: .68rem;
}
.page-item.active .page-link { background: var(--ihx-teal-deep); border-color: var(--ihx-teal-deep); }

.ih-action-menu { position: relative; }
.ih-action-menu > summary {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ihx-line);
    border-radius: 9px;
    background: #fff;
    color: var(--ihx-body);
    list-style: none;
    cursor: pointer;
}
.ih-action-menu > summary::-webkit-details-marker { display: none; }
.ih-action-menu__popover {
    z-index: 50;
    min-width: 220px;
    padding: .45rem;
    border: 1px solid var(--ihx-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 52px rgba(0,42,64,.14);
}
.ih-action-menu__popover > a { min-height: 38px; display: flex; align-items: center; gap: .55rem; padding: .55rem .65rem; border-radius: 8px; color: var(--ihx-body); font-size: .68rem; }
.ih-action-menu__popover > a:hover { background: #f1f8f8; color: var(--ihx-teal-deep); }
.ih-action-menu__popover form { padding: .6rem; border-top: 1px solid var(--ihx-line); }

/* --------------------------------------------------------------------------
   Auth polish and icon alignment
   -------------------------------------------------------------------------- */
.auth-shell { grid-template-columns: minmax(390px,.82fr) minmax(500px,1.18fr); }
.auth-brand-panel { padding: clamp(2rem,3.5vw,3.5rem); }
.auth-brand-copy h1 { max-width: 11ch; font-size: clamp(2.8rem,4.7vw,5rem); }
.auth-form-panel { padding: clamp(1.25rem,3vw,3rem); }
.auth-form-wrap { width: min(100%, 600px); }
.auth-form-card { padding: clamp(1.2rem,2.4vw,2rem); border-radius: 20px; }
.auth-heading { margin-bottom: 1.25rem; }
.auth-heading h2 { font-size: clamp(1.65rem,2.7vw,2.25rem); }
.auth-heading p { font-size: .8rem; }
.auth-form { gap: .85rem; }
.auth-input-wrap { position: relative; }
.auth-input-wrap > i {
    position: absolute;
    inset-inline-start: .9rem;
    inset-block-start: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    color: #72868b;
    line-height: 1;
}
.auth-input-wrap > .form-control { padding-inline-start: 2.55rem; }
.auth-input-wrap--action > .form-control { padding-inline-end: 3rem; }
.auth-input-action {
    position: absolute;
    inset-inline-end: .45rem;
    inset-block-start: 50%;
    z-index: 3;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #72868b;
}
.auth-input-action:hover { background: #eef5f6; color: var(--ihx-teal-deep); }
.role-choice-grid { gap: .65rem; }
.role-choice__card { min-height: 104px; border-radius: 14px; }

/* Icon baseline normalization across the product. */
:is(.btn,.dashboard-eyebrow,.dashboard-back-link,.panel-heading-row,.dashboard-panel__head,.data-room-security-note,.data-room-usage-note,.verification-document-state,.interest-card__meta,.ih-text-action,.ih-topbar-link,.ih-side-nav__link) > .bi,
:is(.btn,.dashboard-eyebrow,.dashboard-back-link,.panel-heading-row,.dashboard-panel__head,.data-room-security-note,.data-room-usage-note,.verification-document-state,.interest-card__meta,.ih-text-action,.ih-topbar-link,.ih-side-nav__link) .bi {
    flex: 0 0 auto;
    line-height: 1;
    vertical-align: -.12em;
}

/* --------------------------------------------------------------------------
   Motion hooks (added progressively by product-experience.js)
   -------------------------------------------------------------------------- */
.js-product-motion [data-product-reveal] {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .48s var(--ih7-ease), transform .48s var(--ih7-ease), box-shadow .2s ease;
    transition-delay: var(--product-delay, 0ms);
}
.js-product-motion [data-product-reveal].is-visible { opacity: 1; transform: none; }

@media (hover:hover) and (pointer:fine) {
    .profile-section:hover,
    .verification-document-card:hover,
    .interest-card:hover,
    .opportunity-section:hover,
    .dashboard-panel:hover {
        border-color: #c5d8dc !important;
        box-shadow: 0 16px 46px rgba(0,42,64,.055) !important;
    }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1279.98px) {
    :root { --ih7-sidebar: 250px; }
    .profile-layout { grid-template-columns: minmax(0,1fr) 280px; }
    .admin-interest-detail-grid { grid-template-columns: minmax(0,1fr) 285px; }
    .opportunity-upload-grid { grid-template-columns: 1fr 1fr; }
    .opportunity-upload-grid__file { grid-column: 1 / -1; }
}

@media (max-width: 1099.98px) {
    .profile-layout,
    .admin-interest-detail-grid,
    .admin-review-grid,
    .opportunity-admin-review-grid { grid-template-columns: 1fr; }
    .profile-aside,
    .admin-interest-detail-side,
    .admin-review-panel,
    .opportunity-sticky-panel,
    .opportunity-admin-sidebar { position: static; }
    .profile-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-interest-detail-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ih-operations-toolbar > form,
    .interest-filter-bar,
    .operations-filter-bar,
    .admin-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .ih-operations-toolbar > form > :first-child,
    .interest-filter-bar > :first-child,
    .operations-filter-bar > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 991.98px) {
    .ih-app-sidebar { width: min(320px, 88vw); transform: translateX(-105%); }
    [dir="rtl"] .ih-app-sidebar { transform: translateX(105%); }
    .ih-app-sidebar.is-open { transform: translateX(0); }
    .ih-app-main { margin-inline-start: 0; }
    .ih-app-content { width: min(calc(100% - 28px), 1460px); padding-top: 1rem; }
    .dashboard-hero,
    .interest-hero,
    .data-room-hero,
    .preference-hero,
    .verification-hero,
    .opportunity-hero { grid-template-columns: 1fr; min-height: 0; }
    .dashboard-hero__actions { justify-content: flex-start; }
    .dashboard-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .verification-summary-grid,
    .opportunity-summary-grid { grid-template-columns: 1fr 1fr; }
    .admin-interest-status-strip { grid-template-columns: 1fr 1fr; }
    .interest-owner-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767.98px) {
    .ih-app-topbar { min-height: 64px; }
    .ih-app-content { width: min(calc(100% - 20px), 1460px); padding-block: .75rem 2rem; }
    .ih-app-content > * + * { margin-top: .75rem; }

    .dashboard-hero,
    .interest-hero,
    .data-room-hero,
    .preference-hero,
    .verification-hero,
    .opportunity-hero {
        padding: 1.2rem !important;
        border-radius: 18px !important;
    }
    .dashboard-hero__copy h1,
    .interest-hero h1,
    .data-room-hero h1,
    .preference-hero h1,
    .verification-hero h1,
    .opportunity-hero h1 { font-size: clamp(1.65rem, 8.2vw, 2.4rem); }

    .dashboard-panel,
    .profile-section,
    .verification-panel,
    .data-room-documents,
    .opportunity-section,
    .preference-form-panel,
    .admin-review-panel,
    .admin-interest-detail-panel { padding: .9rem; }

    .profile-aside,
    .admin-interest-detail-side,
    .opportunity-form-grid,
    .verification-summary-grid,
    .opportunity-summary-grid,
    .verification-details-list,
    .opportunity-details-list,
    .interest-facts,
    .admin-interest-facts,
    .interest-owner-grid,
    .dashboard-grid,
    .dashboard-stat-grid,
    .admin-interest-status-strip { grid-template-columns: 1fr; }

    .verification-file-row,
    .data-room-state-card,
    .data-room-document,
    .opportunity-document-card { grid-template-columns: 42px minmax(0,1fr); }
    .verification-file-row__actions,
    .data-room-state-card__action,
    .data-room-document > :last-child,
    .opportunity-document-card__actions { grid-column: 1 / -1; }
    .verification-file-row__actions,
    .opportunity-document-card__actions { width: 100%; }
    .verification-file-row__actions > *,
    .opportunity-document-card__actions > * { flex: 1 1 auto; }

    .verification-upload-form,
    .verification-submit-panel,
    .data-room-decision__form,
    .data-room-revoke__form,
    .opportunity-upload-grid { grid-template-columns: 1fr; }
    .opportunity-upload-grid__file { grid-column: auto; }

    .opportunity-submit-panel,
    .opportunity-danger-zone,
    .preference-danger-zone,
    .interest-card__header,
    .interest-card__footer,
    .dashboard-panel__head,
    .panel-heading-row { align-items: flex-start; flex-direction: column; }

    .ih-operations-toolbar > form,
    .interest-filter-bar,
    .operations-filter-bar,
    .admin-filter-grid { grid-template-columns: 1fr !important; }
    .ih-operations-toolbar > form > *,
    .interest-filter-bar > *,
    .operations-filter-bar > * { grid-column: auto !important; }

    .profile-actions,
    .opportunity-savebar,
    .preference-form-actions { inset-block-end: .35rem; }
    .profile-actions .btn,
    .opportunity-savebar .btn,
    .preference-form-actions .btn { flex: 1 1 auto; }

    .ih-control-nav { inset-block-start: 66px; margin-inline: -.1rem; }
    .ih-control-form,
    .ih-control-form--compact { grid-template-columns: 1fr !important; }
    .ih-control-form__wide { grid-column: auto !important; }

    /* Responsive data tables: JS adds data-label from the current header. */
    .product-table-cards { overflow: visible !important; }
    .product-table-cards table { display: block; }
    .product-table-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
    .product-table-cards tbody { display: grid; gap: .7rem; }
    .product-table-cards tbody tr {
        display: grid;
        gap: 0;
        padding: .35rem .8rem;
        border: 1px solid var(--ihx-line);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(0,42,64,.035);
    }
    .product-table-cards tbody td {
        min-width: 0 !important;
        display: grid;
        grid-template-columns: minmax(90px,.72fr) minmax(0,1.28fr);
        gap: .75rem;
        align-items: center;
        padding: .62rem 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #edf1f2 !important;
        white-space: normal !important;
        text-align: start !important;
    }
    .product-table-cards tbody td:last-child { border-bottom: 0 !important; }
    .product-table-cards tbody td::before {
        content: attr(data-label);
        color: var(--ihx-muted);
        font-size: .59rem;
        font-weight: 760;
    }
    .product-table-cards tbody td[colspan] { grid-template-columns: 1fr; }
    .product-table-cards tbody td[colspan]::before { display: none; }
}

@media (max-width: 575.98px) {
    .profile-aside { grid-template-columns: 1fr; }
    .dashboard-hero__actions,
    .data-room-decision__actions,
    .interest-card__actions,
    .interest-card__actions--owner { width: 100%; }
    .dashboard-hero__actions .btn,
    .data-room-decision__actions .btn,
    .interest-card__actions .btn,
    .interest-card__actions--owner .btn { flex: 1 1 100%; }
    .auth-form-card { padding: 1rem; border-radius: 16px; }
    .role-choice-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .js-product-motion [data-product-reveal] { opacity: 1; transform: none; transition: none; }
}

/* --------------------------------------------------------------------------
   Variant completion: every custom dashboard/auth primitive has a V7.2 skin.
   -------------------------------------------------------------------------- */
.otp-code-input {
    direction: ltr;
    text-align: center;
    letter-spacing: .42em;
    font-variant-numeric: tabular-nums;
    font-weight: 820;
}
.interest-card--owner { border-inline-start: 3px solid var(--ihx-teal) !important; }
.ih-panel--table { padding: 0; overflow: hidden; }
.ih-panel--table .ih-panel__head { margin: 0; padding: 1rem 1.1rem; }
.ih-panel--performance { background: linear-gradient(180deg,#fff,#fbfdfd); }
.ih-panel--activity { background: #fff; }
.ih-opportunity-performance { display: grid; gap: .55rem; }
.ih-recommendation-panel { overflow: hidden; }
.ih-matches-results { min-width: 0; }
.ih-kpi-grid--owner .ih-kpi-grid__primary { background: linear-gradient(145deg,#002b40,#005e5a); }
.ih-match-total {
    display: inline-grid;
    min-width: 54px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
    font-size: .8rem;
    font-weight: 850;
}
.ih-cms-adder {
    padding: .85rem;
    border: 1px dashed var(--ihx-line-strong);
    border-radius: 12px;
    background: #fbfdfd;
}

/* Small shared product details missed by the former page-specific bundles. */
.preference-fit-divider > span { flex: 0 0 auto; color: var(--ihx-ink); }
.preference-fit-divider > p { margin: 0; color: var(--ihx-muted); font-size: .66rem; font-weight: 520; }
.preference-active-switch .form-check-label { display: grid; gap: .12rem; }
.preference-active-switch .form-check-label strong { color: var(--ihx-ink); font-size: .73rem; }
.preference-active-switch .form-check-label span { color: var(--ihx-muted); font-size: .65rem; font-weight: 500; }
.interest-whatsapp-form { margin: 0; }
.interest-whatsapp-form .btn-success {
    --bs-btn-bg: #159455;
    --bs-btn-border-color: #159455;
    --bs-btn-hover-bg: #0f7f49;
    --bs-btn-hover-border-color: #0f7f49;
}
.interest-whatsapp-unavailable {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    max-width: 22rem;
    padding: .55rem .7rem;
    border: 1px solid var(--ihx-line);
    border-radius: 10px;
    background: #f7fafb;
    color: var(--ihx-muted);
    font-size: .67rem;
}

/* Density and upload polish. */
.ih-app-content .row.g-4 { --bs-gutter-x: .9rem; --bs-gutter-y: .85rem; }
.ih-app-content .row.g-3 { --bs-gutter-x: .75rem; --bs-gutter-y: .7rem; }
.ih-app-content input[type="file"].form-control { padding-block: .48rem; font-size: .72rem; }
.ih-app-content input[type="file"].form-control.has-file { border-color: #8cc9c6; background: #f2fbfa; }
.ih-app-content :is(.profile-section,.preference-form-panel,.opportunity-section) > .row:first-child { margin-top: 0; }

/* Compact visual hierarchy for operational page sections. */
.dashboard-panel__head,
.panel-heading-row {
    position: relative;
    padding-inline-start: .85rem;
}

.dashboard-panel__head::before,
.panel-heading-row::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;

    width: 4px;
    height: 28px;

    border-radius: 999px;
    background: linear-gradient(
        180deg,
        var(--ihx-teal),
        var(--ihx-purple)
    );
}
.profile-section__head > span + div { min-width: 0; }
.profile-section__head::before { display: none; }

@media (max-width: 767.98px) {
    .dashboard-panel__head,
    .panel-heading-row {
        padding-inline-start: 0;
        padding-block-start: .7rem;
    }

    .dashboard-panel__head::before,
    .panel-heading-row::before {
        inset-inline-start: 0;
        inset-block-start: 0;
        width: 26px;
        height: 3px;
    }
}
/* --------------------------------------------------------------------------
   Platform Control Center polish — 2026-09-08
   Landing page CMS + Matching Engine
   -------------------------------------------------------------------------- */
.ih-control-center--landing,
.ih-control-center--matching {
    min-width: 0;
}

/* Keep the platform navigation useful without letting it dominate the screen. */
.ih-control-center--landing .ih-control-nav,
.ih-control-center--matching .ih-control-nav {
    padding: .35rem;
    border-radius: 14px;
}

.ih-control-center--landing .ih-control-nav a,
.ih-control-center--matching .ih-control-nav a {
    min-height: 40px;
    padding: .58rem .78rem;
    font-size: .68rem;
}

/* Landing page CMS: compact section cards with a proper information hierarchy. */
.ih-control-center--landing .ih-cms-builder {
    gap: 1rem;
}

.ih-control-center--landing .ih-cms-section-card {
    min-width: 0;
    overflow: hidden;
}

.ih-control-center--landing .ih-cms-section-card.is-inactive {
    opacity: .72;
}

.ih-control-center--landing .ih-cms-section-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: center;
    padding: 1rem 1.1rem .9rem;
    border-bottom: 1px solid var(--ihx-line);
}

.ih-control-center--landing .ih-cms-section-card__handle {
    display: grid;
    grid-template-columns: 34px 18px;
    gap: .25rem;
    align-items: center;
    align-self: stretch;
}

.ih-control-center--landing .ih-cms-section-card__handle span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--ihx-line);
    border-radius: 10px;
    background: #fff;
    color: var(--ihx-teal-deep);
    font-size: .7rem;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}

.ih-control-center--landing .ih-cms-section-card__handle i {
    color: var(--ihx-muted);
    font-size: 1rem;
}

.ih-control-center--landing .ih-cms-section-card__identity {
    min-width: 0;
}

.ih-control-center--landing .ih-cms-section-card__identity small {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem;
    margin-bottom: .22rem;
    color: var(--ihx-muted);
    font-size: .66rem;
    line-height: 1.4;
}

.ih-control-center--landing .ih-cms-section-card__identity code {
    padding: .12rem .35rem;
    border: 1px solid var(--ihx-line);
    border-radius: 999px;
    background: #fff;
    color: var(--ihx-teal-deep);
    font-size: .6rem;
}

.ih-control-center--landing .ih-cms-section-card__identity h2 {
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    color: var(--ihx-ink);
    font-size: clamp(1.02rem, 1.45vw, 1.3rem);
    font-weight: 720;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.ih-control-center--landing .ih-cms-section-card__status {
    justify-content: flex-end;
    color: var(--ihx-muted);
    font-size: .65rem;
    white-space: nowrap;
}

.ih-control-center--landing .ih-cms-section-card__toolbar {
    justify-content: flex-start;
    gap: .45rem;
    padding: .55rem .8rem;
    overflow-x: auto;
}

.ih-control-center--landing .ih-cms-section-card__toolbar > a,
.ih-control-center--landing .ih-cms-section-card__toolbar > span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .32rem;
    min-height: 30px;
    padding: .32rem .55rem;
    border: 1px solid var(--ihx-line);
    border-radius: 999px;
    background: #fff;
    color: var(--ihx-muted);
    font-size: .63rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.ih-control-center--landing .ih-cms-section-card__toolbar > a {
    color: var(--ihx-teal-deep);
}

.ih-control-center--landing .ih-cms-section-card__toolbar > span:last-child {
    margin-inline-start: auto;
}

/* Section settings accordion. */
.ih-control-center--landing .ih-cms-editor {
    display: block;
    padding: 0;
}

.ih-control-center--landing .ih-cms-editor > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 46px;
    padding: .68rem 1rem;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    list-style: none;
    color: var(--ihx-teal-deep);
    font-size: .7rem;
    font-weight: 760;
}

.ih-control-center--landing .ih-cms-editor > summary::-webkit-details-marker,
.ih-control-center--landing .ih-cms-content-editor > summary::-webkit-details-marker,
.ih-control-center--landing .ih-cms-item > summary::-webkit-details-marker,
.ih-control-center--landing .ih-cms-adder > summary::-webkit-details-marker {
    display: none;
}

.ih-control-center--landing .ih-cms-editor[open] > summary {
    border-bottom-color: var(--ihx-line);
    background: #fbfdfd;
}

.ih-control-center--landing .ih-cms-editor > summary i,
.ih-control-center--landing .ih-cms-content-editor__chevron {
    transition: transform .18s ease;
}

.ih-control-center--landing .ih-cms-editor[open] > summary i,
.ih-control-center--landing .ih-cms-content-editor[open] .ih-cms-content-editor__chevron {
    transform: rotate(180deg);
}

.ih-control-center--landing .ih-control-form--embedded {
    padding: 1rem;
    border-top: 0;
}

/* Items/media are collapsed by default so each landing section stays scannable. */
.ih-control-center--landing .ih-cms-content-editor {
    border-top: 1px solid var(--ihx-line);
}

.ih-control-center--landing .ih-cms-content-editor > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .75rem;
    align-items: center;
    min-height: 50px;
    padding: .72rem 1rem;
    cursor: pointer;
    list-style: none;
    background: #fff;
}

.ih-control-center--landing .ih-cms-content-editor > summary > span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    color: var(--ihx-ink);
    font-size: .72rem;
    font-weight: 760;
}

.ih-control-center--landing .ih-cms-content-editor > summary > small {
    color: var(--ihx-muted);
    font-size: .62rem;
}

.ih-control-center--landing .ih-cms-content-editor[open] > summary {
    background: #f7faf9;
}

.ih-control-center--landing .ih-cms-subgrid {
    gap: .85rem;
    padding: .9rem 1rem 1rem;
    border-top: 1px solid var(--ihx-line);
    background: #f8faf9;
}

.ih-control-center--landing .ih-cms-subgrid > section {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--ihx-line);
    border-radius: 14px;
    background: #fff;
}

.ih-control-center--landing .ih-cms-subgrid > section > header {
    margin-bottom: .65rem;
}

.ih-control-center--landing .ih-cms-subgrid > section > header small {
    display: block;
    margin-bottom: .1rem;
    color: var(--ihx-muted);
    font-size: .61rem;
}

.ih-control-center--landing .ih-cms-subgrid > section > header h3 {
    margin: 0;
    color: var(--ihx-ink);
    font-size: .96rem;
    font-weight: 760;
    line-height: 1.2;
}

/* Repeatable items: title/key/icon no longer run into each other. */
.ih-control-center--landing .ih-cms-items {
    gap: .55rem;
}

.ih-control-center--landing .ih-cms-item {
    padding: 0;
    overflow: hidden;
    background: #fff;
}

.ih-control-center--landing .ih-cms-item > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    min-height: 48px;
    padding: .7rem .8rem;
    cursor: pointer;
    list-style: none;
}

.ih-control-center--landing .ih-cms-item > summary > span {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.ih-control-center--landing .ih-cms-item > summary strong {
    overflow: hidden;
    color: var(--ihx-ink);
    font-size: .7rem;
    font-weight: 760;
    text-overflow: ellipsis;
}

.ih-control-center--landing .ih-cms-item > summary code {
    padding: .12rem .34rem;
    border-radius: 999px;
    background: var(--ihx-surface-tint);
    color: var(--ihx-teal-deep);
    font-size: .58rem;
    white-space: nowrap;
}

.ih-control-center--landing .ih-cms-item > summary > i {
    flex: 0 0 auto;
    color: var(--ihx-muted);
}

.ih-control-center--landing .ih-cms-item[open] > summary {
    border-bottom: 1px solid var(--ihx-line);
    background: #fbfdfd;
}

.ih-control-center--landing .ih-cms-item > form {
    padding: .85rem;
}

.ih-control-center--landing .ih-cms-adder {
    margin-top: .55rem;
    padding: 0;
    overflow: hidden;
}

.ih-control-center--landing .ih-cms-adder > summary {
    display: flex;
    align-items: center;
    gap: .42rem;
    min-height: 46px;
    padding: .7rem .8rem;
    cursor: pointer;
    list-style: none;
    color: var(--ihx-teal-deep);
    font-size: .69rem;
    font-weight: 700;
}

.ih-control-center--landing .ih-cms-adder[open] > summary {
    border-bottom: 1px dashed var(--ihx-line-strong);
    background: #fbfdfd;
}

.ih-control-center--landing .ih-cms-adder > form {
    padding: .85rem;
}

.ih-control-center--landing .ih-cms-media-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.ih-control-center--landing .ih-cms-media-list > article {
    min-width: 0;
}

.ih-control-center--landing .ih-cms-media-list__preview {
    display: grid;
    min-height: 120px;
    place-items: center;
    overflow: hidden;
    background: #f2f7f6;
    color: var(--ihx-teal-deep);
    font-size: 1.4rem;
}

.ih-control-center--landing .ih-cms-media-list__preview img,
.ih-control-center--landing .ih-cms-media-list__preview video {
    width: 100%;
    height: 120px;
    object-fit: cover;
}

/* Matching engine: cards replace the cramped single-line controls. */
.ih-control-center--matching .ih-matching-form {
    display: grid;
    gap: 1rem;
}

.ih-control-center--matching .ih-matching-panel {
    margin: 0;
}

.ih-control-center--matching .ih-weight-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.ih-control-center--matching .ih-weight-card,
.ih-control-center--matching .ih-match-setting-card,
.ih-control-center--matching .ih-risk-card {
    min-width: 0;
    padding: .82rem;
    border: 1px solid var(--ihx-line);
    border-radius: 12px;
    background: #fbfdfd;
}

.ih-control-center--matching .ih-weight-card {
    display: grid;
    gap: .65rem;
}

.ih-control-center--matching .ih-weight-card__label,
.ih-control-center--matching .ih-match-setting-card > span,
.ih-control-center--matching .ih-risk-card > span {
    display: block;
    color: var(--ihx-ink);
    font-size: .68rem;
    font-weight: 760;
    line-height: 1.35;
}

.ih-control-center--matching .ih-weight-card__controls {
    display: grid;
    gap: .5rem;
}

.ih-control-center--matching .ih-weight-card .form-range {
    margin: .1rem 0 0;
}

.ih-control-center--matching .ih-weight-card .input-group {
    width: 108px;
}

.ih-control-center--matching .ih-match-threshold-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    max-width: 760px;
}

.ih-control-center--matching .ih-match-setting-card {
    display: grid;
    gap: .5rem;
}

.ih-control-center--matching .ih-risk-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.ih-control-center--matching .ih-risk-card {
    display: grid;
    gap: .5rem;
}

.ih-control-center--matching .ih-match-total.is-invalid {
    border: 1px solid #e4a5aa;
    background: #fff3f4;
    color: #9b3540;
}

.ih-control-center--matching .ih-control-savebar .btn {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}

@media (max-width: 1199.98px) {
    .ih-control-center--matching .ih-weight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ih-control-center--matching .ih-risk-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .ih-control-center--landing .ih-control-nav,
    .ih-control-center--matching .ih-control-nav {
        position: static;
    }

    .ih-control-center--landing .ih-cms-section-card__head {
        grid-template-columns: auto minmax(0, 1fr);
        padding: .85rem;
    }

    .ih-control-center--landing .ih-cms-section-card__status {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-inline-start: 0;
    }

    .ih-control-center--landing .ih-cms-section-card__toolbar > span:last-child {
        margin-inline-start: 0;
    }

    .ih-control-center--landing .ih-cms-content-editor > summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ih-control-center--landing .ih-cms-content-editor > summary > small {
        display: none;
    }

    .ih-control-center--landing .ih-cms-subgrid,
    .ih-control-center--matching .ih-weight-grid,
    .ih-control-center--matching .ih-match-threshold-grid,
    .ih-control-center--matching .ih-risk-grid {
        grid-template-columns: 1fr;
    }

    .ih-control-center--landing .ih-cms-subgrid {
        padding: .7rem;
    }

    .ih-control-center--landing .ih-cms-media-list {
        grid-template-columns: 1fr;
    }

    .ih-control-center--matching .ih-control-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .ih-control-center--matching .ih-control-savebar .btn {
        justify-content: center;
        width: 100%;
    }
}
