/* ============================================================================
   M&A / Due-Diligence module — premium visual identity.
   Deep indigo→blue with gold accents (high-value deal advisory). Scoped to .mna-page.
   ============================================================================ */
.mna-page {
    --mna-indigo: #18234f;
    --mna-blue:   #2746c4;
    --mna-blue-2: #3a63e0;
    --mna-gold:   #e3b341;
    --mna-gold-d: #c8951f;
    --mna-ink:    #1c2541;
    --mna-soft:   #eef1fb;
    --mna-line:   #e4e8f3;
    color: var(--mna-ink);
}

/* ---------- Hero ---------- */
.mna-hero {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(135deg, #141d44 0%, #21357f 55%, #2746c4 100%);
    box-shadow: 0 18px 40px -18px rgba(24, 35, 79, .55);
}
.mna-hero::after {
    content: "";
    position: absolute; inset: 0;
    background:
        radial-gradient(120% 120% at 100% 0%, rgba(227, 179, 65, .22) 0%, transparent 45%),
        radial-gradient(90% 90% at -10% 110%, rgba(58, 99, 224, .35) 0%, transparent 50%);
    pointer-events: none;
}
.mna-hero-body { position: relative; z-index: 1; padding: 2rem 2.25rem; color: #fff; }
.mna-eyebrow {
    font-size: .72rem; font-weight: 700; letter-spacing: .14em;
    color: var(--mna-gold); margin-bottom: .4rem;
}
.mna-title {
    font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800;
    line-height: 1.1; margin: 0 0 .4rem; letter-spacing: -.01em;
}
.mna-sub { color: rgba(255, 255, 255, .82); max-width: 60ch; font-size: .95rem; }
.mna-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.mna-chip {
    font-size: .76rem; font-weight: 600; color: #fff;
    background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .18);
    padding: .3rem .7rem; border-radius: 999px; backdrop-filter: blur(4px);
}

/* ---------- Buttons ---------- */
.mna-btn-primary, .mna-btn-gold {
    border: 0; border-radius: 10px; font-weight: 700; color: #fff;
    box-shadow: 0 8px 18px -8px rgba(39, 70, 196, .6); transition: transform .12s ease, box-shadow .12s ease;
}
.mna-btn-primary { background: linear-gradient(135deg, var(--mna-blue) 0%, var(--mna-blue-2) 100%); padding: .55rem 1rem; }
.mna-btn-gold {
    background: linear-gradient(135deg, var(--mna-gold) 0%, var(--mna-gold-d) 100%);
    color: #2a1f00; box-shadow: 0 8px 18px -8px rgba(200, 149, 31, .6); padding: .5rem .9rem;
}
.mna-btn-primary:hover, .mna-btn-gold:hover { transform: translateY(-1px); color: #fff; }
.mna-btn-gold:hover { color: #2a1f00; }
.mna-btn-primary:disabled { opacity: .55; transform: none; }

/* ---------- Cards ---------- */
.mna-card {
    border: 1px solid var(--mna-line); border-radius: 16px; background: #fff;
    box-shadow: 0 6px 22px -16px rgba(24, 35, 79, .45); overflow: hidden;
}
.mna-card-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: .9rem 1.25rem; font-weight: 700; color: var(--mna-ink);
    background: linear-gradient(180deg, #fafbff 0%, #f1f4fd 100%);
    border-bottom: 1px solid var(--mna-line);
}
.mna-pill-soft {
    font-size: .72rem; font-weight: 700; color: var(--mna-blue);
    background: var(--mna-soft); border-radius: 999px; padding: .22rem .6rem;
}

/* ---------- Inputs ---------- */
.mna-label { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6b7390; }
.mna-input, .mna-select {
    border: 1px solid var(--mna-line); border-radius: 10px;
}
.mna-input:focus, .mna-select:focus { border-color: var(--mna-blue-2); box-shadow: 0 0 0 .2rem rgba(58, 99, 224, .15); }
.mna-select { max-width: 280px; }
.mna-suggest {
    border: 1px dashed #c6cee8; background: #fff; color: #3a4574;
    font-size: .8rem; border-radius: 999px; padding: .35rem .8rem; transition: all .12s ease; text-align: left;
}
.mna-suggest:hover { border-color: var(--mna-blue-2); background: var(--mna-soft); color: var(--mna-blue); }

/* ---------- Area picker (practitioner deal areas, grouped by phase) ---------- */
.mna-areas { display: flex; flex-direction: column; gap: .75rem; }
.mna-area-group { }
.mna-area-grouplabel {
    font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    color: #9aa1bd; margin-bottom: .4rem;
}
.mna-area-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.mna-area-pill, .mna-area-reset {
    display: inline-flex; align-items: center; gap: .4rem; cursor: pointer;
    border: 1px solid var(--mna-line); background: #fff; color: #44507a;
    font-size: .8rem; font-weight: 600; border-radius: 999px; padding: .35rem .75rem;
    transition: all .12s ease; line-height: 1.2;
}
.mna-area-pill i { color: #9aa1bd; transition: color .12s ease; }
.mna-area-pill:hover { border-color: var(--mna-blue-2); background: var(--mna-soft); color: var(--mna-blue); }
.mna-area-pill:hover i { color: var(--mna-blue); }
.mna-area-pill.active {
    border-color: transparent; color: #fff;
    background: linear-gradient(135deg, var(--mna-blue) 0%, var(--mna-blue-2) 100%);
    box-shadow: 0 6px 14px -8px rgba(39,70,196,.7);
}
.mna-area-pill.active i { color: #fff; }
.mna-area-reset { font-weight: 700; }
.mna-area-reset.active { background: var(--mna-indigo); color: #fff; border-color: transparent; }

/* ---------- Sample questions ---------- */
.mna-samples { display: flex; flex-direction: column; gap: .45rem; }
.mna-sample {
    display: flex; align-items: flex-start; gap: .55rem; text-align: left; width: 100%;
    border: 1px solid var(--mna-line); border-left: 3px solid var(--mna-blue-2);
    background: #fcfdff; color: #3a4574; font-size: .85rem; border-radius: 10px;
    padding: .55rem .8rem; transition: all .12s ease;
}
.mna-sample i { color: var(--mna-blue-2); margin-top: 2px; }
.mna-sample:hover { background: var(--mna-soft); color: var(--mna-blue); transform: translateX(2px); box-shadow: 0 6px 16px -12px rgba(24,35,79,.5); }

/* ---------- Answer / prose ---------- */
.mna-answer { border-top: 3px solid var(--mna-blue-2); }
.mna-prose { line-height: 1.65; font-size: .96rem; }
.mna-prose h1, .mna-prose h2, .mna-prose h3 { font-weight: 700; color: var(--mna-indigo); margin-top: 1.1rem; }
.mna-prose table { width: 100%; font-size: .88rem; border-collapse: collapse; margin: .75rem 0; }
.mna-prose th, .mna-prose td { border: 1px solid var(--mna-line); padding: .45rem .6rem; }
.mna-prose th { background: var(--mna-soft); }
.mna-prose code { background: #f3f5fb; padding: .1rem .35rem; border-radius: 5px; }
.markdown-body p:last-child { margin-bottom: 0; }

/* ---------- Source cards ---------- */
.mna-source {
    border: 1px solid var(--mna-line); border-left: 3px solid var(--mna-blue-2);
    border-radius: 10px; padding: .75rem .85rem; background: #fff; transition: box-shadow .12s ease, transform .12s ease;
}
.mna-source:hover { box-shadow: 0 8px 20px -14px rgba(24, 35, 79, .5); transform: translateY(-1px); }
.mna-ws { font-size: .8rem; font-weight: 700; color: var(--mna-indigo); }
.mna-source-chap { font-size: .72rem; color: #8a90a6; margin-bottom: .25rem; }
.mna-source-text { font-size: .82rem; color: #555c75; line-height: 1.45; }
.mna-score {
    font-size: .72rem; font-weight: 800; color: #fff;
    background: linear-gradient(135deg, var(--mna-blue) 0%, var(--mna-blue-2) 100%);
    border-radius: 999px; padding: .15rem .55rem;
}

/* ---------- Skeleton loader ---------- */
.mna-skeleton {
    height: 14px; border-radius: 7px;
    background: linear-gradient(90deg, #eef1f8 25%, #e2e7f3 37%, #eef1f8 63%);
    background-size: 400% 100%; animation: mna-shimmer 1.3s ease infinite;
}
@keyframes mna-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* ============================================================================
   Due-Diligence generator specifics
   ============================================================================ */
/* Deal-profile toggles as pills */
.mna-toggles { display: flex; flex-wrap: wrap; gap: .5rem; }
.mna-toggle {
    display: inline-flex; align-items: center; gap: .4rem; cursor: pointer;
    border: 1px solid var(--mna-line); border-radius: 999px; padding: .35rem .8rem;
    font-size: .82rem; font-weight: 600; color: #4a5374; background: #fff; user-select: none; transition: all .12s ease;
}
.mna-toggle input { accent-color: var(--mna-blue); margin: 0; }
.mna-toggle:has(input:checked) { border-color: var(--mna-blue-2); background: var(--mna-soft); color: var(--mna-blue); }

/* Deal banner chips */
.mna-deal-banner {
    display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
    background: linear-gradient(135deg, #141d44 0%, #21357f 100%);
    border-radius: 14px; padding: 1rem 1.25rem; color: #fff; margin-bottom: 1.25rem;
}
.mna-deal-name { font-weight: 800; font-size: 1.05rem; margin-right: .5rem; }
.mna-deal-chip {
    font-size: .76rem; font-weight: 600; background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; padding: .25rem .7rem;
}
.mna-deal-chip.gold { background: rgba(227, 179, 65, .2); border-color: rgba(227, 179, 65, .5); color: #ffe6a6; }

/* Section heading */
.mna-section-h { display: flex; align-items: center; gap: .6rem; font-weight: 800; color: var(--mna-indigo); margin: 1.5rem 0 .85rem; }
.mna-section-h .ic {
    width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: #fff;
    background: linear-gradient(135deg, var(--mna-blue) 0%, var(--mna-blue-2) 100%); font-size: .95rem;
}

/* Exec summary */
.mna-exec { border-top: 3px solid var(--mna-gold); }

/* Red flags */
.mna-redflags { border: 1px solid #f3cdd0; border-radius: 16px; overflow: hidden; }
.mna-redflags .head {
    background: linear-gradient(135deg, #8f1d2b 0%, #c0392b 100%); color: #fff;
    padding: .85rem 1.25rem; font-weight: 700;
}
.mna-redflags li {
    list-style: none; padding: .7rem 1.25rem; border-top: 1px solid #f6e0e2; font-size: .9rem;
    display: flex; gap: .6rem; align-items: flex-start;
}
.mna-redflags li::before { content: "\F33A"; font-family: "bootstrap-icons"; color: #c0392b; flex: 0 0 auto; }
.mna-redflags li > div p:last-child { margin-bottom: 0; }

/* Approvals matrix */
.mna-matrix { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .86rem; }
.mna-matrix thead th {
    background: var(--mna-indigo); color: #fff; font-weight: 600; padding: .6rem .8rem; text-align: left;
    position: sticky; top: 0;
}
.mna-matrix tbody td { padding: .6rem .8rem; border-bottom: 1px solid var(--mna-line); vertical-align: top; }
.mna-matrix tbody tr:hover { background: #fafbff; }
.mna-auth { font-weight: 700; color: var(--mna-indigo); }
.mna-ref { color: #8a90a6; font-size: .78rem; }
.mna-flag-must, .mna-flag-consider { font-size: .66rem; font-weight: 800; border-radius: 999px; padding: .1rem .45rem; white-space: nowrap; }
.mna-flag-must { background: #fde8e8; color: #b3261e; }
.mna-flag-consider { background: #fff3d6; color: #8a6100; }

/* Workstream cards */
.mna-ws-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 1rem; }
@media (max-width: 720px) { .mna-ws-grid { grid-template-columns: 1fr; } }
.mna-ws-card { border: 1px solid var(--mna-line); border-radius: 14px; background: #fff; box-shadow: 0 6px 22px -18px rgba(24,35,79,.5); overflow: hidden; }
.mna-ws-head {
    display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; border-bottom: 1px solid var(--mna-line);
    background: linear-gradient(180deg, #fafbff 0%, #eef1fb 100%); font-weight: 700; color: var(--mna-indigo);
}
.mna-ws-head .ic { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: #fff;
    background: linear-gradient(135deg, var(--mna-blue) 0%, var(--mna-blue-2) 100%); }
.mna-ws-head .count { margin-left: auto; font-size: .7rem; font-weight: 700; color: var(--mna-blue); background: var(--mna-soft); border-radius: 999px; padding: .12rem .5rem; }
.mna-col-h { font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .4rem; }
.mna-col-h.req { color: var(--mna-blue); }
.mna-col-h.risk { color: #c0392b; }
.mna-list { padding-left: 1.1rem; margin: 0; font-size: .86rem; }
.mna-list li { margin-bottom: .35rem; }
.mna-list li p:last-child { margin-bottom: 0; }
.mna-refs summary { font-size: .78rem; color: #6b7390; cursor: pointer; }
.mna-ref-item { border-left: 2px solid var(--mna-line); padding: .25rem .65rem; margin: .5rem 0; }
.mna-ref-item em { color: var(--mna-indigo); font-style: normal; font-weight: 600; font-size: .8rem; }
.mna-ref-item .txt { color: #6b7390; font-size: .78rem; }

/* Meta line */
.mna-meta { font-size: .78rem; color: #8a90a6; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }

/* ============================================================================
   Deal Room — execution cockpit
   ============================================================================ */
.mna-stepper { display: flex; gap: .5rem; overflow-x: auto; padding: .25rem 0 .6rem; }
.mna-step {
    flex: 0 0 auto; display: flex; align-items: center; gap: .5rem; cursor: pointer;
    border: 1px solid var(--mna-line); border-radius: 999px; padding: .4rem .8rem; background: #fff;
    color: #6b7390; font-size: .82rem; font-weight: 600; white-space: nowrap; transition: all .12s ease;
}
.mna-step .num { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
    background: var(--mna-soft); color: var(--mna-blue); font-size: .72rem; font-weight: 800; }
.mna-step:hover { border-color: var(--mna-blue-2); }
.mna-step.active { border-color: transparent; color: #fff; background: linear-gradient(135deg, var(--mna-blue), var(--mna-blue-2)); box-shadow: 0 6px 14px -8px rgba(39,70,196,.7); }
.mna-step.active .num { background: rgba(255,255,255,.25); color: #fff; }
.mna-step.done { border-color: #bfe3c9; color: #1c7a3f; }
.mna-step.done .num { background: #d8f0df; color: #1c7a3f; }

.mna-progress-wrap { height: 9px; background: var(--mna-soft); border-radius: 999px; overflow: hidden; }
.mna-progress-bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--mna-blue), var(--mna-gold)); transition: width .3s ease; }

.mna-stage-intro { color: #6b7390; font-size: .9rem; }

/* Conditions-precedent / approvals tracker */
.mna-cp { display: flex; align-items: flex-start; gap: .85rem; padding: .75rem 0; border-top: 1px solid var(--mna-line); }
.mna-cp:first-child { border-top: 0; }
.mna-cp .grow { flex: 1; }
.mna-cp .cp-auth { font-weight: 700; color: var(--mna-indigo); font-size: .9rem; }
.mna-cp .cp-req { font-size: .82rem; color: #555c75; }
.mna-cp .cp-ref { font-size: .74rem; color: #9aa1bd; }
.mna-cp-status { border: 1px solid var(--mna-line); border-radius: 8px; font-size: .8rem; padding: .25rem .4rem; min-width: 130px; }
.mna-dot { width: 9px; height: 9px; border-radius: 50%; margin-top: 6px; flex: 0 0 auto; }
.mna-dot.open { background: #c0392b; } .mna-dot.prog { background: #e3b341; } .mna-dot.done { background: #1c7a3f; } .mna-dot.na { background: #b7bdd0; }

/* Red-flag outcome rows */
.mna-rf-row { display: flex; align-items: flex-start; gap: .75rem; padding: .65rem 0; border-top: 1px solid #f6e0e2; }
.mna-rf-row:first-child { border-top: 0; }
.mna-rf-row .txt { flex: 1; font-size: .86rem; }
.mna-rf-row select { border: 1px solid var(--mna-line); border-radius: 8px; font-size: .78rem; padding: .2rem .4rem; min-width: 160px; }

.mna-stage-deliverable { border-top: 3px solid var(--mna-gold); }

/* Data room — uploads + severity */
.mna-file-chip {
    display: inline-flex; align-items: center; font-size: .78rem; color: #44507a;
    background: var(--mna-soft); border: 1px solid var(--mna-line); border-radius: 999px;
    padding: .25rem .6rem; margin: .2rem .25rem 0 0;
}
.mna-file-chip .bi-x-lg { font-size: .65rem; cursor: pointer; color: #9aa1bd; }
.mna-file-chip .bi-x-lg:hover { color: #c0392b; }
.mna-sev { font-size: .66rem; font-weight: 800; border-radius: 999px; padding: .1rem .45rem; white-space: nowrap; }
.mna-sev.high { background: #fde8e8; color: #b3261e; }
.mna-sev.medium { background: #fff3d6; color: #8a6100; }
.mna-sev.low { background: #e7f0ff; color: #2746c4; }
