/* /Components/Curator/MimirOneCurator.razor.rz.scp.css */
/* MimirOne Curator — floating executive experience */
.mo-curator-overlay[b-g5eq5mihln] {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: grid;
    place-items: center;
    padding: 32px;
    color: #eef3fb;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.mo-curator-backdrop[b-g5eq5mihln] {
    position: absolute;
    inset: 0;
    background: rgba(1, 6, 13, .62);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.mo-curator-panel[b-g5eq5mihln] {
    position: relative;
    width: min(680px, calc(100vw - 40px));
    max-height: min(760px, calc(100vh - 64px));
    overflow: auto;
    border: 1px solid rgba(216,168,62,.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(40,105,180,.12), transparent 48%),
        linear-gradient(145deg, rgba(8,20,35,.97), rgba(3,10,20,.985));
    box-shadow: 0 30px 100px rgba(0,0,0,.55), 0 0 55px rgba(38,125,216,.06);
    animation: mo-curator-enter-b-g5eq5mihln .45s cubic-bezier(.2,.75,.2,1);
}

/* The panel itself is the focus target on open (tabindex="-1" in markup) -
   suppress the default focus ring since the panel's own border/shadow
   already reads clearly as "this is the active surface". */
.mo-curator-panel:focus[b-g5eq5mihln] {
    outline: none;
}

.mo-curator-panel__top[b-g5eq5mihln] {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 24px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.mo-curator-identity[b-g5eq5mihln] { display:flex; align-items:center; gap:11px; }
.mo-curator-avatar[b-g5eq5mihln] {
    width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
    color:var(--mo-ink);background:linear-gradient(145deg,#f5d477,var(--mo-violet));
    font-family:Georgia,serif;font-size:1.05rem;box-shadow:0 0 22px rgba(216,168,62,.16);
}
.mo-curator-name[b-g5eq5mihln] { font-size:.84rem;font-weight:600;letter-spacing:.02em; }
.mo-curator-role[b-g5eq5mihln] { margin-top:2px;color:#72839a;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase; }

.mo-curator-progress[b-g5eq5mihln] { display:flex;gap:6px; }
.mo-curator-progress__dot[b-g5eq5mihln] { width:5px;height:5px;border-radius:50%;background:#314157;transition:.25s; }
.mo-curator-progress__dot.is-complete[b-g5eq5mihln] { background:var(--mo-blue-400);box-shadow:0 0 7px rgba(69,162,255,.5); }
.mo-curator-progress__dot.is-active[b-g5eq5mihln] { background:var(--mo-violet-600);box-shadow:0 0 9px rgba(230,184,74,.65); }

.mo-curator-panel__body[b-g5eq5mihln] { padding:48px 58px 42px; }

/* ::deep - CuratorIntro.razor (Welcome/Why/Continuum/Begin) renders these
   same classes from its own component output, which Blazor's CSS isolation
   otherwise wouldn't scope into from this file. The Processing step's
   ".mo-curator-processing h1/p" stay plain (rendered directly by this
   component), so they don't need ::deep. */
[b-g5eq5mihln] .mo-curator-copy { max-width:560px; margin:auto; text-align:left; }
[b-g5eq5mihln] .mo-curator-eyebrow { color:var(--mo-violet-600);font-size:.62rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase; }
[b-g5eq5mihln] .mo-curator-copy h1 { margin:12px 0 14px;color:#f5f7fb;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;line-height:1.08;letter-spacing:-.02em; }
[b-g5eq5mihln] .mo-curator-copy p { margin:0 0 27px;color:#a9b6c9;font-size:.94rem;line-height:1.75; }
.mo-curator-processing h1[b-g5eq5mihln] { margin:12px 0 14px;color:#f5f7fb;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;line-height:1.08;letter-spacing:-.02em; }
.mo-curator-processing p[b-g5eq5mihln] { margin:0 0 27px;color:#a9b6c9;font-size:.94rem;line-height:1.75; }

[b-g5eq5mihln] .mo-curator-primary {
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:46px;padding:0 20px;border:1px solid var(--mo-violet-600);border-radius:8px;
    background:linear-gradient(135deg,#f5d477,var(--mo-violet));color:var(--mo-ink);
    font:600 .82rem Inter,system-ui,sans-serif;cursor:pointer;
    box-shadow:0 10px 30px rgba(216,168,62,.14);transition:.18s;
}
[b-g5eq5mihln] .mo-curator-primary:hover { transform:translateY(-1px);filter:brightness(1.05); }
[b-g5eq5mihln] .mo-curator-primary:disabled { opacity:.38;cursor:not-allowed;transform:none; }
[b-g5eq5mihln] .mo-curator-primary:focus-visible {
    outline: 2px solid var(--mo-blue-400);
    outline-offset: 2px;
}

.mo-curator-secondary[b-g5eq5mihln],.mo-curator-dismiss[b-g5eq5mihln] {
    border:0;background:none;color:#718299;font:500 .7rem Inter,system-ui,sans-serif;cursor:pointer;
}
.mo-curator-secondary[b-g5eq5mihln] { display:block;margin:15px auto 0; }
.mo-curator-dismiss:hover[b-g5eq5mihln],.mo-curator-secondary:hover[b-g5eq5mihln] { color:#c1ccdb; }
.mo-curator-secondary:focus-visible[b-g5eq5mihln],.mo-curator-dismiss:focus-visible[b-g5eq5mihln] {
    outline: 2px solid var(--mo-blue-400);
    outline-offset: 2px;
}

.mo-curator-confidentiality[b-g5eq5mihln] {
    display:flex;gap:11px;margin:26px auto 0;max-width:560px;padding:14px 15px;
    border:1px solid rgba(72,197,138,.14);border-radius:10px;background:rgba(72,197,138,.035);
}
.mo-curator-confidentiality__icon[b-g5eq5mihln] { color:var(--mo-teal); }
.mo-curator-confidentiality p[b-g5eq5mihln] { margin:0;color:#7f92a9;font-size:.72rem;line-height:1.55; }
.mo-curator-confidentiality strong[b-g5eq5mihln] { color:#aebdce;font-weight:500; }

.mo-curator-dropzone[b-g5eq5mihln] {
    position:relative;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:190px;margin:24px 0;border:1px dashed rgba(91,157,222,.34);
    border-radius:14px;background:rgba(19,54,91,.09);cursor:pointer;text-align:center;
    transition:.2s;
}
.mo-curator-dropzone:hover[b-g5eq5mihln] { border-color:rgba(216,168,62,.55);background:rgba(216,168,62,.035); }
/* Overlaid at opacity:0 rather than display:none, so the file input stays a
   real, focusable, Tab/Space-operable control (matching
   OpportunitiesReceived.razor's .mo-dropzone pattern) instead of being
   invisible to keyboard-only users. */
[b-g5eq5mihln] .mo-curator-dropzone__input {
    position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;
}
[b-g5eq5mihln] .mo-curator-dropzone__input:focus-visible {
    outline: none;
}
.mo-curator-dropzone:has(::deep .mo-curator-dropzone__input:focus-visible)[b-g5eq5mihln] {
    border-color: var(--mo-blue-400);
    box-shadow: 0 0 0 2px rgba(69,162,255,.35);
}
.mo-curator-dropzone__icon[b-g5eq5mihln] { font-size:1.8rem;color:var(--mo-violet-600);margin-bottom:8px; }
.mo-curator-dropzone__title[b-g5eq5mihln] { color:#dce5f1;font-size:.86rem;font-weight:600; }
.mo-curator-dropzone__hint[b-g5eq5mihln] { margin-top:5px;color:#667990;font-size:.66rem; }

.mo-curator-files[b-g5eq5mihln] { display:flex;flex-direction:column;gap:6px;margin:-10px 0 20px; }
.mo-curator-file[b-g5eq5mihln] { display:flex;justify-content:space-between;padding:9px 11px;border:1px solid rgba(255,255,255,.06);border-radius:7px;color:#aab8ca;font-size:.7rem;background:rgba(255,255,255,.018); }

.mo-curator-review-toolbar[b-g5eq5mihln] {
    display:flex;justify-content:space-between;align-items:center;margin:8px 0 12px;
    color:#8a97ab;font-size:.72rem;
}
.mo-curator-review-toggle[b-g5eq5mihln] { margin:0; }
.mo-curator-review-empty[b-g5eq5mihln] { color:#8a97ab;font-size:.86rem;margin:8px 0 20px; }
.mo-curator-review-list[b-g5eq5mihln] {
    list-style:none;margin:0 0 20px;padding:0;max-height:280px;overflow-y:auto;
    display:flex;flex-direction:column;gap:6px;
}
.mo-curator-review-item[b-g5eq5mihln] {
    border:1px solid rgba(255,255,255,.06);border-radius:8px;background:rgba(255,255,255,.018);
}
.mo-curator-review-item label[b-g5eq5mihln] {
    display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;
}
.mo-curator-review-item input[type="checkbox"][b-g5eq5mihln] {
    flex-shrink:0;width:16px;height:16px;accent-color:var(--mo-violet);cursor:pointer;
}
.mo-curator-review-type[b-g5eq5mihln] {
    flex-shrink:0;padding:2px 8px;border-radius:99px;border:1px solid rgba(69,162,255,.3);
    color:var(--mo-blue-400);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
}
.mo-curator-review-title[b-g5eq5mihln] { color:#dce5f1;font-size:.82rem; }

.mo-curator-processing[b-g5eq5mihln] { text-align:center;max-width:560px;margin:auto; }
.mo-curator-processing__orb[b-g5eq5mihln] {
    width:76px;height:76px;margin:0 auto 28px;border-radius:50%;
    background:radial-gradient(circle,rgba(245,212,119,.9) 0 5%,rgba(69,162,255,.28) 17%,transparent 68%);
    box-shadow:0 0 60px rgba(69,162,255,.16);
    animation:mo-curator-breathe-b-g5eq5mihln 2.8s ease-in-out infinite;
}
.mo-curator-processing__line[b-g5eq5mihln] { height:2px;margin-top:30px;overflow:hidden;background:rgba(255,255,255,.06);border-radius:99px; }
.mo-curator-processing__line span[b-g5eq5mihln] { display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--mo-violet-600),transparent);animation:mo-curator-scan-b-g5eq5mihln 1.8s ease-in-out infinite; }

.mo-curator-panel__footer[b-g5eq5mihln] {
    display:flex;justify-content:space-between;align-items:center;padding:13px 24px;
    border-top:1px solid rgba(255,255,255,.05);color:#53647b;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;
}
.mo-curator-footer-brand[b-g5eq5mihln] { display:flex;align-items:center;gap:6px; }
.mo-curator-footer-brand img[b-g5eq5mihln] { width:14px;height:14px;object-fit:contain;opacity:.85; }

@keyframes mo-curator-enter-b-g5eq5mihln { from{opacity:0;transform:translateY(18px) scale(.985)} to{opacity:1;transform:none} }
@keyframes mo-curator-breathe-b-g5eq5mihln { 0%,100%{transform:scale(.9);opacity:.65} 50%{transform:scale(1.08);opacity:1} }
@keyframes mo-curator-scan-b-g5eq5mihln { 0%{transform:translateX(-140%)} 100%{transform:translateX(360%)} }

@media (max-width:700px) {
    .mo-curator-overlay[b-g5eq5mihln] { padding:12px; }
    .mo-curator-panel[b-g5eq5mihln] { width:calc(100vw - 24px);max-height:calc(100vh - 24px); }
    .mo-curator-panel__body[b-g5eq5mihln] { padding:34px 25px 30px; }
    .mo-curator-panel__top[b-g5eq5mihln] { padding:16px 18px; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-s2i2o7u8yo] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main[b-s2i2o7u8yo] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sidebar[b-s2i2o7u8yo] {
    position: relative;
    background: var(--mo-sidebar-bg);
    overflow: hidden;
}

/* Slow gold glow drifting at the bottom of the sidebar. */
.sidebar[b-s2i2o7u8yo]::before {
    content: "";
    position: absolute;
    left: -40%;
    bottom: -120px;
    width: 180%;
    height: 280px;
    background: radial-gradient(closest-side, rgba(216, 168, 62, .16), transparent);
    pointer-events: none;
    animation: mo-sidebar-glow-b-s2i2o7u8yo 16s ease-in-out infinite;
}

@keyframes mo-sidebar-glow-b-s2i2o7u8yo {
    0%, 100% { transform: translateX(0) scale(1); opacity: .8; }
    50% { transform: translateX(12%) scale(1.15); opacity: 1; }
}

.topbar[b-s2i2o7u8yo] {
    /* Matches NavMenu's .nav-brand (logo row). */
    height: 4.5rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 0 1.25rem;
    background-color: var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-border-color);
    position: sticky;
    top: 0;
    /* high enough that the agent bar's fixed drawer (a child) sits above page content */
    z-index: 30;
}

.topbar-spacer[b-s2i2o7u8yo] {
    flex: 1;
}

.topbar-brand[b-s2i2o7u8yo] {
    font-weight: 700;
    color: var(--bs-emphasis-color);
    text-decoration: none;
}

.topbar-user[b-s2i2o7u8yo] {
    font-size: .85rem;
    color: var(--bs-secondary-color);
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
}

.topbar-user:hover[b-s2i2o7u8yo] {
    color: var(--bs-emphasis-color);
    text-decoration: underline;
}

@media (min-width: 641px) {
    .page[b-s2i2o7u8yo] {
        flex-direction: row;
    }

    .sidebar[b-s2i2o7u8yo] {
        width: var(--mo-sidebar-w);
        height: 100vh;
        position: sticky;
        top: 0;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        border-right: 1px solid rgba(255, 255, 255, .06);
        transition: width .32s cubic-bezier(.2, .8, .2, 1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar[b-s2i2o7u8yo], .sidebar[b-s2i2o7u8yo]::before { transition: none; animation: none; }
}

#blazor-error-ui[b-s2i2o7u8yo] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-s2i2o7u8yo] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Sidebar menu. Collapsed state = html[data-nav="collapsed"] (js/mo-nav.js),
   desktop only; phones keep the hamburger toggler. */

.nav-brand[b-ut59ukakmh] {
    position: relative;
    flex: none;
    display: flex;
    align-items: center;
    /* Same height as MainLayout's .topbar so the two borders line up. */
    height: 4.5rem;
    padding: 0 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.brand-link[b-ut59ukakmh] {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
}

.brand-logo[b-ut59ukakmh] {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 3.3rem;
    transition: opacity .25s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}

.brand-mark[b-ut59ukakmh] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 2.4rem;
    height: 2.4rem;
    object-fit: contain;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.6) rotate(-20deg);
    transition: opacity .25s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
    pointer-events: none;
}

.brand-link:hover .brand-logo[b-ut59ukakmh] { transform: scale(1.03); }

.navbar-toggler[b-ut59ukakmh] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: .4rem;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.6rem rgba(255, 255, 255, 0.08);
}

.navbar-toggler:checked[b-ut59ukakmh] {
    background-color: rgba(255, 255, 255, 0.2);
}

/* ---------- sections + items ---------- */
.nav-section[b-ut59ukakmh] {
    position: relative;
    height: 2.6rem;
    display: flex;
    align-items: flex-end;
    padding: 0 1.4rem .4rem;
    color: rgba(255, 255, 255, .4);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
}

.nav-section span[b-ut59ukakmh] { transition: opacity .2s ease; }

/* In the collapsed rail the section name becomes a short divider. */
.nav-section[b-ut59ukakmh]::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: .75rem;
    width: 1.4rem;
    height: 1px;
    background: rgba(255, 255, 255, .18);
    transform: translateX(-50%) scaleX(0);
    transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}

.nav-item[b-ut59ukakmh] {
    position: relative;
    padding: .12rem .65rem;
    font-size: .9rem;
    animation: mo-nav-in-b-ut59ukakmh .45s cubic-bezier(.2, .8, .2, 1) both;
    animation-delay: calc(.05s + var(--i, 0) * 45ms);
}

.nav-item[b-ut59ukakmh]  .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 2.65rem;
    padding: 0 .85rem;
    border: none;
    border-radius: .7rem;
    background: none;
    color: #cfd2dc;
    white-space: nowrap;
    overflow: hidden;
    transition: background-color .2s ease, color .2s ease;
}

.nav-item[b-ut59ukakmh]  .bi {
    flex: none;
    display: inline-block;
    width: 1.25rem;
    margin-right: .75rem;
    font-size: 1.05rem;
    text-align: center;
    opacity: .9;
    transition: transform .25s cubic-bezier(.2, .8, .2, 1), color .2s ease, filter .2s ease;
}

.nav-item[b-ut59ukakmh]  .nav-label {
    display: inline-block;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity .18s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}

.nav-item[b-ut59ukakmh]  .nav-link:hover {
    background-color: rgba(255, 255, 255, .07);
    color: #fff;
}

.nav-item[b-ut59ukakmh]  .nav-link:hover .bi { transform: translateX(2px) scale(1.12); color: #f0c85e; }

.nav-item[b-ut59ukakmh]  a.active {
    background: linear-gradient(90deg, rgba(216, 168, 62, .3), rgba(216, 168, 62, .07));
    color: #fff;
}

.nav-item[b-ut59ukakmh]  a.active .bi { color: #f0c85e; filter: drop-shadow(0 0 6px rgba(216, 168, 62, .6)); }

/* Gold indicator bar, grows in when the link becomes active. */
.nav-item[b-ut59ukakmh]  a.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 22%;
    bottom: 22%;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #d8a83e;
    box-shadow: 0 0 10px rgba(216, 168, 62, .8);
    animation: mo-nav-bar-b-ut59ukakmh .35s cubic-bezier(.2, .8, .2, 1) both;
}

.nav-scrollable[b-ut59ukakmh] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ut59ukakmh] {
    display: block;
}

/* ---------- collapse button ---------- */
.nav-foot[b-ut59ukakmh] {
    display: none;
    position: relative;
    flex: none;
    padding: .6rem .65rem .9rem;
    border-top: 1px solid rgba(255, 255, 255, .07);
}

.nav-collapse[b-ut59ukakmh] {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    height: 2.65rem;
    padding: 0 calc(.85rem - 1px);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: .7rem;
    background: rgba(255, 255, 255, .03);
    color: rgba(255, 255, 255, .6);
    font-size: .85rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.nav-collapse:hover[b-ut59ukakmh] { background: rgba(216, 168, 62, .12); border-color: rgba(216, 168, 62, .4); color: #fff; }

.nav-collapse-ico[b-ut59ukakmh] {
    flex: none;
    width: 1.25rem;
    display: grid;
    place-items: center;
    transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}

.nav-collapse:hover .nav-collapse-ico[b-ut59ukakmh] { transform: translateX(-2px); }

.nav-collapse .nav-label[b-ut59ukakmh] { transition: opacity .18s ease; }

@media (min-width: 641px) {
    .navbar-toggler[b-ut59ukakmh] {
        display: none;
    }

    .nav-scrollable[b-ut59ukakmh] {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        scrollbar-width: thin;
    }

    .nav-foot[b-ut59ukakmh] { display: block; }

    /* ---------- collapsed rail ---------- */
    :root[data-nav="collapsed"] .nav-brand[b-ut59ukakmh] { padding: 0; justify-content: center; }
    :root[data-nav="collapsed"] .brand-logo[b-ut59ukakmh] { opacity: 0; transform: scale(.85); }
    :root[data-nav="collapsed"] .brand-mark[b-ut59ukakmh] { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0); }

    :root[data-nav="collapsed"] .nav-section span[b-ut59ukakmh] { opacity: 0; }
    :root[data-nav="collapsed"] .nav-section[b-ut59ukakmh]::after { transform: translateX(-50%) scaleX(1); }

    /* Padding/margins stay as in the open menu - the narrower rail alone centres the icons. */
    :root[data-nav="collapsed"] .nav-item[b-ut59ukakmh]  .nav-label { opacity: 0; transform: translateX(-6px); }
    :root[data-nav="collapsed"] .nav-item[b-ut59ukakmh]  .nav-link:hover .bi { transform: scale(1.18); }

    :root[data-nav="collapsed"] .nav-collapse[b-ut59ukakmh] { border-color: transparent; background: none; }
    :root[data-nav="collapsed"] .nav-collapse .nav-label[b-ut59ukakmh] { opacity: 0; }
    :root[data-nav="collapsed"] .nav-collapse-ico[b-ut59ukakmh] { transform: rotate(180deg); }
    :root[data-nav="collapsed"] .nav-collapse:hover .nav-collapse-ico[b-ut59ukakmh] { transform: rotate(180deg) translateX(-2px); }
}

@keyframes mo-nav-in-b-ut59ukakmh {
    from { opacity: 0; transform: translateX(-10px); }
    to { opacity: 1; transform: none; }
}

@keyframes mo-nav-bar-b-ut59ukakmh {
    from { transform: scaleY(0); }
    to { transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
    .nav-item[b-ut59ukakmh], .nav-item[b-ut59ukakmh]  a.active::before { animation: none; }
    .nav-item[b-ut59ukakmh]  .nav-link, .nav-item[b-ut59ukakmh]  .bi, .nav-item[b-ut59ukakmh]  .nav-label,
    .nav-collapse[b-ut59ukakmh], .nav-collapse-ico[b-ut59ukakmh], .brand-logo[b-ut59ukakmh], .brand-mark[b-ut59ukakmh] { transition: none; }
}
/* /Components/Opportunities/AcceptanceCard.razor.rz.scp.css */
.ac-card[b-6nb3i2gqpp] {
    display: flex; flex-direction: column; gap: 1rem;
    padding: 1.2rem 1.3rem; border-radius: 1.1rem;
    border: 1px solid rgba(240, 200, 94, .5);
    background: radial-gradient(360px circle at 0% 0%, rgba(240, 200, 94, .12), transparent 70%), var(--mo-surface);
    animation: ac-up-b-6nb3i2gqpp .4s cubic-bezier(.2, .8, .2, 1) both;
}
.ac-head[b-6nb3i2gqpp] { display: flex; gap: .9rem; align-items: flex-start; }
.ac-icon[b-6nb3i2gqpp] { flex: none; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: rgba(240, 200, 94, .18); color: #e2b440; font-size: 1.2rem; }
.ac-title[b-6nb3i2gqpp] { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 600; color: var(--bs-emphasis-color); }
.ac-head p[b-6nb3i2gqpp] { margin: .3rem 0 0; font-size: .86rem; line-height: 1.55; color: var(--bs-secondary-color); }
.ac-actions[b-6nb3i2gqpp] { display: flex; flex-wrap: wrap; gap: .5rem; }

.ac-btn[b-6nb3i2gqpp] {
    display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    height: 2.75rem; padding: 0 1.15rem; border-radius: 999px;
    border: 1px solid transparent; font-size: .85rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: transform .18s cubic-bezier(.2, .8, .2, 1), background .2s ease, border-color .2s ease;
}
.ac-btn:hover:not(:disabled)[b-6nb3i2gqpp] { transform: translateY(-1px); }
.ac-btn:disabled[b-6nb3i2gqpp] { opacity: .5; cursor: not-allowed; }
.ac-btn.is-primary[b-6nb3i2gqpp] { background: var(--mo-violet); color: var(--mo-ink); box-shadow: 0 6px 16px rgba(216, 168, 62, .25); }
.ac-btn.is-primary:hover:not(:disabled)[b-6nb3i2gqpp] { background: var(--mo-violet-600); color: var(--mo-ink); }
.ac-btn.is-outline[b-6nb3i2gqpp] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.ac-btn.is-outline:hover:not(:disabled)[b-6nb3i2gqpp] { border-color: rgba(216, 168, 62, .45); color: var(--bs-body-color); }
.ac-btn.is-ghost[b-6nb3i2gqpp] { background: transparent; color: var(--bs-secondary-color); border-color: var(--bs-border-color); }
.ac-btn.is-ghost:hover:not(:disabled)[b-6nb3i2gqpp] { color: #e86b6f; border-color: rgba(224, 87, 91, .45); }

.ac-note[b-6nb3i2gqpp] { display: flex; align-items: center; gap: .5rem; padding: .7rem .95rem; border-radius: .9rem; background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: .86rem; }
.ac-note.is-ok[b-6nb3i2gqpp] { background: rgba(72, 197, 138, .12); color: #3fb87f; }
.ac-error[b-6nb3i2gqpp] { padding: .5rem .8rem; border-radius: .8rem; background: rgba(224, 87, 91, .12); border: 1px solid rgba(224, 87, 91, .3); color: var(--mo-rose); font-size: .8rem; }
.ac-hint[b-6nb3i2gqpp] { font-size: .8rem; color: var(--bs-secondary-color); }

/* ---- modal ---- */
.ac-modal[b-6nb3i2gqpp] { position: fixed; inset: 0; z-index: 1070; display: grid; place-items: center; padding: 1.5rem; outline: none; }
.ac-scrim[b-6nb3i2gqpp] { position: absolute; inset: 0; border: 0; background: rgba(4, 10, 18, .7); backdrop-filter: blur(4px); animation: ac-fade-b-6nb3i2gqpp .25s ease both; }
.ac-panel[b-6nb3i2gqpp] {
    /* A fixed, tall panel: the node list fills whatever the header and footer leave. */
    position: relative; width: min(52rem, 100%); height: min(56rem, calc(100dvh - 3rem));
    display: flex; flex-direction: column;
    border-radius: 1.5rem; border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg); box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
    overflow: hidden;
    animation: ac-in-b-6nb3i2gqpp .4s cubic-bezier(.2, .8, .2, 1) both;
}
.ac-panel-head[b-6nb3i2gqpp] { flex: none; display: flex; gap: 1rem; align-items: flex-start; padding: 1.4rem 1.6rem 1rem; border-bottom: 1px solid var(--bs-border-color); }
.ac-eyebrow[b-6nb3i2gqpp] { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mo-violet); }
.ac-panel-head h2[b-6nb3i2gqpp] { margin: .3rem 0 .4rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 600; color: var(--bs-emphasis-color); }
.ac-panel-head p[b-6nb3i2gqpp] { margin: 0; font-size: .86rem; line-height: 1.55; color: var(--bs-secondary-color); }
.ac-close[b-6nb3i2gqpp] {
    flex: none; width: 2.6rem; height: 2.6rem; display: grid; place-items: center;
    border: 0; border-radius: 50%; background: var(--bs-tertiary-bg); color: var(--bs-body-color);
    transition: transform .25s cubic-bezier(.2, .8, .2, 1), background .2s ease;
}
.ac-close:hover[b-6nb3i2gqpp] { transform: rotate(90deg); background: rgba(216, 168, 62, .14); }
.ac-panel-body[b-6nb3i2gqpp] { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; padding: 1rem 1.6rem; --sp-band: var(--bs-body-bg); }
.ac-panel-foot[b-6nb3i2gqpp] { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: 1rem 1.6rem 1.2rem; border-top: 1px solid var(--bs-border-color); }

@keyframes ac-up-b-6nb3i2gqpp { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: none; } }
@keyframes ac-fade-b-6nb3i2gqpp { from { opacity: 0; } }
@keyframes ac-in-b-6nb3i2gqpp { from { opacity: 0; translate: 0 24px; scale: .98; } to { opacity: 1; translate: none; scale: 1; } }

@media (max-width: 720px) {
    .ac-modal[b-6nb3i2gqpp] { padding: 0; }
    .ac-panel[b-6nb3i2gqpp] { height: 100dvh; border-radius: 0; }
    .ac-panel-head[b-6nb3i2gqpp], .ac-panel-body[b-6nb3i2gqpp], .ac-panel-foot[b-6nb3i2gqpp] { padding-left: 1rem; padding-right: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ac-card[b-6nb3i2gqpp], .ac-scrim[b-6nb3i2gqpp], .ac-panel[b-6nb3i2gqpp] { animation: none; }
}
/* /Components/Opportunities/ApprovedScopeCard.razor.rz.scp.css */
.as-card[b-vo7x3m76o9] {
    display: flex; flex-direction: column; gap: .9rem;
    padding: 1.2rem 1.3rem; border-radius: 1.1rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: as-up-b-vo7x3m76o9 .4s cubic-bezier(.2, .8, .2, 1) both;
}
.as-head[b-vo7x3m76o9] { display: flex; flex-wrap: wrap; gap: .9rem; align-items: flex-start; }
.as-icon[b-vo7x3m76o9] { flex: none; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: rgba(216, 168, 62, .14); color: var(--mo-violet); font-size: 1.1rem; }
.as-title[b-vo7x3m76o9] { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 600; color: var(--bs-emphasis-color); }
.as-head p[b-vo7x3m76o9] { margin: .25rem 0 0; font-size: .84rem; line-height: 1.5; color: var(--bs-secondary-color); }

@keyframes as-up-b-vo7x3m76o9 { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: none; } }

@media (prefers-reduced-motion: reduce) {
    .as-card[b-vo7x3m76o9] { animation: none; }
}
/* /Components/Opportunities/ScopePicker.razor.rz.scp.css */
.sp.is-fill[b-xunhenco5j] { height: 100%; min-height: 0; }
.sp.is-fill .sp-list[b-xunhenco5j] { flex: 1 1 auto; min-height: 0; }
.sp[b-xunhenco5j] { display: flex; flex-direction: column; gap: .7rem; --sp-gold: var(--mo-violet); --sp-gold-soft: rgba(216, 168, 62, .14); --sp-gold-line: rgba(216, 168, 62, .45); }

.sp-toolbar[b-xunhenco5j] { display: flex; flex-direction: column; gap: .55rem; }
.sp-search[b-xunhenco5j] { position: relative; margin: 0; }
.sp-search i[b-xunhenco5j] { position: absolute; left: .85rem; top: 50%; translate: 0 -50%; color: var(--bs-secondary-color); pointer-events: none; }
.sp-search input[b-xunhenco5j] {
    width: 100%; height: 2.5rem; padding: 0 .9rem 0 2.4rem;
    border: 1px solid var(--bs-border-color); border-radius: 999px;
    background: var(--mo-surface); color: var(--bs-body-color); font-size: .86rem;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.sp-search input:focus[b-xunhenco5j] { outline: none; border-color: var(--sp-gold-line); box-shadow: 0 0 0 4px var(--sp-gold-soft); }

.sp-types[b-xunhenco5j] { display: flex; flex-wrap: wrap; gap: .35rem; }
.sp-types button[b-xunhenco5j] {
    display: inline-flex; align-items: center; gap: .35rem;
    height: 2rem; padding: 0 .75rem; border-radius: 999px;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    color: var(--bs-secondary-color); font-size: .76rem; font-weight: 600;
    transition: all .2s ease;
}
.sp-types button span[b-xunhenco5j] { opacity: .65; font-variant-numeric: tabular-nums; }
.sp-types button i[b-xunhenco5j] { width: .5rem; height: .5rem; border-radius: 50%; background: var(--c); }
.sp-types button:hover[b-xunhenco5j] { color: var(--bs-body-color); border-color: var(--sp-gold-line); }
.sp-types button.is-on[b-xunhenco5j] { background: var(--sp-gold-soft); border-color: var(--sp-gold-line); color: var(--sp-gold); }

.sp-bar[b-xunhenco5j] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .8rem; color: var(--bs-secondary-color); }
.sp-count b[b-xunhenco5j] { color: var(--bs-emphasis-color); font-size: .95rem; }
.sp-legend[b-xunhenco5j] { display: inline-flex; flex-wrap: wrap; gap: .3rem; }
.sp-link[b-xunhenco5j] { padding: 0; border: 0; background: none; color: var(--sp-gold); font-size: .8rem; font-weight: 600; }
.sp-link:hover[b-xunhenco5j] { text-decoration: underline; }

.sp-list[b-xunhenco5j] {
    display: flex; flex-direction: column; gap: .3rem;
    overflow-y: auto; padding: .2rem .25rem .2rem 0;
    scrollbar-width: thin;
}
.sp-group-head[b-xunhenco5j] {
    position: sticky; top: 0; z-index: 1;
    display: flex; align-items: center; gap: .45rem;
    margin-top: .4rem; padding: .3rem .2rem;
    background: var(--sp-band, var(--mo-surface));
    font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color);
}
.sp-group-head i[b-xunhenco5j] { width: .55rem; height: .55rem; border-radius: 50%; background: var(--c); box-shadow: 0 0 6px var(--c); }

.sp-node[b-xunhenco5j] {
    display: flex; align-items: flex-start; gap: .7rem;
    margin: 0; padding: .6rem .75rem; border-radius: .85rem; cursor: pointer;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: sp-in-b-xunhenco5j .3s cubic-bezier(.2, .8, .2, 1) both;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sp-node:hover[b-xunhenco5j] { border-color: var(--sp-gold-line); }
.sp-node.is-on[b-xunhenco5j] { background: var(--sp-gold-soft); border-color: var(--sp-gold-line); }
.sp-node.is-readonly[b-xunhenco5j] { cursor: default; }
.sp-node.is-suggested[b-xunhenco5j] { border-style: dashed; border-color: rgba(72, 197, 138, .6); box-shadow: 0 0 0 3px rgba(72, 197, 138, .1); }
.sp-node input[b-xunhenco5j] { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .15rem; accent-color: var(--sp-gold); }
.sp-node-main[b-xunhenco5j] { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.sp-node-title[b-xunhenco5j] { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .86rem; font-weight: 600; color: var(--bs-emphasis-color); }
.sp-content[b-xunhenco5j] { font-size: .76rem; line-height: 1.45; color: var(--bs-secondary-color); }
.sp-why[b-xunhenco5j] { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .45rem; font-size: .76rem; line-height: 1.45; color: var(--bs-secondary-color); animation: sp-in-b-xunhenco5j .35s cubic-bezier(.2, .8, .2, 1) both; }
.sp-pending[b-xunhenco5j] {
    display: inline-flex; align-items: center; gap: .2rem;
    padding: .05rem .45rem; border-radius: 999px;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color);
    font-size: .64rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
}

.sp-rel[b-xunhenco5j] {
    display: inline-flex; align-items: center;
    padding: .08rem .5rem; border-radius: 999px;
    font-size: .66rem; font-weight: 700; white-space: nowrap;
}
.sp-rel.is-strong[b-xunhenco5j] { background: rgba(72, 197, 138, .18); color: #3fb87f; }
.sp-rel.is-some[b-xunhenco5j] { background: rgba(69, 162, 255, .16); color: #4f9dff; }
.sp-rel.is-none[b-xunhenco5j] { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }
.sp-rel.is-suggested[b-xunhenco5j] { background: rgba(72, 197, 138, .1); color: #3fb87f; border: 1px dashed rgba(72, 197, 138, .6); }

.sp-empty[b-xunhenco5j] { padding: 1.25rem; border: 1px dashed var(--bs-border-color); border-radius: .9rem; text-align: center; font-size: .84rem; color: var(--bs-secondary-color); }
.sp-shimmer[b-xunhenco5j] {
    height: 3.1rem; border-radius: .85rem;
    background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%);
    background-size: 300% 100%;
    animation: sp-shimmer-b-xunhenco5j 1.4s linear infinite;
}

@keyframes sp-in-b-xunhenco5j { from { opacity: 0; translate: 0 6px; } to { opacity: 1; translate: none; } }
@keyframes sp-shimmer-b-xunhenco5j { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .sp-node[b-xunhenco5j], .sp-why[b-xunhenco5j], .sp-shimmer[b-xunhenco5j] { animation: none; }
}
/* /Components/Pages/AcceptInvite.razor.rz.scp.css */
/* Invite landing: the entry shell (wwwroot/css/entry.css) + this card's own content. */

.mo-inv[b-i7jop7b8of] { max-width: 34rem; width: 100%; margin: 0 auto; gap: 1.1rem; animation: inv-up-b-i7jop7b8of .6s cubic-bezier(.2, .8, .2, 1) backwards; }
.mo-inv-loading[b-i7jop7b8of] { display: grid; place-items: center; min-height: 10rem; }

.mo-inv-eyebrow[b-i7jop7b8of] { display: flex; align-items: center; gap: .55rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-inv-pulse[b-i7jop7b8of] { width: 8px; height: 8px; border-radius: 50%; background: #d8a83e; animation: inv-pulse-b-i7jop7b8of 1.8s ease-out infinite; }
.mo-inv-title[b-i7jop7b8of] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 600; line-height: 1.1; color: #fff; }
.mo-inv-role[b-i7jop7b8of] { margin-top: -.6rem; font-size: .95rem; color: #c3cbe0; }
.mo-inv-text[b-i7jop7b8of] { margin: 0; font-size: .95rem; line-height: 1.6; color: #c3cbe0; }
.mo-inv-text strong[b-i7jop7b8of] { color: #fff; }

.mo-inv-icon[b-i7jop7b8of] { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; font-size: 1.4rem; }
.mo-inv-icon.is-warn[b-i7jop7b8of] { background: rgba(240, 140, 60, .16); color: #ef9a50; }

.mo-inv-steps[b-i7jop7b8of] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .55rem; }
.mo-inv-steps li[b-i7jop7b8of] {
    display: flex; align-items: flex-start; gap: .8rem; padding: .7rem .85rem; border-radius: .9rem;
    background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08);
    animation: inv-up-b-i7jop7b8of .45s cubic-bezier(.2, .8, .2, 1) backwards;
}
.mo-inv-steps li:nth-child(2)[b-i7jop7b8of] { animation-delay: 80ms; }
.mo-inv-steps li:nth-child(3)[b-i7jop7b8of] { animation-delay: 160ms; }
.mo-inv-steps li > span[b-i7jop7b8of] {
    flex: none; width: 1.8rem; height: 1.8rem; display: grid; place-items: center; border-radius: 50%;
    background: rgba(216, 168, 62, .18); color: #f0c85e; font-size: .82rem; font-weight: 800;
}
.mo-inv-steps b[b-i7jop7b8of] { display: block; font-size: .9rem; color: #eef2f8; }
.mo-inv-steps small[b-i7jop7b8of] { display: block; font-size: .8rem; color: #9fb0c8; }

.mo-inv-who[b-i7jop7b8of] { font-size: .82rem; color: #9fb0c8; text-align: center; }
.mo-inv-link[b-i7jop7b8of] { padding: 0; border: 0; background: none; color: #f0c85e; font-size: .82rem; text-decoration: underline; }

@keyframes inv-up-b-i7jop7b8of { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: none; } }
@keyframes inv-pulse-b-i7jop7b8of { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }

@media (prefers-reduced-motion: reduce) {
    .mo-inv[b-i7jop7b8of], .mo-inv *[b-i7jop7b8of] { animation: none !important; }
}
/* /Components/Pages/Account.razor.rz.scp.css */
/* =========================================================
   Reuses the app-wide tokens from app.css (--mo-*, --bs-*, .mo-hero,
   .mo-eyebrow, .mo-avatar). Blazor CSS isolation means a *scoped*
   stylesheet like Documents.razor.css/Continuum.razor.css can't be reused
   from here even though the class names look identical - these rules are
   copied from there on purpose (same precedent as OpportunityPreparation.razor.css),
   to keep the same "Executive Knowledge Workspace" visual language without
   inventing a parallel one.
   ========================================================= */

.mo-panel[b-9ykge2jj0w] {
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: var(--mo-surface);
    box-shadow: var(--mo-shadow);
    overflow: hidden;
}

.mo-panel-head-tight[b-9ykge2jj0w] {
    padding: .85rem 1rem .7rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.mo-panel-title-sm[b-9ykge2jj0w] {
    margin: 0 0 .15rem;
    font-size: .88rem;
    font-weight: 700;
}

.mo-panel-sub-sm[b-9ykge2jj0w] {
    margin: 0;
    font-size: .72rem;
    color: var(--bs-secondary-color);
}

.mo-panel-body[b-9ykge2jj0w] {
    padding: 1.1rem 1.15rem 1.2rem;
}

.mo-btn[b-9ykge2jj0w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 2.1rem;
    padding: .4rem .9rem;
    border-radius: .55rem;
    border: 1px solid transparent;
    font-size: .82rem;
    font-weight: 600;
}

.mo-btn:disabled[b-9ykge2jj0w] {
    opacity: .55;
    pointer-events: none;
}

.mo-btn-gold[b-9ykge2jj0w] {
    color: var(--mo-ink);
    background: linear-gradient(135deg, var(--mo-violet-600), var(--mo-violet));
    border-color: var(--mo-violet);
    box-shadow: 0 3px 12px rgba(216, 168, 62, .16);
}

.mo-btn-gold:hover:not(:disabled)[b-9ykge2jj0w] {
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(216, 168, 62, .26);
}

.mo-btn-ghost[b-9ykge2jj0w] {
    color: var(--mo-violet-600);
    background: rgba(216, 168, 62, .04);
    border-color: rgba(216, 168, 62, .4);
}

.mo-btn-ghost:hover:not(:disabled)[b-9ykge2jj0w] {
    background: rgba(216, 168, 62, .1);
}

.mo-inline-alert[b-9ykge2jj0w] {
    border-radius: .6rem;
    padding: .6rem .8rem;
    font-size: .82rem;
    border: 1px solid transparent;
    margin: .9rem 0 0;
}

.mo-inline-alert-success[b-9ykge2jj0w] {
    color: var(--mo-teal);
    background: rgba(72, 197, 138, .12);
    border-color: rgba(72, 197, 138, .3);
}

.mo-inline-alert-danger[b-9ykge2jj0w] {
    color: var(--mo-rose);
    background: rgba(224, 87, 91, .12);
    border-color: rgba(224, 87, 91, .3);
}

.mo-spinner[b-9ykge2jj0w] {
    display: inline-block;
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid rgba(69, 162, 255, .25);
    border-top-color: var(--mo-blue-400);
    border-radius: 50%;
    animation: mo-account-spin-b-9ykge2jj0w .7s linear infinite;
}

.mo-spinner-sm[b-9ykge2jj0w] {
    width: .9rem;
    height: .9rem;
}

@keyframes mo-account-spin-b-9ykge2jj0w {
    to { transform: rotate(360deg); }
}

/* ---- Account-page-specific bits ---- */

.mo-account-avatar[b-9ykge2jj0w] {
    width: 3rem;
    height: 3rem;
    font-size: 1.05rem;
    flex-shrink: 0;
}

.mo-account-role-card[b-9ykge2jj0w] {
    background: var(--mo-surface-2);
    min-width: 12rem;
}

.mo-field .form-control[b-9ykge2jj0w] {
    background: var(--bs-body-bg);
}

.mo-field .form-control:focus[b-9ykge2jj0w] {
    border-color: var(--mo-violet-600);
    box-shadow: 0 0 0 .2rem rgba(216, 168, 62, .15);
}
/* /Components/Pages/CandidateProfile.razor.rz.scp.css */
/* =========================================================
   CANDIDATE PROFILE (Recruiter)
   Same language as Candidates: dark hero with stage + KPIs, opportunity
   cards with one next step, a compact deliverables list with a page preview,
   and a short activity feed. Animations fill `backwards` only.
   ========================================================= */

.mo-cp[b-a7kyilu8xc], .mo-cp-modal[b-a7kyilu8xc] {
    --cp-gold: var(--mo-violet);
    --cp-gold-soft: rgba(216, 168, 62, .14);
    --cp-gold-line: rgba(216, 168, 62, .45);
    --cp-ease: cubic-bezier(.2, .8, .2, 1);
}
.mo-cp[b-a7kyilu8xc] { display: flex; flex-direction: column; gap: 1.5rem; padding: .75rem 0 4rem; }

.mo-cp-muted[b-a7kyilu8xc] { font-size: .8rem; color: var(--bs-secondary-color); }
.mo-cp-hint[b-a7kyilu8xc] { margin: 0; font-size: .86rem; color: var(--bs-secondary-color); }
.mo-cp-label[b-a7kyilu8xc] { display: inline-flex; align-items: center; gap: .45rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }

.mo-cp-back[b-a7kyilu8xc] {
    align-self: flex-start; display: inline-flex; align-items: center; gap: .45rem; font-size: .84rem; font-weight: 600;
    color: var(--bs-secondary-color); text-decoration: none; transition: color .2s ease;
}
.mo-cp-back:hover[b-a7kyilu8xc] { color: var(--cp-gold); }
.mo-cp-back i[b-a7kyilu8xc] { transition: transform .2s var(--cp-ease); }
.mo-cp-back:hover i[b-a7kyilu8xc] { transform: translateX(-3px); }

/* ---------- hero ---------- */
.mo-cp-hero[b-a7kyilu8xc] {
    position: relative; overflow: hidden; border-radius: 1.75rem;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    color: #fff; box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: cp-up-b-a7kyilu8xc .7s var(--cp-ease) backwards;
}
.mo-cp-orb[b-a7kyilu8xc] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-cp-orb.is-a[b-a7kyilu8xc] { left: -100px; top: -160px; width: 460px; height: 460px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: cp-float-a-b-a7kyilu8xc 14s ease-in-out infinite; }
.mo-cp-orb.is-b[b-a7kyilu8xc] { right: 80px; bottom: -220px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: cp-float-b-b-a7kyilu8xc 18s ease-in-out infinite; }
.mo-cp-hero-inner[b-a7kyilu8xc] { position: relative; display: flex; align-items: center; gap: 2rem; padding: 2.4rem 2.75rem; }
.mo-cp-hero-copy[b-a7kyilu8xc] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.mo-cp-kicker[b-a7kyilu8xc] { display: flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-cp-pulse[b-a7kyilu8xc] { width: 8px; height: 8px; border-radius: 50%; background: var(--cp-gold); animation: cp-pulse-b-a7kyilu8xc 1.8s ease-out infinite; }
.mo-cp-hero h1[b-a7kyilu8xc] { margin: .6rem 0 .55rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; line-height: 1.05; color: #fff; }
.mo-cp-hero-meta[b-a7kyilu8xc] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1.2rem; font-size: .92rem; color: #c3cbe0; }
.mo-cp-hero .mo-cp-stage[b-a7kyilu8xc] { background: rgba(255, 255, 255, .1); }
.mo-cp-kpis[b-a7kyilu8xc] { flex: none; display: grid; grid-template-columns: repeat(2, minmax(0, 9.5rem)); gap: .7rem; }
.mo-cp-kpi[b-a7kyilu8xc] {
    display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem; border-radius: 1.2rem;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
    animation: cp-pop-b-a7kyilu8xc .6s var(--cp-ease) backwards; animation-delay: calc(.2s + var(--i) * 70ms);
}
.mo-cp-kpi b[b-a7kyilu8xc] { font-family: Georgia, "Times New Roman", serif; font-size: 1.85rem; font-weight: 600; line-height: 1.05; color: #fff; }
.mo-cp-kpi span[b-a7kyilu8xc] { font-size: .76rem; color: #c3cbe0; }

/* ---------- avatar / tiles ---------- */
.mo-cp-av[b-a7kyilu8xc] {
    flex: none; width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700;
    background: var(--tone-bg, var(--bs-tertiary-bg)); color: var(--tone-ink, var(--bs-secondary-color));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tone-ink, #888) 30%, transparent);
}
.mo-cp-av.is-lg[b-a7kyilu8xc] { width: 5.5rem; height: 5.5rem; font-size: 1.8rem; font-family: Georgia, "Times New Roman", serif; animation: cp-pop-b-a7kyilu8xc .6s .1s var(--cp-ease) backwards; }
.mo-cp-tile[b-a7kyilu8xc] {
    flex: none; width: 2.6rem; height: 2.6rem; border-radius: .8rem; display: grid; place-items: center; font-size: .8rem; font-weight: 800;
    background: var(--tone-bg, var(--bs-tertiary-bg)); color: var(--tone-ink, var(--bs-secondary-color));
}
.tone-0[b-a7kyilu8xc] { --tone-bg: rgba(216, 168, 62, .18); --tone-ink: #d2a03a; }
.tone-1[b-a7kyilu8xc] { --tone-bg: rgba(43, 181, 168, .18); --tone-ink: #2bb5a8; }
.tone-2[b-a7kyilu8xc] { --tone-bg: rgba(240, 140, 60, .18); --tone-ink: #e98a3c; }
.tone-3[b-a7kyilu8xc] { --tone-bg: rgba(69, 162, 255, .18); --tone-ink: #4f9dff; }
.tone-4[b-a7kyilu8xc] { --tone-bg: rgba(229, 103, 154, .18); --tone-ink: #e5679a; }
.tone-5[b-a7kyilu8xc] { --tone-bg: rgba(72, 197, 138, .18); --tone-ink: #3fb87f; }

/* ---------- buttons ---------- */
.mo-cp-btn[b-a7kyilu8xc] {
    flex: none; display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    height: 2.6rem; padding: 0 1.15rem; border-radius: 999px; border: 1px solid transparent;
    font-size: .84rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: transform .18s var(--cp-ease), background .2s ease, border-color .2s ease;
}
.mo-cp-btn.is-sm[b-a7kyilu8xc] { height: 2.25rem; padding: 0 .95rem; font-size: .8rem; }
.mo-cp-btn:hover[b-a7kyilu8xc] { transform: translateY(-1px); }
.mo-cp-btn i[b-a7kyilu8xc] { transition: transform .2s var(--cp-ease); }
.mo-cp-btn:hover i.bi-arrow-right[b-a7kyilu8xc] { transform: translateX(3px); }
.mo-cp-btn.is-gold[b-a7kyilu8xc] { background: var(--cp-gold); color: var(--mo-ink); box-shadow: 0 8px 20px rgba(216, 168, 62, .28); }
.mo-cp-btn.is-gold:hover[b-a7kyilu8xc] { background: var(--mo-violet-600); color: var(--mo-ink); }
.mo-cp-btn.is-outline[b-a7kyilu8xc] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.mo-cp-btn.is-outline:hover[b-a7kyilu8xc] { border-color: var(--cp-gold-line); color: var(--bs-body-color); }
.mo-cp-icon-btn[b-a7kyilu8xc] {
    flex: none; width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: 50%;
    border: 1px solid var(--bs-border-color); color: var(--bs-body-color); text-decoration: none;
    transition: border-color .2s ease, color .2s ease, transform .2s var(--cp-ease);
}
.mo-cp-icon-btn:hover[b-a7kyilu8xc] { border-color: var(--cp-gold-line); color: var(--cp-gold); transform: translateY(-1px); }

/* ---------- stages ---------- */
.mo-cp-dot[b-a7kyilu8xc] { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--bs-secondary-color); }
.mo-cp-dot.is-progress[b-a7kyilu8xc] { background: #3fb87f; box-shadow: 0 0 6px rgba(72, 197, 138, .7); }
.mo-cp-dot.is-ready[b-a7kyilu8xc] { background: var(--cp-gold); box-shadow: 0 0 6px rgba(216, 168, 62, .7); }
.mo-cp-dot.is-waiting[b-a7kyilu8xc] { background: #4f9dff; }
.mo-cp-dot.is-declined[b-a7kyilu8xc] { background: #e86b6f; }
.mo-cp-stage[b-a7kyilu8xc] {
    flex: none; display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .65rem; border-radius: 999px;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: .72rem; font-weight: 700; white-space: nowrap;
}
.mo-cp-stage.is-progress[b-a7kyilu8xc] { background: rgba(72, 197, 138, .14); color: #3fb87f; }
.mo-cp-stage.is-ready[b-a7kyilu8xc] { background: var(--cp-gold-soft); color: var(--cp-gold); }
.mo-cp-stage.is-waiting[b-a7kyilu8xc] { background: rgba(69, 162, 255, .14); color: #4f9dff; }
.mo-cp-stage.is-declined[b-a7kyilu8xc] { background: rgba(224, 87, 91, .12); color: #e86b6f; }

/* ---------- layout ---------- */
.mo-cp-grid[b-a7kyilu8xc] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 24rem); gap: 1.5rem; align-items: start; }
.mo-cp-col[b-a7kyilu8xc] { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
aside.mo-cp-col[b-a7kyilu8xc] { position: sticky; top: 4.5rem; }

/* ---------- opportunity cards ---------- */
.mo-cp-opp[b-a7kyilu8xc] {
    display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem 1.4rem; border-radius: 1.4rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: cp-up-b-a7kyilu8xc .5s var(--cp-ease) backwards; animation-delay: calc(.15s + var(--i) * 70ms);
    transition: border-color .25s ease, box-shadow .25s ease;
}
.mo-cp-opp:hover[b-a7kyilu8xc] { border-color: var(--cp-gold-line); box-shadow: var(--mo-shadow); }
.mo-cp-opp-head[b-a7kyilu8xc] { display: flex; align-items: flex-start; gap: .6rem; }
.mo-cp-opp-title[b-a7kyilu8xc] { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-cp-opp-foot[b-a7kyilu8xc] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding-top: .85rem; border-top: 1px solid var(--bs-border-color); }

.mo-cp-travs[b-a7kyilu8xc] { display: flex; flex-direction: column; gap: .5rem; }
.mo-cp-trav[b-a7kyilu8xc] {
    display: flex; align-items: center; gap: .85rem; padding: .7rem .9rem; border-radius: 1rem;
    border: 1px solid var(--bs-border-color); background: var(--bs-tertiary-bg); color: inherit; text-decoration: none;
    transition: border-color .2s ease, transform .2s var(--cp-ease), background .2s ease;
}
.mo-cp-trav:hover[b-a7kyilu8xc] { border-color: var(--cp-gold-line); background: var(--cp-gold-soft); transform: translateX(3px); color: inherit; }
.mo-cp-trav-icon[b-a7kyilu8xc] { flex: none; width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; background: var(--cp-gold-soft); color: var(--cp-gold); }
.mo-cp-trav-title[b-a7kyilu8xc], .mo-cp-trav-sub[b-a7kyilu8xc] { display: block; }
.mo-cp-trav-title[b-a7kyilu8xc] { font-size: .9rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-cp-trav-sub[b-a7kyilu8xc] { font-size: .8rem; color: var(--bs-secondary-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-cp-trav-meta[b-a7kyilu8xc] { flex: none; display: flex; gap: .8rem; font-size: .78rem; color: var(--bs-secondary-color); }
.mo-cp-trav-meta i[b-a7kyilu8xc] { margin-right: .25rem; }
.mo-cp-trav-go[b-a7kyilu8xc] { flex: none; color: var(--bs-secondary-color); transition: transform .2s var(--cp-ease); }
.mo-cp-trav:hover .mo-cp-trav-go[b-a7kyilu8xc] { transform: translateX(3px); color: var(--cp-gold); }

.mo-cp-scope-toggle[b-a7kyilu8xc] {
    display: inline-flex; align-items: center; gap: .45rem; padding: 0; border: 0; background: none;
    font-size: .84rem; font-weight: 600; color: var(--bs-body-color);
}
.mo-cp-scope-toggle:hover[b-a7kyilu8xc] { color: var(--cp-gold); }
.mo-cp-scope-toggle i[b-a7kyilu8xc] { transition: transform .25s var(--cp-ease); }
.mo-cp-scope-toggle.is-open i[b-a7kyilu8xc] { transform: rotate(180deg); }
.mo-cp-scope[b-a7kyilu8xc] {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .9rem;
    animation: cp-up-b-a7kyilu8xc .35s var(--cp-ease) backwards;
}
.mo-cp-scope-group[b-a7kyilu8xc] { padding: .8rem .9rem; border-radius: 1rem; background: var(--bs-tertiary-bg); }
.mo-cp-scope-head[b-a7kyilu8xc] { display: flex; align-items: center; gap: .45rem; margin-bottom: .45rem; font-size: .78rem; font-weight: 700; color: var(--node); }
.mo-cp-scope-head span[b-a7kyilu8xc] { margin-left: auto; color: var(--bs-secondary-color); }
.mo-cp-scope ul[b-a7kyilu8xc] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .3rem; }
.mo-cp-scope li[b-a7kyilu8xc] { display: flex; align-items: baseline; gap: .45rem; font-size: .82rem; line-height: 1.35; cursor: default; }
.mo-cp-scope li em[b-a7kyilu8xc] { flex: none; margin-left: auto; font-size: .7rem; font-style: normal; color: #ef9a50; }
.mo-cp-epi[b-a7kyilu8xc] { flex: none; width: .45rem; height: .45rem; border-radius: 50%; translate: 0 -1px; }
.mo-cp-epi.is-ok[b-a7kyilu8xc] { background: #3fb87f; }
.mo-cp-epi.is-prov[b-a7kyilu8xc] { background: transparent; box-shadow: inset 0 0 0 1.5px #ef9a50; }

/* ---------- side panels ---------- */
.mo-cp-panel[b-a7kyilu8xc] {
    display: flex; flex-direction: column; gap: .85rem; padding: 1.2rem 1.25rem; border-radius: 1.4rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: cp-up-b-a7kyilu8xc .5s var(--cp-ease) backwards; animation-delay: calc(.2s + var(--i) * 90ms);
}
.mo-cp-dels[b-a7kyilu8xc] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .4rem; }
.mo-cp-dels li[b-a7kyilu8xc] { display: flex; align-items: center; gap: .5rem; animation: cp-up-b-a7kyilu8xc .4s var(--cp-ease) backwards; animation-delay: calc(.3s + var(--i) * 50ms); }
.mo-cp-del[b-a7kyilu8xc] {
    flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: .8rem; padding: .55rem .6rem; border: 1px solid transparent; border-radius: 1rem;
    background: none; color: inherit; text-align: left; transition: background .2s ease, border-color .2s ease;
}
.mo-cp-del:hover[b-a7kyilu8xc] { background: var(--bs-tertiary-bg); border-color: var(--bs-border-color); }
.mo-cp-del-title[b-a7kyilu8xc] { display: block; font-size: .88rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-cp-del-title small[b-a7kyilu8xc] { font-weight: 500; color: var(--bs-secondary-color); }
.mo-cp-del-sub[b-a7kyilu8xc] { display: block; font-size: .74rem; color: var(--bs-secondary-color); }
.mo-cp-fidbar[b-a7kyilu8xc] { display: block; width: 100%; height: .3rem; margin: .3rem 0 .25rem; border-radius: 999px; background: var(--bs-tertiary-bg); overflow: hidden; }
.mo-cp-fidbar > span[b-a7kyilu8xc] { display: block; height: 100%; border-radius: inherit; transform-origin: left center; animation: cp-grow-b-a7kyilu8xc .8s .35s var(--cp-ease) backwards; }
.mo-cp-fidbar > span.is-high[b-a7kyilu8xc] { background: linear-gradient(90deg, #48c58a, #2e9e6b); }
.mo-cp-fidbar > span.is-mid[b-a7kyilu8xc] { background: linear-gradient(90deg, #f0c85e, #d8a83e); }
.mo-cp-fidbar > span.is-low[b-a7kyilu8xc] { background: linear-gradient(90deg, #f0a35e, #e0575b); }
b.is-high[b-a7kyilu8xc], .mo-cp-fid-chip.is-high[b-a7kyilu8xc] { color: #3fb87f; }
b.is-mid[b-a7kyilu8xc], .mo-cp-fid-chip.is-mid[b-a7kyilu8xc] { color: #e2b440; }
b.is-low[b-a7kyilu8xc], .mo-cp-fid-chip.is-low[b-a7kyilu8xc] { color: #ef9a50; }

.mo-cp-feed[b-a7kyilu8xc] { position: relative; margin: 0; padding: 0 0 0 1.1rem; list-style: none; display: flex; flex-direction: column; gap: .75rem; }
.mo-cp-feed[b-a7kyilu8xc]::before { content: ""; position: absolute; left: .3rem; top: .4rem; bottom: .4rem; width: 1px; background: var(--bs-border-color); }
.mo-cp-feed li[b-a7kyilu8xc] { position: relative; }
.mo-cp-feed li[b-a7kyilu8xc]::before { content: ""; position: absolute; left: -1.05rem; top: .45rem; width: .55rem; height: .55rem; border-radius: 50%; background: var(--cp-gold); box-shadow: 0 0 0 3px var(--mo-surface); }
.mo-cp-feed a[b-a7kyilu8xc] { display: flex; flex-direction: column; gap: .15rem; color: inherit; text-decoration: none; }
.mo-cp-feed-q[b-a7kyilu8xc] { font-size: .84rem; line-height: 1.4; color: var(--bs-body-color); transition: color .2s ease; }
.mo-cp-feed a:hover .mo-cp-feed-q[b-a7kyilu8xc] { color: var(--cp-gold); }

/* ---------- preview modal (outside .mo-cp) ---------- */
.mo-cp-modal[b-a7kyilu8xc] { position: fixed; inset: 0; z-index: 1070; display: grid; place-items: center; padding: 1.5rem; outline: none; }
.mo-cp-scrim[b-a7kyilu8xc] { position: absolute; inset: 0; border: 0; background: rgba(4, 10, 18, .7); backdrop-filter: blur(4px); animation: cp-fade-b-a7kyilu8xc .25s ease backwards; }
.mo-cp-sheet[b-a7kyilu8xc] {
    position: relative; width: min(52rem, 100%); height: min(58rem, calc(100dvh - 3rem));
    display: flex; flex-direction: column; border-radius: 1.5rem; border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg); box-shadow: 0 30px 80px rgba(0, 0, 0, .45); overflow: hidden;
    animation: cp-in-b-a7kyilu8xc .4s var(--cp-ease) backwards;
}
.mo-cp-sheet-head[b-a7kyilu8xc] { flex: none; display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--bs-border-color); }
.mo-cp-sheet-title[b-a7kyilu8xc] { font-size: 1.1rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-cp-fid-chip[b-a7kyilu8xc] { flex: none; padding: .3rem .8rem; border-radius: 999px; background: var(--bs-tertiary-bg); font-size: .78rem; font-weight: 700; }
.mo-cp-close[b-a7kyilu8xc] {
    flex: none; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border: 0; border-radius: 50%;
    background: var(--bs-tertiary-bg); color: var(--bs-body-color); transition: transform .25s var(--cp-ease), background .2s ease;
}
.mo-cp-close:hover[b-a7kyilu8xc] { transform: rotate(90deg); background: var(--cp-gold-soft); }
.mo-cp-sheet-body[b-a7kyilu8xc] { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1.75rem 1.25rem; background: var(--bs-tertiary-bg); }
.mo-cp-sheet-body[b-a7kyilu8xc]  .mo-doc-page { max-width: 48rem; margin: 0 auto; }
.mo-cp-sheet-notes[b-a7kyilu8xc] { max-width: 48rem; margin: 1.25rem auto 0; padding: 1rem 1.15rem; border-radius: 1rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface); }
.mo-cp-sheet-notes p[b-a7kyilu8xc] { margin: .4rem 0 0; font-size: .86rem; line-height: 1.55; white-space: pre-wrap; }
.mo-cp-sheet-foot[b-a7kyilu8xc] { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .9rem 1.4rem 1.1rem; border-top: 1px solid var(--bs-border-color); }

/* ---------- loading / empty ---------- */
.mo-cp-skeleton[b-a7kyilu8xc] {
    height: 12rem; border-radius: 1.4rem; border: 1px solid var(--bs-border-color);
    background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%); background-size: 300% 100%;
    animation: cp-shimmer-b-a7kyilu8xc 1.4s linear infinite; animation-delay: calc(var(--i, 0) * 120ms);
}
.mo-cp-skeleton.is-hero[b-a7kyilu8xc] { height: 13rem; border-radius: 1.75rem; }
.mo-cp-empty[b-a7kyilu8xc] {
    display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 3.5rem 1.5rem; text-align: center;
    border: 1px dashed var(--bs-border-color); border-radius: 1.5rem; color: var(--bs-secondary-color);
    animation: cp-up-b-a7kyilu8xc .4s var(--cp-ease) backwards;
}
.mo-cp-empty i[b-a7kyilu8xc] { font-size: 1.8rem; color: var(--cp-gold); }
.mo-cp-empty h2[b-a7kyilu8xc] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; color: var(--bs-emphasis-color); }
.mo-cp-empty p[b-a7kyilu8xc] { margin: 0; max-width: 30rem; }

/* ---------- motion ---------- */
@keyframes cp-up-b-a7kyilu8xc { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes cp-pop-b-a7kyilu8xc { from { opacity: 0; scale: .95; } to { opacity: 1; scale: 1; } }
@keyframes cp-in-b-a7kyilu8xc { from { opacity: 0; translate: 0 18px; scale: .98; } to { opacity: 1; translate: none; scale: 1; } }
@keyframes cp-fade-b-a7kyilu8xc { from { opacity: 0; } }
@keyframes cp-grow-b-a7kyilu8xc { from { transform: scaleX(0); } }
@keyframes cp-float-a-b-a7kyilu8xc { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes cp-float-b-b-a7kyilu8xc { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes cp-pulse-b-a7kyilu8xc { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes cp-shimmer-b-a7kyilu8xc { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .mo-cp *[b-a7kyilu8xc], .mo-cp-modal *[b-a7kyilu8xc] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .mo-cp-grid[b-a7kyilu8xc] { grid-template-columns: minmax(0, 1fr); }
    aside.mo-cp-col[b-a7kyilu8xc] { position: static; }
    .mo-cp-hero-inner[b-a7kyilu8xc] { flex-wrap: wrap; }
    .mo-cp-kpis[b-a7kyilu8xc] { flex: 1 1 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .mo-cp-hero-inner[b-a7kyilu8xc] { padding: 1.75rem 1.25rem; gap: 1.25rem; }
    .mo-cp-av.is-lg[b-a7kyilu8xc] { width: 4rem; height: 4rem; font-size: 1.3rem; }
    .mo-cp-kpis[b-a7kyilu8xc] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mo-cp-trav-meta[b-a7kyilu8xc] { display: none; }
    .mo-cp-modal[b-a7kyilu8xc] { padding: 0; }
    .mo-cp-sheet[b-a7kyilu8xc] { height: 100dvh; border-radius: 0; }
}
/* /Components/Pages/Candidates.razor.rz.scp.css */
/* =========================================================
   CANDIDATES (Recruiter)
   Same visual language as Opportunities / Prepare / Documents: dark hero
   with clickable KPIs, a "Needs you" strip, stage chips, and one card per
   candidate with a pipeline stage and a single next step. Animations fill
   `backwards` only.
   ========================================================= */

.mo-cd[b-2jpk4t8ioe] {
    --cd-gold: var(--mo-violet);
    --cd-gold-soft: rgba(216, 168, 62, .14);
    --cd-gold-line: rgba(216, 168, 62, .45);
    --cd-ease: cubic-bezier(.2, .8, .2, 1);
    display: flex; flex-direction: column; gap: 1.5rem; padding: .75rem 0 4rem;
}

.mo-cd-muted[b-2jpk4t8ioe] { font-size: .8rem; color: var(--bs-secondary-color); }
.mo-cd-label[b-2jpk4t8ioe] { display: inline-flex; align-items: center; gap: .45rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-cd-label.is-warn[b-2jpk4t8ioe] { color: #ef9a50; }
.mo-cd-label.is-warn i[b-2jpk4t8ioe] { animation: cd-ring-b-2jpk4t8ioe 2.4s ease-in-out infinite; transform-origin: 50% 0; }

/* ---------- hero ---------- */
.mo-cd-hero[b-2jpk4t8ioe] {
    position: relative; overflow: hidden; border-radius: 1.75rem;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    color: #fff; box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: cd-up-b-2jpk4t8ioe .7s var(--cd-ease) backwards;
}
.mo-cd-orb[b-2jpk4t8ioe] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-cd-orb.is-a[b-2jpk4t8ioe] { left: -100px; top: -160px; width: 460px; height: 460px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: cd-float-a-b-2jpk4t8ioe 14s ease-in-out infinite; }
.mo-cd-orb.is-b[b-2jpk4t8ioe] { right: 80px; bottom: -220px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: cd-float-b-b-2jpk4t8ioe 18s ease-in-out infinite; }
.mo-cd-hero-inner[b-2jpk4t8ioe] { position: relative; display: flex; align-items: center; gap: 3rem; padding: 2.5rem 2.75rem 2.4rem; }
.mo-cd-hero-copy[b-2jpk4t8ioe] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.mo-cd-kicker[b-2jpk4t8ioe] { display: flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-cd-pulse[b-2jpk4t8ioe] { width: 8px; height: 8px; border-radius: 50%; background: var(--cd-gold); animation: cd-pulse-b-2jpk4t8ioe 1.8s ease-out infinite; }
.mo-cd-hero h1[b-2jpk4t8ioe] { margin: .75rem 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.4vw, 3.25rem); font-weight: 600; line-height: 1.05; color: #fff; }
.mo-cd-hero p[b-2jpk4t8ioe] { max-width: 36rem; margin: 0 0 1.3rem; font-size: 1rem; line-height: 1.6; color: #c3cbe0; }
.mo-cd-kpis[b-2jpk4t8ioe] { flex: none; display: grid; grid-template-columns: repeat(2, minmax(0, 9rem)); gap: .7rem; }
.mo-cd-kpi[b-2jpk4t8ioe] {
    display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem; border-radius: 1.2rem; text-align: left;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #fff;
    animation: cd-pop-b-2jpk4t8ioe .6s var(--cd-ease) backwards; animation-delay: calc(.2s + var(--i) * 70ms);
    transition: transform .2s var(--cd-ease), border-color .2s ease, background .2s ease;
}
.mo-cd-kpi:hover[b-2jpk4t8ioe] { transform: translateY(-2px); border-color: rgba(216, 168, 62, .6); }
.mo-cd-kpi.is-active[b-2jpk4t8ioe] { background: rgba(216, 168, 62, .2); border-color: rgba(216, 168, 62, .7); }
.mo-cd-kpi b[b-2jpk4t8ioe] { font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; font-weight: 600; line-height: 1.05; }
.mo-cd-kpi span[b-2jpk4t8ioe] { font-size: .78rem; color: #c3cbe0; }

/* ---------- buttons ---------- */
.mo-cd-btn[b-2jpk4t8ioe] {
    flex: none; display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    height: 2.6rem; padding: 0 1.1rem; border-radius: 999px; border: 1px solid transparent;
    font-size: .84rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: transform .18s var(--cd-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.mo-cd-btn:hover[b-2jpk4t8ioe] { transform: translateY(-1px); }
.mo-cd-btn i[b-2jpk4t8ioe] { transition: transform .2s var(--cd-ease); }
.mo-cd-btn:hover i.bi-arrow-right[b-2jpk4t8ioe] { transform: translateX(3px); }
.mo-cd-btn.is-gold[b-2jpk4t8ioe] { background: var(--cd-gold); color: var(--mo-ink); box-shadow: 0 8px 20px rgba(216, 168, 62, .28); }
.mo-cd-btn.is-gold:hover[b-2jpk4t8ioe] { background: var(--mo-violet-600); color: var(--mo-ink); }
.mo-cd-btn.is-outline[b-2jpk4t8ioe] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.mo-cd-btn.is-outline:hover[b-2jpk4t8ioe] { border-color: var(--cd-gold-line); color: var(--bs-body-color); }
.mo-cd-btn.is-light[b-2jpk4t8ioe] { background: #fff; color: #111b26; }

/* ---------- needs you ---------- */
.mo-cd-needs[b-2jpk4t8ioe] { display: flex; flex-direction: column; gap: .75rem; }
.mo-cd-needs-grid[b-2jpk4t8ioe] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr)); gap: 1rem; }
.mo-cd-need[b-2jpk4t8ioe] {
    display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; border-radius: 1.4rem;
    border: 1px solid rgba(216, 168, 62, .3);
    background: radial-gradient(320px circle at 100% 0%, rgba(216, 168, 62, .16), transparent 65%), linear-gradient(135deg, #13263d, #0b1828);
    color: #fff;
    animation: cd-up-b-2jpk4t8ioe .5s var(--cd-ease) backwards; animation-delay: calc(.1s + var(--i) * 70ms);
    transition: transform .25s var(--cd-ease), box-shadow .25s ease;
}
.mo-cd-need:hover[b-2jpk4t8ioe] { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
.mo-cd-need-name[b-2jpk4t8ioe] { font-size: 1rem; font-weight: 600; }
.mo-cd-need-sub[b-2jpk4t8ioe] { font-size: .8rem; color: #b9c6d8; }
.mo-cd-need-note[b-2jpk4t8ioe] { margin-top: .25rem; font-size: .8rem; font-weight: 600; color: #f0c85e; }

/* ---------- toolbar ---------- */
.mo-cd-toolbar[b-2jpk4t8ioe] { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.mo-cd-chips[b-2jpk4t8ioe] { display: flex; flex-wrap: wrap; gap: .45rem; }
.mo-cd-chip[b-2jpk4t8ioe] {
    display: inline-flex; align-items: center; gap: .4rem; height: 2.5rem; padding: 0 1rem; border-radius: 999px;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface); color: var(--bs-body-color);
    font-size: .82rem; font-weight: 600; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s var(--cd-ease);
}
.mo-cd-chip span[b-2jpk4t8ioe] { opacity: .65; }
.mo-cd-chip:hover[b-2jpk4t8ioe] { border-color: var(--cd-gold-line); }
.mo-cd-chip:active[b-2jpk4t8ioe] { transform: scale(.97); }
.mo-cd-chip.is-active[b-2jpk4t8ioe] { background: var(--bs-emphasis-color); color: var(--bs-body-bg); border-color: var(--bs-emphasis-color); }
.mo-cd-search[b-2jpk4t8ioe], .mo-cd-sort[b-2jpk4t8ioe] { position: relative; margin: 0; }
.mo-cd-search i[b-2jpk4t8ioe], .mo-cd-sort i[b-2jpk4t8ioe] { position: absolute; left: .9rem; top: 50%; translate: 0 -50%; color: var(--bs-secondary-color); pointer-events: none; }
.mo-cd-search input[b-2jpk4t8ioe], .mo-cd-sort select[b-2jpk4t8ioe] {
    height: 2.5rem; padding: 0 1rem 0 2.4rem; border: 1px solid var(--bs-border-color); border-radius: 999px;
    background: var(--mo-surface); color: var(--bs-body-color); font-size: .84rem; transition: border-color .2s ease, box-shadow .2s ease;
}
.mo-cd-search input[b-2jpk4t8ioe] { width: 16rem; }
.mo-cd-sort select[b-2jpk4t8ioe] { appearance: none; padding-right: 1.2rem; cursor: pointer; }
.mo-cd-search input:focus[b-2jpk4t8ioe], .mo-cd-sort select:focus[b-2jpk4t8ioe] { outline: none; border-color: var(--cd-gold-line); box-shadow: 0 0 0 4px var(--cd-gold-soft); }

/* ---------- stages ---------- */
.mo-cd-stage-dot[b-2jpk4t8ioe] { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--bs-secondary-color); }
.mo-cd-stage-dot.is-progress[b-2jpk4t8ioe] { background: #3fb87f; box-shadow: 0 0 6px rgba(72, 197, 138, .7); }
.mo-cd-stage-dot.is-ready[b-2jpk4t8ioe] { background: var(--cd-gold); box-shadow: 0 0 6px rgba(216, 168, 62, .7); }
.mo-cd-stage-dot.is-waiting[b-2jpk4t8ioe] { background: #4f9dff; }
.mo-cd-stage-dot.is-invited[b-2jpk4t8ioe] { background: #b98af5; }
.mo-cd-stage-dot.is-expired[b-2jpk4t8ioe] { background: #ef9a50; }
.mo-cd-stage-dot.is-declined[b-2jpk4t8ioe] { background: #e86b6f; }
.mo-cd-stage[b-2jpk4t8ioe] {
    display: inline-flex; align-items: center; gap: .35rem; padding: .12rem .6rem; border-radius: 999px;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-family: var(--bs-body-font-family); font-size: .7rem; font-weight: 700; white-space: nowrap;
}
.mo-cd-stage.is-progress[b-2jpk4t8ioe] { background: rgba(72, 197, 138, .14); color: #3fb87f; }
.mo-cd-stage.is-ready[b-2jpk4t8ioe] { background: var(--cd-gold-soft); color: var(--cd-gold); }
.mo-cd-stage.is-waiting[b-2jpk4t8ioe] { background: rgba(69, 162, 255, .14); color: #4f9dff; }
.mo-cd-stage.is-invited[b-2jpk4t8ioe] { background: rgba(168, 85, 247, .14); color: #b98af5; }
.mo-cd-stage.is-expired[b-2jpk4t8ioe] { background: rgba(240, 140, 60, .14); color: #ef9a50; }
.mo-cd-stage.is-declined[b-2jpk4t8ioe] { background: rgba(224, 87, 91, .12); color: #e86b6f; }

/* ---------- avatars ---------- */
.mo-cd-av[b-2jpk4t8ioe] {
    flex: none; width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 1rem;
    background: var(--tone-bg, var(--bs-tertiary-bg)); color: var(--tone-ink, var(--bs-secondary-color));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tone-ink, #888) 30%, transparent);
    transition: transform .3s var(--cd-ease);
}
.mo-cd-av.tone-0[b-2jpk4t8ioe] { --tone-bg: rgba(216, 168, 62, .18); --tone-ink: #d2a03a; }
.mo-cd-av.tone-1[b-2jpk4t8ioe] { --tone-bg: rgba(43, 181, 168, .18); --tone-ink: #2bb5a8; }
.mo-cd-av.tone-2[b-2jpk4t8ioe] { --tone-bg: rgba(240, 140, 60, .18); --tone-ink: #e98a3c; }
.mo-cd-av.tone-3[b-2jpk4t8ioe] { --tone-bg: rgba(69, 162, 255, .18); --tone-ink: #4f9dff; }
.mo-cd-av.tone-4[b-2jpk4t8ioe] { --tone-bg: rgba(229, 103, 154, .18); --tone-ink: #e5679a; }
.mo-cd-av.tone-5[b-2jpk4t8ioe] { --tone-bg: rgba(72, 197, 138, .18); --tone-ink: #3fb87f; }
.mo-cd-av.tone-6[b-2jpk4t8ioe] { --tone-bg: rgba(168, 85, 247, .14); --tone-ink: #b98af5; }

/* ---------- list ---------- */
.mo-cd-list[b-2jpk4t8ioe] { display: flex; flex-direction: column; gap: .7rem; }
.mo-cd-row[b-2jpk4t8ioe] {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 1.25rem;
    padding: 1rem 1.25rem; border-radius: 1.3rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: cd-up-b-2jpk4t8ioe .45s var(--cd-ease) backwards; animation-delay: calc(.15s + var(--i) * 45ms);
    transition: transform .25s var(--cd-ease), border-color .25s ease, box-shadow .25s ease;
}
.mo-cd-row.is-link[b-2jpk4t8ioe] { cursor: pointer; }
.mo-cd-row.is-link:hover[b-2jpk4t8ioe] { transform: translateY(-2px); border-color: var(--cd-gold-line); box-shadow: var(--mo-shadow); }
.mo-cd-row.is-link:hover .mo-cd-av[b-2jpk4t8ioe] { transform: scale(1.06); }
.mo-cd-row.is-attn[b-2jpk4t8ioe] { border-left: 3px solid rgba(240, 140, 60, .7); }
.mo-cd-who[b-2jpk4t8ioe] { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.mo-cd-name[b-2jpk4t8ioe] { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-cd-attn[b-2jpk4t8ioe] { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; font-weight: 600; color: #ef9a50; }
.mo-cd-stats[b-2jpk4t8ioe] { display: flex; gap: 1.5rem; }
.mo-cd-stat[b-2jpk4t8ioe] { display: flex; flex-direction: column; align-items: center; min-width: 4.5rem; text-align: center; }
.mo-cd-stat b[b-2jpk4t8ioe] { font-size: 1.15rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-cd-stat > span:last-child[b-2jpk4t8ioe] { font-size: .7rem; color: var(--bs-secondary-color); }
.mo-cd-stat.is-fid[b-2jpk4t8ioe] { min-width: 5.5rem; }
.mo-cd-fidbar[b-2jpk4t8ioe] { width: 100%; height: .35rem; margin: .25rem 0; border-radius: 999px; background: var(--bs-tertiary-bg); overflow: hidden; }
.mo-cd-fidbar > span[b-2jpk4t8ioe] { display: block; height: 100%; border-radius: inherit; transform-origin: left center; animation: cd-grow-b-2jpk4t8ioe .8s .3s var(--cd-ease) backwards; }
.mo-cd-fidbar > span.is-high[b-2jpk4t8ioe] { background: linear-gradient(90deg, #48c58a, #2e9e6b); }
.mo-cd-fidbar > span.is-mid[b-2jpk4t8ioe] { background: linear-gradient(90deg, #f0c85e, #d8a83e); }
.mo-cd-fidbar > span.is-low[b-2jpk4t8ioe] { background: linear-gradient(90deg, #f0a35e, #e0575b); }
b.is-high[b-2jpk4t8ioe] { color: #3fb87f; }
b.is-mid[b-2jpk4t8ioe] { color: #e2b440; }
b.is-low[b-2jpk4t8ioe] { color: #ef9a50; }
b.is-none[b-2jpk4t8ioe] { color: var(--bs-secondary-color); }
.mo-cd-when[b-2jpk4t8ioe] { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; min-width: 9rem; }

/* ---------- loading / empty ---------- */
.mo-cd-skeleton[b-2jpk4t8ioe] {
    height: 5.5rem; border-radius: 1.3rem; border: 1px solid var(--bs-border-color);
    background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%); background-size: 300% 100%;
    animation: cd-shimmer-b-2jpk4t8ioe 1.4s linear infinite; animation-delay: calc(var(--i) * 120ms);
}
.mo-cd-empty[b-2jpk4t8ioe] {
    display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 3.5rem 1.5rem; text-align: center;
    border: 1px dashed var(--bs-border-color); border-radius: 1.5rem; color: var(--bs-secondary-color);
    animation: cd-up-b-2jpk4t8ioe .4s var(--cd-ease) backwards;
}
.mo-cd-empty.is-small[b-2jpk4t8ioe] { padding: 2.25rem 1.5rem; }
.mo-cd-empty i[b-2jpk4t8ioe] { font-size: 1.8rem; color: var(--cd-gold); }
.mo-cd-empty h2[b-2jpk4t8ioe] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; color: var(--bs-emphasis-color); }
.mo-cd-empty p[b-2jpk4t8ioe] { margin: 0; max-width: 30rem; }

/* ---------- motion ---------- */
@keyframes cd-up-b-2jpk4t8ioe { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes cd-pop-b-2jpk4t8ioe { from { opacity: 0; scale: .95; } to { opacity: 1; scale: 1; } }
@keyframes cd-grow-b-2jpk4t8ioe { from { transform: scaleX(0); } }
@keyframes cd-float-a-b-2jpk4t8ioe { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes cd-float-b-b-2jpk4t8ioe { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes cd-pulse-b-2jpk4t8ioe { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes cd-ring-b-2jpk4t8ioe { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(14deg); } 82% { transform: rotate(-12deg); } 89% { transform: rotate(8deg); } 95% { transform: rotate(-4deg); } }
@keyframes cd-shimmer-b-2jpk4t8ioe { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .mo-cd *[b-2jpk4t8ioe] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .mo-cd-hero-inner[b-2jpk4t8ioe] { flex-direction: column; align-items: stretch; gap: 1.5rem; }
    .mo-cd-kpis[b-2jpk4t8ioe] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .mo-cd-row[b-2jpk4t8ioe] { grid-template-columns: auto minmax(0, 1fr); }
    .mo-cd-stats[b-2jpk4t8ioe], .mo-cd-when[b-2jpk4t8ioe] { grid-column: 2; }
    .mo-cd-when[b-2jpk4t8ioe] { flex-direction: row; align-items: center; justify-content: space-between; }
}

@media (max-width: 720px) {
    .mo-cd-hero-inner[b-2jpk4t8ioe] { padding: 1.75rem 1.25rem; }
    .mo-cd-kpis[b-2jpk4t8ioe] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mo-cd-search[b-2jpk4t8ioe], .mo-cd-search input[b-2jpk4t8ioe] { width: 100%; }
    .mo-cd-stats[b-2jpk4t8ioe] { gap: .75rem; }
}
/* /Components/Pages/Continuum.razor.rz.scp.css */
/* =========================================================
   MY CONTINUUM — "Executive Knowledge Workspace"
   All rules namespaced under .mo-continuum / component-local
   classes below it. Reuses the app-wide tokens from app.css
   (--mo-*, --bs-*) and the global .mo-node-card / .mo-badge /
   .mo-dropzone / .mo-type-icon / .mo-clamp-* / .mo-eyebrow
   classes rather than redefining them.
   ========================================================= */

.mo-continuum[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

/* ---------- header ---------- */

.mo-continuum-head[b-ekm58f6ihb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.mo-continuum-head-copy[b-ekm58f6ihb] {
    min-width: 0;
    max-width: 640px;
}

.mo-continuum-title[b-ekm58f6ihb] {
    margin: .15rem 0 .3rem;
    font-size: 1.7rem;
}

.mo-continuum-sub[b-ekm58f6ihb] {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: .88rem;
}

.mo-cstats[b-ekm58f6ihb] {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.mo-cstat[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 9.5rem;
    padding: .6rem .9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .7rem;
    background: var(--mo-surface);
}

.mo-cstat-ic[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.3rem;
    height: 2.3rem;
    flex-shrink: 0;
    border-radius: .55rem;
    font-size: 1.05rem;
}

.mo-cstat-copy[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mo-cstat-num[b-ekm58f6ihb] {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--bs-emphasis-color);
}

.mo-cstat-label[b-ekm58f6ihb] {
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--bs-secondary-color);
    white-space: nowrap;
}

.mo-cstat-total .mo-cstat-ic[b-ekm58f6ihb] { background: rgba(22, 119, 232, .16); color: var(--mo-blue-400); }
.mo-cstat-warning .mo-cstat-ic[b-ekm58f6ihb] { background: rgba(240, 200, 94, .18); color: var(--mo-amber); }
.mo-cstat-success .mo-cstat-ic[b-ekm58f6ihb] { background: rgba(72, 197, 138, .16); color: var(--mo-teal); }
.mo-cstat-concept .mo-cstat-ic[b-ekm58f6ihb] { background: color-mix(in srgb, var(--mo-node-reflection) 20%, transparent); color: var(--mo-node-reflection); }

.mo-cstat-warning .mo-cstat-num[b-ekm58f6ihb] { color: var(--mo-amber); }
.mo-cstat-success .mo-cstat-num[b-ekm58f6ihb] { color: var(--mo-teal); }
.mo-cstat-concept .mo-cstat-num[b-ekm58f6ihb] { color: var(--mo-node-reflection); }

/* ---------- segmented nav ---------- */

.mo-seg[b-ekm58f6ihb] {
    display: inline-flex;
    gap: .25rem;
    padding: .25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .7rem;
    background: var(--bs-tertiary-bg);
    align-self: flex-start;
}

.mo-seg-btn[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: none;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 600;
    padding: .45rem .9rem;
    border-radius: .55rem;
    transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}

.mo-seg-btn:hover[b-ekm58f6ihb] {
    color: var(--bs-body-color);
    background: rgba(255, 255, 255, .04);
}

.mo-seg-btn.is-active[b-ekm58f6ihb] {
    background: linear-gradient(135deg, #f0c85e, var(--mo-violet));
    color: var(--mo-ink);
    box-shadow: 0 4px 16px rgba(216, 168, 62, .28);
}

.mo-seg-btn.has-pending:not(.is-active)[b-ekm58f6ihb] {
    color: var(--mo-amber);
}

.mo-seg-badge[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.3rem;
    height: 1.3rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: rgba(240, 200, 94, .22);
    color: var(--mo-amber);
    font-size: .68rem;
    font-weight: 700;
}

.mo-seg-btn.is-active .mo-seg-badge[b-ekm58f6ihb] {
    background: rgba(17, 27, 38, .18);
    color: var(--mo-ink);
}

.mo-seg-badge-dark[b-ekm58f6ihb] {
    background: rgba(17, 27, 38, .18);
    color: var(--mo-ink);
}

.mo-seg-badge-neutral[b-ekm58f6ihb] {
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
}

.mo-seg-btn.is-active .mo-seg-badge-neutral[b-ekm58f6ihb] {
    background: rgba(17, 27, 38, .18);
    color: var(--mo-ink);
}

/* ---------- generic panel shell ---------- */

.mo-panel[b-ekm58f6ihb] {
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: var(--mo-surface);
    box-shadow: var(--mo-shadow);
    overflow: hidden;
}

.mo-panel-head[b-ekm58f6ihb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem .85rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.mo-panel-head-tight[b-ekm58f6ihb] {
    padding: .85rem 1rem .7rem;
}

.mo-panel-title[b-ekm58f6ihb] {
    margin: 0 0 .2rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.mo-panel-title-sm[b-ekm58f6ihb] {
    margin: 0 0 .15rem;
    font-size: .88rem;
    font-weight: 700;
}

.mo-panel-sub[b-ekm58f6ihb] {
    margin: 0;
    font-size: .78rem;
    color: var(--bs-secondary-color);
}

.mo-panel-sub-sm[b-ekm58f6ihb] {
    margin: 0;
    font-size: .72rem;
    color: var(--bs-secondary-color);
}

.mo-panel-actions[b-ekm58f6ihb] {
    flex-shrink: 0;
}

.mo-panel-body[b-ekm58f6ihb] {
    padding: 1.1rem 1.15rem 1.2rem;
}

.mo-panel-body-flush[b-ekm58f6ihb] {
    padding: 0;
}

/* All Nodes panel — stretches to match row2's left column (Recommendations
   + Areas of Focus stacked), rather than a fixed viewport-relative height
   independent of it; scrolls internally once its own content exceeds that
   height instead of pushing Danger zone further down the page. */
.mo-allnodes[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* Grid items default to min-height: auto, which lets a tall item's own
       content force the whole grid row taller regardless of align-items:
       stretch - overriding it to 0 lets the row size to the OTHER column
       (Recommendations + Areas of Focus) instead, so this panel is capped
       there and its body (flex: 1 1 auto below) actually scrolls rather
       than growing to fit every node. */
    min-height: 0;
}

.mo-allnodes-body[b-ekm58f6ihb] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--bs-border-color) transparent;
}

.mo-allnodes-body[b-ekm58f6ihb]::-webkit-scrollbar {
    width: 8px;
}

.mo-allnodes-body[b-ekm58f6ihb]::-webkit-scrollbar-thumb {
    background: var(--bs-border-color);
    border-radius: 999px;
}

.mo-allnodes-body[b-ekm58f6ihb]::-webkit-scrollbar-thumb:hover {
    background: var(--mo-violet-600);
}

/* ---------- buttons (mirrors Home's .mo-btn recipe, scoped here) ---------- */

.mo-btn[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 2.1rem;
    padding: .4rem .85rem;
    border-radius: .55rem;
    border: 1px solid transparent;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.mo-btn:disabled[b-ekm58f6ihb] {
    opacity: .55;
    pointer-events: none;
}

.mo-btn-gold[b-ekm58f6ihb] {
    color: var(--mo-ink);
    background: linear-gradient(135deg, var(--mo-violet-600), var(--mo-violet));
    border-color: var(--mo-violet);
    box-shadow: 0 3px 12px rgba(216, 168, 62, .16);
}

.mo-btn-gold:hover:not(:disabled)[b-ekm58f6ihb] {
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(216, 168, 62, .26);
}

.mo-btn-outline[b-ekm58f6ihb] {
    color: var(--bs-body-color);
    background: transparent;
    border-color: var(--bs-border-color);
}

.mo-btn-outline:hover:not(:disabled)[b-ekm58f6ihb] {
    border-color: var(--mo-violet);
    color: var(--mo-violet-600);
}

.mo-btn-ghost[b-ekm58f6ihb] {
    color: var(--mo-violet-600);
    background: rgba(216, 168, 62, .04);
    border-color: rgba(216, 168, 62, .4);
}

.mo-btn-ghost:hover:not(:disabled)[b-ekm58f6ihb] {
    background: rgba(216, 168, 62, .1);
}

.mo-btn-outline-danger[b-ekm58f6ihb] {
    color: var(--mo-rose);
    background: transparent;
    border-color: rgba(224, 87, 91, .5);
}

.mo-btn-outline-danger:hover:not(:disabled)[b-ekm58f6ihb] {
    background: var(--mo-rose);
    color: #fff;
}

.mo-btn-danger[b-ekm58f6ihb] {
    color: #fff;
    background: var(--mo-rose);
    border-color: var(--mo-rose);
}

.mo-btn-block[b-ekm58f6ihb] {
    width: 100%;
}

/* ---------- inline alerts / loading / empty ---------- */

.mo-inline-alert[b-ekm58f6ihb] {
    border-radius: .6rem;
    padding: .6rem .8rem;
    font-size: .82rem;
    border: 1px solid transparent;
    margin: 0 0 .75rem;
}

.mo-inline-alert-sm[b-ekm58f6ihb] {
    font-size: .74rem;
    padding: .4rem .6rem;
    margin: .5rem 0 0;
}

.mo-inline-alert-row[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.mo-inline-alert-danger[b-ekm58f6ihb] {
    color: var(--mo-rose);
    background: rgba(224, 87, 91, .12);
    border-color: rgba(224, 87, 91, .3);
}

.mo-inline-alert-success[b-ekm58f6ihb] {
    color: var(--mo-teal);
    background: rgba(72, 197, 138, .12);
    border-color: rgba(72, 197, 138, .3);
}

.mo-loading[b-ekm58f6ihb] {
    display: flex;
    justify-content: center;
    padding: 1.75rem;
}

.mo-spinner[b-ekm58f6ihb] {
    display: inline-block;
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid rgba(69, 162, 255, .25);
    border-top-color: var(--mo-blue-400);
    border-radius: 50%;
    animation: mo-continuum-spin-b-ekm58f6ihb .7s linear infinite;
}

.mo-spinner-sm[b-ekm58f6ihb] {
    width: .9rem;
    height: .9rem;
}

@keyframes mo-continuum-spin-b-ekm58f6ihb {
    to { transform: rotate(360deg); }
}

.mo-empty[b-ekm58f6ihb] {
    text-align: center;
    padding: 2.2rem 1rem;
    color: var(--bs-secondary-color);
    font-size: .85rem;
}

.mo-empty > i[b-ekm58f6ihb] {
    font-size: 1.6rem;
    display: block;
    margin-bottom: .4rem;
    color: var(--bs-secondary-color);
}

.mo-empty-sm[b-ekm58f6ihb] {
    padding: 1.3rem 1rem;
    font-size: .78rem;
}

/* ---------- pending review workspace ---------- */

.mo-review-list[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
}

.mo-review-card[b-ekm58f6ihb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.15rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.mo-review-card:last-child[b-ekm58f6ihb] {
    border-bottom: none;
}

.mo-review-body[b-ekm58f6ihb] {
    min-width: 0;
    flex: 1 1 auto;
}

.mo-review-kicker[b-ekm58f6ihb] {
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bs-secondary-color);
    margin-bottom: .1rem;
}

.mo-review-title[b-ekm58f6ihb] {
    font-weight: 700;
    font-size: .95rem;
}

.mo-review-content[b-ekm58f6ihb] {
    font-size: .82rem;
    color: var(--bs-secondary-color);
    margin: .2rem 0 .5rem;
    max-width: 640px;
}

.mo-review-tags[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.mo-review-manifests[b-ekm58f6ihb] {
    font-size: .76rem;
    color: var(--bs-secondary-color);
    background: var(--bs-tertiary-bg);
    border-radius: .5rem;
    padding: .4rem .6rem;
    margin: .2rem 0 .5rem;
    max-width: 640px;
}

.mo-review-manifests strong[b-ekm58f6ihb] {
    color: var(--bs-body-color);
    font-weight: 600;
    margin-right: .3rem;
}

.mo-review-meta[b-ekm58f6ihb] {
    margin-top: .4rem;
    font-size: .68rem;
    color: var(--bs-secondary-color);
}

.mo-review-actions[b-ekm58f6ihb] {
    display: flex;
    gap: .5rem;
    flex-shrink: 0;
}

/* ---------- generate/add toolbar ---------- */

.mo-toolbar[b-ekm58f6ihb] {
    display: flex;
    align-items: stretch;
    gap: .85rem;
    flex-wrap: wrap;
}

.mo-generate-card[b-ekm58f6ihb] {
    flex: 1 1 340px;
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .8rem 1rem;
    border-radius: .8rem;
    border: 1px solid rgba(216, 168, 62, .32);
    background: radial-gradient(420px circle at 100% 0%, rgba(216, 168, 62, .1), transparent 62%), var(--mo-surface);
}

.mo-generate-ic[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
    border-radius: .6rem;
    background: rgba(216, 168, 62, .16);
    color: var(--mo-violet-600);
    font-size: 1.1rem;
}

.mo-generate-copy[b-ekm58f6ihb] {
    min-width: 0;
    flex: 1 1 auto;
}

.mo-generate-title[b-ekm58f6ihb] {
    font-weight: 700;
    font-size: .9rem;
}

.mo-generate-sub[b-ekm58f6ihb] {
    font-size: .74rem;
    color: var(--bs-secondary-color);
}

.mo-generate-btn[b-ekm58f6ihb] {
    flex-shrink: 0;
}

.mo-toolbar-actions[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

/* ---------- document intelligence ---------- */

.mo-staged[b-ekm58f6ihb] {
    margin-top: .9rem;
}

.mo-staged-title[b-ekm58f6ihb] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--bs-secondary-color);
    margin-bottom: .4rem;
}

.mo-staged-list[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.mo-staged-row[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .4rem .6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    background: var(--mo-surface-2);
    font-size: .8rem;
}

.mo-staged-name[b-ekm58f6ihb] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mo-staged-size[b-ekm58f6ihb] {
    color: var(--bs-secondary-color);
    font-size: .72rem;
    flex-shrink: 0;
}

.mo-staged-remove[b-ekm58f6ihb] {
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: var(--bs-secondary-color);
    cursor: pointer;
    padding: .1rem .3rem;
}

.mo-staged-remove:hover[b-ekm58f6ihb] {
    color: var(--mo-rose);
}

.mo-doc-progress[b-ekm58f6ihb] {
    margin-top: .9rem;
    padding: .7rem .85rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .6rem;
    background: var(--mo-surface-2);
}

.mo-doc-progress-bar[b-ekm58f6ihb] {
    height: 5px;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    overflow: hidden;
    margin-bottom: .5rem;
}

.mo-doc-progress-bar span[b-ekm58f6ihb] {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--mo-violet-600), var(--mo-violet));
    transition: width .2s ease;
}

.mo-doc-progress-row[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    font-size: .78rem;
    font-weight: 600;
}

.mo-doc-progress-count[b-ekm58f6ihb] {
    color: var(--bs-secondary-color);
    font-weight: 500;
}

.mo-doc-progress-file[b-ekm58f6ihb] {
    margin-top: .25rem;
    font-size: .72rem;
    color: var(--bs-secondary-color);
}

.mo-doc-result[b-ekm58f6ihb] {
    margin-top: 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .65rem;
    background: var(--mo-surface-2);
}

.mo-doc-result-head[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: .4rem;
}

.mo-doc-result-reply[b-ekm58f6ihb] {
    font-style: italic;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    margin-bottom: .6rem;
}

.mo-candidate-list[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.mo-candidate-row[b-ekm58f6ihb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .6rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .55rem;
    background: var(--mo-surface);
    flex-wrap: wrap;
}

.mo-candidate-main[b-ekm58f6ihb] {
    min-width: 0;
    flex: 1 1 260px;
}

.mo-candidate-tags[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .35rem;
}

.mo-candidate-actions[b-ekm58f6ihb] {
    display: flex;
    gap: .4rem;
    flex-shrink: 0;
    align-items: center;
}

/* ---------- conversation (self-directed session) ----------
   The message-bubble/avatar/typing-indicator/input-row markup itself now
   lives in Web/Components/UI/ChatMessageBubble.razor(.css) and
   ChatComposer.razor(.css), shared with TraversalDetail's and
   OpportunityPreparation's conversation cards so all three look identical.
   .mo-chat-log is global (see app.css) since the wrapping div is written
   here, not by the shared component. What's left below is specific to this
   page's candidate/relationship review content, rendered into
   ChatMessageBubble's ChildContent slot. */

.mo-chat-candidates[b-ekm58f6ihb] {
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px dashed var(--bs-border-color);
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.mo-chat-candidate[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: .6rem;
    padding: .55rem .65rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .55rem;
    background: var(--mo-surface);
}

.mo-chat-candidate-main[b-ekm58f6ihb] {
    min-width: 0;
    flex: 1 1 220px;
}

.mo-chat-candidate-actions[b-ekm58f6ihb] {
    display: flex;
    gap: .4rem;
    flex-shrink: 0;
    align-items: center;
}

.mo-chat-rels[b-ekm58f6ihb] {
    margin-top: .5rem;
}

.mo-chat-rel-item[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .35rem 0;
    font-size: .74rem;
}

.mo-chat-rel-text[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
}

.mo-conversation-head-actions[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-shrink: 0;
}

.mo-conversation-empty[b-ekm58f6ihb] {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--bs-secondary-color);
}

.mo-conversation-empty > i[b-ekm58f6ihb] {
    font-size: 1.8rem;
    display: block;
    margin-bottom: .6rem;
    color: var(--mo-violet-600);
}

.mo-conversation-empty p[b-ekm58f6ihb] {
    max-width: 440px;
    margin: 0 auto 1rem;
    font-size: .84rem;
}

.mo-conversation-note[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin-top: .55rem;
    font-size: .68rem;
    color: var(--bs-secondary-color);
}

/* ---------- main workspace: two stacked rows ----------
   Row 1 — Upload a Document / My Continuum Graph / Attached documents,
   each its own column (graph widest, the other two narrower sidebars).
   Row 2 — Areas of Focus / All Nodes, an even two-way split. */

.mo-continuum-workspace[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.mo-continuum-row1[b-ekm58f6ihb] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
}

.mo-continuum-row2[b-ekm58f6ihb] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 1.1rem;
    align-items: stretch;
}

/* Recommendations stacks above Areas of Focus in row2's left column, both
   Generate-My-Continuum outputs sharing the narrower slot next to All Nodes. */
.mo-continuum-row2-left[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    min-width: 0;
}

.mo-recs-list[b-ekm58f6ihb] {
    list-style: none;
    margin: 0;
    padding: .9rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.mo-recs-item[b-ekm58f6ihb] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    font-size: .8rem;
    line-height: 1.45;
    padding: .55rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .6rem;
    background: var(--mo-surface-2);
    animation: mo-card-in-b-ekm58f6ihb .3s ease both;
}

/* The list item is now a real <button> (click -> discuss it in the
   Conversation card) — reset button chrome back to look like the plain
   card it was, plus a hover/focus state that hints it's clickable. */
.mo-recs-item-btn[b-ekm58f6ihb] {
    width: 100%;
    text-align: left;
    color: inherit;
    font: inherit;
    cursor: pointer;
    transition: border-color .12s ease, transform .12s ease, box-shadow .12s ease;
}

.mo-recs-item-btn:hover[b-ekm58f6ihb],
.mo-recs-item-btn:focus-visible[b-ekm58f6ihb] {
    border-color: rgba(216, 168, 62, .45);
    transform: translateY(-1px);
    box-shadow: var(--mo-shadow);
}

.mo-recs-icon[b-ekm58f6ihb] {
    flex-shrink: 0;
    margin-top: .1rem;
    color: var(--mo-amber);
    font-size: .9rem;
}

.mo-recs-chat-icon[b-ekm58f6ihb] {
    flex-shrink: 0;
    margin-left: auto;
    margin-top: .1rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    opacity: .7;
}

.mo-recs-item-btn:hover .mo-recs-chat-icon[b-ekm58f6ihb],
.mo-recs-item-btn:focus-visible .mo-recs-chat-icon[b-ekm58f6ihb] {
    color: var(--mo-violet-600);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .mo-recs-item[b-ekm58f6ihb] {
        animation: none;
    }
}

.mo-graph-panel .mo-panel-body[b-ekm58f6ihb] {
    padding: 1rem;
}

.mo-panel-actions[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .6rem;
}

/* Demo checkbox restyled as a small pill switch (CSS only, no JS) — the
   real checkbox stays functional and accessible, just visually hidden
   behind the track/thumb it toggles via :checked sibling selectors. */
.mo-demo-switch[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .72rem;
    color: var(--bs-secondary-color);
    cursor: pointer;
}

.mo-demo-switch input[b-ekm58f6ihb] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.mo-demo-track[b-ekm58f6ihb] {
    position: relative;
    display: inline-block;
    width: 1.9rem;
    height: 1.05rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    transition: background .15s ease, border-color .15s ease;
}

.mo-demo-thumb[b-ekm58f6ihb] {
    position: absolute;
    top: 1px;
    left: 1px;
    width: .85rem;
    height: .85rem;
    border-radius: 50%;
    background: var(--bs-secondary-color);
    transition: transform .15s ease, background .15s ease;
}

.mo-demo-switch input:checked + .mo-demo-track[b-ekm58f6ihb] {
    background: var(--mo-violet);
    border-color: var(--mo-violet);
}

.mo-demo-switch input:checked + .mo-demo-track .mo-demo-thumb[b-ekm58f6ihb] {
    transform: translateX(.85rem);
    background: var(--mo-ink);
}

/* ---------- graph zoom controls ---------- */

.mo-graph-zoomwrap[b-ekm58f6ihb] {
    position: relative;
}

.mo-graph-zoomed[b-ekm58f6ihb] {
    transform: scale(var(--zoom, 1));
    transform-origin: top center;
    transition: transform .15s ease;
}

.mo-graph-zoomctl[b-ekm58f6ihb] {
    position: absolute;
    right: .6rem;
    bottom: .6rem;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    z-index: 5;
}

.mo-graph-zoombtn[b-ekm58f6ihb] {
    width: 1.9rem;
    height: 1.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border-color);
    border-radius: .4rem;
    background: var(--mo-surface);
    color: var(--bs-secondary-color);
    box-shadow: var(--mo-shadow);
    cursor: pointer;
}

.mo-graph-zoombtn:hover[b-ekm58f6ihb] {
    border-color: rgba(216, 168, 62, .45);
    color: var(--mo-violet-600);
}

/* ---------- node explorer: filter chips ---------- */

.mo-chip-row[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: .9rem;
}

.mo-chip[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid var(--bs-border-color);
    background: var(--mo-surface-2);
    color: var(--bs-body-color);
    border-radius: 999px;
    padding: .32rem .7rem;
    font-size: .74rem;
    font-weight: 600;
    transition: border-color .12s ease, background .12s ease, color .12s ease;
}

.mo-chip:hover[b-ekm58f6ihb] {
    border-color: rgba(216, 168, 62, .45);
}

.mo-chip.is-active[b-ekm58f6ihb] {
    background: linear-gradient(135deg, #f0c85e, var(--mo-violet));
    border-color: var(--mo-violet);
    color: var(--mo-ink);
    box-shadow: 0 3px 12px rgba(216, 168, 62, .25);
}

.mo-chip[b-ekm58f6ihb] {
    transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease, translate .2s ease;
}

.mo-chip:not(.is-active):hover[b-ekm58f6ihb] {
    translate: 0 -1px;
}

.mo-chip-count[b-ekm58f6ihb] {
    opacity: .75;
    font-weight: 500;
}

.mo-group-head[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 1.1rem 0 .6rem;
}

.mo-group-head:first-child[b-ekm58f6ihb] {
    margin-top: 0;
}

/* ---------- node cards ---------- */

.mo-node-grid[b-ekm58f6ihb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: .75rem;
    /* start (not the grid default stretch) so each card is only as tall
       as its own title/content needs — cards in the same row no longer
       all stretch to match the tallest one. */
    align-items: start;
}

.mo-continuum .mo-node-card[b-ekm58f6ihb] {
    padding: .85rem .95rem .8rem;
    /* Staggered fade/slide/scale-in as each card mounts (filter change,
       first load, ...) — --i (set inline per card) spaces the stagger out.
       Keyed on (filter, node.Id) in the markup so a filter change tears
       down and recreates every visible card, not just newly-revealed
       ones — otherwise Blazor reuses still-visible cards in place and
       this animation would silently never replay for them. */
    animation: mo-card-in-b-ekm58f6ihb .45s cubic-bezier(.2, .8, .2, 1) both;
    animation-delay: calc(min(var(--i, 0), 14) * 45ms);
}

/* hover lift + type-coloured spotlight come from app.css (mo-fx-lift / mo-fx-spot) */

@keyframes mo-card-in-b-ekm58f6ihb {
    from { opacity: 0; transform: translateY(16px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .mo-continuum .mo-node-card[b-ekm58f6ihb] {
        animation: none;
    }
}

.mo-node-card-head[b-ekm58f6ihb] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
}

.mo-node-card-ic[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    flex-shrink: 0;
    border-radius: .5rem;
    background: rgba(216, 168, 62, .14);
    color: var(--mo-violet-600);
    font-size: .82rem;
}

.mo-node-card-title[b-ekm58f6ihb] {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    font-size: .88rem;
    line-height: 1.3;
    /* Wraps instead of ellipsis-truncating — cards size to their own
       content now (see .mo-node-grid's align-items: start), so there's
       no reason to still clip a long title to one line. */
    white-space: normal;
    overflow-wrap: anywhere;
}

.mo-node-card-kebab[b-ekm58f6ihb] {
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: var(--bs-secondary-color);
    padding: .1rem .3rem;
    cursor: pointer;
    border-radius: .3rem;
}

.mo-node-card-kebab:hover[b-ekm58f6ihb] {
    color: var(--mo-violet-600);
    background: var(--mo-surface-2);
}

.mo-node-card-content[b-ekm58f6ihb] {
    font-size: .78rem;
    color: var(--bs-secondary-color);
    margin: .45rem 0 .55rem;
}

.mo-node-meta[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    flex-wrap: wrap;
}

.mo-node-tags[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.mo-node-time[b-ekm58f6ihb] {
    flex-shrink: 0;
    font-size: .66rem;
    color: var(--bs-secondary-color);
    margin-left: auto;
}

.mo-node-rels[b-ekm58f6ihb] {
    margin-top: .5rem;
}

.mo-node-rels summary[b-ekm58f6ihb] {
    font-size: .68rem;
    font-weight: 600;
    color: var(--mo-blue-400);
    cursor: pointer;
    list-style: none;
}

.mo-node-rels summary[b-ekm58f6ihb]::-webkit-details-marker {
    display: none;
}

.mo-node-rels summary[b-ekm58f6ihb]::before {
    content: "▸";
    display: inline-block;
    margin-right: .3rem;
    transition: transform .12s ease;
}

.mo-node-rels[open] summary[b-ekm58f6ihb]::before {
    transform: rotate(90deg);
}

.mo-node-rels-list[b-ekm58f6ihb] {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin: .45rem 0 0;
    padding: 0;
    /* Details content goes display:none -> block on open, which restarts
       this like .mo-aof-panel's own open animation — no JS needed. */
    animation: mo-card-in-b-ekm58f6ihb .25s ease both;
}

.mo-node-rel-item[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    padding: .3rem .5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .45rem;
    background: var(--mo-surface-2);
}

.mo-node-rel-title[b-ekm58f6ihb] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.3;
    /* Wraps instead of ellipsis-truncating, same reasoning as
       .mo-node-card-title — the target node's title should read in full. */
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
    .mo-node-rels-list[b-ekm58f6ihb] {
        animation: none;
    }
}

.mo-node-edit[b-ekm58f6ihb] {
    margin-top: .6rem;
    padding: .6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    background: var(--mo-surface-2);
}

.mo-node-edit-actions[b-ekm58f6ihb] {
    display: flex;
    gap: .4rem;
    margin-top: .5rem;
}

.mo-field-label[b-ekm58f6ihb] {
    display: block;
    font-size: .68rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .25rem;
}

/* ---------- areas of focus — narrower than All Nodes, so each item takes
   the panel's full width (one per row) rather than being squeezed into a
   multi-column grid where long concept titles would get clipped. ---------- */

.mo-aof-list[b-ekm58f6ihb] {
    list-style: none;
    margin: 0;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.mo-aof-item[b-ekm58f6ihb] {
    border: 1px solid var(--bs-border-color);
    border-radius: .7rem;
    background: var(--mo-surface);
    overflow: hidden;
    transition: border-color .12s ease, transform .12s ease, box-shadow .12s ease;
    animation: mo-card-in-b-ekm58f6ihb .35s ease both;
}

.mo-aof-item:hover[b-ekm58f6ihb] {
    border-color: color-mix(in srgb, var(--c, var(--mo-violet)) 45%, var(--bs-border-color));
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
}

.mo-aof-row[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .7rem .85rem;
    cursor: pointer;
    list-style: none;
    transition: background .1s ease;
}

.mo-aof-row[b-ekm58f6ihb]::-webkit-details-marker {
    display: none;
}

.mo-aof-row:hover[b-ekm58f6ihb] {
    background: var(--mo-surface-2);
}

.mo-aof-ic[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    flex-shrink: 0;
    border-radius: .5rem;
    background: color-mix(in srgb, var(--c, var(--mo-violet)) 18%, transparent);
    color: var(--c, var(--mo-violet-600));
    font-size: .82rem;
}

.mo-aof-text[b-ekm58f6ihb] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.mo-aof-title[b-ekm58f6ihb] {
    font-weight: 600;
    font-size: .82rem;
    line-height: 1.3;
    /* Wraps instead of ellipsis-truncating — the row is wide enough now
       (one item per line) that a long concept title should just read in
       full rather than getting cut off mid-word. */
    white-space: normal;
    overflow-wrap: anywhere;
}

.mo-aof-sub[b-ekm58f6ihb] {
    font-size: .68rem;
    color: var(--bs-secondary-color);
}

.mo-aof-pending[b-ekm58f6ihb] {
    color: var(--mo-amber);
}

.mo-aof-chevron[b-ekm58f6ihb] {
    flex-shrink: 0;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    transition: transform .12s ease;
}

.mo-aof-item details[open] .mo-aof-chevron[b-ekm58f6ihb] {
    transform: rotate(90deg);
}

.mo-aof-header-count[b-ekm58f6ihb] {
    font-size: .68rem;
    font-weight: 700;
    color: var(--mo-violet-600);
    background: rgba(216, 168, 62, .16);
    border-radius: 999px;
    padding: .05rem .45rem;
    margin-left: .3rem;
    vertical-align: middle;
}

/* Equal left/right inset (not indented under the icon above) so the panel
   sits centred and gets the full card width to lay out badges/titles in —
   the earlier 3.5rem left indent both looked off-centre and left too
   little room for member titles. */
.mo-aof-expand[b-ekm58f6ihb] {
    padding: 0 1rem .85rem;
}

/* A left-accent panel (tinted to the concept's own colour) so the expanded
   content reads as one visible unit rather than plain running text. Native
   <details> swaps its content's display from none -> block on open, which
   restarts a CSS animation each time — no JS needed for the reveal. */
.mo-aof-panel[b-ekm58f6ihb] {
    border-left: 2px solid var(--c, var(--mo-violet));
    background: color-mix(in srgb, var(--c, var(--mo-violet)) 5%, transparent);
    border-radius: 0 .55rem .55rem 0;
    padding: .7rem .8rem;
    animation: mo-card-in-b-ekm58f6ihb .25s ease both;
}

@media (prefers-reduced-motion: reduce) {
    .mo-aof-item[b-ekm58f6ihb],
    .mo-aof-panel[b-ekm58f6ihb] {
        animation: none;
    }
}

.mo-aof-status-row[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .5rem;
}

.mo-aof-about[b-ekm58f6ihb] {
    display: flex;
    gap: .4rem;
    font-size: .76rem;
    line-height: 1.4;
    color: var(--bs-body-color);
    margin: 0 0 .55rem;
}

.mo-aof-about i[b-ekm58f6ihb] {
    flex-shrink: 0;
    margin-top: .1rem;
    font-size: .9rem;
    color: var(--c, var(--mo-violet-600));
}

.mo-aof-refines-chip[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: rgba(22, 119, 232, .14);
    color: var(--mo-blue-400);
    font-size: .68rem;
    font-weight: 600;
    margin-bottom: .55rem;
}

.mo-aof-defined-head[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bs-secondary-color);
    margin-bottom: .4rem;
}

.mo-aof-members[b-ekm58f6ihb] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

/* Two-line layout: icon + type badge share a top row, the (often long)
   title gets its own full-width line below rather than being crushed and
   ellipsised next to an icon+badge in this narrow sidebar column. */
.mo-aof-member[b-ekm58f6ihb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem .5rem;
    padding: .4rem .5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    background: var(--mo-surface);
    transition: border-color .12s ease;
}

.mo-aof-member:hover[b-ekm58f6ihb] {
    border-color: color-mix(in srgb, var(--mc, var(--mo-violet)) 45%, var(--bs-border-color));
}

.mo-aof-member-ic[b-ekm58f6ihb] {
    order: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    border-radius: .4rem;
    background: color-mix(in srgb, var(--mc, var(--mo-violet)) 20%, transparent);
    color: var(--mc, var(--mo-violet-600));
    font-size: .74rem;
}

.mo-aof-member-badge[b-ekm58f6ihb] {
    order: 2;
    margin-left: auto;
    flex-shrink: 0;
}

.mo-aof-member-title[b-ekm58f6ihb] {
    order: 3;
    flex: 1 1 100%;
    min-width: 0;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* ---------- danger zone ---------- */

.mo-danger[b-ekm58f6ihb] {
    margin-top: .5rem;
    padding: .9rem 1.1rem;
    border: 1px dashed rgba(224, 87, 91, .35);
    border-radius: .7rem;
    background: rgba(224, 87, 91, .04);
}

.mo-danger-head[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .82rem;
    font-weight: 700;
    color: var(--mo-rose);
    margin-bottom: .3rem;
}

.mo-danger-text[b-ekm58f6ihb] {
    font-size: .74rem;
    color: var(--bs-secondary-color);
    margin: 0 0 .6rem;
    max-width: 640px;
}

.mo-danger-confirm-text[b-ekm58f6ihb] {
    font-weight: 600;
    font-size: .82rem;
    margin-right: .6rem;
}

/* ---------- add-node modal ---------- */

.mo-modal-backdrop[b-ekm58f6ihb] {
    position: fixed;
    inset: 0;
    background: rgba(3, 8, 16, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.mo-modal[b-ekm58f6ihb] {
    width: 100%;
    max-width: 480px;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: var(--mo-surface);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
    overflow: hidden;
}

.mo-modal-head[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.1rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.mo-modal-title[b-ekm58f6ihb] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.mo-modal-close[b-ekm58f6ihb] {
    border: none;
    background: transparent;
    color: var(--bs-secondary-color);
    cursor: pointer;
    font-size: 1rem;
    padding: .2rem;
}

.mo-modal-close:hover[b-ekm58f6ihb] {
    color: var(--mo-rose);
}

.mo-modal-body[b-ekm58f6ihb] {
    padding: 1.1rem;
}

.mo-modal-actions[b-ekm58f6ihb] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding: .85rem 1.1rem;
    border-top: 1px solid var(--bs-border-color);
    background: var(--mo-surface-2);
}

/* ---------- responsive ---------- */

@media (max-width: 1100px) {
    .mo-continuum-row1[b-ekm58f6ihb],
    .mo-continuum-row2[b-ekm58f6ihb] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .mo-continuum-head[b-ekm58f6ihb] {
        flex-direction: column;
    }

    .mo-cstats[b-ekm58f6ihb] {
        width: 100%;
    }

    .mo-cstat[b-ekm58f6ihb] {
        flex: 1 1 40%;
    }

    .mo-toolbar[b-ekm58f6ihb] {
        flex-direction: column;
    }

    .mo-generate-card[b-ekm58f6ihb] {
        flex-wrap: wrap;
    }

    .mo-review-card[b-ekm58f6ihb] {
        flex-direction: column;
    }

    .mo-review-actions[b-ekm58f6ihb] {
        width: 100%;
    }

    .mo-review-actions .mo-btn[b-ekm58f6ihb] {
        flex: 1 1 auto;
    }

    .mo-node-grid[b-ekm58f6ihb] {
        grid-template-columns: 1fr;
    }

    .mo-panel-head[b-ekm58f6ihb] {
        flex-direction: column;
    }
}

/* ---------- explorer: Graph / Areas of focus / All nodes ---------- */

.mo-explorer-head[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: .7rem 1rem;
    border-bottom: 1px solid var(--bs-border-color);
}

/* equal-width tabs + one gold pill that slides to the active one */
.mo-explorer-tabs[b-ekm58f6ihb] {
    position: relative;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    padding: .25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: var(--bs-tertiary-bg);
    isolation: isolate;
}

.mo-explorer-tabs[b-ekm58f6ihb]::before {
    content: "";
    position: absolute;
    top: .25rem;
    bottom: .25rem;
    left: .25rem;
    width: calc((100% - .5rem) / 4);
    border-radius: .55rem;
    background: linear-gradient(135deg, #f0c85e, var(--mo-violet));
    box-shadow: 0 4px 16px rgba(216, 168, 62, .28);
    transform: translateX(calc(var(--tab-i, 0) * 100%));
    transition: transform .35s cubic-bezier(.2, .75, .2, 1);
    z-index: -1;
}

.mo-explorer-tab[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .45rem 1rem;
    border: 0;
    border-radius: .55rem;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
    transition: color .25s ease;
}

.mo-explorer-tab:hover[b-ekm58f6ihb] { color: var(--bs-body-color); }
.mo-explorer-tab.is-active[b-ekm58f6ihb] { color: var(--mo-ink); }

.mo-explorer-count[b-ekm58f6ihb] {
    padding: 0 .4rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    font-size: .7rem;
    font-weight: 700;
}

.mo-explorer-tab.is-active .mo-explorer-count[b-ekm58f6ihb] { background: rgba(17, 27, 38, .18); }

.mo-explorer-actions[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .6rem;
}

/* panes share one fixed-height stage and cross-fade */
.mo-explorer-body[b-ekm58f6ihb] {
    position: relative;
    height: 744px;
}

.mo-explorer-pane[b-ekm58f6ihb] {
    position: absolute;
    inset: 0;
    transition: opacity .35s ease, transform .35s cubic-bezier(.2, .75, .2, 1), visibility .35s;
}

.mo-explorer-pane.is-active[b-ekm58f6ihb] {
    animation: mo-explorer-in-b-ekm58f6ihb .4s cubic-bezier(.2, .75, .2, 1) both;
}

/* the graph never unmounts — hidden at full size so it keeps its state */
.mo-explorer-graph[b-ekm58f6ihb] {
    background: #050a12;
}

.mo-explorer-graph.is-hidden[b-ekm58f6ihb] {
    opacity: 0;
    visibility: hidden;
    transform: scale(.985);
    pointer-events: none;
}

.mo-explorer-graph > .mo-loading[b-ekm58f6ihb],
.mo-explorer-graph > .mo-empty[b-ekm58f6ihb] {
    height: 100%;
    display: grid;
    place-content: center;
    justify-items: center;
}

.mo-explorer-scroll[b-ekm58f6ihb] {
    overflow-y: auto;
    padding: 1rem 1.1rem;
    scrollbar-width: thin;
}

.mo-explorer-scroll.mo-allnodes-body[b-ekm58f6ihb] {
    max-height: none;
}

@keyframes mo-explorer-in-b-ekm58f6ihb {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

.mo-cstat-link[b-ekm58f6ihb] {
    cursor: pointer;
}

@media (max-width: 640px) {
    .mo-explorer-body[b-ekm58f6ihb] { height: 624px; }
    .mo-explorer-tab[b-ekm58f6ihb] { padding: .45rem .5rem; font-size: .75rem; }
    .mo-explorer-tab i[b-ekm58f6ihb] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-explorer-tabs[b-ekm58f6ihb]::before, .mo-explorer-pane[b-ekm58f6ihb] { transition: none; }
    .mo-explorer-pane.is-active[b-ekm58f6ihb] { animation: none; }
}

/* ---------- right column: documents + recommendations stacked ---------- */

.mo-continuum-side[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    min-width: 0;
}

/* ---------- documents card: + opens the upload area ---------- */

.mo-doc-add[b-ekm58f6ihb] {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid rgba(216, 168, 62, .55);
    border-radius: .5rem;
    background: rgba(216, 168, 62, .08);
    color: var(--mo-violet);
    transition: background .2s ease, color .2s ease, rotate .25s ease;
}

.mo-doc-add:hover:not(:disabled)[b-ekm58f6ihb] {
    background: var(--mo-violet);
    color: var(--mo-ink);
}

.mo-doc-add.is-open[b-ekm58f6ihb] {
    rotate: 45deg;
}

.mo-doc-add:disabled[b-ekm58f6ihb] {
    opacity: .5;
    cursor: not-allowed;
}

.mo-doc-uploader[b-ekm58f6ihb] {
    padding: .85rem .9rem 1rem;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--mo-surface-2);
    animation: mo-card-in-b-ekm58f6ihb .3s ease both;
}

/* ---------- row 2: conversation + documents side by side ---------- */

.mo-continuum-convrow[b-ekm58f6ihb] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 32%);
    gap: 1.1rem;
    align-items: start;
}

@media (max-width: 1100px) {
    .mo-continuum-convrow[b-ekm58f6ihb] {
        grid-template-columns: 1fr;
    }
}

/* full-width explorer: areas of focus as a responsive grid */
.mo-explorer-scroll .mo-aof-list[b-ekm58f6ihb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    align-items: start;
    padding: 0;
}

/* ---------- Documents tab ---------- */

.mo-explorer-docs[b-ekm58f6ihb] {
    display: flex;
    flex-direction: column;
}

/* "Accept all" above a document's proposals */
.mo-accept-all[b-ekm58f6ihb] { margin: .35rem 0 .6rem; display: inline-flex; align-items: center; gap: .4rem; }

/* hero: shared dark card (app.css .mo-page-hero) - type and stat chips on dark */
.mo-continuum-head.mo-page-hero[b-ekm58f6ihb] { align-items: center; }
.mo-page-hero .mo-continuum-title[b-ekm58f6ihb] { margin: .75rem 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.4vw, 3.25rem); font-weight: 600; line-height: 1.05; color: #fff; }
.mo-page-hero .mo-continuum-sub[b-ekm58f6ihb] { max-width: 35rem; font-size: 1rem; line-height: 1.6; color: #c3cbe0; }
.mo-page-hero .mo-cstats[b-ekm58f6ihb] { position: relative; display: grid; grid-template-columns: repeat(2, minmax(9.5rem, 1fr)); gap: .75rem; }
.mo-page-hero .mo-cstat[b-ekm58f6ihb] { padding: .85rem 1.1rem; border-radius: 1.1rem; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); backdrop-filter: blur(6px); }
.mo-page-hero .mo-cstat-link:hover[b-ekm58f6ihb] { background: rgba(255, 255, 255, .13); border-color: rgba(240, 215, 154, .45); }
@media (max-width: 720px) { .mo-page-hero .mo-cstats[b-ekm58f6ihb] { grid-template-columns: 1fr 1fr; } }

/* ================= Areas of focus tab: list + selected area ================= */
.mo-af[b-ekm58f6ihb] { display: flex; flex-direction: column; gap: .85rem; }

.mo-af-summary[b-ekm58f6ihb] { display: flex; flex-wrap: wrap; gap: .5rem; }
.mo-af-summary span[b-ekm58f6ihb] {
    padding: .3rem .75rem;
    border-radius: 999px;
    font-size: .78rem;
    color: var(--bs-secondary-color);
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--bs-border-color);
}
.mo-af-summary b[b-ekm58f6ihb] { color: var(--bs-emphasis-color); }
.mo-af-summary .is-warn[b-ekm58f6ihb] { color: #f2c48a; border-color: rgba(242, 166, 74, .4); background: rgba(242, 166, 74, .08); }
.mo-af-summary .is-warn b[b-ekm58f6ihb] { color: #f2a64a; }

.mo-af-grid[b-ekm58f6ihb] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(15rem, 21rem) minmax(0, 1fr);
    gap: 1rem;
    height: 38rem;
}

.mo-af-list[b-ekm58f6ihb] { display: flex; flex-direction: column; gap: .4rem; min-height: 0; overflow-y: auto; padding-right: .2rem; scrollbar-width: thin; }

.mo-af-area[b-ekm58f6ihb] {
    --c: #d8a83e;
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .6rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: rgba(255, 255, 255, .02);
    color: inherit;
    text-align: left;
    transition: border-color .2s ease, background .2s ease;
}
.mo-af-area:hover[b-ekm58f6ihb] { border-color: color-mix(in srgb, var(--c) 45%, transparent); }
.mo-af-area.is-active[b-ekm58f6ihb] {
    border-color: color-mix(in srgb, var(--c) 70%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--c) 16%, transparent), color-mix(in srgb, var(--c) 3%, transparent));
    box-shadow: inset 3px 0 0 var(--c);
}
.mo-af-area.is-loose[b-ekm58f6ihb] { --c: #8d9bb2; border-style: dashed; }

.mo-af-ic[b-ekm58f6ihb] {
    flex: none;
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: .7rem;
    font-size: 1rem;
    color: var(--c);
    background: color-mix(in srgb, var(--c) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--c) 40%, transparent);
}
.mo-af-ic.is-lg[b-ekm58f6ihb] { width: 3.2rem; height: 3.2rem; border-radius: .95rem; font-size: 1.45rem; }
.mo-af-ic.is-loose[b-ekm58f6ihb] { --c: #8d9bb2; }

.mo-af-area-copy[b-ekm58f6ihb] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.mo-af-area-title[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .86rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mo-af-area-hint[b-ekm58f6ihb] { font-size: .72rem; color: var(--bs-secondary-color); }
.mo-af-dot[b-ekm58f6ihb] { flex: none; width: .45rem; height: .45rem; border-radius: 50%; background: #f2a64a; box-shadow: 0 0 8px #f2a64a; }
.mo-af-bar[b-ekm58f6ihb] { height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.mo-af-bar > span[b-ekm58f6ihb] { display: block; height: 100%; border-radius: inherit; background: var(--c); animation: mo-af-grow-b-ekm58f6ihb .7s cubic-bezier(.2, .8, .2, 1) backwards; transform-origin: left; }
.mo-af-count[b-ekm58f6ihb] { flex: none; min-width: 1.7rem; font-size: .78rem; font-weight: 700; text-align: right; color: var(--bs-secondary-color); }

.mo-af-detail[b-ekm58f6ihb] {
    min-height: 0;
    overflow-y: auto;
    padding: 1.15rem 1.3rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .015);
    scrollbar-width: thin;
    animation: mo-af-in-b-ekm58f6ihb .3s ease backwards;
}

.mo-af-head[b-ekm58f6ihb] { --c: #8d9bb2; display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.mo-af-head-copy[b-ekm58f6ihb] { flex: 1 1 14rem; min-width: 0; }
.mo-af-head h3[b-ekm58f6ihb] { margin: .15rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-af-status[b-ekm58f6ihb] { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mo-af-status.is-ok[b-ekm58f6ihb] { color: #2bd3a1; }
.mo-af-status.is-warn[b-ekm58f6ihb] { color: #f2a64a; }
.mo-af-actions[b-ekm58f6ihb] { display: flex; gap: .5rem; flex-wrap: wrap; }
.mo-af-desc[b-ekm58f6ihb] { margin: .9rem 0 0; font-size: .92rem; line-height: 1.65; color: var(--bs-body-color); }

.mo-af-stats[b-ekm58f6ihb] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 1rem 0 .3rem; }
.mo-af-stats > div[b-ekm58f6ihb] { padding: .6rem .8rem; border-radius: .8rem; border: 1px solid var(--bs-border-color); background: rgba(255, 255, 255, .02); }
.mo-af-stats b[b-ekm58f6ihb] { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-af-stats span[b-ekm58f6ihb] { font-size: .72rem; color: var(--bs-secondary-color); }

.mo-af-label[b-ekm58f6ihb] { margin: 1.1rem 0 .45rem; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f0d79a; }

.mo-af-mix[b-ekm58f6ihb] { display: flex; gap: 3px; height: .55rem; border-radius: 999px; overflow: hidden; }
.mo-af-mix > span[b-ekm58f6ihb] { min-width: 6px; animation: mo-af-grow-b-ekm58f6ihb .8s cubic-bezier(.2, .8, .2, 1) backwards; transform-origin: left; }
.mo-af-legend[b-ekm58f6ihb] { display: flex; flex-wrap: wrap; gap: .4rem .9rem; margin-top: .5rem; font-size: .76rem; color: var(--bs-secondary-color); }
.mo-af-legend i[b-ekm58f6ihb] { display: inline-block; width: .55rem; height: .55rem; margin-right: .35rem; border-radius: 50%; vertical-align: middle; }

.mo-af-members[b-ekm58f6ihb] { display: flex; flex-direction: column; gap: .3rem; }
.mo-af-member[b-ekm58f6ihb] {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
    padding: .45rem .6rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    background: rgba(255, 255, 255, .025);
    color: inherit;
    text-align: left;
    font-size: .85rem;
    transition: border-color .2s ease, background .2s ease;
}
.mo-af-member:hover[b-ekm58f6ihb] { border-color: color-mix(in srgb, var(--mc) 45%, transparent); background: color-mix(in srgb, var(--mc) 8%, transparent); }
.mo-af-member-ic[b-ekm58f6ihb] { flex: none; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; font-size: .75rem; color: var(--mc); background: color-mix(in srgb, var(--mc) 15%, transparent); }
.mo-af-member-title[b-ekm58f6ihb] { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--bs-emphasis-color); }
.mo-af-member-pending[b-ekm58f6ihb] { flex: none; font-size: .7rem; color: #f2a64a; }
.mo-af-member-go[b-ekm58f6ihb] { flex: none; font-size: .8rem; color: var(--bs-secondary-color); opacity: 0; transition: opacity .2s ease, translate .2s ease; }
.mo-af-member:hover .mo-af-member-go[b-ekm58f6ihb] { opacity: 1; translate: 2px 0; }

@keyframes mo-af-in-b-ekm58f6ihb { from { opacity: 0; translate: 0 6px; } }
@keyframes mo-af-grow-b-ekm58f6ihb { from { transform: scaleX(0); } }

/* ================= All nodes tab: toolbar + compact list ================= */
.mo-nodes-toolbar[b-ekm58f6ihb] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .7rem; }
.mo-nodes-search[b-ekm58f6ihb] { position: relative; flex: 1 1 16rem; }
.mo-nodes-search i[b-ekm58f6ihb] { position: absolute; left: .8rem; top: 50%; translate: 0 -50%; color: var(--bs-secondary-color); pointer-events: none; }
.mo-nodes-search input[b-ekm58f6ihb] {
    width: 100%;
    height: 2.3rem;
    padding: 0 .9rem 0 2.2rem;
    border-radius: 999px;
    border: 1px solid var(--bs-border-color);
    background: rgba(3, 10, 20, .45);
    color: var(--bs-body-color);
    font-size: .86rem;
    outline: none;
}
.mo-nodes-search input:focus[b-ekm58f6ihb] { border-color: rgba(216, 168, 62, .45); box-shadow: 0 0 0 3px rgba(216, 168, 62, .12); }
.mo-nodes-seg[b-ekm58f6ihb] { display: inline-flex; padding: .2rem; border-radius: 999px; border: 1px solid var(--bs-border-color); background: rgba(3, 10, 20, .45); }
.mo-nodes-seg button[b-ekm58f6ihb] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    height: 1.9rem;
    padding: 0 .8rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-weight: 600;
}
.mo-nodes-seg button span[b-ekm58f6ihb] { font-size: .7rem; opacity: .75; }
.mo-nodes-seg button.is-active[b-ekm58f6ihb] { background: var(--mo-violet); color: var(--mo-ink); }
.mo-nodes-sort[b-ekm58f6ihb] {
    height: 2.3rem;
    padding: 0 .8rem;
    border-radius: 999px;
    border: 1px solid var(--bs-border-color);
    background: rgba(3, 10, 20, .45);
    color: var(--bs-body-color);
    font-size: .82rem;
}
.mo-nodes-sort option[b-ekm58f6ihb] { background: #0b1929; }

.mo-nodes-result[b-ekm58f6ihb] { display: flex; align-items: center; gap: .6rem; margin: .2rem 0 .6rem; font-size: .8rem; color: var(--bs-secondary-color); }
.mo-nodes-result b[b-ekm58f6ihb] { color: var(--bs-emphasis-color); }
.mo-nodes-result button[b-ekm58f6ihb] { padding: 0; border: 0; background: none; color: #f0d79a; font-weight: 600; font-size: .8rem; }

.mo-nodes-list[b-ekm58f6ihb] { display: flex; flex-direction: column; gap: .3rem; }
.mo-nodes-row[b-ekm58f6ihb] {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) 6.5rem 6rem 6rem;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .55rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: rgba(255, 255, 255, .02);
    color: inherit;
    text-align: left;
    transition: border-color .2s ease, background .2s ease;
}
.mo-nodes-row:hover[b-ekm58f6ihb] { border-color: color-mix(in srgb, var(--mc) 45%, transparent); background: color-mix(in srgb, var(--mc) 6%, transparent); }
.mo-nodes-row-ic[b-ekm58f6ihb] { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .6rem; color: var(--mc); background: color-mix(in srgb, var(--mc) 14%, transparent); }
.mo-nodes-row-main[b-ekm58f6ihb] { min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.mo-nodes-row-title[b-ekm58f6ihb] { font-size: .86rem; font-weight: 600; color: var(--bs-emphasis-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-nodes-row-text[b-ekm58f6ihb] { font-size: .76rem; color: var(--bs-secondary-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-nodes-row-type[b-ekm58f6ihb] { font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-nodes-row-status[b-ekm58f6ihb] { font-size: .76rem; font-weight: 600; }
.mo-nodes-row-status.is-ok[b-ekm58f6ihb] { color: #2bd3a1; }
.mo-nodes-row-status.is-warn[b-ekm58f6ihb] { color: #f2a64a; }
.mo-nodes-row-status.is-off[b-ekm58f6ihb] { color: var(--bs-secondary-color); }
.mo-nodes-row-time[b-ekm58f6ihb] { font-size: .74rem; color: var(--bs-secondary-color); text-align: right; }

@media (max-width: 900px) {
    .mo-af-grid[b-ekm58f6ihb] { grid-template-columns: 1fr; height: auto; }
    .mo-af-list[b-ekm58f6ihb] { flex-direction: row; overflow-x: auto; overflow-y: hidden; padding-bottom: .3rem; }
    .mo-af-area[b-ekm58f6ihb] { flex: 0 0 15rem; }
    .mo-af-detail[b-ekm58f6ihb] { max-height: 34rem; }
    .mo-nodes-row[b-ekm58f6ihb] { grid-template-columns: 2rem minmax(0, 1fr) 5.5rem; }
    .mo-nodes-row-type[b-ekm58f6ihb], .mo-nodes-row-time[b-ekm58f6ihb] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .mo-af-detail[b-ekm58f6ihb], .mo-af-bar > span[b-ekm58f6ihb], .mo-af-mix > span[b-ekm58f6ihb] { animation: none; }
}
/* /Components/Pages/ContinuumSetup.razor.rz.scp.css */
/* =========================================================
   CONTINUUM SETUP (first-run wizard)
   Same language as the other pages: dark hero with a progress ring, a pill
   stepper, one step card, and a quiet side column. The step bodies keep
   their Bootstrap form controls. Animations fill `backwards` only.
   ========================================================= */

.mo-su[b-1o3tl2ck1c] {
    --su-gold: var(--mo-violet);
    --su-gold-soft: rgba(216, 168, 62, .14);
    --su-gold-line: rgba(216, 168, 62, .45);
    --su-ease: cubic-bezier(.2, .8, .2, 1);
    display: flex; flex-direction: column; gap: 1.5rem; padding: .75rem 0 4rem;
}

/* ---------- hero ---------- */
.mo-su-hero[b-1o3tl2ck1c] {
    position: relative; overflow: hidden; border-radius: 1.75rem; color: #fff;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: su-up-b-1o3tl2ck1c .7s var(--su-ease) backwards;
}
.mo-su-orb[b-1o3tl2ck1c] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-su-orb.is-a[b-1o3tl2ck1c] { left: -100px; top: -160px; width: 460px; height: 460px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: su-float-a-b-1o3tl2ck1c 14s ease-in-out infinite; }
.mo-su-orb.is-b[b-1o3tl2ck1c] { right: 80px; bottom: -220px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: su-float-b-b-1o3tl2ck1c 18s ease-in-out infinite; }
.mo-su-hero-inner[b-1o3tl2ck1c] { position: relative; display: flex; align-items: center; gap: 2.5rem; padding: 2.4rem 2.75rem; }
.mo-su-hero-copy[b-1o3tl2ck1c] { flex: 1 1 auto; min-width: 0; }
.mo-su-kicker[b-1o3tl2ck1c] { display: flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-su-pulse[b-1o3tl2ck1c] { width: 8px; height: 8px; border-radius: 50%; background: var(--su-gold); animation: su-pulse-b-1o3tl2ck1c 1.8s ease-out infinite; }
.mo-su-hero h1[b-1o3tl2ck1c] { margin: .75rem 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 2.9rem); font-weight: 600; line-height: 1.08; color: #fff; }
.mo-su-hero p[b-1o3tl2ck1c] { max-width: 40rem; margin: 0; font-size: 1rem; line-height: 1.6; color: #c3cbe0; }
.mo-su-invited[b-1o3tl2ck1c] {
    display: flex; gap: .8rem; align-items: flex-start; max-width: 42rem; margin-top: 1.2rem; padding: .85rem 1rem; border-radius: 1rem;
    background: rgba(216, 168, 62, .14); border: 1px solid rgba(216, 168, 62, .45);
    animation: su-up-b-1o3tl2ck1c .5s .2s var(--su-ease) backwards;
}
.mo-su-invited > i[b-1o3tl2ck1c] { font-size: 1.25rem; color: #f0c85e; }
.mo-su-invited b[b-1o3tl2ck1c] { display: block; font-size: .92rem; }
.mo-su-invited span[b-1o3tl2ck1c] { display: block; margin-top: .15rem; font-size: .84rem; color: #c3cbe0; }

.mo-su-ring[b-1o3tl2ck1c] { position: relative; flex: none; width: 8.5rem; height: 8.5rem; animation: su-pop-b-1o3tl2ck1c .7s .15s var(--su-ease) backwards; }
.mo-su-ring svg[b-1o3tl2ck1c] { width: 100%; height: 100%; transform: rotate(-90deg); }
.mo-su-ring circle[b-1o3tl2ck1c] { fill: none; stroke-width: 9; }
.mo-su-ring-track[b-1o3tl2ck1c] { stroke: rgba(255, 255, 255, .12); }
.mo-su-ring-fill[b-1o3tl2ck1c] { stroke: var(--su-gold); stroke-linecap: round; stroke-dasharray: var(--p) 100; transition: stroke-dasharray .6s var(--su-ease); filter: drop-shadow(0 0 6px rgba(216, 168, 62, .55)); }
.mo-su-ring-text[b-1o3tl2ck1c] { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.mo-su-ring-text b[b-1o3tl2ck1c] { font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; font-weight: 600; line-height: 1; }
.mo-su-ring-text span[b-1o3tl2ck1c] { font-size: .74rem; color: #c3cbe0; }

/* ---------- layout ---------- */
.mo-su-grid[b-1o3tl2ck1c] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 21rem); gap: 1.5rem; align-items: start; }
.mo-su-main[b-1o3tl2ck1c] { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }

/* ---------- stepper ---------- */
.mo-su-steps[b-1o3tl2ck1c] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.mo-su-step[b-1o3tl2ck1c] {
    display: flex; align-items: center; gap: .65rem; padding: .7rem .8rem; border: 1px solid var(--bs-border-color); border-radius: 1rem;
    background: var(--mo-surface); color: inherit; text-align: left;
    transition: border-color .2s ease, background .2s ease, transform .15s var(--su-ease);
}
.mo-su-step:hover[b-1o3tl2ck1c] { border-color: var(--su-gold-line); }
.mo-su-step:active[b-1o3tl2ck1c] { transform: scale(.98); }
.mo-su-step b[b-1o3tl2ck1c] { display: block; font-size: .84rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-su-step small[b-1o3tl2ck1c] { display: block; font-size: .72rem; color: var(--bs-secondary-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-su-step-num[b-1o3tl2ck1c] {
    flex: none; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 50%;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: .8rem; font-weight: 800;
    transition: background .25s ease, color .25s ease;
}
.mo-su-step.is-current[b-1o3tl2ck1c] { border-color: var(--su-gold); background: var(--su-gold-soft); }
.mo-su-step.is-current .mo-su-step-num[b-1o3tl2ck1c] { background: var(--su-gold); color: var(--mo-ink); }
.mo-su-step.is-done .mo-su-step-num[b-1o3tl2ck1c] { background: rgba(72, 197, 138, .18); color: #3fb87f; }

/* ---------- step card ---------- */
.mo-su-card[b-1o3tl2ck1c] {
    border-radius: 1.5rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: su-up-b-1o3tl2ck1c .45s var(--su-ease) backwards;
}
.mo-su-card-body[b-1o3tl2ck1c] { padding: 1.75rem 1.9rem; }
.mo-su-eyebrow[b-1o3tl2ck1c] { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--su-gold); }
.mo-su-h2[b-1o3tl2ck1c] { margin: .35rem 0 .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 600; color: var(--bs-emphasis-color); }

/* ---------- side ---------- */
.mo-su-side[b-1o3tl2ck1c] { position: sticky; top: 4.5rem; display: flex; flex-direction: column; gap: 1rem; }
.mo-su-panel[b-1o3tl2ck1c] {
    padding: 1.15rem 1.25rem; border-radius: 1.3rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: su-up-b-1o3tl2ck1c .5s .15s var(--su-ease) backwards;
}
.mo-su-label[b-1o3tl2ck1c] { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-su-stats[b-1o3tl2ck1c] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: .75rem; }
.mo-su-stats > div[b-1o3tl2ck1c] { padding: .6rem .5rem; border-radius: .9rem; background: var(--bs-tertiary-bg); text-align: center; }
.mo-su-stats b[b-1o3tl2ck1c] { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; font-weight: 600; line-height: 1.1; color: var(--bs-emphasis-color); }
.mo-su-stats span[b-1o3tl2ck1c] { font-size: .72rem; color: var(--bs-secondary-color); }
.mo-su-how[b-1o3tl2ck1c] { margin: .75rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .7rem; }
.mo-su-how li[b-1o3tl2ck1c] { display: flex; gap: .65rem; font-size: .84rem; line-height: 1.45; }
.mo-su-how i[b-1o3tl2ck1c] { flex: none; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 50%; background: var(--su-gold-soft); color: var(--su-gold); }
.mo-su-private[b-1o3tl2ck1c] { display: flex; gap: .5rem; margin: 0; padding: 0 .25rem; font-size: .8rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-su-private i[b-1o3tl2ck1c] { color: #3fb87f; }

/* ---------- motion ---------- */
@keyframes su-up-b-1o3tl2ck1c { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes su-pop-b-1o3tl2ck1c { from { opacity: 0; scale: .95; } to { opacity: 1; scale: 1; } }
@keyframes su-float-a-b-1o3tl2ck1c { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes su-float-b-b-1o3tl2ck1c { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes su-pulse-b-1o3tl2ck1c { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }

@media (prefers-reduced-motion: reduce) {
    .mo-su *[b-1o3tl2ck1c] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .mo-su-grid[b-1o3tl2ck1c] { grid-template-columns: minmax(0, 1fr); }
    .mo-su-side[b-1o3tl2ck1c] { position: static; }
}

@media (max-width: 720px) {
    .mo-su-hero-inner[b-1o3tl2ck1c] { flex-direction: column; align-items: flex-start; padding: 1.75rem 1.25rem; gap: 1.25rem; }
    .mo-su-steps[b-1o3tl2ck1c] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mo-su-card-body[b-1o3tl2ck1c] { padding: 1.25rem; }
}
/* /Components/Pages/Documents.razor.rz.scp.css */
/* =========================================================
   DOCUMENTS (Executive)
   After the "Documents" mockup, in the app's navy/gold theme: a dark hero
   with KPIs, "Add a document" (drop zone + staged files + review of what
   Mimir found), then a library beside a tabbed detail panel. Animations
   fill `backwards` only (no lingering containing block for fixed overlays).
   ========================================================= */

.mo-dc[b-jciecnvsgy] {
    --dc-gold: var(--mo-violet);
    --dc-gold-soft: rgba(216, 168, 62, .14);
    --dc-gold-line: rgba(216, 168, 62, .45);
    --dc-ease: cubic-bezier(.2, .8, .2, 1);
    padding: .75rem 0 5rem;
    display: flex; flex-direction: column; gap: 1.6rem;
}

.mo-dc-muted[b-jciecnvsgy] { font-size: .8rem; color: var(--bs-secondary-color); }
.mo-dc-label[b-jciecnvsgy] { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-dc-label.is-brand[b-jciecnvsgy] { color: var(--dc-gold); }
.mo-dc-link[b-jciecnvsgy] { padding: 0; border: 0; background: none; color: var(--bs-secondary-color); font-size: .82rem; font-weight: 600; }
.mo-dc-link:hover[b-jciecnvsgy] { color: var(--bs-body-color); text-decoration: underline; }

/* ---------- hero ---------- */
.mo-dc-hero[b-jciecnvsgy] {
    position: relative; overflow: hidden; border-radius: 1.75rem;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    color: #fff; box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: dc-up-b-jciecnvsgy .7s var(--dc-ease) backwards;
}
.mo-dc-orb[b-jciecnvsgy] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-dc-orb.is-a[b-jciecnvsgy] { left: -100px; top: -160px; width: 460px; height: 460px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: dc-float-a-b-jciecnvsgy 14s ease-in-out infinite; }
.mo-dc-orb.is-b[b-jciecnvsgy] { right: 80px; bottom: -220px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: dc-float-b-b-jciecnvsgy 18s ease-in-out infinite; }
.mo-dc-hero-inner[b-jciecnvsgy] { position: relative; display: flex; align-items: center; gap: 3rem; padding: 2.5rem 2.75rem 2.4rem; }
.mo-dc-hero-copy[b-jciecnvsgy] { flex: 1 1 auto; min-width: 0; }
.mo-dc-kicker[b-jciecnvsgy] { display: flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-dc-pulse[b-jciecnvsgy] { width: 8px; height: 8px; border-radius: 50%; background: var(--dc-gold); animation: dc-pulse-b-jciecnvsgy 1.8s ease-out infinite; }
.mo-dc-hero h1[b-jciecnvsgy] { margin: .75rem 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.4vw, 3.25rem); font-weight: 600; line-height: 1.05; color: #fff; }
.mo-dc-hero p[b-jciecnvsgy] { max-width: 35rem; margin: 0; font-size: 1rem; line-height: 1.6; color: #c3cbe0; }
.mo-dc-kpis[b-jciecnvsgy] { flex: none; display: flex; gap: .75rem; }
.mo-dc-kpi[b-jciecnvsgy] {
    width: 9.5rem; display: flex; flex-direction: column; gap: .25rem; padding: 1.1rem 1.2rem; border-radius: 1.3rem;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
    animation: dc-pop-b-jciecnvsgy .6s var(--dc-ease) backwards; animation-delay: calc(.2s + var(--i) * 80ms);
}
.mo-dc-kpi b[b-jciecnvsgy] { font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; font-weight: 600; line-height: 1.05; }
.mo-dc-kpi span[b-jciecnvsgy] { font-size: .78rem; line-height: 1.35; color: #c3cbe0; }

/* ---------- cards / buttons / pills ---------- */
.mo-dc-card[b-jciecnvsgy] {
    display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem 1.75rem; border-radius: 1.6rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: dc-up-b-jciecnvsgy .6s .1s var(--dc-ease) backwards;
}
.mo-dc-card-head[b-jciecnvsgy] { display: flex; align-items: baseline; flex-wrap: wrap; gap: .75rem; }
.mo-dc-card-head h2[b-jciecnvsgy], .mo-dc-library h2[b-jciecnvsgy] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 600; color: var(--bs-emphasis-color); }

.mo-dc-btn[b-jciecnvsgy] {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    height: 2.6rem; padding: 0 1.1rem; border-radius: 999px; border: 1px solid transparent;
    font-size: .84rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: transform .18s var(--dc-ease), background .2s ease, border-color .2s ease;
}
.mo-dc-btn:hover:not(:disabled)[b-jciecnvsgy] { transform: translateY(-1px); }
.mo-dc-btn:disabled[b-jciecnvsgy] { opacity: .5; cursor: not-allowed; }
.mo-dc-btn.is-sm[b-jciecnvsgy] { height: 2.2rem; padding: 0 .85rem; font-size: .78rem; }
.mo-dc-btn.is-block[b-jciecnvsgy] { width: 100%; }
.mo-dc-btn.is-primary[b-jciecnvsgy] { background: var(--dc-gold); color: var(--mo-ink); box-shadow: 0 6px 16px rgba(216, 168, 62, .25); }
.mo-dc-btn.is-primary:hover:not(:disabled)[b-jciecnvsgy] { background: var(--mo-violet-600); color: var(--mo-ink); }
.mo-dc-btn.is-outline[b-jciecnvsgy] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.mo-dc-btn.is-outline:hover:not(:disabled)[b-jciecnvsgy] { border-color: var(--dc-gold-line); color: var(--bs-body-color); }
.mo-dc-btn.is-accept[b-jciecnvsgy] { background: #1f7a55; color: #fff; }
.mo-dc-btn.is-dark[b-jciecnvsgy] { background: var(--bs-emphasis-color); color: var(--bs-body-bg); }
.mo-dc-btn.is-danger[b-jciecnvsgy] { background: #c0453f; color: #fff; }
.mo-dc-btn.is-danger-outline[b-jciecnvsgy] { background: transparent; border-color: rgba(224, 87, 91, .45); color: #e86b6f; }
.mo-dc-btn.is-danger-outline:hover[b-jciecnvsgy] { background: rgba(224, 87, 91, .1); }

.mo-dc-pill[b-jciecnvsgy] {
    display: inline-flex; align-items: center; gap: .3rem; padding: .12rem .6rem; border-radius: 999px;
    font-size: .7rem; font-weight: 700; white-space: nowrap; background: var(--dc-gold-soft); color: var(--dc-gold);
}
.mo-dc-pill i[b-jciecnvsgy] { width: .45rem; height: .45rem; border-radius: 50%; background: var(--c, var(--dc-gold)); }
.mo-dc-pill[style*="--c"][b-jciecnvsgy] { background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--c); }
.mo-dc-pill.is-quiet[b-jciecnvsgy] { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-weight: 600; }
.mo-dc-pill.is-info[b-jciecnvsgy] { background: rgba(69, 162, 255, .16); color: #4f9dff; }
.mo-dc-pill.is-ok[b-jciecnvsgy] { background: rgba(72, 197, 138, .16); color: #3fb87f; }
.mo-dc-pill.is-warn[b-jciecnvsgy] { background: rgba(240, 200, 94, .16); color: #e2b440; }

.mo-dc-alert[b-jciecnvsgy] {
    display: flex; align-items: center; gap: .75rem; padding: .6rem .9rem; border-radius: .9rem;
    background: rgba(224, 87, 91, .12); border: 1px solid rgba(224, 87, 91, .3); color: var(--mo-rose); font-size: .82rem;
}
.mo-dc-alert.is-sm[b-jciecnvsgy] { margin-top: .5rem; padding: .4rem .7rem; font-size: .76rem; }

/* file-type tiles */
.mo-dc-ext[b-jciecnvsgy] {
    flex: none; width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border-radius: .6rem;
    font-size: .62rem; font-weight: 700; background: var(--bs-tertiary-bg); color: var(--bs-secondary-color);
}
.mo-dc-ext.is-big[b-jciecnvsgy] { width: 2.8rem; height: 2.8rem; border-radius: .85rem; font-size: .7rem; }
.mo-dc-ext.is-pdf[b-jciecnvsgy] { background: rgba(224, 87, 91, .18); color: #e86b6f; }
.mo-dc-ext.is-docx[b-jciecnvsgy], .mo-dc-ext.is-doc[b-jciecnvsgy] { background: rgba(69, 162, 255, .18); color: #4f9dff; }
.mo-dc-ext.is-md[b-jciecnvsgy] { background: rgba(72, 197, 138, .18); color: #3fb87f; }
.mo-dc-ext.is-txt[b-jciecnvsgy] { background: rgba(216, 168, 62, .16); color: #d2a03a; }

/* ---------- add a document ---------- */
.mo-dc-upload-row[b-jciecnvsgy] { display: grid; grid-template-columns: 22rem minmax(0, 1fr); gap: 1rem; align-items: stretch; }
.mo-dc-drop[b-jciecnvsgy] {
    position: relative; min-height: 8rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem;
    padding: 1rem; border: 1.5px dashed var(--dc-gold-line); border-radius: 1.2rem; background: var(--dc-gold-soft); color: var(--dc-gold); text-align: center;
    transition: background .2s ease, border-color .2s ease;
}
.mo-dc-drop:hover[b-jciecnvsgy], .mo-dc-drop.is-busy[b-jciecnvsgy] { background: rgba(216, 168, 62, .2); border-color: var(--dc-gold); }
.mo-dc-drop > i[b-jciecnvsgy] { font-size: 1.6rem; animation: dc-bob-b-jciecnvsgy 3s ease-in-out infinite; }
.mo-dc-drop-title[b-jciecnvsgy] { font-size: .95rem; font-weight: 700; }
.mo-dc-drop[b-jciecnvsgy]  input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.mo-dc-staged[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.mo-dc-staged-empty[b-jciecnvsgy] {
    flex: 1 1 auto; display: grid; place-items: center; padding: 1rem 1.5rem; border-radius: 1.2rem;
    background: var(--mo-surface-2); color: var(--bs-secondary-color); font-size: .86rem; text-align: center;
}
.mo-dc-staged-row[b-jciecnvsgy] {
    display: flex; align-items: center; gap: .75rem; padding: .35rem .35rem .35rem .75rem; border-radius: 1rem; background: var(--dc-gold-soft);
    animation: dc-slide-b-jciecnvsgy .3s var(--dc-ease) backwards;
}
.mo-dc-staged-name[b-jciecnvsgy] { flex: 1 1 auto; min-width: 0; font-size: .86rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-dc-x[b-jciecnvsgy] { flex: none; width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--bs-secondary-color); transition: background .2s ease; }
.mo-dc-x:hover[b-jciecnvsgy] { background: var(--bs-tertiary-bg); }

.mo-dc-review[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .75rem; padding-top: 1.1rem; border-top: 1px solid var(--bs-border-color); animation: dc-up-b-jciecnvsgy .4s var(--dc-ease) backwards; }
.mo-dc-review-head[b-jciecnvsgy] { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.mo-dc-cands[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .6rem; max-height: 26rem; overflow-y: auto; padding-right: .25rem; }
.mo-dc-cand[b-jciecnvsgy] {
    display: flex; align-items: center; gap: 1rem; padding: .9rem 1rem; border-radius: 1.1rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: dc-slide-b-jciecnvsgy .35s var(--dc-ease) backwards; animation-delay: calc(var(--i, 0) * 45ms);
    transition: background .25s ease, border-color .25s ease, opacity .25s ease;
}
.mo-dc-cand.is-done[b-jciecnvsgy] { background: rgba(72, 197, 138, .08); border-color: rgba(72, 197, 138, .45); }
.mo-dc-cand.is-off[b-jciecnvsgy] { opacity: .6; }
.mo-dc-cand-title[b-jciecnvsgy] { font-size: .9rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-dc-cand-text[b-jciecnvsgy] { margin-top: .15rem; font-size: .82rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-dc-tags[b-jciecnvsgy] { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.mo-dc-cand-actions[b-jciecnvsgy] { flex: none; display: flex; gap: .45rem; }
.mo-dc-decided[b-jciecnvsgy] { flex: none; display: inline-flex; align-items: center; gap: .3rem; font-size: .82rem; font-weight: 700; color: var(--bs-secondary-color); }
.mo-dc-decided.is-ok[b-jciecnvsgy] { color: #3fb87f; }

/* ---------- library + detail ---------- */
.mo-dc-layout[b-jciecnvsgy] {
    display: grid; grid-template-columns: 22rem minmax(0, 1fr); gap: 1.5rem; align-items: start;
    transition: grid-template-columns .35s var(--dc-ease);
}
.mo-dc-layout.is-lib-collapsed[b-jciecnvsgy] { grid-template-columns: 4.25rem minmax(0, 1fr); }
.mo-dc-library-head[b-jciecnvsgy] { display: flex; align-items: center; gap: .55rem; min-width: 0; }
.mo-dc-library-count[b-jciecnvsgy] {
    min-width: 1.6rem; height: 1.6rem; padding: 0 .4rem; display: grid; place-items: center; border-radius: 999px;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: .74rem; font-weight: 700;
}
.mo-dc-collapse[b-jciecnvsgy] {
    flex: none; width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface); color: var(--bs-secondary-color);
    transition: border-color .2s ease, color .2s ease, transform .35s var(--dc-ease);
}
.mo-dc-collapse:hover[b-jciecnvsgy] { border-color: var(--dc-gold-line); color: var(--dc-gold); }
.mo-dc-collapse i[b-jciecnvsgy] { display: inline-block; transition: transform .35s var(--dc-ease); }
/* collapsed: a slim rail of file tiles */
.is-lib-collapsed .mo-dc-library-head[b-jciecnvsgy] { flex-direction: column; }
.is-lib-collapsed .mo-dc-library-head h2[b-jciecnvsgy],
.is-lib-collapsed .mo-dc-library-head > .flex-grow-1[b-jciecnvsgy] { display: none; }
.is-lib-collapsed .mo-dc-collapse i[b-jciecnvsgy] { transform: rotate(180deg); }
.is-lib-collapsed .mo-dc-row[b-jciecnvsgy] { justify-content: center; padding: .55rem 0; }
.is-lib-collapsed .mo-dc-row > span:nth-child(2)[b-jciecnvsgy],
.is-lib-collapsed .mo-dc-row > .mo-dc-pill[b-jciecnvsgy] { display: none; }
.is-lib-collapsed .mo-dc-row:hover[b-jciecnvsgy] { transform: none; }
.is-lib-collapsed .mo-dc-empty[b-jciecnvsgy] { display: none; }
.mo-dc-library[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .8rem; position: sticky; top: 5.5rem; animation: dc-up-b-jciecnvsgy .6s .2s var(--dc-ease) backwards; }
.mo-dc-chips[b-jciecnvsgy] { display: flex; flex-wrap: wrap; gap: .4rem; }
.mo-dc-chip[b-jciecnvsgy] {
    height: 2.35rem; padding: 0 .9rem; border-radius: 999px; border: 1px solid var(--bs-border-color);
    background: var(--mo-surface); color: var(--bs-body-color); font-size: .8rem; font-weight: 600;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.mo-dc-chip span[b-jciecnvsgy] { margin-left: .2rem; opacity: .65; }
.mo-dc-chip:hover[b-jciecnvsgy] { border-color: var(--dc-gold-line); }
.mo-dc-chip.is-active[b-jciecnvsgy] { background: var(--bs-emphasis-color); color: var(--bs-body-bg); border-color: var(--bs-emphasis-color); }
.mo-dc-list[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .55rem; max-height: calc(100dvh - 14rem); overflow-y: auto; padding: .15rem .25rem .15rem .1rem; }
.mo-dc-row[b-jciecnvsgy] {
    display: flex; align-items: center; gap: .85rem; padding: .8rem .9rem; border-radius: 1.1rem; text-align: left;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface); color: inherit;
    animation: dc-up-b-jciecnvsgy .4s var(--dc-ease) backwards; animation-delay: calc(.25s + var(--i, 0) * 45ms);
    transition: transform .2s var(--dc-ease), border-color .2s ease, background .2s ease;
}
.mo-dc-row:hover[b-jciecnvsgy] { transform: translateX(3px); border-color: var(--dc-gold-line); }
.mo-dc-row.is-active[b-jciecnvsgy] { background: var(--dc-gold-soft); border-color: var(--dc-gold); box-shadow: 0 0 0 3px var(--dc-gold-soft); }
.mo-dc-row > span:nth-child(2)[b-jciecnvsgy] { display: flex; flex-direction: column; }
.mo-dc-row-name[b-jciecnvsgy] { font-size: .88rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.mo-dc-detail[b-jciecnvsgy] { min-width: 0; animation: dc-up-b-jciecnvsgy .6s .25s var(--dc-ease) backwards; }
.mo-dc-panel[b-jciecnvsgy] { border-radius: 1.6rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface); overflow: hidden; animation: dc-pop-b-jciecnvsgy .35s var(--dc-ease) backwards; }
.mo-dc-panel-head[b-jciecnvsgy] { display: flex; align-items: center; flex-wrap: wrap; gap: .85rem; padding: 1.2rem 1.4rem; border-bottom: 1px solid var(--bs-border-color); }
.mo-dc-panel-title[b-jciecnvsgy] { font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 600; color: var(--bs-emphasis-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-dc-confirm[b-jciecnvsgy] {
    display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; padding: .85rem 1.4rem;
    background: rgba(224, 87, 91, .1); border-bottom: 1px solid rgba(224, 87, 91, .3); color: #e86b6f; font-size: .84rem; line-height: 1.5;
    animation: dc-fade-b-jciecnvsgy .25s ease backwards;
}
.mo-dc-tabs[b-jciecnvsgy] { display: flex; gap: .25rem; padding: .7rem 1.4rem 0; border-bottom: 1px solid var(--bs-border-color); overflow-x: auto; }
.mo-dc-tabs button[b-jciecnvsgy] {
    flex: none; height: 2.6rem; padding: 0 .9rem; border: 0; border-bottom: 3px solid transparent; background: transparent;
    color: var(--bs-secondary-color); font-size: .84rem; font-weight: 700; transition: color .2s ease, border-color .25s var(--dc-ease);
}
.mo-dc-tabs button:hover[b-jciecnvsgy] { color: var(--bs-body-color); }
.mo-dc-tabs button.is-active[b-jciecnvsgy] { color: var(--dc-gold); border-bottom-color: var(--dc-gold); }
.mo-dc-tab[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .7rem; padding: 1.3rem 1.4rem 1.5rem; animation: dc-fade-b-jciecnvsgy .3s ease backwards; }
.mo-dc-summary[b-jciecnvsgy] {
    margin: 0 0 .5rem; padding: .9rem 1rem; border-radius: 1rem; background: var(--dc-gold-soft);
    font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.6; color: var(--bs-emphasis-color);
}
.mo-dc-text[b-jciecnvsgy] {
    margin: 0; max-height: 26rem; overflow: auto; padding: 1rem 1.1rem; border-radius: 1rem;
    background: var(--mo-surface-2); border: 1px solid var(--bs-border-color);
    font-family: var(--bs-body-font-family); font-size: .86rem; line-height: 1.65; white-space: pre-wrap; color: var(--bs-body-color);
}
.mo-dc-group-head[b-jciecnvsgy] { display: flex; align-items: center; gap: .45rem; margin-top: .4rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c); }
.mo-dc-group-head i[b-jciecnvsgy] { width: .6rem; height: .6rem; border-radius: 3px; background: var(--c); box-shadow: 0 0 6px var(--c); }
.mo-dc-node[b-jciecnvsgy] { padding: .8rem .9rem; border-radius: 1rem; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); animation: dc-slide-b-jciecnvsgy .3s var(--dc-ease) backwards; }
.mo-dc-recs-head[b-jciecnvsgy] { display: flex; align-items: center; gap: 1rem; }
.mo-dc-recs[b-jciecnvsgy] { display: flex; flex-direction: column; gap: .55rem; }
.mo-dc-rec[b-jciecnvsgy] {
    display: flex; gap: .7rem; padding: .85rem 1rem; border-radius: 1rem; background: var(--dc-gold-soft); border: 1px solid var(--dc-gold-line);
    font-size: .86rem; line-height: 1.55; animation: dc-slide-b-jciecnvsgy .35s var(--dc-ease) backwards; animation-delay: calc(var(--i, 0) * 60ms);
}

/* "Original" tab: the uploaded file as it really looks (docx-preview output is injected, hence ::deep) */
.mo-dc-original-wrap[b-jciecnvsgy] { position: relative; min-height: 14rem; }
.mo-dc-original-loading[b-jciecnvsgy] {
    position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; gap: .6rem;
    border-radius: 1rem; background: var(--mo-surface-2); color: var(--bs-secondary-color); font-size: .86rem;
}
.mo-dc-paperbar[b-jciecnvsgy] { display: flex; align-items: center; gap: .75rem; }
.mo-dc-seg[b-jciecnvsgy] { display: flex; gap: .2rem; padding: .2rem; border-radius: 999px; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); }
.mo-dc-seg button[b-jciecnvsgy] { height: 2rem; padding: 0 .85rem; border: 0; border-radius: 999px; background: transparent; color: var(--bs-secondary-color); font-size: .78rem; font-weight: 600; transition: background .2s ease, color .2s ease; }
.mo-dc-seg button.is-active[b-jciecnvsgy] { background: var(--mo-surface); color: var(--bs-emphasis-color); box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
.mo-dc-original[b-jciecnvsgy] { max-height: 90vh; overflow: auto; border-radius: 1rem; background: #5b6472; }
/* The page is paper whatever the app theme: without this, text a .docx doesn't
   colour itself inherits the dark theme's light grey and vanishes on white. */
.mo-dc-original[b-jciecnvsgy]  .docx-wrapper { background: transparent; padding: 1.5rem 1rem; display: flex; flex-direction: column; align-items: center; }
.mo-dc-original[b-jciecnvsgy]  .docx-wrapper > section.docx {
    background: #fff; color: #111; line-height: 1.15;
    font-family: Calibri, Carlito, "Segoe UI", Arial, sans-serif;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35); margin-bottom: 1.25rem;
}
.mo-dc-original[b-jciecnvsgy]  section.docx a { color: #0b57d0; }
.mo-dc-original[b-jciecnvsgy]  section.docx table { color: inherit; }
.mo-dc-pdf[b-jciecnvsgy] { width: 100%; height: 86vh; border: 1px solid var(--bs-border-color); border-radius: 1rem; background: #fff; }
.mo-dc-text.is-tall[b-jciecnvsgy] { max-height: 84vh; }

/* the contenteditable "Edit" tab (content is injected markup, hence ::deep) */

.mo-dc-empty[b-jciecnvsgy] { padding: 2rem 1.25rem; text-align: center; border: 1px dashed var(--bs-border-color); border-radius: 1.2rem; color: var(--bs-secondary-color); font-size: .88rem; }
.mo-dc-empty.is-tall[b-jciecnvsgy] { padding: 5rem 2rem; border-radius: 1.6rem; background: var(--mo-surface-2); }
.mo-dc-skeleton[b-jciecnvsgy] { height: 16rem; border-radius: 1.4rem; border: 1px solid var(--bs-border-color); background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%); background-size: 300% 100%; animation: dc-shimmer-b-jciecnvsgy 1.4s linear infinite; }
.mo-dc-skeleton.is-detail[b-jciecnvsgy] { height: 24rem; border-radius: 1.6rem; }
.mo-dc-skeleton.is-text[b-jciecnvsgy] { height: 14rem; border-radius: 1rem; }

/* ---------- motion ---------- */
@keyframes dc-float-a-b-jciecnvsgy { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes dc-float-b-b-jciecnvsgy { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes dc-up-b-jciecnvsgy { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes dc-slide-b-jciecnvsgy { from { opacity: 0; translate: -10px 0; } to { opacity: 1; translate: none; } }
@keyframes dc-pop-b-jciecnvsgy { from { opacity: 0; scale: .97; } to { opacity: 1; scale: 1; } }
@keyframes dc-fade-b-jciecnvsgy { from { opacity: 0; } }
@keyframes dc-pulse-b-jciecnvsgy { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes dc-bob-b-jciecnvsgy { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }
@keyframes dc-shimmer-b-jciecnvsgy { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .mo-dc *[b-jciecnvsgy] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .mo-dc-hero-inner[b-jciecnvsgy] { flex-direction: column; align-items: stretch; gap: 1.5rem; }
    .mo-dc-kpis[b-jciecnvsgy] { flex-wrap: wrap; }
    .mo-dc-layout[b-jciecnvsgy] { grid-template-columns: minmax(0, 1fr); }
    .mo-dc-library[b-jciecnvsgy] { position: static; }
    .mo-dc-list[b-jciecnvsgy] { max-height: 22rem; }
}

@media (max-width: 720px) {
    .mo-dc-hero-inner[b-jciecnvsgy] { padding: 1.75rem 1.25rem; }
    .mo-dc-kpi[b-jciecnvsgy] { flex: 1 1 8rem; width: auto; }
    .mo-dc-card[b-jciecnvsgy] { padding: 1.2rem; }
    .mo-dc-upload-row[b-jciecnvsgy] { grid-template-columns: minmax(0, 1fr); }
    .mo-dc-cand[b-jciecnvsgy] { flex-direction: column; align-items: stretch; }
    .mo-dc-recs-head[b-jciecnvsgy] { flex-direction: column; align-items: stretch; }
}

/* ---------- in-page editing of a .docx ---------- */
.mo-dc-paperbar.is-editing[b-jciecnvsgy] { border-color: rgba(216, 168, 62, .55); background: rgba(216, 168, 62, .08); }
.mo-dc-editing[b-jciecnvsgy] { display: inline-flex; align-items: center; gap: .45rem; font-size: .82rem; font-weight: 700; color: var(--dc-gold); }
.mo-dc-edit-note[b-jciecnvsgy] {
    display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; padding: .65rem .85rem; border-radius: .9rem; font-size: .84rem;
    animation: dc-up-b-jciecnvsgy .3s ease backwards;
}
.mo-dc-edit-note.is-ok[b-jciecnvsgy] { background: rgba(72, 197, 138, .12); border: 1px solid rgba(72, 197, 138, .35); color: #3fb87f; }
.mo-dc-edit-note.is-warn[b-jciecnvsgy] { background: rgba(240, 140, 60, .12); border: 1px solid rgba(240, 140, 60, .35); color: #ef9a50; }
.mo-dc-edit-note button[b-jciecnvsgy] { border: 0; background: none; color: inherit; }
/* docx-preview draws these paragraphs, so they need ::deep. */
.mo-dc-original-wrap.is-editing[b-jciecnvsgy]  .mo-doc-editable {
    outline: 1px dashed rgba(184, 134, 30, .45); outline-offset: 2px; border-radius: 2px; cursor: text;
    transition: background .15s ease, outline-color .15s ease;
}
.mo-dc-original-wrap.is-editing[b-jciecnvsgy]  .mo-doc-editable:hover { background: rgba(216, 168, 62, .08); }
.mo-dc-original-wrap.is-editing[b-jciecnvsgy]  .mo-doc-editable:focus { outline: 2px solid #d8a83e; background: rgba(216, 168, 62, .12); }
.mo-dc-original-wrap.is-editing[b-jciecnvsgy]  .mo-doc-locked { opacity: .6; }
.mo-dc-fmt[b-jciecnvsgy] { display: inline-flex; align-items: center; gap: .15rem; padding: .2rem; border-radius: .7rem; background: var(--mo-surface); border: 1px solid var(--bs-border-color); }
.mo-dc-fmt button[b-jciecnvsgy] {
    width: 2rem; height: 2rem; display: grid; place-items: center; border: 0; border-radius: .5rem;
    background: none; color: var(--bs-body-color); font-size: .95rem; transition: background .15s ease, color .15s ease;
}
.mo-dc-fmt button:hover[b-jciecnvsgy] { background: rgba(216, 168, 62, .16); color: var(--dc-gold); }
.mo-dc-fmt-sep[b-jciecnvsgy] { width: 1px; height: 1.3rem; margin: 0 .2rem; background: var(--bs-border-color); }
.mo-dc-paperbar.is-editing[b-jciecnvsgy] { flex-wrap: wrap; row-gap: .5rem; }
/* editor toolbar: one row under the paper bar while editing */
.mo-dc-toolbar[b-jciecnvsgy] {
    display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin-bottom: .45rem; padding: .4rem .5rem;
    border-radius: .9rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: dc-up-b-jciecnvsgy .3s ease backwards;
}
.mo-dc-tsel[b-jciecnvsgy] {
    height: 2.1rem; padding: 0 .55rem; border: 1px solid var(--bs-border-color); border-radius: .55rem;
    background: var(--bs-body-bg); color: var(--bs-body-color); font-size: .8rem;
}
.mo-dc-tsel.is-style[b-jciecnvsgy] { min-width: 10rem; }
.mo-dc-tsel.is-font[b-jciecnvsgy] { max-width: 10rem; }
.mo-dc-tsel:focus[b-jciecnvsgy] { outline: none; border-color: var(--dc-gold-line); }
.mo-dc-tbtn[b-jciecnvsgy] {
    width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border: 0; border-radius: .55rem;
    background: none; color: var(--bs-body-color); font-size: .95rem; transition: background .15s ease, color .15s ease;
}
.mo-dc-tbtn:hover:not(:disabled)[b-jciecnvsgy] { background: rgba(216, 168, 62, .16); color: var(--dc-gold); }
.mo-dc-tbtn:disabled[b-jciecnvsgy] { opacity: .45; }
.mo-dc-color[b-jciecnvsgy] { position: relative; width: 2.1rem; height: 2.1rem; margin: 0; display: grid; place-items: center; border-radius: .55rem; cursor: pointer; }
.mo-dc-color:hover[b-jciecnvsgy] { background: rgba(216, 168, 62, .16); color: var(--dc-gold); }
.mo-dc-color input[b-jciecnvsgy] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; border: 0; padding: 0; }
.mo-dc-toolbar-hint[b-jciecnvsgy] { margin: 0 0 .75rem; font-size: .76rem; color: var(--bs-secondary-color); }

/* ---------- "Enlarge": the document large, page blurred behind (outside .mo-dc) ---------- */
.mo-dc-zoom[b-jciecnvsgy] { position: fixed; inset: 0; z-index: 1080; display: grid; place-items: center; padding: 1.5rem; outline: none; }
.mo-dc-zoom-scrim[b-jciecnvsgy] { position: absolute; inset: 0; border: 0; background: rgba(4, 10, 18, .55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); animation: dc-fade-b-jciecnvsgy .25s ease backwards; }
.mo-dc-zoom-panel[b-jciecnvsgy] {
    position: relative; width: min(78rem, 100%); height: calc(100dvh - 3rem); display: flex; flex-direction: column;
    border-radius: 1.4rem; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); overflow: hidden;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .5); animation: dc-zoom-in-b-jciecnvsgy .35s cubic-bezier(.2, .8, .2, 1) backwards;
}
.mo-dc-zoom-head[b-jciecnvsgy] { flex: none; display: flex; align-items: center; gap: .6rem; padding: .8rem 1.1rem; border-bottom: 1px solid var(--bs-border-color); }
.mo-dc-zoom-name[b-jciecnvsgy] { display: inline-flex; align-items: center; gap: .5rem; min-width: 0; font-weight: 700; color: var(--bs-emphasis-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-dc-zoom-close[b-jciecnvsgy] {
    flex: none; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border: 0; border-radius: 50%;
    background: var(--bs-tertiary-bg); color: var(--bs-body-color); transition: transform .25s ease, background .2s ease;
}
.mo-dc-zoom-close:hover[b-jciecnvsgy] { transform: rotate(90deg); background: rgba(216, 168, 62, .16); }
.mo-dc-zoom-body[b-jciecnvsgy] { flex: 1 1 auto; min-height: 0; overflow: auto; background: var(--bs-tertiary-bg); }
.mo-dc-zoom-doc[b-jciecnvsgy] { min-height: 100%; max-height: none; overflow: visible; border-radius: 0; }
.mo-dc-zoom-pdf[b-jciecnvsgy] { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.mo-dc-zoom-text[b-jciecnvsgy] { margin: 1.25rem auto; max-width: 52rem; }
@keyframes dc-zoom-in-b-jciecnvsgy { from { opacity: 0; scale: .96; } to { opacity: 1; scale: 1; } }
@media (max-width: 720px) {
    .mo-dc-zoom[b-jciecnvsgy] { padding: 0; }
    .mo-dc-zoom-panel[b-jciecnvsgy] { height: 100dvh; border-radius: 0; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* =========================================================
   MIMIRONE — EXECUTIVE HOME
   Visual direction:
   deep navy / midnight / gold / electric blue
   ========================================================= */

:root[b-oovckuxxru] {
    --mo-bg: #020914;
    --mo-bg-2: #061221;
    --mo-panel: rgba(8, 20, 36, 0.78);
    --mo-panel-soft: rgba(7, 18, 32, 0.62);
    --mo-border: rgba(102, 157, 221, 0.20);
    --mo-border-strong: rgba(116, 177, 255, 0.34);
    --mo-text: #f4f6fb;
    --mo-text-soft: #b8c3d8;
    --mo-text-muted: #74839d;
    --mo-gold: #e7b84b;
    --mo-gold-light: #f5d477;
    --mo-gold-dark: #a8791f;
    --mo-blue: #2589ff;
    --mo-blue-light: #65b5ff;
    --mo-green: #25d6a0;
    --mo-purple: #a678ff;
    --mo-red: #ff647c;
    --mo-radius: 10px;
}


/* =========================================================
   PAGE
   ========================================================= */

.mo-home[b-oovckuxxru] {
    position: relative;
    min-height: 100vh;
    padding: 24px 24px 28px;
    color: var(--mo-text);
    /* Wash kept at ~20% opacity (not the whole element) so the global
       starfield behind .page shows through the Home hero, not just in the
       margins around it — a fully opaque hex gradient here would hide it. */
    background: radial-gradient( circle at 62% 15%, rgba(22, 73, 135, 0.18), transparent 32% ), radial-gradient( circle at 15% 85%, rgba(20, 49, 92, 0.16), transparent 35% ), linear-gradient( 135deg, rgba(2, 8, 18, 0.2) 0%, rgba(3, 16, 30, 0.2) 48%, rgba(2, 9, 20, 0.2) 100% );
    overflow: hidden;
}


    /* subtle star/noise feeling */

    .mo-home[b-oovckuxxru]::before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        opacity: .25;
        background-image: radial-gradient(circle, rgba(255,255,255,.45) 0 1px, transparent 1px), radial-gradient(circle, rgba(76,155,255,.35) 0 1px, transparent 1px);
        background-size: 97px 97px, 143px 143px;
        background-position: 10px 20px, 40px 70px;
        mask-image: linear-gradient( to bottom, black, transparent 90% );
    }


    /* =========================================================
   TYPOGRAPHY
   ========================================================= */

    .mo-home h1[b-oovckuxxru],
    .mo-home h2[b-oovckuxxru],
    .mo-home h3[b-oovckuxxru] {
        color: var(--mo-text);
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 400;
    }

.mo-eyebrow[b-oovckuxxru] {
    color: var(--mo-gold);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.mo-accent[b-oovckuxxru] {
    color: var(--mo-gold-light);
}

.mo-greet-title[b-oovckuxxru] {
    margin: 0;
    font-size: clamp(2.25rem, 4vw, 3.35rem);
    line-height: 1.05;
    letter-spacing: -.025em;
}

.mo-greet-sub[b-oovckuxxru] {
    margin: 8px 0 0;
    color: #9da9c0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
    letter-spacing: .01em;
}

.mo-ch-title[b-oovckuxxru] {
    max-width: 430px;
    font-size: clamp(1.75rem, 2.5vw, 2.55rem);
    line-height: 1.12;
    letter-spacing: -.02em;
}

.mo-ch-lead[b-oovckuxxru] {
    max-width: 470px;
    margin-top: 14px;
    color: var(--mo-text-soft);
    font-size: .91rem;
    line-height: 1.7;
}


/* =========================================================
   GREETING
   ========================================================= */

.mo-home-greet[b-oovckuxxru] {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto 28px;
    padding: 4px 18px 0;
}

.mo-home-quote[b-oovckuxxru] {
    max-width: 230px;
    margin: 10px 0 0;
    color: #a8b4ca;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .92rem;
    line-height: 1.45;
    text-align: right;
}

    .mo-home-quote cite[b-oovckuxxru] {
        display: block;
        margin-top: 8px;
        color: #5e6b82;
        font-family: inherit;
        font-size: .65rem;
        font-style: normal;
        letter-spacing: .22em;
        text-transform: uppercase;
    }


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.mo-home-actions[b-oovckuxxru] {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.mo-home .btn-primary[b-oovckuxxru] {
    color: #08101d;
    font-weight: 600;
    border: 1px solid var(--mo-gold);
    background: linear-gradient( 135deg, var(--mo-gold-light), var(--mo-gold) );
    box-shadow: 0 0 18px rgba(231, 184, 75, .10);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

    .mo-home .btn-primary:hover[b-oovckuxxru] {
        color: #050a12;
        transform: translateY(-1px);
        filter: brightness(1.06);
        box-shadow: 0 0 24px rgba(231, 184, 75, .24);
    }

.mo-home .btn-outline-primary[b-oovckuxxru] {
    color: var(--mo-gold-light);
    border-color: rgba(231, 184, 75, .55);
    background: rgba(231, 184, 75, .035);
}

    .mo-home .btn-outline-primary:hover[b-oovckuxxru] {
        color: #08101d;
        border-color: var(--mo-gold);
        background: var(--mo-gold);
    }


/* =========================================================
   CONTINUUM HERO
   ========================================================= */

.mo-continuum-hero[b-oovckuxxru] {
    position: relative;
    min-height: 310px;
    margin: 0 auto 25px;
    overflow: hidden;
    border: 1px solid rgba(57, 122, 194, .38);
    border-radius: 10px;
    background: radial-gradient( ellipse at 58% 50%, rgba(21, 80, 146, .24), transparent 43% ), linear-gradient( 110deg, rgba(5, 18, 33, .96), rgba(4, 14, 28, .82) );
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 12px 45px rgba(0,0,0,.25);
}

    .mo-continuum-hero[b-oovckuxxru]::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient( 90deg, transparent 0%, rgba(46, 136, 255, .035) 45%, transparent 78% );
    }


/* =========================================================
   CONTINUUM GRID
   ========================================================= */

.mo-ch-grid[b-oovckuxxru] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 26% 54% 20%;
    align-items: center;
    min-height: 480px;
}

.mo-ch-copy[b-oovckuxxru] {
    position: relative;
    z-index: 3;
    padding: 38px 0 38px 38px;
}

.mo-ch-viz[b-oovckuxxru] {
    position: relative;
    height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mo-ch-metrics[b-oovckuxxru] {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 25px 28px 25px 10px;
}


/* =========================================================
   EMPTY / RECRUITER HERO
   ========================================================= */

.mo-ch-empty[b-oovckuxxru] {
    position: relative;
    z-index: 2;
    padding: 42px;
}

    .mo-ch-empty .mo-ch-title[b-oovckuxxru] {
        margin-top: 10px;
    }

.mo-rec-metrics[b-oovckuxxru] {
    display: flex;
    gap: 30px;
    margin-top: 24px;
}


/* =========================================================
   METRICS
   ========================================================= */

.mo-metric[b-oovckuxxru] {
    display: flex;
    align-items: center;
    gap: 11px;
}

.mo-metric-ic[b-oovckuxxru] {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1rem;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.10);
}

    .mo-metric-ic.gold[b-oovckuxxru] {
        color: var(--mo-gold);
        border-color: rgba(231,184,75,.32);
        box-shadow: 0 0 15px rgba(231,184,75,.06);
    }

    .mo-metric-ic.green[b-oovckuxxru] {
        color: var(--mo-green);
        border-color: rgba(37,214,160,.32);
    }

    .mo-metric-ic.blue[b-oovckuxxru] {
        color: var(--mo-blue-light);
        border-color: rgba(37,137,255,.35);
    }

    .mo-metric-ic.link[b-oovckuxxru] {
        color: #d7deea;
        border-color: rgba(215,222,234,.22);
    }

    .mo-metric-ic.amber[b-oovckuxxru] {
        color: var(--mo-gold);
        border-color: rgba(231,184,75,.30);
    }

.mo-metric-num[b-oovckuxxru] {
    color: #f5f7fb;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
    line-height: 1;
}

.mo-metric-label[b-oovckuxxru] {
    margin-top: 3px;
    color: #d7deeb;
    font-size: .77rem;
    font-weight: 500;
}

.mo-metric-sub[b-oovckuxxru] {
    margin-top: 2px;
    color: #66758d;
    font-size: .64rem;
    line-height: 1.35;
}


/* =========================================================
   CONFIRMATION RATIO
   ========================================================= */

.mo-ch-ratio[b-oovckuxxru] {
    margin-top: 6px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.mo-ch-ratio-bar[b-oovckuxxru] {
    height: 3px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
}

    .mo-ch-ratio-bar span[b-oovckuxxru] {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient( 90deg, var(--mo-blue), var(--mo-gold) );
        box-shadow: 0 0 10px rgba(37,137,255,.4);
    }

.mo-ch-ratio-cap[b-oovckuxxru] {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    color: #69778e;
    font-size: .62rem;
}


/* =========================================================
   CONSTELLATION
   ========================================================= */

.mo-cons[b-oovckuxxru] {
    position: relative;
    width: 100%;
    height: 100%;
}

.mo-cons-svg[b-oovckuxxru] {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.mo-cons-orbit[b-oovckuxxru] {
    fill: none;
    stroke: rgba(75, 142, 212, .17);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.mo-cons-spin[b-oovckuxxru] {
    transform-origin: 328px 210px;
    animation: mo-orbit-spin-b-oovckuxxru 32s linear infinite;
}

.mo-cons-spoke[b-oovckuxxru] {
    stroke: rgba(58, 125, 199, .15);
    stroke-width: .8;
}

.mo-cons-edge[b-oovckuxxru] {
    stroke: rgba(65, 140, 224, .25);
    stroke-width: 1;
    opacity: .65;
}

.mo-cons-core-glow[b-oovckuxxru] {
    fill: rgba(241, 190, 75, .08);
    filter: drop-shadow( 0 0 14px rgba(241,190,75,.55) );
}

.mo-cons-core-ring[b-oovckuxxru] {
    fill: none;
    stroke: var(--mo-gold);
    stroke-width: 1.5;
    filter: drop-shadow( 0 0 6px rgba(231,184,75,.75) );
}

.mo-cons-core[b-oovckuxxru] {
    fill: #ffe39a;
    filter: drop-shadow( 0 0 8px rgba(231,184,75,.95) );
}

.mo-cons-node[b-oovckuxxru] {
    transition: r .2s ease, opacity .2s ease;
}

    .mo-cons-node.is-confirmed[b-oovckuxxru] {
        fill: #38a9ff;
        filter: drop-shadow( 0 0 5px rgba(37,137,255,.75) );
        animation: mo-node-pulse-b-oovckuxxru 3.5s ease-in-out infinite;
    }

    .mo-cons-node.is-pending[b-oovckuxxru] {
        fill: #71859e;
        opacity: .75;
    }

    .mo-cons-node.is-accent[b-oovckuxxru] {
        fill: var(--mo-gold);
        filter: drop-shadow( 0 0 6px rgba(231,184,75,.75) );
        animation: mo-node-pulse-gold-b-oovckuxxru 4s ease-in-out infinite;
    }

.mo-cons-label[b-oovckuxxru] {
    fill: #788aa6;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 2px;
    opacity: .8;
}


/* =========================================================
   ACTIVE OPPORTUNITIES
   ========================================================= */

.mo-sec-head[b-oovckuxxru] {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin: 0 auto 11px;
}

    .mo-sec-head h2[b-oovckuxxru] {
        color: #e8edf6;
    }

    .mo-sec-head a[b-oovckuxxru] {
        color: #8494ad;
        text-decoration: none;
    }

        .mo-sec-head a:hover[b-oovckuxxru] {
            color: var(--mo-gold-light);
        }

.mo-opp-grid[b-oovckuxxru] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin: 0 auto;
}

.mo-opp[b-oovckuxxru] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 150px;
    padding: 18px 18px 16px;
    overflow: hidden;
    border: 1px solid var(--mo-border);
    border-radius: 9px;
    background: linear-gradient( 135deg, rgba(10,25,43,.86), rgba(5,15,28,.92) );
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

    .mo-opp:hover[b-oovckuxxru] {
        transform: translateY(-2px);
        border-color: rgba(73,145,226,.42);
        background: linear-gradient( 135deg, rgba(12,30,52,.92), rgba(5,16,29,.95) );
        box-shadow: 0 12px 30px rgba(0,0,0,.24), 0 0 20px rgba(30,105,180,.06);
    }

.mo-opp-top[b-oovckuxxru] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.mo-opp-logo[b-oovckuxxru] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-weight: 700;
    font-size: .82rem;
    background: rgba(255,255,255,.04);
}

    .mo-opp-logo.gold[b-oovckuxxru] {
        color: var(--mo-gold-light);
        border: 1px solid rgba(231,184,75,.25);
    }

    .mo-opp-logo.blue[b-oovckuxxru] {
        color: var(--mo-blue-light);
        border: 1px solid rgba(37,137,255,.25);
    }

.mo-opp-name[b-oovckuxxru] {
    color: #eef2f8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.03rem;
}

.mo-opp-pos[b-oovckuxxru] {
    margin-top: 2px;
    color: #b0bed2;
    font-size: .76rem;
}

.mo-opp-badges[b-oovckuxxru] {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-left: auto;
}

.mo-opp-desc[b-oovckuxxru] {
    margin: 15px 0 12px;
    color: #718099;
    font-size: .73rem;
    line-height: 1.45;
}

.mo-opp-meta[b-oovckuxxru] {
    display: flex;
    justify-content: space-between;
    color: #596981;
    font-size: .63rem;
}

.mo-opp-kind[b-oovckuxxru] {
    color: #8291a8;
}

    .mo-opp-kind i[b-oovckuxxru] {
        margin-right: 5px;
    }

.mo-opp-cont[b-oovckuxxru] {
    /* Flex-column last child, not absolutely positioned - it used to float
       at a fixed bottom offset and overlap "Updated ... ago" whenever the
       card's real content (description/meta) was shorter than the mockup's
       fixed height assumed. margin-top: auto reserves its own row instead. */
    margin-top: auto;
    padding-top: 12px;
    align-self: flex-end;
    color: var(--mo-gold);
    font-size: .68rem;
    font-weight: 500;
    opacity: .85;
}


/* =========================================================
   NEXT BEST ACTION
   ========================================================= */

.mo-action[b-oovckuxxru] {
    position: relative;
    min-height: 190px;
    padding: 23px 22px 20px 68px;
    border: 1px solid rgba(231,184,75,.72);
    border-radius: 9px;
    background: radial-gradient( circle at 10% 50%, rgba(231,184,75,.09), transparent 38% ), linear-gradient( 135deg, rgba(11,25,40,.92), rgba(5,15,27,.95) );
    box-shadow: 0 0 25px rgba(231,184,75,.055), inset 0 1px 0 rgba(255,255,255,.025);
}

.mo-action-ic[b-oovckuxxru] {
    position: absolute;
    left: 20px;
    top: 22px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--mo-gold);
    border: 1px solid rgba(231,184,75,.35);
    box-shadow: 0 0 18px rgba(231,184,75,.10);
}

.mo-action-title[b-oovckuxxru] {
    margin: 0;
    font-size: 1.1rem;
}

.mo-action-body[b-oovckuxxru] {
    max-width: 420px;
    margin: 8px 0 17px;
    color: #8997ad;
    font-size: .74rem;
    line-height: 1.55;
}


/* =========================================================
   PENDING REVIEWS
   ========================================================= */

.mo-review[b-oovckuxxru] {
    width: 100%;
}

.mo-review-row[b-oovckuxxru] {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 57px;
    padding: 8px 13px;
    border-bottom: 1px solid rgba(255,255,255,.055);
}

    .mo-review-row:last-child[b-oovckuxxru] {
        border-bottom: 0;
    }

    .mo-review-row.is-interpretation[b-oovckuxxru] {
        background: rgba(167,120,255,.025);
    }

    .mo-review-row.is-asserted[b-oovckuxxru] {
        background: rgba(37,214,160,.018);
    }

.mo-review-ic[b-oovckuxxru] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7e8fa8;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    font-size: .75rem;
}

.mo-review-main[b-oovckuxxru] {
    min-width: 0;
    color: #dbe2ee;
    font-size: .75rem;
}

.mo-review-tags[b-oovckuxxru] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
}

.mo-review-note[b-oovckuxxru] {
    color: #596981;
    font-size: .6rem;
}

.mo-review-act[b-oovckuxxru] {
    display: flex;
    gap: 5px;
}

    .mo-review-act .btn[b-oovckuxxru] {
        min-width: 67px;
        font-size: .65rem;
    }


/* =========================================================
   STEWARDSHIP
   ========================================================= */

.mo-steward[b-oovckuxxru] {
    margin: 24px auto 0;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    background: rgba(7,16,29,.42);
}

.mo-steward-item[b-oovckuxxru] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,.045);
    color: #8c9ab0;
    font-size: .72rem;
}

    .mo-steward-item:last-child[b-oovckuxxru] {
        border-bottom: 0;
    }


/* =========================================================
   FOOTER
   ========================================================= */

.mo-home-foot[b-oovckuxxru] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 26px auto 0;
    padding: 15px 4px 0;
    border-top: 1px solid rgba(255,255,255,.055);
    color: #55647c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .68rem;
}

.mo-home-foot-brand[b-oovckuxxru] {
    color: #435169;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .58rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}


/* =========================================================
   LOADING
   ========================================================= */

.mo-ch-viz-load[b-oovckuxxru] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--mo-blue-light);
}


/* =========================================================
   BOOTSTRAP CARD OVERRIDE
   ========================================================= */

.mo-home .card[b-oovckuxxru] {
    color: var(--mo-text);
    border: 1px solid var(--mo-border);
    border-radius: 9px;
    background: linear-gradient( 135deg, rgba(9,23,40,.82), rgba(5,15,27,.9) );
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.mo-home .card-body[b-oovckuxxru] {
    color: var(--mo-text-soft);
}


/* =========================================================
   ALERT
   ========================================================= */

.mo-home .alert[b-oovckuxxru] {
    margin: 0 auto 18px;
    color: #e8edf6;
    border: 1px solid rgba(231,184,75,.25);
    background: rgba(75,55,15,.22);
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

/* Staggered greeting entrance + card lift. Watermark and name shimmer
   come from app.css (mo-fx-watermark / mo-fx-shimmer). */
.mo-greet-copy > *[b-oovckuxxru] {
    animation: mo-fade-up-b-oovckuxxru .8s cubic-bezier(.2, .7, .2, 1) both;
}

.mo-greet-copy > :nth-child(2)[b-oovckuxxru] { animation-delay: .12s; }
.mo-greet-copy > :nth-child(3)[b-oovckuxxru] { animation-delay: .24s; }
.mo-greet-copy > :nth-child(4)[b-oovckuxxru] { animation-delay: .36s; }
.mo-home-quote[b-oovckuxxru] { animation: mo-fade-up-b-oovckuxxru .8s .45s cubic-bezier(.2, .7, .2, 1) both; }

.mo-home > section[b-oovckuxxru],
.mo-home > .mo-continuum-hero[b-oovckuxxru] {
    animation: mo-fade-up-b-oovckuxxru .9s .3s cubic-bezier(.2, .7, .2, 1) both;
}

.mo-home .card[b-oovckuxxru] {
    transition: translate .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.mo-home .card:hover[b-oovckuxxru] {
    translate: 0 -4px;
    border-color: rgba(231, 184, 75, .35) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .3), 0 0 0 1px rgba(231, 184, 75, .1) !important;
}

@keyframes mo-fade-up-b-oovckuxxru {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-greet-copy > *[b-oovckuxxru],
    .mo-home-quote[b-oovckuxxru],
    .mo-home > section[b-oovckuxxru],
    .mo-home > .mo-continuum-hero[b-oovckuxxru] {
        animation: none !important;
    }
}

@keyframes mo-orbit-spin-b-oovckuxxru {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes mo-node-pulse-b-oovckuxxru {
    0%, 100% {
        opacity: .72;
    }

    50% {
        opacity: 1;
    }
}

@keyframes mo-node-pulse-gold-b-oovckuxxru {
    0%, 100% {
        opacity: .75;
    }

    50% {
        opacity: 1;
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .mo-ch-grid[b-oovckuxxru] {
        grid-template-columns: 34% 44% 22%;
    }

    .mo-ch-copy[b-oovckuxxru] {
        padding-left: 28px;
    }

    .mo-ch-metrics[b-oovckuxxru] {
        padding-right: 18px;
    }

    .mo-ch-title[b-oovckuxxru] {
        font-size: 1.8rem;
    }
}


@media (max-width: 900px) {

    .mo-home[b-oovckuxxru] {
        padding: 20px 16px 24px;
    }

    .mo-ch-grid[b-oovckuxxru] {
        grid-template-columns: 1fr;
    }

    .mo-ch-copy[b-oovckuxxru] {
        padding: 30px;
    }

    .mo-ch-viz[b-oovckuxxru] {
        height: 380px;
    }

    .mo-ch-metrics[b-oovckuxxru] {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding: 20px 30px 28px;
    }

    .mo-ch-ratio[b-oovckuxxru] {
        grid-column: 1 / -1;
    }

    .mo-opp-grid[b-oovckuxxru] {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 650px) {

    .mo-home[b-oovckuxxru] {
        padding: 16px 12px 20px;
    }

    .mo-home-greet[b-oovckuxxru] {
        padding: 0 4px;
    }

    .mo-home-quote[b-oovckuxxru] {
        display: none;
    }

    .mo-greet-title[b-oovckuxxru] {
        font-size: 2.15rem;
    }

    .mo-home-actions[b-oovckuxxru] {
        flex-wrap: wrap;
    }

    .mo-continuum-hero[b-oovckuxxru] {
        min-height: auto;
    }

    .mo-ch-copy[b-oovckuxxru] {
        padding: 25px 22px 10px;
    }

    .mo-ch-viz[b-oovckuxxru] {
        height: 320px;
    }

    .mo-ch-metrics[b-oovckuxxru] {
        grid-template-columns: 1fr 1fr;
        padding: 12px 22px 22px;
        gap: 16px;
    }

    .mo-rec-metrics[b-oovckuxxru] {
        flex-direction: column;
        gap: 15px;
    }

    .mo-opp-grid[b-oovckuxxru] {
        grid-template-columns: 1fr;
    }

    .mo-review-row[b-oovckuxxru] {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .mo-review-act[b-oovckuxxru] {
        grid-column: 2;
    }

    .mo-home-foot[b-oovckuxxru] {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}
/* =========================================================
   MIMIRONE — FINAL OVERRIDES
   Fixes Bootstrap / existing app CSS conflicts
   ========================================================= */

/* ---------- GENERAL ---------- */

.mo-home[b-oovckuxxru] {
    color: #eef3fb !important;
}

    .mo-home h1[b-oovckuxxru],
    .mo-home h2[b-oovckuxxru],
    .mo-home h3[b-oovckuxxru],
    .mo-home h4[b-oovckuxxru],
    .mo-home h5[b-oovckuxxru],
    .mo-home p[b-oovckuxxru] {
        color: inherit;
    }


    /* ---------- ALL MIMIRONE BUTTONS ---------- */

    .mo-home a.btn[b-oovckuxxru],
    .mo-home button.btn[b-oovckuxxru] {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-height: 34px;
        border-radius: 6px !important;
        font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        font-size: .72rem !important;
        font-weight: 500 !important;
        text-decoration: none;
        transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
    }


    /* GOLD PRIMARY */

    .mo-home a.btn-primary[b-oovckuxxru],
    .mo-home button.btn-primary[b-oovckuxxru],
    .mo-home .btn.btn-primary[b-oovckuxxru] {
        color: #101923 !important;
        background: linear-gradient( 135deg, #f1ca67 0%, #dcae3d 100% ) !important;
        border: 1px solid #e8bd50 !important;
        box-shadow: 0 3px 12px rgba(231, 184, 75, .14) !important;
    }

        .mo-home a.btn-primary:hover[b-oovckuxxru],
        .mo-home button.btn-primary:hover[b-oovckuxxru],
        .mo-home .btn.btn-primary:hover[b-oovckuxxru] {
            color: #07101a !important;
            background: linear-gradient( 135deg, #f7d77f 0%, #e7b84b 100% ) !important;
            border-color: #f0c95f !important;
            transform: translateY(-1px);
            box-shadow: 0 5px 18px rgba(231, 184, 75, .25) !important;
        }


    /* OUTLINE */

    .mo-home a.btn-outline-primary[b-oovckuxxru],
    .mo-home button.btn-outline-primary[b-oovckuxxru],
    .mo-home .btn.btn-outline-primary[b-oovckuxxru] {
        color: #e9c65f !important;
        background: rgba(231, 184, 75, .025) !important;
        border: 1px solid rgba(231, 184, 75, .55) !important;
        box-shadow: none !important;
    }

        .mo-home a.btn-outline-primary:hover[b-oovckuxxru],
        .mo-home button.btn-outline-primary:hover[b-oovckuxxru] {
            color: #07101a !important;
            background: #e7b84b !important;
            border-color: #e7b84b !important;
        }


/* ---------- NEXT ACTION BUTTON ---------- */

.mo-action .btn-primary[b-oovckuxxru] {
    color: #07101a !important;
    background: linear-gradient( 135deg, #f1ca67, #dcae3d ) !important;
    border: 1px solid #e8bd50 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

    .mo-action .btn-primary:hover[b-oovckuxxru] {
        color: #07101a !important;
    }


/* ---------- CARDS ---------- */

.mo-home .card[b-oovckuxxru] {
    color: #dce5f2 !important;
    background: linear-gradient( 135deg, rgba(8, 22, 39, .94), rgba(4, 14, 27, .97) ) !important;
    border: 1px solid rgba(70, 130, 194, .20) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 8px 28px rgba(0,0,0,.12) !important;
}

.mo-home .card-body[b-oovckuxxru] {
    color: #9aaac0 !important;
}


/* ---------- CONTINUUM HERO ---------- */

.mo-continuum-hero[b-oovckuxxru] {
    background: radial-gradient( ellipse 45% 100% at 61% 50%, rgba(17, 73, 134, .20), transparent 70% ), linear-gradient( 110deg, rgba(4, 17, 31, .98), rgba(3, 14, 27, .95) ) !important;
    border-color: rgba(52, 119, 190, .40) !important;
}


/* ---------- CONSTELLATION SVG ---------- */

.mo-cons-svg[b-oovckuxxru] {
    overflow: visible;
}

.mo-cons-label[b-oovckuxxru] {
    fill: #8294ad !important;
    color: #8294ad !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 1.7px !important;
    opacity: .9 !important;
}

.mo-cons-orbit[b-oovckuxxru] {
    stroke: rgba(66, 133, 207, .20) !important;
}

.mo-cons-spoke[b-oovckuxxru] {
    stroke: rgba(56, 126, 205, .18) !important;
}

.mo-cons-edge[b-oovckuxxru] {
    stroke: rgba(57, 133, 217, .29) !important;
}


/* ---------- CONSTELLATION NODES ---------- */

.mo-cons-node.is-confirmed[b-oovckuxxru] {
    fill: #2e9fff !important;
    filter: drop-shadow( 0 0 5px rgba(46, 159, 255, .80) ) !important;
}

.mo-cons-node.is-accent[b-oovckuxxru] {
    fill: #e9bb4e !important;
    filter: drop-shadow( 0 0 7px rgba(233, 187, 78, .80) ) !important;
}

.mo-cons-node.is-pending[b-oovckuxxru] {
    fill: #71849b !important;
    opacity: .75 !important;
}


/* ---------- CORE ---------- */

.mo-cons-core-glow[b-oovckuxxru] {
    fill: rgba(241, 190, 75, .10) !important;
}

.mo-cons-core-ring[b-oovckuxxru] {
    stroke: #e9bc50 !important;
}

.mo-cons-core[b-oovckuxxru] {
    fill: #ffe39a !important;
}


/* ---------- METRICS ---------- */

.mo-metric-num[b-oovckuxxru] {
    color: #f2f5fa !important;
}

.mo-metric-label[b-oovckuxxru] {
    color: #d2dbe8 !important;
}

.mo-metric-sub[b-oovckuxxru] {
    color: #718198 !important;
}


/* ---------- OPPORTUNITY CARD ---------- */

.mo-opp[b-oovckuxxru] {
    color: #e8eef7 !important;
    background: linear-gradient( 135deg, rgba(8, 22, 39, .93), rgba(4, 14, 27, .97) ) !important;
    border-color: rgba(66, 127, 191, .20) !important;
}

    .mo-opp:hover[b-oovckuxxru] {
        border-color: rgba(70, 145, 224, .40) !important;
        box-shadow: 0 10px 30px rgba(0,0,0,.22), 0 0 18px rgba(30,105,180,.06) !important;
    }

.mo-opp-name[b-oovckuxxru] {
    color: #edf2f9 !important;
}

.mo-opp-pos[b-oovckuxxru] {
    color: #aebdd1 !important;
}

.mo-opp-desc[b-oovckuxxru] {
    color: #74869e !important;
}

.mo-opp-meta[b-oovckuxxru] {
    color: #596b83 !important;
}

.mo-opp-cont[b-oovckuxxru] {
    color: #e8bb4c !important;
}


/* ---------- COMPANY INITIALS ---------- */

.mo-opp-logo[b-oovckuxxru] {
    background: rgba(255,255,255,.025) !important;
}

    .mo-opp-logo.gold[b-oovckuxxru] {
        color: #edc35b !important;
        border-color: rgba(231,184,75,.32) !important;
    }

    .mo-opp-logo.blue[b-oovckuxxru] {
        color: #63b3ff !important;
        border-color: rgba(37,137,255,.32) !important;
    }


/* Status badges: StatusBadge.razor renders .mo-badge / .mo-badge-* now
   (global rules in app.css), not Bootstrap's .badge — nothing to override
   here any more. */


/* ---------- NEXT ACTION ---------- */

.mo-action[b-oovckuxxru] {
    color: #dce5ef !important;
    background: radial-gradient( ellipse 35% 100% at 5% 50%, rgba(231,184,75,.045), transparent 75% ), linear-gradient( 135deg, rgba(7, 20, 35, .96), rgba(4, 14, 27, .98) ) !important;
    border: 1px solid rgba(231,184,75,.70) !important;
    box-shadow: 0 0 24px rgba(231,184,75,.045), inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.mo-action-title[b-oovckuxxru] {
    color: #edf1f7 !important;
}

.mo-action-body[b-oovckuxxru] {
    color: #8595aa !important;
}

.mo-action-ic[b-oovckuxxru] {
    color: #e9bc50 !important;
    background: rgba(231,184,75,.025) !important;
    border-color: rgba(231,184,75,.35) !important;
}


/* ---------- PENDING REVIEWS ---------- */

.mo-review-row[b-oovckuxxru] {
    color: #dce4ef !important;
    border-bottom-color: rgba(255,255,255,.055) !important;
}

.mo-review-main[b-oovckuxxru] {
    color: #dce4ef !important;
}

.mo-review-note[b-oovckuxxru] {
    color: #62738a !important;
}

.mo-review-ic[b-oovckuxxru] {
    color: #8b9cb2 !important;
}


/* ---------- REVIEW BUTTONS ---------- */

.mo-review-act .btn[b-oovckuxxru] {
    min-height: 28px !important;
    padding: .25rem .55rem !important;
    font-size: .62rem !important;
}

.mo-review-act .btn-success[b-oovckuxxru] {
    color: #0b1c17 !important;
    background: #2bd3a1 !important;
    border-color: #2bd3a1 !important;
}

.mo-review-act .btn-outline-danger[b-oovckuxxru] {
    color: #ff8295 !important;
    background: transparent !important;
    border-color: rgba(255,100,124,.40) !important;
}

    .mo-review-act .btn-outline-danger:hover[b-oovckuxxru] {
        color: #fff !important;
        background: #a83c51 !important;
        border-color: #c95167 !important;
    }


/* ---------- EMPTY STATE ---------- */

.mo-ch-empty[b-oovckuxxru] {
    color: #dce5ef !important;
}

    .mo-ch-empty .mo-ch-lead[b-oovckuxxru] {
        color: #8999af !important;
    }


/* ---------- SECTION HEADERS ---------- */

.mo-sec-head h2[b-oovckuxxru] {
    color: #e9edf4 !important;
}

.mo-sec-head a[b-oovckuxxru] {
    color: #8191a8 !important;
}

    .mo-sec-head a:hover[b-oovckuxxru] {
        color: #e8bc4f !important;
    }


/* ---------- FOOTER ---------- */

.mo-home-foot[b-oovckuxxru] {
    color: #56667d !important;
}

.mo-home-foot-brand[b-oovckuxxru] {
    color: #46566d !important;
}


/* =========================================================
   IMPORTANT:
   Bootstrap can apply disabled styles to buttons.
   Keep MimirOne buttons readable.
   ========================================================= */

.mo-home .btn:disabled[b-oovckuxxru],
.mo-home .btn.disabled[b-oovckuxxru] {
    opacity: .55 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .mo-ch-grid[b-oovckuxxru] {
        display: flex !important;
        flex-direction: column !important;
    }

    .mo-ch-copy[b-oovckuxxru] {
        width: 100%;
    }

    .mo-ch-viz[b-oovckuxxru] {
        width: 100%;
    }

    .mo-ch-metrics[b-oovckuxxru] {
        width: 100%;
    }
}

/* =========================================================
   SELF-CONTAINED COMPONENTS  (no Bootstrap classes)
   Home.razor uses only .mo-* classes now — these replace the
   Bootstrap .btn / .card / .alert / .badge / .spinner-border
   the page used to lean on.
   ========================================================= */

/* ---------- buttons ---------- */

.mo-home .mo-btn[b-oovckuxxru] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 15px;
    border-radius: 6px;
    border: 1px solid transparent;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.mo-home .mo-btn i[b-oovckuxxru] {
    font-size: .9em;
}

.mo-home .mo-btn-gold[b-oovckuxxru] {
    color: #101923;
    background: linear-gradient(135deg, #f1ca67 0%, #dcae3d 100%);
    border-color: #e8bd50;
    box-shadow: 0 3px 12px rgba(231, 184, 75, .14);
}

.mo-home .mo-btn-gold:hover[b-oovckuxxru] {
    color: #07101a;
    background: linear-gradient(135deg, #f7d77f 0%, #e7b84b 100%);
    border-color: #f0c95f;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(231, 184, 75, .25);
}

.mo-home .mo-btn-ghost[b-oovckuxxru] {
    color: #e9c65f;
    background: rgba(231, 184, 75, .03);
    border-color: rgba(231, 184, 75, .55);
}

.mo-home .mo-btn-ghost:hover[b-oovckuxxru] {
    color: #07101a;
    background: #e7b84b;
    border-color: #e7b84b;
}

.mo-home .mo-btn:disabled[b-oovckuxxru],
.mo-home .mo-btn.disabled[b-oovckuxxru] {
    opacity: .55;
    pointer-events: none;
}

/* ---------- mini buttons (pending-review actions) ---------- */

.mo-btn-mini[b-oovckuxxru] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 67px;
    min-height: 28px;
    padding: .25rem .55rem;
    border-radius: 5px;
    border: 1px solid transparent;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: .62rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.mo-btn-confirm[b-oovckuxxru] {
    color: #0b1c17;
    background: #2bd3a1;
    border-color: #2bd3a1;
}

.mo-btn-confirm:hover[b-oovckuxxru] {
    background: #34e2ae;
    border-color: #34e2ae;
}

.mo-btn-reject[b-oovckuxxru] {
    color: #ff8295;
    background: transparent;
    border-color: rgba(255, 100, 124, .40);
}

.mo-btn-reject:hover[b-oovckuxxru] {
    color: #fff;
    background: #a83c51;
    border-color: #c95167;
}

.mo-btn-mini:disabled[b-oovckuxxru] {
    opacity: .5;
    pointer-events: none;
}

/* ---------- card ---------- */

.mo-card[b-oovckuxxru] {
    color: #dce5f2;
    border: 1px solid rgba(70, 130, 194, .20);
    border-radius: 9px;
    background: linear-gradient(135deg, rgba(8, 22, 39, .94), rgba(4, 14, 27, .97));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 8px 28px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.mo-card-body[b-oovckuxxru] {
    padding: 16px 18px;
    color: #9aaac0;
    font-size: .8rem;
}

.mo-card-body-flush[b-oovckuxxru] {
    padding: 0;
}

/* ---------- alert ---------- */

.mo-alert[b-oovckuxxru] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 auto 18px;
    padding: 11px 14px;
    color: #f2e6c9;
    border: 1px solid rgba(231, 184, 75, .28);
    border-radius: 8px;
    background: rgba(75, 55, 15, .22);
    font-size: .8rem;
}

.mo-alert-close[b-oovckuxxru] {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #d8c191;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

.mo-alert-close:hover[b-oovckuxxru] {
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

/* Status badges (.mo-badge / .mo-badge-*) now live globally in app.css —
   StatusBadge.razor renders them, so every page (Home included) shares one
   definition instead of Home keeping its own copy. */

/* ---------- spinner ---------- */

.mo-spinner[b-oovckuxxru] {
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    border: 2px solid rgba(101, 181, 255, .28);
    border-top-color: var(--mo-blue-light, #65b5ff);
    border-radius: 50%;
    animation: mo-spin-b-oovckuxxru .7s linear infinite;
}

@keyframes mo-spin-b-oovckuxxru {
    to { transform: rotate(360deg); }
}

/* ---------- small text / layout helpers ---------- */

.mo-muted[b-oovckuxxru] {
    color: #74839d;
    font-size: .8rem;
}

.mo-pad[b-oovckuxxru] {
    padding: 14px 16px;
    margin: 0;
}

.mo-note[b-oovckuxxru] {
    margin: 8px auto 0;
    text-align: center;
    color: #74839d;
    font-size: .72rem;
}

.mo-note a[b-oovckuxxru] {
    color: #8494ad;
}

.mo-note a:hover[b-oovckuxxru] {
    color: var(--mo-gold-light, #f5d477);
}

.mo-loading[b-oovckuxxru] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
}

/* section header bits (were .h5 / .small) */

.mo-sec-title[b-oovckuxxru] {
    margin: 3px 0 0;
    color: #e9edf4;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-size: 1.12rem;
}

.mo-sec-link[b-oovckuxxru] {
    color: #8191a8;
    font-size: .73rem;
    text-decoration: none;
}

.mo-sec-link:hover[b-oovckuxxru] {
    color: var(--mo-gold-light, #f5d477);
}

.mo-sec-head-tight[b-oovckuxxru] {
    margin-bottom: 8px;
}

/* next-action + pending-reviews split (was .row / .col-lg-*) */

.mo-split[b-oovckuxxru] {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 20px;
    margin: 22px auto 0;
}

.mo-split-label[b-oovckuxxru] {
    margin-bottom: 8px;
}

/* opportunity card head — truncation that .text-truncate used to give */

.mo-opp-head[b-oovckuxxru] {
    flex: 1 1 auto;
    min-width: 0;
}

.mo-opp-name[b-oovckuxxru],
.mo-opp-pos[b-oovckuxxru],
.mo-review-title[b-oovckuxxru] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* stewardship (was .list-unstyled / utility flex) */

.mo-steward-head[b-oovckuxxru] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.mo-steward-list[b-oovckuxxru] {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
}

.mo-steward-note[b-oovckuxxru] {
    margin: 0;
    font-size: .72rem;
}

.mo-steward-note i[b-oovckuxxru] {
    margin-right: 5px;
}

/* footer quote (was .fst-italic) */

.mo-foot-quote[b-oovckuxxru] {
    font-style: italic;
}

@media (max-width: 900px) {
    .mo-split[b-oovckuxxru] {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 650px) {
    .mo-review-act[b-oovckuxxru] {
        flex-direction: row;
    }
}


/* =========================================================
   CONSTELLATION — RICH LOOK
   Glowing star cluster with cosmic dust, tilted orbit rings
   and a central sunburst — after the reference art. The dust,
   rays and rings are decorative; nodes + edges are real data.
   Declared last + !important so it wins over the earlier
   constellation override block.
   ========================================================= */

.mo-ch-viz[b-oovckuxxru] {
    position: relative;
    overflow: visible;
}

/* soft nebula behind the cluster */
.mo-cons[b-oovckuxxru]::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 90%;
    aspect-ratio: 3 / 2;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background:
        radial-gradient(46% 50% at 50% 48%, rgba(50, 116, 205, .30), rgba(26, 68, 132, .15) 55%, transparent 78%),
        radial-gradient(26% 30% at 60% 42%, rgba(233, 187, 78, .12), transparent 72%);
    filter: blur(16px);
    pointer-events: none;
    z-index: 0;
}

.mo-cons-svg[b-oovckuxxru] {
    position: relative;
    z-index: 1;
    overflow: visible;
}

/* --- orbit rings --- */
.mo-cons-orbit[b-oovckuxxru] {
    fill: none !important;
    stroke: rgba(78, 150, 224, .22) !important;
    stroke-width: 1 !important;
    vector-effect: non-scaling-stroke;
}

.mo-cons-orbit-gold[b-oovckuxxru] {
    stroke: rgba(226, 178, 88, .20) !important;
}

.mo-cons-spin[b-oovckuxxru] {
    transform-box: view-box;
    transform-origin: 328px 210px;
    animation: mo-orbit-spin-b-oovckuxxru 90s linear infinite;
}

.mo-cons-spin-rev[b-oovckuxxru] {
    transform-box: view-box;
    transform-origin: 328px 210px;
    animation: mo-orbit-spin-b-oovckuxxru 130s linear infinite reverse;
}

/* --- cosmic dust --- */
.mo-cons-dust[b-oovckuxxru] {
    fill: #cfe0ff;
    filter: drop-shadow(0 0 1.5px rgba(150, 195, 255, .7));
}

.mo-cons-dust.is-gold[b-oovckuxxru] {
    fill: #ffe0a8;
    filter: drop-shadow(0 0 1.5px rgba(240, 205, 140, .7));
}

/* --- relationships --- */
.mo-cons-edge[b-oovckuxxru] {
    stroke: rgba(96, 166, 240, .32) !important;
    stroke-width: 1 !important;
    opacity: 1 !important;
}

.mo-cons-spoke[b-oovckuxxru] {
    stroke: rgba(226, 178, 88, .22) !important;
    stroke-width: .8 !important;
}

/* --- central sunburst --- */
.mo-cons-ray[b-oovckuxxru] {
    stroke: rgba(244, 206, 128, .5);
    stroke-width: 1;
    stroke-linecap: round;
    filter: drop-shadow(0 0 2px rgba(240, 195, 90, .55));
}

/* --- layered core --- */
.mo-cons-core-glow[b-oovckuxxru] {
    fill: rgba(240, 195, 90, .14) !important;
    filter: drop-shadow(0 0 40px rgba(240, 195, 90, .7)) !important;
}

.mo-cons-core-glow2[b-oovckuxxru] {
    fill: rgba(255, 222, 138, .34);
    filter: drop-shadow(0 0 20px rgba(255, 215, 120, .9));
    animation: mo-core-pulse-b-oovckuxxru 5s ease-in-out infinite;
}

.mo-cons-core-ring[b-oovckuxxru] {
    fill: none !important;
    stroke: #f2cf74 !important;
    stroke-width: 1.4 !important;
    filter: drop-shadow(0 0 6px rgba(233, 187, 78, .8)) !important;
}

.mo-cons-core[b-oovckuxxru] {
    fill: #fff4d6 !important;
    filter: drop-shadow(0 0 10px rgba(255, 225, 150, 1)) !important;
}

/* --- halo ring on the strong nodes --- */
.mo-cons-halo[b-oovckuxxru] {
    fill: none;
    stroke-width: 1;
}

.mo-cons-halo.is-confirmed[b-oovckuxxru] {
    stroke: rgba(92, 172, 255, .5);
}

.mo-cons-halo.is-accent[b-oovckuxxru] {
    stroke: rgba(255, 208, 120, .55);
}

/* --- knowledge nodes --- */
.mo-cons-node.is-confirmed[b-oovckuxxru] {
    fill: #2e9fff !important;
    filter: drop-shadow(0 0 3px rgba(46, 159, 255, .95)) drop-shadow(0 0 10px rgba(46, 159, 255, .45)) !important;
}

.mo-cons-node.is-accent[b-oovckuxxru] {
    fill: #ffcf5a !important;
    filter: drop-shadow(0 0 4px rgba(240, 195, 90, .95)) drop-shadow(0 0 13px rgba(240, 195, 90, .5)) !important;
}

.mo-cons-node.is-pending[b-oovckuxxru] {
    fill: #8fa6c4 !important;
    opacity: .55 !important;
}

.mo-cons-label[b-oovckuxxru] {
    fill: #8ba0bd !important;
    opacity: .85 !important;
}

@keyframes mo-core-pulse-b-oovckuxxru {
    0%, 100% { opacity: .7; }
    50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-cons-spin[b-oovckuxxru],
    .mo-cons-spin-rev[b-oovckuxxru],
    .mo-cons-core-glow2[b-oovckuxxru],
    .mo-cons-node[b-oovckuxxru] {
        animation: none !important;
    }
}


/* =========================================================
   CONSTELLATION — CANVAS (optical-network light propagation)
   Visual + interaction live in wwwroot/js/mimirone-constellation.js.
   These rules only size the <canvas> and place the ambient labels.
   Declared last so they win over the earlier SVG-era rules.
   ========================================================= */

.mo-ch-viz[b-oovckuxxru] {
    position: relative;
    overflow: visible;
}

.mo-cons[b-oovckuxxru] {
    position: absolute;
    inset: 0;
    z-index: 1;
}

#moConstellationCanvas[b-oovckuxxru] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    cursor: grab; /* the 3D cluster can be dragged to orbit it */
}

#moConstellationCanvas:active[b-oovckuxxru] {
    cursor: grabbing;
}

/* faint depth wash behind the canvas */
.mo-cons[b-oovckuxxru]::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 92%;
    aspect-ratio: 3 / 2;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(50% 52% at 52% 50%, rgba(40, 104, 180, .16), transparent 74%);
    filter: blur(20px);
    pointer-events: none;
    z-index: 0;
}

/* ambient category labels — plain positioned text, not SVG */
.mo-cons-label[b-oovckuxxru] {
    position: absolute;
    z-index: 2;
    color: rgba(159, 185, 220, .60) !important;
    fill: none;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    pointer-events: none;
    opacity: 1 !important;
}

.mo-lbl-exp[b-oovckuxxru] { top: 5%; left: 58%; }
.mo-lbl-skills[b-oovckuxxru] { top: 39%; left: 2%; }
.mo-lbl-people[b-oovckuxxru] { top: 35%; right: 2%; }
.mo-lbl-opp[b-oovckuxxru] { bottom: 13%; left: 7%; }
.mo-lbl-know[b-oovckuxxru] { bottom: 10%; right: 4%; }

.mo-cons-hint[b-oovckuxxru] {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    z-index: 3;
    color: rgba(147, 181, 218, .5);
    font-size: 9px;
    letter-spacing: .16em;
    pointer-events: none;
    opacity: 0;
    transition: opacity .4s ease;
}

.mo-continuum-hero:hover .mo-cons-hint[b-oovckuxxru] {
    opacity: 1;
}

/* Reduced motion still allows drag-to-orbit (direct, user-driven) - only
   the automatic idle spin/breathing/wiggle turn off - so the cursor stays
   "grab" rather than reading as inert. */

@media (max-width: 991.98px) {
    .mo-lbl-exp[b-oovckuxxru],
    .mo-lbl-skills[b-oovckuxxru],
    .mo-lbl-people[b-oovckuxxru],
    .mo-lbl-opp[b-oovckuxxru],
    .mo-lbl-know[b-oovckuxxru] {
        display: none;
    }
}

/* ---------- larger section headers + opportunity cards ---------- */

.mo-sec-head[b-oovckuxxru] { margin-bottom: 16px; }
.mo-sec-head .mo-eyebrow[b-oovckuxxru] { font-size: .8rem; letter-spacing: .2em; }
.mo-sec-title[b-oovckuxxru] { margin-top: 6px; font-size: clamp(1.6rem, 2.4vw, 2rem); line-height: 1.15; }
.mo-sec-link[b-oovckuxxru] { font-size: .85rem; }

.mo-opp-grid[b-oovckuxxru] { gap: 18px; }
.mo-opp[b-oovckuxxru] { min-height: 200px; padding: 24px 24px 20px; border-radius: 14px; }
.mo-opp-top[b-oovckuxxru] { gap: 16px; }
.mo-opp-logo[b-oovckuxxru] { flex-basis: 54px; width: 54px; height: 54px; border-radius: 12px; font-size: 1rem; }
.mo-opp-name[b-oovckuxxru] { font-size: 1.35rem; }
.mo-opp-pos[b-oovckuxxru] { margin-top: 4px; font-size: .9rem; }
.mo-opp-desc[b-oovckuxxru] { margin: 18px 0 14px; font-size: .9rem; line-height: 1.55; }
.mo-opp-meta[b-oovckuxxru] { font-size: .78rem; }
.mo-opp-cont[b-oovckuxxru] { padding-top: 14px; font-size: .85rem; }

/* Confirmed bar: the :root tokens above never apply in scoped CSS, so explicit colours. */
.mo-ch-ratio-bar[b-oovckuxxru] { height: 6px; background: rgba(255,255,255,.1); }
.mo-ch-ratio-bar span[b-oovckuxxru] {
    background: linear-gradient(90deg, #2589ff, #e7b84b);
    box-shadow: 0 0 10px rgba(231,184,75,.45);
    transform-origin: left center;
    animation: mo-ratio-grow-b-oovckuxxru 1s .2s cubic-bezier(.2,.8,.2,1) backwards;
}
.mo-ch-ratio-cap[b-oovckuxxru] { font-size: .72rem; color: #9aa8bd; }
@keyframes mo-ratio-grow-b-oovckuxxru { from { transform: scaleX(0); } }

/* Opportunity cards: diagonal navy gradient with a gold / blue glow, alternating. */
.mo-opp[b-oovckuxxru] {
    background:
        radial-gradient(380px circle at 100% 0%, rgba(231,184,75,.16), transparent 60%),
        linear-gradient(135deg, #14294a 0%, #0c1b31 55%, #071322 100%) !important;
    border-color: rgba(231,184,75,.22) !important;
}
.mo-opp:nth-child(even)[b-oovckuxxru] {
    background:
        radial-gradient(380px circle at 100% 0%, rgba(37,137,255,.18), transparent 60%),
        linear-gradient(135deg, #12284d 0%, #0b1a33 55%, #071322 100%) !important;
    border-color: rgba(37,137,255,.24) !important;
}
.mo-opp:hover[b-oovckuxxru] {
    background:
        radial-gradient(420px circle at 100% 0%, rgba(231,184,75,.24), transparent 62%),
        linear-gradient(135deg, #1a335a 0%, #0f223d 55%, #081627 100%) !important;
    border-color: rgba(231,184,75,.45) !important;
}
.mo-opp:nth-child(even):hover[b-oovckuxxru] {
    background:
        radial-gradient(420px circle at 100% 0%, rgba(37,137,255,.26), transparent 62%),
        linear-gradient(135deg, #18325f 0%, #0e213f 55%, #081627 100%) !important;
    border-color: rgba(37,137,255,.45) !important;
}

@media (prefers-reduced-motion: reduce) {
    .mo-ch-ratio-bar span[b-oovckuxxru] { animation: none; }
}

/* Home is sized in px, so the 14px root doesn't reach it - match the rest of the app's 87.5%. */
@media (min-width: 721px) {
    .mo-home[b-oovckuxxru] { zoom: .875; }
}

/* ---------- next best action + pending reviews: same look as the opportunity cards ---------- */
.mo-split[b-oovckuxxru] { gap: 24px; margin-top: 34px; align-items: start; }
.mo-split-a[b-oovckuxxru], .mo-split-b[b-oovckuxxru] { min-width: 0; display: flex; flex-direction: column; }
.mo-split-a .mo-sec-head[b-oovckuxxru], .mo-split-b .mo-sec-head[b-oovckuxxru] { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }

.mo-action[b-oovckuxxru] {
    flex: 1 1 auto;
    min-height: 220px;
    padding: 28px 28px 24px 92px;
    border-radius: 14px;
    background:
        radial-gradient(380px circle at 100% 0%, rgba(231,184,75,.18), transparent 60%),
        linear-gradient(135deg, #14294a 0%, #0c1b31 55%, #071322 100%) !important;
    border: 1px solid rgba(231,184,75,.30) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.mo-action-ic[b-oovckuxxru] { left: 26px; top: 28px; width: 48px; height: 48px; font-size: 1.2rem; background: rgba(231,184,75,.10) !important; }
.mo-action-title[b-oovckuxxru] { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 1.45rem; line-height: 1.2; }
.mo-action-body[b-oovckuxxru] { max-width: 460px; margin: 10px 0 20px; font-size: .9rem; color: #9fb0c6 !important; }
.mo-action .mo-btn[b-oovckuxxru] { border-radius: 999px; padding: .6rem 1.15rem; font-size: .85rem; }

.mo-review-card[b-oovckuxxru] {
    border-radius: 14px;
    border-color: rgba(231,184,75,.22);
    background:
        radial-gradient(380px circle at 100% 0%, rgba(231,184,75,.10), transparent 60%),
        linear-gradient(135deg, #14294a 0%, #0c1b31 55%, #071322 100%);
    box-shadow: 0 14px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04);
}
.mo-review-card .mo-pad[b-oovckuxxru], .mo-review-card .mo-muted[b-oovckuxxru] { font-size: .9rem; }
.mo-review-card .mo-pad[b-oovckuxxru] { padding: 22px 24px; }
.mo-review-row[b-oovckuxxru] { min-height: 68px; padding: 12px 20px; gap: 14px; grid-template-columns: 38px minmax(0, 1fr) auto; }
.mo-review-ic[b-oovckuxxru] { width: 36px; height: 36px; font-size: .95rem; color: #e9bc50 !important; border-color: rgba(231,184,75,.30); background: rgba(231,184,75,.08); }
.mo-review-main[b-oovckuxxru] { font-size: .92rem; }
.mo-review-title[b-oovckuxxru] { font-weight: 600; }
.mo-review-tags[b-oovckuxxru] { margin-top: 6px; gap: 6px; flex-wrap: wrap; }
.mo-review-note[b-oovckuxxru] { font-size: .74rem; color: #7f90a8 !important; }
.mo-review-act[b-oovckuxxru] { gap: 8px; }
.mo-btn-mini[b-oovckuxxru] { min-width: 78px; min-height: 32px; padding: .35rem .8rem; border-radius: 999px; font-family: inherit; font-size: .78rem; }
.mo-review-card + .mo-note[b-oovckuxxru], .mo-review-card .mo-note[b-oovckuxxru] { padding: 12px 20px; font-size: .82rem; }

/* ---------- greeting as the shared dark hero (px here = rem elsewhere, .mo-home is zoomed) ---------- */
.mo-home-greet[b-oovckuxxru] {
    overflow: hidden;
    align-items: center;
    gap: 40px;
    margin: 0 auto 30px;
    padding: 42px 44px 38px;
    border-radius: 28px;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: mo-fade-up-b-oovckuxxru .7s cubic-bezier(.2, .7, .2, 1) backwards;
}
.mo-hero-orb[b-oovckuxxru] { position: absolute; border-radius: 50%; pointer-events: none; z-index: -1; }
.mo-hero-orb.is-a[b-oovckuxxru] { left: -100px; top: -160px; width: 480px; height: 480px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: mo-hero-float-a-b-oovckuxxru 14s ease-in-out infinite; }
.mo-hero-orb.is-b[b-oovckuxxru] { right: 60px; bottom: -220px; width: 540px; height: 540px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: mo-hero-float-b-b-oovckuxxru 18s ease-in-out infinite; }
@keyframes mo-hero-float-a-b-oovckuxxru { 50% { translate: 40px 30px; } }
@keyframes mo-hero-float-b-b-oovckuxxru { 50% { translate: -50px -20px; } }
.mo-home-greet .mo-fx-watermark[b-oovckuxxru] { opacity: .05; }

.mo-greet-copy[b-oovckuxxru] { position: relative; flex: 1 1 auto; min-width: 0; }
.mo-greet-copy > *[b-oovckuxxru] { animation-fill-mode: backwards; }
.mo-hero-kicker[b-oovckuxxru] { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-hero-pulse[b-oovckuxxru] { width: 8px; height: 8px; border-radius: 50%; background: #d8a83e; animation: mo-hero-pulse-b-oovckuxxru 1.8s ease-out infinite; }
@keyframes mo-hero-pulse-b-oovckuxxru { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .6); } 100% { box-shadow: 0 0 0 10px rgba(216, 168, 62, 0); } }
.mo-greet-title[b-oovckuxxru] { margin: 12px 0 10px; font-family: Georgia, "Times New Roman", serif; font-weight: 600; font-size: clamp(2.2rem, 4.4vw, 3.25rem); line-height: 1.05; letter-spacing: 0; color: #fff; }
.mo-greet-sub[b-oovckuxxru] { margin: 0 0 22px; max-width: 560px; font-family: inherit; font-size: 16px; line-height: 1.6; color: #c3cbe0; }

.mo-hero-kpis[b-oovckuxxru] { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.mo-hero-kpi[b-oovckuxxru] {
    display: flex; flex-direction: column; padding: 12px 18px; border-radius: 18px; text-decoration: none; color: #fff;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
    transition: background .2s ease, border-color .2s ease, translate .2s ease;
    animation: mo-hero-pop-b-oovckuxxru .5s cubic-bezier(.2, .8, .2, 1) backwards; animation-delay: calc(.25s + var(--i) * 70ms);
}
.mo-hero-kpi:hover[b-oovckuxxru] { background: rgba(255, 255, 255, .13); border-color: rgba(240, 215, 154, .45); translate: 0 -2px; color: #fff; }
.mo-hero-kpi b[b-oovckuxxru] { font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 600; line-height: 1.1; }
.mo-hero-kpi span[b-oovckuxxru] { font-size: 12.5px; color: #c3cbe0; }
@keyframes mo-hero-pop-b-oovckuxxru { from { opacity: 0; scale: .92; } }
.mo-home-actions[b-oovckuxxru] { margin-top: 0; flex-wrap: wrap; }
.mo-home-actions .mo-btn[b-oovckuxxru] { border-radius: 999px; }

.mo-home-quote[b-oovckuxxru] {
    position: relative; flex: none; max-width: 300px; margin: 0; padding: 24px 26px;
    border-radius: 24px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(6px); color: #e6ebf5; font-size: 17px; line-height: 1.5; text-align: left;
    animation-fill-mode: backwards;
}
.mo-home-quote .bi-quote[b-oovckuxxru] { display: block; margin-bottom: 6px; font-size: 28px; line-height: 1; color: #d8a83e; }
.mo-home-quote cite[b-oovckuxxru] { color: #f0d79a; }

.mo-home > section[b-oovckuxxru], .mo-home > .mo-continuum-hero[b-oovckuxxru] { animation-fill-mode: backwards; }

@media (max-width: 900px) {
    .mo-home-greet[b-oovckuxxru] { flex-direction: column; align-items: stretch; padding: 30px 24px; }
    .mo-home-quote[b-oovckuxxru] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .mo-hero-orb[b-oovckuxxru], .mo-hero-pulse[b-oovckuxxru], .mo-hero-kpi[b-oovckuxxru], .mo-home-greet[b-oovckuxxru] { animation: none; }
}

/* ---------- greeting + Continuum hero merged into one dark card ---------- */
.mo-home-top[b-oovckuxxru] {
    position: relative;
    overflow: hidden;
    margin: 0 auto 30px;
    border-radius: 28px;
    border: 1px solid rgba(52, 119, 190, .40);
    background:
        radial-gradient(ellipse 45% 100% at 61% 70%, rgba(17, 73, 134, .22), transparent 70%),
        linear-gradient(110deg, rgba(4, 17, 31, .98), rgba(3, 14, 27, .95));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 18px 50px rgba(0, 0, 0, .3);
    animation: mo-fade-up-b-oovckuxxru .7s cubic-bezier(.2, .7, .2, 1) backwards;
}
.mo-home-top .mo-home-greet[b-oovckuxxru] {
    margin: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    animation: none;
}
.mo-home-top .mo-hero-orb.is-a[b-oovckuxxru] { background: radial-gradient(circle, rgba(216, 168, 62, .16), rgba(216, 168, 62, 0) 70%); }
.mo-home-top .mo-hero-orb.is-b[b-oovckuxxru] { right: auto; left: 45%; bottom: -320px; background: radial-gradient(circle, rgba(37, 137, 255, .14), rgba(37, 137, 255, 0) 70%); }
.mo-home-top .mo-hero-kpi[b-oovckuxxru] { background: rgba(255, 255, 255, .045); border-color: rgba(255, 255, 255, .10); }
.mo-home-top .mo-hero-kpi:hover[b-oovckuxxru] { background: rgba(231, 184, 75, .08); border-color: rgba(231, 184, 75, .40); }
.mo-home-top .mo-home-quote[b-oovckuxxru] { background: rgba(255, 255, 255, .035); border-color: rgba(231, 184, 75, .22); }
.mo-home-top > .mo-continuum-hero[b-oovckuxxru],
.mo-home-top .mo-continuum-hero[b-oovckuxxru] {
    margin: 0;
    border-radius: 0;
    border-width: 1px 0 0 0 !important;
    border-color: rgba(255, 255, 255, .07) !important;
    background: transparent !important;
    box-shadow: none;
    animation: none;
}

/* ---------- constellation spans the whole top card (greeting included) on desktop ---------- */
@media (min-width: 901px) {
    .mo-home-top .mo-continuum-hero[b-oovckuxxru],
    .mo-home-top .mo-ch-grid[b-oovckuxxru] { position: static !important; overflow: visible !important; }
    .mo-home-top .mo-continuum-hero[b-oovckuxxru] { border-top-color: transparent !important; }
    .mo-home-top .mo-continuum-hero[b-oovckuxxru]::after { display: none; }
    .mo-home-top .mo-ch-viz[b-oovckuxxru] {
        position: absolute !important;
        top: 0; bottom: 0; left: 30%; width: 50%;
        height: auto !important;
        z-index: 0;
    }
    .mo-home-top .mo-ch-copy[b-oovckuxxru] { grid-column: 1; grid-row: 1; z-index: 2; }
    .mo-home-top .mo-ch-metrics[b-oovckuxxru] { grid-column: 3; grid-row: 1; z-index: 2; }

    /* text floats over the canvas; only its controls take the pointer, so dragging still orbits */
    .mo-home-top .mo-home-greet[b-oovckuxxru] { position: relative; z-index: 2; pointer-events: none; padding-bottom: 8px; }
    .mo-home-top .mo-home-greet a[b-oovckuxxru],
    .mo-home-top .mo-home-greet button[b-oovckuxxru],
    .mo-home-top .mo-home-quote[b-oovckuxxru] { pointer-events: auto; }
    .mo-home-top .mo-greet-copy[b-oovckuxxru] { max-width: 46%; }
    .mo-home-top .mo-greet-title[b-oovckuxxru], .mo-home-top .mo-greet-sub[b-oovckuxxru] { text-shadow: 0 2px 18px rgba(3, 14, 27, .9); }
    .mo-home-top .mo-home-quote[b-oovckuxxru] { max-width: 19%; align-self: flex-start; }
    .mo-home-top .mo-ch-copy .mo-home-actions[b-oovckuxxru] { margin-top: 22px; }
}

/* wider canvas, edges dissolved so its box never reads as a boundary */
@media (min-width: 901px) {
    .mo-home-top .mo-ch-viz[b-oovckuxxru] {
        left: 14%; width: 78%;
        -webkit-mask-image: radial-gradient(ellipse 50% 52% at 50% 50%, #000 62%, transparent 100%);
        mask-image: radial-gradient(ellipse 50% 52% at 50% 50%, #000 62%, transparent 100%);
    }
    .mo-home-top .mo-cons[b-oovckuxxru]::before {
        width: 120%;
        height: 110%;
        aspect-ratio: auto;
        background: radial-gradient(closest-side, rgba(40, 104, 180, .17), rgba(40, 104, 180, .06) 55%, transparent 100%);
        filter: blur(40px);
    }
}

/* ---------- one seamless top card: no seam under the greeting, quote without a box ---------- */
.mo-home-top .mo-home-greet[b-oovckuxxru] { overflow: visible; }
.mo-home-top .mo-fx-watermark[b-oovckuxxru] { display: none; }
.mo-home-top .mo-hero-orb.is-a[b-oovckuxxru] { left: -140px; top: -200px; width: 620px; height: 620px; background: radial-gradient(circle, rgba(216, 168, 62, .13), rgba(216, 168, 62, 0) 70%); }
.mo-home-top .mo-hero-orb.is-b[b-oovckuxxru] { left: 40%; top: 60px; bottom: auto; width: 760px; height: 760px; background: radial-gradient(circle, rgba(37, 137, 255, .10), rgba(37, 137, 255, 0) 70%); }
.mo-home-top[b-oovckuxxru] {
    background:
        radial-gradient(ellipse 60% 70% at 55% 65%, rgba(17, 73, 134, .20), transparent 75%),
        linear-gradient(180deg, rgba(5, 18, 33, .98) 0%, rgba(4, 15, 29, .97) 50%, rgba(3, 13, 26, .96) 100%);
}

.mo-home-top .mo-home-quote[b-oovckuxxru] {
    padding: 4px 0 0;
    border: 0;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
    box-shadow: none;
    color: rgba(230, 235, 245, .72);
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 18px;
    text-align: right;
    text-shadow: 0 2px 18px rgba(3, 14, 27, .9);
}
.mo-home-top .mo-home-quote .bi-quote[b-oovckuxxru] { display: inline-block; margin: 0 0 4px; font-size: 26px; color: rgba(216, 168, 62, .55); }
.mo-home-top .mo-home-quote cite[b-oovckuxxru] { font-style: normal; color: rgba(240, 215, 154, .6); }

/* labels sit inside the area the edge fade keeps visible */
@media (min-width: 901px) {
    .mo-home-top .mo-lbl-exp[b-oovckuxxru] { top: 18%; left: 56%; right: auto; bottom: auto; }
    .mo-home-top .mo-lbl-skills[b-oovckuxxru] { top: 44%; left: 18%; right: auto; bottom: auto; }
    .mo-home-top .mo-lbl-people[b-oovckuxxru] { top: 40%; right: 17%; left: auto; bottom: auto; }
    .mo-home-top .mo-lbl-opp[b-oovckuxxru] { bottom: 22%; left: 22%; top: auto; right: auto; }
    .mo-home-top .mo-lbl-know[b-oovckuxxru] { bottom: 19%; right: 20%; top: auto; left: auto; }
    .mo-home-top .mo-cons-hint[b-oovckuxxru] { bottom: 9%; }
    .mo-home-top .mo-cons-label[b-oovckuxxru] { z-index: 2; text-shadow: 0 1px 10px rgba(3, 14, 27, .95); }
}

/* Continuum copy: higher up, larger type and buttons */
@media (min-width: 901px) {
    .mo-home-top .mo-ch-grid[b-oovckuxxru] { grid-template-columns: 36% 44% 20%; align-items: start; }
    .mo-home-top .mo-ch-copy[b-oovckuxxru] { align-self: start; padding: 4px 0 40px 44px; }
    .mo-home-top .mo-ch-copy .mo-eyebrow[b-oovckuxxru] { font-size: 13px; letter-spacing: .2em; }
    .mo-home-top .mo-ch-title[b-oovckuxxru] { max-width: 520px; margin-top: 10px; font-size: clamp(2.2rem, 3vw, 3rem); line-height: 1.1; text-shadow: 0 2px 18px rgba(3, 14, 27, .9); }
    .mo-home-top .mo-ch-lead[b-oovckuxxru] { max-width: 500px; margin-top: 16px; font-size: 17px; line-height: 1.65; text-shadow: 0 2px 14px rgba(3, 14, 27, .9); }
    .mo-home-top .mo-ch-copy .mo-home-actions[b-oovckuxxru] { margin-top: 26px; gap: 12px; }
    .mo-home-top .mo-ch-copy .mo-btn[b-oovckuxxru] { padding: 14px 24px; font-size: 15px; gap: 8px; }
    .mo-home-top .mo-ch-metrics[b-oovckuxxru] { align-self: center; }
}

/* buttons lower, metrics higher */
@media (min-width: 901px) {
    .mo-home-top .mo-ch-copy .mo-home-actions[b-oovckuxxru] { margin-top: 56px; }
    .mo-home-top .mo-ch-metrics[b-oovckuxxru] { align-self: start; padding-top: 0; }
}

/* metric icons: explicit colours (the :root tokens never reach scoped CSS), glow, hover motion */
.mo-metric[b-oovckuxxru] { --ic: #e7b84b; --ic-rgb: 231, 184, 75; cursor: default; }
.mo-metric:has(.mo-metric-ic.green)[b-oovckuxxru] { --ic: #2bd3a1; --ic-rgb: 43, 211, 161; }
.mo-metric:has(.mo-metric-ic.blue)[b-oovckuxxru] { --ic: #5aa9ff; --ic-rgb: 90, 169, 255; }
.mo-metric:has(.mo-metric-ic.link)[b-oovckuxxru] { --ic: #b9a4ff; --ic-rgb: 185, 164, 255; }
.mo-metric:has(.mo-metric-ic.amber)[b-oovckuxxru] { --ic: #f2a64a; --ic-rgb: 242, 166, 74; }

.mo-metric-ic[b-oovckuxxru],
.mo-metric-ic.gold[b-oovckuxxru], .mo-metric-ic.green[b-oovckuxxru], .mo-metric-ic.blue[b-oovckuxxru], .mo-metric-ic.link[b-oovckuxxru], .mo-metric-ic.amber[b-oovckuxxru] {
    position: relative;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    font-size: 1.15rem;
    color: var(--ic) !important;
    background: radial-gradient(circle at 30% 25%, rgba(var(--ic-rgb), .30), rgba(var(--ic-rgb), .06) 70%) !important;
    border: 1px solid rgba(var(--ic-rgb), .45) !important;
    box-shadow: 0 0 18px rgba(var(--ic-rgb), .18), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, background .35s ease;
}
.mo-metric-ic[b-oovckuxxru]::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    border: 1px solid rgba(var(--ic-rgb), .6);
    opacity: 0;
    pointer-events: none;
}
.mo-metric-ic i[b-oovckuxxru] { transition: transform .45s cubic-bezier(.2, .8, .2, 1); }

.mo-metric:hover .mo-metric-ic[b-oovckuxxru] {
    transform: scale(1.1);
    background: radial-gradient(circle at 30% 25%, rgba(var(--ic-rgb), .45), rgba(var(--ic-rgb), .12) 70%) !important;
    box-shadow: 0 0 28px rgba(var(--ic-rgb), .40), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}
.mo-metric:hover .mo-metric-ic[b-oovckuxxru]::after { animation: mo-ic-ring-b-oovckuxxru 1.2s ease-out infinite; }
.mo-metric:hover .mo-metric-ic i[b-oovckuxxru] { transform: rotate(-12deg) scale(1.12); }
.mo-metric:hover .mo-metric-ic.green i[b-oovckuxxru] { transform: scale(1.18); }
.mo-metric:hover .mo-metric-ic.link i[b-oovckuxxru] { transform: rotate(45deg) scale(1.1); }
.mo-metric:hover .mo-metric-num[b-oovckuxxru] { color: var(--ic) !important; }
.mo-metric-num[b-oovckuxxru] { transition: color .3s ease; }

@keyframes mo-ic-ring-b-oovckuxxru {
    0% { opacity: .9; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.6); }
}
@media (prefers-reduced-motion: reduce) {
    .mo-metric:hover .mo-metric-ic[b-oovckuxxru]::after { animation: none; }
    .mo-metric-ic[b-oovckuxxru], .mo-metric-ic i[b-oovckuxxru] { transition: none; }
}

/* top card ~20% shorter (spacing only, type unchanged); buttons pinned to the bottom of the copy */
@media (min-width: 901px) {
    .mo-home-top .mo-home-greet[b-oovckuxxru] { padding-top: 28px; }
    .mo-home-top .mo-hero-kpis[b-oovckuxxru] { margin-bottom: 10px; }
    .mo-home-top .mo-ch-grid[b-oovckuxxru] { min-height: 340px; }
    .mo-home-top .mo-ch-copy[b-oovckuxxru] { align-self: stretch; display: flex; flex-direction: column; padding-bottom: 28px; }
    .mo-home-top .mo-ch-copy .mo-home-actions[b-oovckuxxru] { margin-top: auto; padding-top: 24px; }
    .mo-home-top .mo-ch-metrics[b-oovckuxxru] { padding-bottom: 28px; }
}

/* blurred MimirOne mark behind the right side of the top card */
.mo-home-top-mark[b-oovckuxxru] {
    position: absolute;
    right: -4%;
    top: 50%;
    width: min(46%, 640px);
    translate: 0 -50%;
    opacity: .14;
    filter: blur(7px) saturate(1.2);
    pointer-events: none;
    user-select: none;
    z-index: -1;
}
.mo-home-top[b-oovckuxxru] { isolation: isolate; }
@media (max-width: 900px) {
    .mo-home-top-mark[b-oovckuxxru] { width: 80%; right: -20%; opacity: .08; }
}

/* split headers span their column (auto margins in the flex column centred them) */
.mo-split-a .mo-sec-head[b-oovckuxxru], .mo-split-b .mo-sec-head[b-oovckuxxru] { align-self: stretch; width: 100%; margin-left: 0; margin-right: 0; text-align: left; }

/* ---------- cards: deeper navy, animated gold/blue edge, sheen + lift on hover ---------- */
@property --mo-edge { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

.mo-opp[b-oovckuxxru], .mo-action[b-oovckuxxru], .mo-review-card[b-oovckuxxru] {
    --edge-rgb: 231, 184, 75;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(420px circle at 100% 0%, rgba(var(--edge-rgb), .13), transparent 60%),
        radial-gradient(300px circle at 0% 100%, rgba(37, 137, 255, .08), transparent 65%),
        linear-gradient(140deg, #0b1a30 0%, #071324 55%, #030b17 100%) !important;
    border: 1px solid rgba(var(--edge-rgb), .16) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
    transition: translate .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, border-color .35s ease;
    animation: mo-card-in-b-oovckuxxru .7s cubic-bezier(.2, .8, .2, 1) backwards;
}
.mo-opp:nth-child(even)[b-oovckuxxru] { --edge-rgb: 90, 169, 255; }
.mo-review-card[b-oovckuxxru] { animation-delay: .12s; }
.mo-opp:nth-child(2)[b-oovckuxxru] { animation-delay: .08s; }
.mo-opp:nth-child(3)[b-oovckuxxru] { animation-delay: .16s; }
.mo-opp:nth-child(4)[b-oovckuxxru] { animation-delay: .24s; }

/* slowly rotating light along the border */
.mo-opp[b-oovckuxxru]::before, .mo-action[b-oovckuxxru]::before, .mo-review-card[b-oovckuxxru]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    padding: 1px;
    border-radius: inherit;
    background: conic-gradient(from var(--mo-edge), transparent 0deg, rgba(var(--edge-rgb), .85) 40deg, transparent 90deg, transparent 180deg, rgba(var(--edge-rgb), .35) 220deg, transparent 270deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    opacity: .55;
    animation: mo-edge-spin-b-oovckuxxru 9s linear infinite;
    transition: opacity .35s ease;
    pointer-events: none;
}
/* diagonal sheen that sweeps across on hover */
.mo-opp[b-oovckuxxru]::after, .mo-action[b-oovckuxxru]::after {
    content: "";
    position: absolute;
    inset: -40% auto -40% -60%;
    width: 45%;
    z-index: -1;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .07), transparent);
    rotate: 12deg;
    translate: 0 0;
    pointer-events: none;
}

.mo-opp:hover[b-oovckuxxru], .mo-action:hover[b-oovckuxxru], .mo-review-card:hover[b-oovckuxxru] {
    translate: 0 -4px;
    border-color: rgba(var(--edge-rgb), .38) !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, .45), 0 0 34px rgba(var(--edge-rgb), .14), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}
.mo-review-card:hover[b-oovckuxxru] { translate: none; }
.mo-opp:hover[b-oovckuxxru] { transform: none; }
.mo-opp:hover[b-oovckuxxru]::before, .mo-action:hover[b-oovckuxxru]::before, .mo-review-card:hover[b-oovckuxxru]::before { opacity: 1; animation-duration: 4s; }
.mo-opp:hover[b-oovckuxxru]::after, .mo-action:hover[b-oovckuxxru]::after { animation: mo-sheen-b-oovckuxxru .9s ease-out; }

/* icon breathes softly; review rows light up with a gold bar */
.mo-action-ic[b-oovckuxxru] { animation: mo-ic-breathe-b-oovckuxxru 3.2s ease-in-out infinite; }
.mo-review-row[b-oovckuxxru] { position: relative; transition: background .25s ease; }
.mo-review-row[b-oovckuxxru]::before {
    content: "";
    position: absolute;
    left: 0; top: 18%; bottom: 18%;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(#e7b84b, #5aa9ff);
    scale: 1 0;
    transition: scale .3s cubic-bezier(.2, .8, .2, 1);
}
.mo-review-row:hover[b-oovckuxxru] { background: rgba(231, 184, 75, .05) !important; }
.mo-review-row:hover[b-oovckuxxru]::before { scale: 1 1; }
.mo-review-row:hover .mo-review-ic[b-oovckuxxru] { box-shadow: 0 0 16px rgba(231, 184, 75, .35); }
.mo-review-ic[b-oovckuxxru] { transition: box-shadow .3s ease; }
.mo-opp:hover .mo-opp-cont i[b-oovckuxxru] { translate: 4px 0; }
.mo-opp-cont i[b-oovckuxxru] { display: inline-block; transition: translate .3s ease; }

@keyframes mo-card-in-b-oovckuxxru { from { opacity: 0; translate: 0 18px; } }
@keyframes mo-edge-spin-b-oovckuxxru { to { --mo-edge: 360deg; } }
@keyframes mo-sheen-b-oovckuxxru { to { translate: 420% 0; } }
@keyframes mo-ic-breathe-b-oovckuxxru {
    50% { box-shadow: 0 0 26px rgba(231, 184, 75, .38); }
}

@media (prefers-reduced-motion: reduce) {
    .mo-opp[b-oovckuxxru], .mo-action[b-oovckuxxru], .mo-review-card[b-oovckuxxru], .mo-action-ic[b-oovckuxxru],
    .mo-opp[b-oovckuxxru]::before, .mo-action[b-oovckuxxru]::before, .mo-review-card[b-oovckuxxru]::before,
    .mo-opp:hover[b-oovckuxxru]::after, .mo-action:hover[b-oovckuxxru]::after { animation: none !important; }
    .mo-opp:hover[b-oovckuxxru], .mo-action:hover[b-oovckuxxru] { translate: none; }
}
/* /Components/Pages/OpportunitiesReceived.razor.rz.scp.css */
/* Opportunities page. Reuses global tokens from app.css (--mo-*, --bs-*).
   Every rule is ::deep because most markup lives in Components/Opportunities/*;
   the .mo-opp-page wrapper carries the scope. */

.mo-opp-page[b-iyd5gv6rzz] {
    --op-radius: 1.25rem;
    --op-gold: var(--mo-violet);
    --op-gold-soft: rgba(216, 168, 62, .14);
    --op-gold-line: rgba(216, 168, 62, .45);
    --op-ease: cubic-bezier(.2, .8, .2, 1);
    margin: 0 auto;
    padding: 1.5rem 0 4rem;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

/* ---- hero ---- */
[b-iyd5gv6rzz] .mo-op-hero { display: flex; align-items: flex-end; gap: 1.5rem; animation: mo-op-rise-b-iyd5gv6rzz .5s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-hero-copy { flex: 1 1 auto; min-width: 0; }
[b-iyd5gv6rzz] .mo-op-hero h1 {
    margin: .35rem 0 .5rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 4.5vw, 3.25rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.01em;
    color: var(--bs-emphasis-color);
}
[b-iyd5gv6rzz] .mo-op-hero p { max-width: 36rem; margin: 0; font-size: 1rem; line-height: 1.55; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-new {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    height: 3.25rem;
    padding: 0 1.6rem;
    border: 0;
    border-radius: 999px;
    background: var(--op-gold);
    color: var(--mo-ink);
    font-weight: 700;
    font-size: .95rem;
    box-shadow: 0 8px 22px rgba(216, 168, 62, .28);
    transition: transform .2s var(--op-ease), box-shadow .2s ease, background .2s ease;
}
[b-iyd5gv6rzz] .mo-op-new:hover { transform: translateY(-2px); background: var(--mo-violet-600); box-shadow: 0 12px 30px rgba(216, 168, 62, .38); }
[b-iyd5gv6rzz] .mo-op-new:active { transform: translateY(0); }
[b-iyd5gv6rzz] .mo-op-new i { transition: transform .25s var(--op-ease); }
[b-iyd5gv6rzz] .mo-op-new:hover i { transform: rotate(90deg); }

/* ---- shared bits ---- */
[b-iyd5gv6rzz] .mo-op-muted { color: var(--bs-secondary-color); font-size: .82rem; }
[b-iyd5gv6rzz] .mo-op-label {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}
[b-iyd5gv6rzz] .mo-op-optional { margin-left: .35rem; font-weight: 500; letter-spacing: .02em; text-transform: none; opacity: .75; }

[b-iyd5gv6rzz] .mo-op-av {
    flex: none;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 1.05rem;
    background: var(--tone-bg);
    color: var(--tone-ink);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tone-ink) 30%, transparent);
}
[b-iyd5gv6rzz] .mo-op-av.is-sm { width: 2.4rem; height: 2.4rem; font-size: .82rem; }
[b-iyd5gv6rzz] .tone-0 { --tone-bg: rgba(216, 168, 62, .18); --tone-ink: #d2a03a; }
[b-iyd5gv6rzz] .tone-1 { --tone-bg: rgba(43, 181, 168, .18); --tone-ink: #2bb5a8; }
[b-iyd5gv6rzz] .tone-2 { --tone-bg: rgba(240, 140, 60, .18); --tone-ink: #e98a3c; }
[b-iyd5gv6rzz] .tone-3 { --tone-bg: rgba(69, 162, 255, .18); --tone-ink: #4f9dff; }
[b-iyd5gv6rzz] .tone-4 { --tone-bg: rgba(229, 103, 154, .18); --tone-ink: #e5679a; }
[b-iyd5gv6rzz] .tone-5 { --tone-bg: rgba(72, 197, 138, .18); --tone-ink: #3fb87f; }
[b-iyd5gv6rzz] .mo-op-av.is-invite { --tone-bg: var(--op-gold-soft); --tone-ink: var(--op-gold); font-size: 1rem; }

[b-iyd5gv6rzz] .mo-op-pill {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .12rem .65rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 600;
    white-space: nowrap;
}
[b-iyd5gv6rzz] .mo-op-pill.is-ok { background: rgba(72, 197, 138, .16); color: #3fb87f; }
[b-iyd5gv6rzz] .mo-op-pill.is-warn { background: rgba(240, 200, 94, .16); color: #e2b440; }
[b-iyd5gv6rzz] .mo-op-pill.is-danger { background: rgba(224, 87, 91, .16); color: #e86b6f; }
[b-iyd5gv6rzz] .mo-op-pill.is-info { background: rgba(69, 162, 255, .16); color: #4f9dff; }
[b-iyd5gv6rzz] .mo-op-pill.is-neutral { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-pill.is-brand { background: var(--op-gold-soft); color: var(--op-gold); font-weight: 700; }
[b-iyd5gv6rzz] .mo-op-pill.is-attention { background: rgba(240, 140, 60, .18); color: #ef9a50; font-weight: 700; }
[b-iyd5gv6rzz] .mo-op-pill.is-attention i { font-size: .65rem; animation: mo-op-ring-b-iyd5gv6rzz 2.4s ease-in-out infinite; transform-origin: 50% 0; }

[b-iyd5gv6rzz] .mo-op-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    height: 2.75rem;
    padding: 0 1.2rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .18s var(--op-ease), background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
[b-iyd5gv6rzz] .mo-op-btn i { transition: transform .2s var(--op-ease); }
[b-iyd5gv6rzz] .mo-op-btn:hover i { transform: translateX(3px); }
[b-iyd5gv6rzz] .mo-op-btn:hover:not(:disabled) { transform: translateY(-1px); }
[b-iyd5gv6rzz] .mo-op-btn:disabled { opacity: .5; cursor: not-allowed; }
[b-iyd5gv6rzz] .mo-op-btn.is-primary { background: var(--op-gold); color: var(--mo-ink); box-shadow: 0 4px 14px rgba(216, 168, 62, .22); }
[b-iyd5gv6rzz] .mo-op-btn.is-primary:hover:not(:disabled) { background: var(--mo-violet-600); }
[b-iyd5gv6rzz] .mo-op-btn.is-outline { background: var(--mo-surface); color: var(--bs-body-color); border-color: var(--bs-border-color); }
[b-iyd5gv6rzz] .mo-op-btn.is-outline:hover { border-color: var(--op-gold-line); }
[b-iyd5gv6rzz] .mo-op-btn.is-ghost { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); border-color: var(--bs-border-color); }
[b-iyd5gv6rzz] .mo-op-btn.is-light { background: #fff; color: #111b26; }

[b-iyd5gv6rzz] .mo-op-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem 0;
    border: 0;
    background: none;
    color: var(--op-gold);
    font-size: .84rem;
    font-weight: 600;
    text-decoration: none;
}
[b-iyd5gv6rzz] .mo-op-link:hover { text-decoration: underline; text-underline-offset: 3px; }

[b-iyd5gv6rzz] .mo-op-chev { flex: none; font-size: 1rem; color: var(--bs-secondary-color); transition: transform .3s var(--op-ease); }
[b-iyd5gv6rzz] .mo-op-chev.is-open { transform: rotate(180deg); }

/* ---- loading ---- */
[b-iyd5gv6rzz] .mo-op-skeletons { display: flex; flex-direction: column; gap: .75rem; }
[b-iyd5gv6rzz] .mo-op-skeleton,
[b-iyd5gv6rzz] .mo-op-shimmer {
    border-radius: var(--op-radius);
    background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%);
    background-size: 300% 100%;
    animation: mo-op-shimmer-b-iyd5gv6rzz 1.4s linear infinite;
}
[b-iyd5gv6rzz] .mo-op-skeleton { height: 5.75rem; border: 1px solid var(--bs-border-color); animation-delay: calc(var(--i) * 120ms); }
[b-iyd5gv6rzz] .mo-op-shimmer { height: .9rem; border-radius: .5rem; }
[b-iyd5gv6rzz] .mo-op-shimmer.is-tall { height: 4rem; border-radius: .9rem; }

/* ---- needs you today ---- */
[b-iyd5gv6rzz] .mo-op-needs { display: flex; flex-direction: column; gap: .75rem; }
[b-iyd5gv6rzz] .mo-op-needs-label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #ef9a50;
}
[b-iyd5gv6rzz] .mo-op-needs-label i { animation: mo-op-ring-b-iyd5gv6rzz 2.4s ease-in-out infinite; transform-origin: 50% 0; }
[b-iyd5gv6rzz] .mo-op-needs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); gap: 1rem; }
[b-iyd5gv6rzz] .mo-op-need {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    border: 1px solid rgba(216, 168, 62, .3);
    border-radius: var(--op-radius);
    background:
        radial-gradient(320px circle at 100% 0%, rgba(216, 168, 62, .16), transparent 65%),
        linear-gradient(135deg, #13263d, #0b1828);
    color: #fff;
    overflow: hidden;
    animation: mo-op-rise-b-iyd5gv6rzz .5s var(--op-ease) backwards;
    animation-delay: calc(80ms + var(--i) * 70ms);
    transition: transform .25s var(--op-ease), box-shadow .25s ease;
}
[b-iyd5gv6rzz] .mo-op-need:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
[b-iyd5gv6rzz] .mo-op-need-name { font-size: 1rem; font-weight: 600; line-height: 1.3; }
[b-iyd5gv6rzz] .mo-op-need-sub { font-size: .82rem; color: #b9c6d8; }
[b-iyd5gv6rzz] .mo-op-need-note { margin-top: .25rem; font-size: .82rem; font-weight: 600; color: #f0c85e; }

/* ---- toolbar ---- */
[b-iyd5gv6rzz] .mo-op-section { display: flex; flex-direction: column; gap: 1rem; }
[b-iyd5gv6rzz] .mo-op-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
[b-iyd5gv6rzz] .mo-op-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
[b-iyd5gv6rzz] .mo-op-chip {
    height: 2.75rem;
    padding: 0 1.1rem;
    border-radius: 999px;
    border: 1px solid var(--bs-border-color);
    background: var(--mo-surface);
    color: var(--bs-body-color);
    font-size: .84rem;
    font-weight: 600;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s var(--op-ease);
}
[b-iyd5gv6rzz] .mo-op-chip:hover { border-color: var(--op-gold-line); }
[b-iyd5gv6rzz] .mo-op-chip:active { transform: scale(.97); }
[b-iyd5gv6rzz] .mo-op-chip.is-active { background: var(--bs-emphasis-color); color: var(--bs-body-bg); border-color: var(--bs-emphasis-color); }
[b-iyd5gv6rzz] .mo-op-chip-n { margin-left: .2rem; opacity: .65; font-variant-numeric: tabular-nums; }

[b-iyd5gv6rzz] .mo-op-search { position: relative; display: block; margin: 0; }
[b-iyd5gv6rzz] .mo-op-search > i { position: absolute; left: .95rem; top: 50%; translate: 0 -50%; color: var(--bs-secondary-color); pointer-events: none; }
[b-iyd5gv6rzz] .mo-op-search input {
    width: 19rem;
    max-width: 100%;
    height: 2.75rem;
    padding: 0 1rem 0 2.6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background: var(--mo-surface);
    color: var(--bs-body-color);
    font-size: .88rem;
    transition: border-color .2s ease, box-shadow .2s ease, width .3s var(--op-ease);
}
[b-iyd5gv6rzz] .mo-op-search input:focus { outline: none; border-color: var(--op-gold-line); box-shadow: 0 0 0 4px var(--op-gold-soft); }
[b-iyd5gv6rzz] .mo-op-search.is-full input { width: 100%; }

[b-iyd5gv6rzz] .mo-op-seg { display: inline-flex; gap: .25rem; padding: .25rem; border-radius: 999px; background: var(--bs-tertiary-bg); overflow: hidden; }
[b-iyd5gv6rzz] .mo-op-seg button {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    height: 2.25rem;
    padding: 0 1rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 600;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
[b-iyd5gv6rzz] .mo-op-seg button:hover { color: var(--bs-body-color); }
[b-iyd5gv6rzz] .mo-op-seg button.is-active { background: var(--op-gold); color: var(--mo-ink); }

[b-iyd5gv6rzz] .mo-op-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    padding: 3.5rem 1.5rem;
    text-align: center;
    border: 1px dashed var(--bs-border-color);
    border-radius: var(--op-radius);
    background: var(--mo-surface);
    color: var(--bs-secondary-color);
    animation: mo-op-rise-b-iyd5gv6rzz .4s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-empty i { font-size: 1.8rem; color: var(--op-gold); }
[b-iyd5gv6rzz] .mo-op-empty p { margin: 0; font-size: .95rem; }

/* ---- list rows ---- */
[b-iyd5gv6rzz] .mo-op-rows { display: flex; flex-direction: column; gap: .75rem; }
[b-iyd5gv6rzz] .mo-op-row {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--op-radius);
    background: var(--mo-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    overflow: hidden;
    scroll-margin-top: 5rem;
    animation: mo-op-rise-b-iyd5gv6rzz .45s var(--op-ease) backwards;
    animation-delay: calc(var(--i) * 50ms);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s var(--op-ease);
}
[b-iyd5gv6rzz] .mo-op-row:hover { border-color: var(--op-gold-line); box-shadow: var(--mo-shadow); }
[b-iyd5gv6rzz] .mo-op-row:not(.is-open):hover { transform: translateY(-2px); }
[b-iyd5gv6rzz] .mo-op-row.is-open { border-color: var(--op-gold-line); box-shadow: 0 0 0 3px var(--op-gold-soft), var(--mo-shadow); }

[b-iyd5gv6rzz] .mo-op-row-head { display: flex; align-items: center; gap: .75rem; padding: .6rem .9rem .6rem .6rem; }
[b-iyd5gv6rzz] .mo-op-row-toggle {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 4.75rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .5rem .6rem;
    border: 0;
    border-radius: 1rem;
    background: transparent;
    color: inherit;
    text-align: left;
}
[b-iyd5gv6rzz] .mo-op-row-toggle .mo-op-av { transition: transform .3s var(--op-ease); }
[b-iyd5gv6rzz] .mo-op-row:hover .mo-op-row-toggle .mo-op-av { transform: scale(1.06); }
[b-iyd5gv6rzz] .mo-op-row-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .3rem; }
[b-iyd5gv6rzz] .mo-op-row-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--bs-emphasis-color);
}
[b-iyd5gv6rzz] .mo-op-row-at { margin-left: .35em; font-family: var(--bs-body-font-family); font-size: .92rem; font-weight: 500; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .82rem; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-row-person { font-weight: 600; color: var(--bs-body-color); }
[b-iyd5gv6rzz] .mo-op-row-error { margin: 0 1.25rem .9rem; font-size: .82rem; color: #e86b6f; }

/* ---- expanded detail ---- */
[b-iyd5gv6rzz] .mo-op-detail {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem 1.75rem 1.75rem;
    border-top: 1px solid var(--bs-border-color);
    background: var(--mo-surface-2);
    animation: mo-op-open-b-iyd5gv6rzz .38s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-cols { display: grid; grid-template-columns: 1fr 1.1fr 1.3fr; gap: 1.75rem; }
[b-iyd5gv6rzz] .mo-op-col { display: flex; flex-direction: column; gap: .75rem; min-width: 0; animation: mo-op-rise-b-iyd5gv6rzz .4s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-col:nth-child(2) { animation-delay: 60ms; }
[b-iyd5gv6rzz] .mo-op-col:nth-child(3) { animation-delay: 120ms; }

[b-iyd5gv6rzz] .mo-op-facts { display: flex; flex-direction: column; gap: .45rem; margin: 0; font-size: .88rem; line-height: 1.4; }
[b-iyd5gv6rzz] .mo-op-facts > div { display: flex; gap: .4rem; }
[b-iyd5gv6rzz] .mo-op-facts dt { flex: none; font-weight: 400; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-facts dd { margin: 0; min-width: 0; }
[b-iyd5gv6rzz] .mo-op-note { display: flex; flex-direction: column; gap: .2rem; padding: .7rem .85rem; border-radius: .8rem; background: var(--op-gold-soft); font-size: .84rem; line-height: 1.45; }
[b-iyd5gv6rzz] .mo-op-note span { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--op-gold); }

[b-iyd5gv6rzz] .mo-op-bar-row { display: flex; align-items: center; gap: .65rem; font-size: .84rem; }
[b-iyd5gv6rzz] .mo-op-bar-label { width: 5.5rem; flex: none; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-bar-n { width: 1.75rem; flex: none; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
[b-iyd5gv6rzz] .mo-op-bar { flex: 1 1 auto; height: .5rem; border-radius: 999px; background: var(--bs-tertiary-bg); overflow: hidden; }
[b-iyd5gv6rzz] .mo-op-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--c, var(--op-gold));
    box-shadow: 0 0 8px color-mix(in srgb, var(--c, var(--op-gold)) 55%, transparent);
    transform-origin: left center;
    animation: mo-op-grow-b-iyd5gv6rzz .8s var(--op-ease) backwards;
    animation-delay: calc(150ms + var(--i, 0) * 70ms);
}

[b-iyd5gv6rzz] .mo-op-trav {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    padding: .8rem .9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    background: var(--mo-surface);
    color: inherit;
    text-decoration: none;
    animation: mo-op-rise-b-iyd5gv6rzz .4s var(--op-ease) backwards;
    animation-delay: calc(140ms + var(--i) * 60ms);
    transition: border-color .2s ease, transform .2s var(--op-ease), box-shadow .2s ease;
}
[b-iyd5gv6rzz] .mo-op-trav:hover { border-color: var(--op-gold-line); transform: translateX(3px); box-shadow: var(--mo-shadow); color: inherit; }
[b-iyd5gv6rzz] .mo-op-trav-head { display: flex; align-items: center; gap: .5rem; min-width: 0; }
[b-iyd5gv6rzz] .mo-op-trav-purpose { min-width: 0; font-size: .86rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[b-iyd5gv6rzz] .mo-op-trav-prog { display: flex; align-items: center; gap: .6rem; font-size: .78rem; color: var(--bs-secondary-color); white-space: nowrap; }
[b-iyd5gv6rzz] .mo-op-trav-prog .mo-op-bar { height: .38rem; }

[b-iyd5gv6rzz] .mo-op-add {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    height: 2.75rem;
    padding: 0 1.1rem;
    border: 1px dashed var(--op-gold-line);
    border-radius: 999px;
    color: var(--op-gold);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, border-style .2s ease;
}
[b-iyd5gv6rzz] .mo-op-add:hover { background: var(--op-gold-soft); border-style: solid; color: var(--op-gold); }

[b-iyd5gv6rzz] .mo-op-desc { animation: mo-op-open-b-iyd5gv6rzz .3s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-subject-cards { display: flex; flex-direction: column; gap: 1rem; }

[b-iyd5gv6rzz] .mo-op-prepare {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--op-gold-line);
    border-radius: 1rem;
    background: radial-gradient(360px circle at 0% 0%, rgba(216, 168, 62, .14), transparent 70%), var(--mo-surface);
}
[b-iyd5gv6rzz] .mo-op-prepare-icon { flex: none; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: var(--op-gold-soft); color: var(--op-gold); font-size: 1.1rem; }

/* ---- board ---- */
[b-iyd5gv6rzz] .mo-op-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: start; }
[b-iyd5gv6rzz] .mo-op-col-board { display: flex; flex-direction: column; gap: .65rem; padding: .85rem; border-radius: 1.2rem; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); animation: mo-op-rise-b-iyd5gv6rzz .4s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-col-board:nth-child(2) { animation-delay: 50ms; }
[b-iyd5gv6rzz] .mo-op-col-board:nth-child(3) { animation-delay: 100ms; }
[b-iyd5gv6rzz] .mo-op-col-board:nth-child(4) { animation-delay: 150ms; }
[b-iyd5gv6rzz] .mo-op-col-board-head { display: flex; justify-content: space-between; align-items: center; padding: .1rem .3rem; font-size: .84rem; font-weight: 700; }
[b-iyd5gv6rzz] .mo-op-col-board-empty { padding: 1.2rem .5rem; text-align: center; font-size: .8rem; color: var(--bs-secondary-color); border: 1px dashed var(--bs-border-color); border-radius: .9rem; }
[b-iyd5gv6rzz] .mo-op-bcard {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    padding: .9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--mo-surface);
    color: inherit;
    text-align: left;
    animation: mo-op-rise-b-iyd5gv6rzz .4s var(--op-ease) backwards;
    animation-delay: calc(120ms + var(--i) * 60ms);
    transition: transform .2s var(--op-ease), border-color .2s ease, box-shadow .2s ease;
}
[b-iyd5gv6rzz] .mo-op-bcard:hover { transform: translateY(-3px); border-color: var(--op-gold-line); box-shadow: var(--mo-shadow); }
[b-iyd5gv6rzz] .mo-op-bcard-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; font-weight: 600; line-height: 1.25; color: var(--bs-emphasis-color); }
[b-iyd5gv6rzz] .mo-op-bcard-warn { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 700; color: #ef9a50; }
[b-iyd5gv6rzz] .mo-op-bcard-open { font-size: .8rem; font-weight: 600; color: var(--op-gold); }
[b-iyd5gv6rzz] .mo-op-bcard-open i { display: inline-block; transition: transform .2s var(--op-ease); }
[b-iyd5gv6rzz] .mo-op-bcard:hover .mo-op-bcard-open i { transform: translateX(3px); }

/* ---- past ---- */
[b-iyd5gv6rzz] .mo-op-past { border: 1px solid var(--bs-border-color); border-radius: var(--op-radius); background: var(--mo-surface); overflow: hidden; }
[b-iyd5gv6rzz] .mo-op-past-head { width: 100%; min-height: 4rem; display: flex; align-items: center; gap: .75rem; padding: 0 1.5rem; border: 0; background: transparent; color: inherit; text-align: left; }
[b-iyd5gv6rzz] .mo-op-past-head:hover { background: var(--mo-surface-2); }
[b-iyd5gv6rzz] .mo-op-past-title { font-size: .95rem; font-weight: 600; }
[b-iyd5gv6rzz] .mo-op-past-body { border-top: 1px solid var(--bs-border-color); animation: mo-op-open-b-iyd5gv6rzz .3s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-past-row { display: flex; align-items: center; gap: .9rem; padding: .85rem 1.5rem; border-bottom: 1px solid var(--bs-border-color); animation: mo-op-rise-b-iyd5gv6rzz .35s var(--op-ease) backwards; animation-delay: calc(var(--i) * 40ms); }
[b-iyd5gv6rzz] .mo-op-past-row:last-child { border-bottom: 0; }
[b-iyd5gv6rzz] .mo-op-past-name { font-size: .92rem; font-weight: 600; }

/* ---- executive: received vs. their own practice opportunities ---- */
[b-iyd5gv6rzz] .mo-op-mode {
    align-self: flex-start; display: inline-flex; gap: .3rem; padding: .3rem; border-radius: 999px;
    background: var(--bs-tertiary-bg); animation: mo-op-rise-b-iyd5gv6rzz .4s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-mode > button {
    height: 2.6rem; padding: 0 1.15rem; display: inline-flex; align-items: center; gap: .5rem; border: 0; border-radius: 999px;
    background: none; color: var(--bs-secondary-color); font-size: .9rem; font-weight: 600; transition: background .25s var(--op-ease), color .2s ease;
}
[b-iyd5gv6rzz] .mo-op-mode > button:hover { color: var(--bs-body-color); }
[b-iyd5gv6rzz] .mo-op-mode > button.is-active { background: var(--op-gold); color: var(--mo-ink); }
[b-iyd5gv6rzz] .mo-op-mode > button > span { min-width: 1.5rem; height: 1.4rem; padding: 0 .4rem; display: inline-grid; place-items: center; border-radius: 999px; background: rgba(0, 0, 0, .12); font-size: .74rem; }

[b-iyd5gv6rzz] .mo-op-practice-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); gap: 1rem; }
[b-iyd5gv6rzz] .mo-op-practice {
    display: flex; flex-direction: column; gap: .8rem; padding: 1.15rem 1.25rem; border-radius: 1.3rem;
    border: 1px solid var(--bs-border-color);
    background: radial-gradient(320px circle at 100% 0%, var(--op-gold-soft), transparent 65%), var(--mo-surface);
    animation: mo-op-rise-b-iyd5gv6rzz .45s var(--op-ease) backwards; animation-delay: calc(.1s + var(--i) * 55ms);
    transition: transform .25s var(--op-ease), border-color .25s ease, box-shadow .25s ease;
}
[b-iyd5gv6rzz] .mo-op-practice:hover { transform: translateY(-3px); border-color: var(--op-gold-line); box-shadow: var(--mo-shadow); }
[b-iyd5gv6rzz] .mo-op-practice-top { display: flex; align-items: flex-start; gap: .8rem; }
[b-iyd5gv6rzz] .mo-op-practice-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 600; line-height: 1.2; color: var(--bs-emphasis-color); }
[b-iyd5gv6rzz] .mo-op-practice-foot { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--bs-border-color); }
[b-iyd5gv6rzz] .mo-op-practice-ic { flex: none; width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: 50%; background: var(--op-gold-soft); color: var(--op-gold); font-size: 1.4rem; }
[b-iyd5gv6rzz] .mo-op-practice-ic.is-sm { width: 2.5rem; height: 2.5rem; font-size: 1.1rem; }
[b-iyd5gv6rzz] .mo-op-practice-add {
    min-height: 10rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem;
    border: 1px dashed var(--op-gold-line); border-radius: 1.3rem; background: transparent; color: var(--op-gold); font-weight: 600;
    transition: background .2s ease, transform .2s var(--op-ease);
}
[b-iyd5gv6rzz] .mo-op-practice-add:hover { background: var(--op-gold-soft); transform: translateY(-2px); }
[b-iyd5gv6rzz] .mo-op-practice-add i { font-size: 1.4rem; }
[b-iyd5gv6rzz] .mo-op-practice-empty {
    display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 3rem 1.5rem; text-align: center;
    border: 1px dashed var(--op-gold-line); border-radius: 1.5rem; animation: mo-op-rise-b-iyd5gv6rzz .45s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-practice-empty h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; color: var(--bs-emphasis-color); }
[b-iyd5gv6rzz] .mo-op-practice-empty p { max-width: 34rem; margin: 0; color: var(--bs-secondary-color); line-height: 1.6; }

/* ---- invites waiting for sign-up (not Opportunities yet) ---- */
[b-iyd5gv6rzz] .mo-op-invites {
    display: flex; flex-direction: column; gap: .8rem; padding: 1.15rem 1.3rem; border-radius: 1.3rem;
    border: 1px dashed var(--op-gold-line); background: radial-gradient(420px circle at 0% 0%, var(--op-gold-soft), transparent 70%), var(--mo-surface);
    animation: mo-op-rise-b-iyd5gv6rzz .45s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-invites-title { display: flex; align-items: center; gap: .5rem; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--op-gold); }
[b-iyd5gv6rzz] .mo-op-invite-rows { display: flex; flex-direction: column; gap: .45rem; }
[b-iyd5gv6rzz] .mo-op-invite-row {
    display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: .65rem .8rem; border-radius: 1rem;
    background: var(--bs-body-bg); border: 1px solid var(--bs-border-color);
    animation: mo-op-rise-b-iyd5gv6rzz .35s var(--op-ease) backwards; animation-delay: calc(.1s + var(--i) * 40ms);
}
[b-iyd5gv6rzz] .mo-op-invite-row.is-expired { opacity: .7; }
[b-iyd5gv6rzz] .mo-op-invite-ic { flex: none; width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: 50%; background: var(--op-gold-soft); color: var(--op-gold); }
[b-iyd5gv6rzz] .mo-op-invite-act { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-left: auto; }
[b-iyd5gv6rzz] .mo-op-invite-fresh {
    flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .55rem .65rem; border-radius: .8rem;
    background: rgba(72, 197, 138, .08); border: 1px solid rgba(72, 197, 138, .35); animation: mo-op-rise-b-iyd5gv6rzz .3s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-invite-fresh > i { color: #3fb87f; }
[b-iyd5gv6rzz] .mo-op-invite-fresh .mo-op-input { flex: 1 1 18rem; min-height: 2.2rem; padding: .35rem .7rem; font-size: .8rem; }
[b-iyd5gv6rzz] .mo-op-btn.is-ghost { background: none; border-color: transparent; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-btn.is-ghost:hover { color: #e86b6f; }
[b-iyd5gv6rzz] .mo-op-btn.is-danger { background: #c94a4f; border-color: #c94a4f; color: #fff; }
[b-iyd5gv6rzz] .mo-op-invite-name { font-size: .9rem; font-weight: 600; color: var(--bs-emphasis-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- new opportunity drawer ---- */
[b-iyd5gv6rzz] .mo-op-drawer { position: fixed; inset: 0; z-index: 1060; display: flex; justify-content: flex-end; visibility: hidden; transition: visibility 0s linear .35s; }
[b-iyd5gv6rzz] .mo-op-drawer.is-open { visibility: visible; transition: none; }
[b-iyd5gv6rzz] .mo-op-drawer-scrim { position: absolute; inset: 0; border: 0; background: rgba(4, 10, 18, .55); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-drawer-scrim { opacity: 1; }
[b-iyd5gv6rzz] .mo-op-drawer-panel {
    position: relative;
    width: min(54rem, 100vw);
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--bs-body-bg);
    border-left: 1px solid var(--bs-border-color);
    box-shadow: -18px 0 50px rgba(0, 0, 0, .35);
    transform: translateX(100%);
    transition: transform .35s var(--op-ease);
}
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-drawer-panel { transform: translateX(0); }
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-field { animation: mo-op-rise-b-iyd5gv6rzz .45s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-field:nth-child(2) { animation-delay: 60ms; }
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-field:nth-child(3) { animation-delay: 120ms; }
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-field:nth-child(4) { animation-delay: 180ms; }
[b-iyd5gv6rzz] .mo-op-drawer.is-open .mo-op-field:nth-child(5) { animation-delay: 240ms; }

[b-iyd5gv6rzz] .mo-op-drawer-head { flex: none; display: flex; align-items: flex-start; gap: .75rem; padding: 1.75rem 2rem 1rem; }
[b-iyd5gv6rzz] .mo-op-drawer-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.85rem; font-weight: 600; line-height: 1.15; color: var(--bs-emphasis-color); }
[b-iyd5gv6rzz] .mo-op-drawer-head p { margin: .4rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-icon-btn { flex: none; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--bs-tertiary-bg); color: var(--bs-body-color); transition: transform .25s var(--op-ease), background .2s ease; }
[b-iyd5gv6rzz] .mo-op-icon-btn:hover { transform: rotate(90deg); background: var(--op-gold-soft); }
[b-iyd5gv6rzz] .mo-op-drawer-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 1.6rem; padding: .5rem 2rem 1.5rem; }
[b-iyd5gv6rzz] .mo-op-drawer-error {
    flex: none; display: flex; align-items: center; gap: .65rem; margin: 0 2rem; padding: .75rem .9rem; border-radius: .9rem;
    border: 1px solid rgba(224, 87, 91, .45); background: rgba(224, 87, 91, .12); color: #e86b6f; font-size: .86rem; font-weight: 600;
    animation: mo-op-shake-b-iyd5gv6rzz .4s ease backwards;
}
[b-iyd5gv6rzz] .mo-op-drawer-error button { flex: none; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: none; color: inherit; }
[b-iyd5gv6rzz] .mo-op-drawer-error button:hover { background: rgba(224, 87, 91, .18); }
[b-iyd5gv6rzz] .mo-op-drawer-foot { flex: none; display: flex; align-items: center; gap: .75rem; padding: 1rem 2rem 1.5rem; border-top: 1px solid var(--bs-border-color); }

[b-iyd5gv6rzz] .mo-op-field { display: flex; flex-direction: column; gap: .6rem; }
[b-iyd5gv6rzz] .mo-op-field .form-label { margin: 0; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-input {
    width: 100%;
    min-height: 3rem;
    padding: .7rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .8rem;
    background: var(--mo-surface);
    color: var(--bs-body-color);
    font-size: .9rem;
    transition: border-color .2s ease, box-shadow .2s ease;
}
[b-iyd5gv6rzz] .mo-op-input:focus { outline: none; border-color: var(--op-gold-line); box-shadow: 0 0 0 4px var(--op-gold-soft); }
[b-iyd5gv6rzz] textarea.mo-op-input { resize: none; line-height: 1.5; }
[b-iyd5gv6rzz] .mo-op-input-row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }

[b-iyd5gv6rzz] .mo-op-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; max-height: 19rem; overflow-y: auto; padding: 2px; }
[b-iyd5gv6rzz] .mo-op-person {
    min-height: 4rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    background: var(--mo-surface);
    color: inherit;
    text-align: left;
    transition: border-color .2s ease, background .2s ease, transform .15s var(--op-ease), box-shadow .2s ease;
}
[b-iyd5gv6rzz] .mo-op-person:hover { border-color: var(--op-gold-line); }
[b-iyd5gv6rzz] .mo-op-person:active { transform: scale(.98); }
[b-iyd5gv6rzz] .mo-op-person.is-active { border-color: var(--op-gold); background: var(--op-gold-soft); box-shadow: 0 0 0 3px var(--op-gold-soft); }
[b-iyd5gv6rzz] .mo-op-person.is-invite { border-style: dashed; }
[b-iyd5gv6rzz] .mo-op-person.is-invite.is-active { border-style: solid; }
[b-iyd5gv6rzz] .mo-op-person-name { display: block; font-size: .88rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[b-iyd5gv6rzz] .mo-op-person-sub { display: block; font-size: .74rem; color: var(--bs-secondary-color); }

[b-iyd5gv6rzz] .mo-op-types { display: flex; flex-wrap: wrap; gap: .4rem; }
[b-iyd5gv6rzz] .mo-op-type { height: 2.25rem; padding: 0 .85rem; border: 1px solid var(--bs-border-color); border-radius: 999px; background: var(--mo-surface); color: var(--bs-secondary-color); font-size: .78rem; font-weight: 600; transition: all .2s ease; }
[b-iyd5gv6rzz] .mo-op-type:hover { color: var(--bs-body-color); border-color: var(--op-gold-line); }
[b-iyd5gv6rzz] .mo-op-type.is-active { background: var(--op-gold-soft); color: var(--op-gold); border-color: var(--op-gold-line); }

[b-iyd5gv6rzz] .mo-op-preview summary { display: inline-flex; align-items: center; gap: .4rem; margin: .25rem 0 .5rem; color: var(--op-gold); font-size: .84rem; font-weight: 600; cursor: pointer; list-style: none; }
[b-iyd5gv6rzz] .mo-op-preview summary::-webkit-details-marker { display: none; }
[b-iyd5gv6rzz] .mo-op-invite { display: flex; flex-direction: column; gap: .5rem; padding: 1rem; border: 1px solid rgba(72, 197, 138, .45); border-radius: 1rem; background: rgba(72, 197, 138, .08); animation: mo-op-rise-b-iyd5gv6rzz .35s var(--op-ease) backwards; }

/* who is it for: on MimirOne vs outside, then email vs link */
[b-iyd5gv6rzz] .mo-op-who { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
[b-iyd5gv6rzz] .mo-op-who > button {
    display: flex; align-items: center; gap: .8rem; min-height: 4.6rem; padding: 1rem 1.15rem; border: 1px solid var(--bs-border-color); border-radius: 1rem;
    background: var(--mo-surface); color: inherit; text-align: left;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s var(--op-ease);
}
[b-iyd5gv6rzz] .mo-op-who > button:hover { border-color: var(--op-gold-line); }
[b-iyd5gv6rzz] .mo-op-who > button:active { transform: scale(.985); }
[b-iyd5gv6rzz] .mo-op-who > button.is-active { border-color: var(--op-gold); background: var(--op-gold-soft); box-shadow: 0 0 0 3px var(--op-gold-soft); }
[b-iyd5gv6rzz] .mo-op-who > button > i { flex: none; width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%; background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: 1.1rem; transition: background .2s ease, color .2s ease; }
[b-iyd5gv6rzz] .mo-op-who > button.is-active > i { background: var(--op-gold); color: var(--mo-ink); }
[b-iyd5gv6rzz] .mo-op-who b { display: block; font-size: .92rem; }
[b-iyd5gv6rzz] .mo-op-who small { display: block; font-size: .76rem; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-who-body { display: flex; flex-direction: column; gap: .7rem; animation: mo-op-open-b-iyd5gv6rzz .3s var(--op-ease) backwards; }

[b-iyd5gv6rzz] .mo-op-howto { display: inline-flex; align-self: flex-start; gap: .3rem; padding: .3rem; border-radius: 999px; background: var(--bs-tertiary-bg); }
[b-iyd5gv6rzz] .mo-op-howto > button { height: 2.75rem; padding: 0 1.25rem; display: inline-flex; align-items: center; gap: .45rem; border: 0; border-radius: 999px; background: none; color: var(--bs-secondary-color); font-size: .88rem; font-weight: 600; transition: background .2s ease, color .2s ease; }
[b-iyd5gv6rzz] .mo-op-howto > button:hover { color: var(--bs-body-color); }
[b-iyd5gv6rzz] .mo-op-howto > button.is-active { background: var(--op-gold); color: var(--mo-ink); }

[b-iyd5gv6rzz] .mo-op-emails {
    display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; min-height: 3.2rem; margin: 0; padding: .5rem .6rem;
    border: 1px solid var(--bs-border-color); border-radius: .9rem; background: var(--mo-surface); cursor: text;
    transition: border-color .2s ease, box-shadow .2s ease;
}
[b-iyd5gv6rzz] .mo-op-emails:focus-within { border-color: var(--op-gold-line); box-shadow: 0 0 0 4px var(--op-gold-soft); }
[b-iyd5gv6rzz] .mo-op-emails.has-invalid { border-color: rgba(224, 87, 91, .55); }
[b-iyd5gv6rzz] .mo-op-emails input { flex: 1 1 12rem; min-width: 8rem; height: 2rem; border: 0; outline: none; background: transparent; color: var(--bs-body-color); font-size: .9rem; }
[b-iyd5gv6rzz] .mo-op-email {
    display: inline-flex; align-items: center; gap: .3rem; height: 1.9rem; padding: 0 .25rem 0 .7rem; border-radius: 999px;
    background: var(--op-gold-soft); border: 1px solid var(--op-gold-line); font-size: .82rem; font-weight: 600;
    animation: mo-op-chip-b-iyd5gv6rzz .25s var(--op-ease) backwards;
}
[b-iyd5gv6rzz] .mo-op-email.is-invalid { background: rgba(224, 87, 91, .12); border-color: rgba(224, 87, 91, .5); color: #e86b6f; }
[b-iyd5gv6rzz] .mo-op-email button { width: 1.45rem; height: 1.45rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: none; color: inherit; opacity: .7; }
[b-iyd5gv6rzz] .mo-op-email button:hover { opacity: 1; background: rgba(0, 0, 0, .12); }

[b-iyd5gv6rzz] .mo-op-linkinfo { display: flex; gap: .7rem; padding: .85rem 1rem; border-radius: .9rem; border: 1px dashed var(--bs-border-color); font-size: .86rem; line-height: 1.5; color: var(--bs-secondary-color); }
[b-iyd5gv6rzz] .mo-op-linkinfo i { flex: none; font-size: 1.2rem; color: var(--op-gold); }

[b-iyd5gv6rzz] .mo-op-copyrow { display: flex; gap: .5rem; }
[b-iyd5gv6rzz] .mo-op-btn.is-sm { height: 2.1rem; padding: 0 .8rem; font-size: .78rem; }
[b-iyd5gv6rzz] .mo-op-invite.is-partial { border-color: rgba(240, 140, 60, .5); background: rgba(240, 140, 60, .08); }
[b-iyd5gv6rzz] .mo-op-deliveries { margin: .25rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .4rem; }
[b-iyd5gv6rzz] .mo-op-deliveries li { display: flex; align-items: center; gap: .65rem; padding: .5rem .6rem; border-radius: .8rem; background: var(--mo-surface); animation: mo-op-rise-b-iyd5gv6rzz .3s var(--op-ease) backwards; }
[b-iyd5gv6rzz] .mo-op-deliveries li > i { flex: none; }
[b-iyd5gv6rzz] .mo-op-deliveries li.is-sent > i { color: #3fb87f; }
[b-iyd5gv6rzz] .mo-op-deliveries li.is-failed > i { color: #ef9a50; }
[b-iyd5gv6rzz] .mo-op-deliveries .mo-op-muted { display: block; }
[b-iyd5gv6rzz] .mo-op-delivery-email { display: block; font-size: .86rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Used by the job-description inputs (JobDescriptionInput / DocumentDropzone / previews). */
[b-iyd5gv6rzz] .mo-autogrow { resize: none; overflow: hidden; }
[b-iyd5gv6rzz] .mo-doc-preview-text { white-space: pre-wrap; font-size: .82rem; max-height: 22rem; overflow-y: auto; margin: 0; }
[b-iyd5gv6rzz] .mo-opp-card { border-radius: .85rem; overflow: hidden; }
[b-iyd5gv6rzz] .mo-opp-card-header { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.15rem; }
[b-iyd5gv6rzz] .mo-opp-icon { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; }
[b-iyd5gv6rzz] .mo-opp-icon-blue { background: rgba(22, 119, 232, .20); color: #76b9ff; }
[b-iyd5gv6rzz] .mo-opp-empty { text-align: center; padding: 2.2rem 1rem; color: var(--bs-secondary-color); font-size: .85rem; }
[b-iyd5gv6rzz] .mo-opp-empty > i { font-size: 1.7rem; display: block; margin-bottom: .5rem; color: var(--mo-violet-600); }
[b-iyd5gv6rzz] .mo-desc-card { height: 100%; border: 1px solid var(--bs-border-color); border-radius: .6rem; background: var(--mo-surface); padding: .75rem .9rem; }
[b-iyd5gv6rzz] .mo-desc-card-head { display: flex; align-items: center; gap: .5rem; margin-bottom: .4rem; }
[b-iyd5gv6rzz] .mo-desc-icon { width: 1.7rem; height: 1.7rem; font-size: .8rem; }

/* ---- motion ---- */
@keyframes mo-op-rise-b-iyd5gv6rzz { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: none; } }
@keyframes mo-op-shake-b-iyd5gv6rzz { 0% { opacity: 0; translate: 0 6px; } 40% { opacity: 1; translate: -5px 0; } 60% { translate: 4px 0; } 80% { translate: -2px 0; } 100% { translate: none; } }
@keyframes mo-op-chip-b-iyd5gv6rzz { from { opacity: 0; scale: .8; } to { opacity: 1; scale: 1; } }
@keyframes mo-op-open-b-iyd5gv6rzz { from { opacity: 0; translate: 0 -8px; } to { opacity: 1; translate: none; } }
@keyframes mo-op-grow-b-iyd5gv6rzz { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes mo-op-shimmer-b-iyd5gv6rzz { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@keyframes mo-op-ring-b-iyd5gv6rzz { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(14deg); } 82% { transform: rotate(-12deg); } 89% { transform: rotate(8deg); } 95% { transform: rotate(-4deg); } }

@media (prefers-reduced-motion: reduce) {
    [b-iyd5gv6rzz] *, [b-iyd5gv6rzz] *::before, [b-iyd5gv6rzz] *::after { animation: none !important; transition: none !important; }
}

/* ---- responsive ---- */
@media (max-width: 1100px) {
    [b-iyd5gv6rzz] .mo-op-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [b-iyd5gv6rzz] .mo-op-cols { grid-template-columns: 1fr 1fr; }
    [b-iyd5gv6rzz] .mo-op-cols > .mo-op-col:last-child { grid-column: 1 / -1; }
    [b-iyd5gv6rzz] .mo-op-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .mo-opp-page[b-iyd5gv6rzz] { padding-top: .5rem; gap: 1.25rem; }
    [b-iyd5gv6rzz] .mo-op-hero { flex-direction: column; align-items: stretch; }
    [b-iyd5gv6rzz] .mo-op-new { justify-content: center; }
    [b-iyd5gv6rzz] .mo-op-cols { grid-template-columns: 1fr; }
    [b-iyd5gv6rzz] .mo-op-board { grid-template-columns: 1fr; }
    [b-iyd5gv6rzz] .mo-op-row-head { flex-wrap: wrap; }
    [b-iyd5gv6rzz] .mo-op-row-head > .mo-op-btn { width: 100%; }
    [b-iyd5gv6rzz] .mo-op-row-title { font-size: 1.15rem; }
    [b-iyd5gv6rzz] .mo-op-search, [b-iyd5gv6rzz] .mo-op-search input { width: 100%; }
    [b-iyd5gv6rzz] .mo-op-detail { padding: 1.15rem; }
    [b-iyd5gv6rzz] .mo-op-people, [b-iyd5gv6rzz] .mo-op-input-row, [b-iyd5gv6rzz] .mo-op-who { grid-template-columns: 1fr; }
    [b-iyd5gv6rzz] .mo-op-drawer-head, [b-iyd5gv6rzz] .mo-op-drawer-body, [b-iyd5gv6rzz] .mo-op-drawer-foot { padding-left: 1.15rem; padding-right: 1.15rem; }
    [b-iyd5gv6rzz] .mo-op-drawer-error { margin: 0 1.15rem; }
    [b-iyd5gv6rzz] .mo-op-drawer-foot { flex-wrap: wrap; }
}

/* hero: shared dark card (app.css .mo-page-hero); type on dark */
[b-iyd5gv6rzz] .mo-op-hero.mo-page-hero { align-items: center; }
[b-iyd5gv6rzz] .mo-op-hero h1 { margin-top: .75rem; color: #fff; }
[b-iyd5gv6rzz] .mo-op-hero p { color: #c3cbe0; }
/* /Components/Pages/OpportunityPackagePage.razor.rz.scp.css */
/* =========================================================
   OPPORTUNITY PACKAGE
   After the "Package" mockup, in the navy/gold theme: phase bar, dark hero
   with the outcome ladder, Evidence / Lessons / Gaps columns, then gaps +
   proposed nodes beside the timeline and the conclude card. Concluded turns
   the hero green. Animations fill `backwards` only.
   ========================================================= */

.mo-pk[b-79bf2ufjbu] {
    --pk-gold: var(--mo-violet);
    --pk-gold-soft: rgba(216, 168, 62, .14);
    --pk-gold-line: rgba(216, 168, 62, .45);
    --pk-ease: cubic-bezier(.2, .8, .2, 1);
    display: flex; flex-direction: column; gap: 1.5rem; padding: .5rem 0 4rem;
}

.mo-pk h2[b-79bf2ufjbu] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-pk-sub[b-79bf2ufjbu] { margin: .35rem 0 .9rem; font-size: .84rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-pk-none[b-79bf2ufjbu] { font-size: .86rem; color: var(--bs-secondary-color); }
.mo-pk-count[b-79bf2ufjbu] {
    flex: none; min-width: 1.6rem; height: 1.5rem; padding: 0 .5rem; display: inline-grid; place-items: center; border-radius: 999px;
    background: var(--bs-tertiary-bg); font-size: .78rem; font-weight: 700; color: var(--bs-body-color);
}
.mo-pk-count.is-warn[b-79bf2ufjbu] { background: rgba(240, 140, 60, .16); color: #ef9a50; }

/* ---------- phase bar ---------- */
.mo-pk-bar[b-79bf2ufjbu] { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; animation: pk-up-b-79bf2ufjbu .45s var(--pk-ease) backwards; }
.mo-pk-back[b-79bf2ufjbu] {
    display: inline-flex; align-items: center; gap: .4rem; height: 2.3rem; padding: 0 .95rem 0 .7rem; border-radius: 999px;
    background: var(--mo-surface); border: 1px solid var(--bs-border-color); color: var(--bs-body-color); font-size: .84rem; font-weight: 600; text-decoration: none;
    transition: border-color .2s ease;
}
.mo-pk-back:hover[b-79bf2ufjbu] { border-color: var(--pk-gold-line); color: var(--bs-body-color); }
.mo-pk-back i[b-79bf2ufjbu] { transition: transform .2s var(--pk-ease); }
.mo-pk-back:hover i[b-79bf2ufjbu] { transform: translateX(-3px); }

/* ---------- hero ---------- */
.mo-pk-hero[b-79bf2ufjbu] {
    position: relative; overflow: hidden; border-radius: 1.75rem; color: #fff;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: pk-up-b-79bf2ufjbu .7s var(--pk-ease) backwards;
    transition: background .6s ease;
}
.mo-pk-hero.is-concluded[b-79bf2ufjbu] { background: linear-gradient(135deg, #0b2a22 0%, #12513a 60%, #1d7a55 100%); }
.mo-pk-orb[b-79bf2ufjbu] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-pk-orb.is-a[b-79bf2ufjbu] { left: -100px; top: -160px; width: 480px; height: 480px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: pk-float-a-b-79bf2ufjbu 14s ease-in-out infinite; }
.mo-pk-orb.is-b[b-79bf2ufjbu] { right: 60px; bottom: -220px; width: 540px; height: 540px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: pk-float-b-b-79bf2ufjbu 18s ease-in-out infinite; }
.mo-pk-hero-inner[b-79bf2ufjbu] { position: relative; display: flex; align-items: stretch; gap: 2.5rem; padding: 2.6rem 2.75rem 2.4rem; }
.mo-pk-hero-copy[b-79bf2ufjbu] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.mo-pk-kicker[b-79bf2ufjbu] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-pk-pulse[b-79bf2ufjbu] { width: 8px; height: 8px; border-radius: 50%; background: var(--pk-gold); animation: pk-pulse-b-79bf2ufjbu 1.8s ease-out infinite; }
.mo-pk-state[b-79bf2ufjbu] {
    display: inline-flex; align-items: center; gap: .35rem; height: 1.6rem; padding: 0 .75rem; border-radius: 999px;
    background: rgba(255, 255, 255, .16); color: #fff; font-size: .74rem; letter-spacing: 0; text-transform: none;
}
.mo-pk-state.is-concluded[b-79bf2ufjbu] { background: #fff; color: #12513a; }
.mo-pk-hero h1[b-79bf2ufjbu] { margin: .8rem 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.1rem, 4.2vw, 3rem); font-weight: 600; line-height: 1.05; color: #fff; }
.mo-pk-hero p[b-79bf2ufjbu] { max-width: 42rem; margin: 0 0 1.4rem; font-size: 1.02rem; line-height: 1.65; color: #c9d1e4; }
.mo-pk-actions[b-79bf2ufjbu] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: auto; }
.mo-pk-hero-hint[b-79bf2ufjbu] { font-size: .86rem; color: #b9c6d8; }

.mo-pk-outcome[b-79bf2ufjbu] {
    flex: none; width: 23rem; padding: 1.5rem 1.6rem; border-radius: 1.6rem;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .17);
    animation: pk-pop-b-79bf2ufjbu .8s .15s var(--pk-ease) backwards;
}
.mo-pk-outcome-label[b-79bf2ufjbu] { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f0d79a; }
.mo-pk-outcome-value[b-79bf2ufjbu] { margin-top: .45rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; font-weight: 600; line-height: 1.1; }
.mo-pk-ladder[b-79bf2ufjbu] { display: flex; align-items: center; gap: .35rem; margin-top: 1.1rem; height: 1rem; }
.mo-pk-ladder span[b-79bf2ufjbu] {
    flex: 1; height: .6rem; border-radius: 999px; background: rgba(255, 255, 255, .18);
    transition: background .5s ease, height .5s var(--pk-ease);
    animation: pk-pop-b-79bf2ufjbu .5s var(--pk-ease) backwards; animation-delay: calc(.35s + var(--i) * 80ms);
}
.mo-pk-ladder span.is-current[b-79bf2ufjbu] { height: .95rem; }
.mo-pk-ladder span.is-on.is-0[b-79bf2ufjbu] { background: #a9b2c4; }
.mo-pk-ladder span.is-on.is-1[b-79bf2ufjbu] { background: #e0675a; }
.mo-pk-ladder span.is-on.is-2[b-79bf2ufjbu] { background: #f0a93b; }
.mo-pk-ladder span.is-on.is-3[b-79bf2ufjbu] { background: #5ba7e6; }
.mo-pk-ladder span.is-on.is-4[b-79bf2ufjbu] { background: #4cc38a; box-shadow: 0 0 10px rgba(76, 195, 138, .5); }
.mo-pk-ladder-cap[b-79bf2ufjbu] { display: flex; justify-content: space-between; margin-top: .45rem; font-size: .72rem; color: #b9c6d8; }
.mo-pk-kpis[b-79bf2ufjbu] { display: flex; gap: .6rem; margin-top: 1.2rem; }
.mo-pk-kpis > div[b-79bf2ufjbu] {
    flex: 1; padding: .6rem .75rem; border-radius: 1rem; background: rgba(255, 255, 255, .08);
    animation: pk-up-b-79bf2ufjbu .5s var(--pk-ease) backwards; animation-delay: calc(.45s + var(--i) * 70ms);
}
.mo-pk-kpis b[b-79bf2ufjbu] { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 600; line-height: 1; }
.mo-pk-kpis span[b-79bf2ufjbu] { font-size: .74rem; color: #c3cbe0; }

/* ---------- buttons ---------- */
.mo-pk-btn[b-79bf2ufjbu] {
    flex: none; display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    height: 2.75rem; padding: 0 1.2rem; border-radius: 999px; border: 1px solid transparent;
    font-size: .86rem; font-weight: 700; text-decoration: none; white-space: nowrap;
    transition: transform .18s var(--pk-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.mo-pk-btn:hover:not(:disabled)[b-79bf2ufjbu] { transform: translateY(-1px); }
.mo-pk-btn:disabled[b-79bf2ufjbu] { opacity: .6; }
.mo-pk-btn.is-wide[b-79bf2ufjbu] { width: 100%; height: 3rem; }
.mo-pk-btn.is-light[b-79bf2ufjbu] { background: #fff; color: #111b26; }
.mo-pk-btn.is-light:hover:not(:disabled)[b-79bf2ufjbu] { box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
.mo-pk-btn.is-glass[b-79bf2ufjbu] { background: transparent; border-color: rgba(255, 255, 255, .4); color: #fff; }
.mo-pk-btn.is-glass:hover:not(:disabled)[b-79bf2ufjbu] { border-color: rgba(216, 168, 62, .7); }
.mo-pk-btn.is-gold[b-79bf2ufjbu] { background: var(--pk-gold); color: var(--mo-ink); box-shadow: 0 8px 20px rgba(216, 168, 62, .28); }
.mo-pk-btn.is-green[b-79bf2ufjbu] { background: #1f8a5b; color: #fff; }
.mo-pk-btn.is-green:hover:not(:disabled)[b-79bf2ufjbu] { background: #23a06a; }
.mo-pk-btn.is-outline[b-79bf2ufjbu] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.mo-pk-btn.is-outline:hover:not(:disabled)[b-79bf2ufjbu] { border-color: var(--pk-gold-line); }

/* ---------- banners ---------- */
.mo-pk-banner[b-79bf2ufjbu] {
    display: flex; align-items: center; gap: .7rem; margin-top: -.5rem; padding: .85rem 1.15rem; border-radius: 1rem;
    font-size: .88rem; font-weight: 600; animation: pk-fade-b-79bf2ufjbu .4s ease backwards;
}
.mo-pk-banner i[b-79bf2ufjbu] { font-size: 1.1rem; }
.mo-pk-banner.is-done[b-79bf2ufjbu] { background: #12513a; color: #fff; }
.mo-pk-banner.is-warn[b-79bf2ufjbu] { background: rgba(240, 140, 60, .14); border: 1px solid rgba(240, 140, 60, .35); color: #ef9a50; }
.mo-pk-banner.is-info[b-79bf2ufjbu] { background: rgba(69, 162, 255, .12); border: 1px solid rgba(69, 162, 255, .3); color: #6fb0ff; }
.mo-pk-banner.is-ok[b-79bf2ufjbu] { background: rgba(72, 197, 138, .12); border: 1px solid rgba(72, 197, 138, .3); color: #3fb87f; }
.mo-pk-banner.is-error[b-79bf2ufjbu] { background: rgba(224, 87, 91, .12); border: 1px solid rgba(224, 87, 91, .35); color: #e86b6f; }

/* ---------- three columns ---------- */
.mo-pk-cols[b-79bf2ufjbu] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.mo-pk-col[b-79bf2ufjbu] {
    --tone: var(--pk-gold); --tone-bg: var(--pk-gold-soft);
    padding: 1.35rem 1.45rem; border-radius: 1.5rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: pk-up-b-79bf2ufjbu .55s var(--pk-ease) backwards; animation-delay: calc(.15s + var(--i) * 80ms);
    transition: transform .25s var(--pk-ease), box-shadow .25s ease, border-color .25s ease;
}
.mo-pk-col:hover[b-79bf2ufjbu] { transform: translateY(-3px); box-shadow: var(--mo-shadow); border-color: color-mix(in srgb, var(--tone) 45%, transparent); }
.mo-pk-col.is-teal[b-79bf2ufjbu] { --tone: #2bb5a8; --tone-bg: rgba(43, 181, 168, .16); }
.mo-pk-col.is-amber[b-79bf2ufjbu] { --tone: #ef9a50; --tone-bg: rgba(240, 140, 60, .16); }
.mo-pk-col-head[b-79bf2ufjbu] { display: flex; align-items: center; gap: .65rem; }
.mo-pk-col-head h2[b-79bf2ufjbu] { flex-grow: 1; font-size: 1.3rem; }
.mo-pk-glyph[b-79bf2ufjbu] { flex: none; width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: .75rem; background: var(--tone-bg); color: var(--tone); font-size: 1.05rem; }
.mo-pk-items[b-79bf2ufjbu] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .65rem; }
.mo-pk-items li[b-79bf2ufjbu] { position: relative; padding-left: 1.1rem; font-size: .88rem; line-height: 1.55; }
.mo-pk-items li[b-79bf2ufjbu]::before { content: ""; position: absolute; left: 0; top: .5rem; width: .5rem; height: .5rem; border-radius: 50%; background: var(--tone); }

/* ---------- lower grid ---------- */
.mo-pk-grid[b-79bf2ufjbu] { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.mo-pk-stack[b-79bf2ufjbu] { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }
.mo-pk-card[b-79bf2ufjbu] {
    padding: 1.45rem 1.6rem; border-radius: 1.5rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: pk-up-b-79bf2ufjbu .55s var(--pk-ease) backwards; animation-delay: calc(.25s + var(--i, 0) * 80ms);
}
.mo-pk-card-head[b-79bf2ufjbu] { display: flex; align-items: center; gap: .6rem; }

.mo-pk-proposed[b-79bf2ufjbu] { display: flex; flex-direction: column; gap: .65rem; }
.mo-pk-node[b-79bf2ufjbu] {
    display: flex; align-items: center; gap: 1rem; padding: .9rem 1rem; border-radius: 1.1rem;
    border: 1px solid var(--bs-border-color); background: var(--bs-body-bg);
    animation: pk-slide-b-79bf2ufjbu .35s var(--pk-ease) backwards;
}
.mo-pk-type[b-79bf2ufjbu] { display: inline-flex; align-items: center; height: 1.35rem; padding: 0 .55rem; border-radius: 999px; background: var(--pk-gold-soft); color: var(--pk-gold); font-size: .72rem; font-weight: 700; }
.mo-pk-node-title[b-79bf2ufjbu] { margin-top: .35rem; font-size: .92rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-pk-node-text[b-79bf2ufjbu] { margin-top: .15rem; font-size: .82rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-pk-node-act[b-79bf2ufjbu] { flex: none; display: flex; flex-direction: column; gap: .4rem; }
.mo-pk-note[b-79bf2ufjbu] { padding: .8rem 1rem; border-radius: 1rem; background: rgba(69, 162, 255, .12); color: #6fb0ff; font-size: .86rem; font-weight: 600; animation: pk-pop-b-79bf2ufjbu .3s var(--pk-ease) backwards; }

.mo-pk-gaps[b-79bf2ufjbu] { display: flex; flex-direction: column; gap: .55rem; }
.mo-pk-gap[b-79bf2ufjbu] { display: flex; gap: .75rem; padding: .75rem .9rem; border-radius: 1rem; background: var(--bs-tertiary-bg); font-size: .88rem; line-height: 1.55; }
.mo-pk-gap > span:first-child[b-79bf2ufjbu] { flex: none; font-weight: 800; color: #ef9a50; }

.mo-pk-snaps[b-79bf2ufjbu] { display: flex; flex-direction: column; gap: .5rem; }
.mo-pk-snap[b-79bf2ufjbu] { border: 1px solid var(--bs-border-color); border-radius: 1rem; background: var(--bs-body-bg); }
.mo-pk-snap summary[b-79bf2ufjbu] { display: flex; align-items: center; gap: .55rem; padding: .75rem .95rem; cursor: pointer; list-style: none; }
.mo-pk-snap summary[b-79bf2ufjbu]::-webkit-details-marker { display: none; }
.mo-pk-snap summary i[b-79bf2ufjbu] { transition: transform .25s var(--pk-ease); color: var(--bs-secondary-color); }
.mo-pk-snap[open] summary i[b-79bf2ufjbu] { transform: rotate(180deg); }
.mo-pk-snap-title[b-79bf2ufjbu] { font-size: .9rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-pk-snap p[b-79bf2ufjbu] { margin: 0; padding: 0 .95rem .9rem; font-size: .82rem; line-height: 1.55; color: var(--bs-secondary-color); white-space: pre-wrap; }
.mo-pk-fid[b-79bf2ufjbu] { font-size: .78rem; font-weight: 700; }
.mo-pk-fid.is-high[b-79bf2ufjbu] { color: #3fb87f; }
.mo-pk-fid.is-mid[b-79bf2ufjbu] { color: #e2b440; }
.mo-pk-fid.is-low[b-79bf2ufjbu] { color: #ef9a50; }

.mo-pk-ver[b-79bf2ufjbu] { display: inline-flex; align-items: center; height: 1.25rem; padding: 0 .5rem; border-radius: 999px; background: var(--bs-tertiary-bg); font-size: .7rem; font-weight: 600; color: var(--bs-secondary-color); }
.mo-pk-persp[b-79bf2ufjbu] { display: inline-flex; align-items: center; height: 1.35rem; padding: 0 .6rem; border-radius: 999px; background: rgba(69, 162, 255, .14); color: #6fb0ff; font-size: .72rem; font-weight: 700; }

/* ---------- timeline ---------- */
.mo-pk-timeline[b-79bf2ufjbu] { position: relative; margin: 0; padding: 0 0 0 1.5rem; list-style: none; display: flex; flex-direction: column; gap: .8rem; }
.mo-pk-timeline[b-79bf2ufjbu]::before { content: ""; position: absolute; left: .4rem; top: .5rem; bottom: .5rem; width: 2px; background: var(--bs-border-color); }
.mo-pk-timeline li[b-79bf2ufjbu] { position: relative; animation: pk-slide-b-79bf2ufjbu .4s var(--pk-ease) backwards; }
.mo-pk-timeline li[b-79bf2ufjbu]::before {
    content: ""; position: absolute; left: -1.5rem; top: .3rem; width: .85rem; height: .85rem; border-radius: 50%;
    background: var(--bs-border-color); box-shadow: 0 0 0 3px var(--mo-surface);
}
.mo-pk-timeline li.is-head[b-79bf2ufjbu]::before { background: var(--pk-gold); box-shadow: 0 0 0 3px var(--mo-surface), 0 0 10px rgba(216, 168, 62, .55); }
.mo-pk-tl-title[b-79bf2ufjbu] { font-size: .92rem; font-weight: 700; line-height: 1.4; color: var(--bs-emphasis-color); }
.mo-pk-tl-meta[b-79bf2ufjbu] { display: flex; align-items: center; gap: .5rem; margin-top: .3rem; font-size: .78rem; color: var(--bs-secondary-color); }
.mo-pk-tl-rep[b-79bf2ufjbu] { padding: .6rem .8rem; border-radius: .9rem; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
.mo-pk-tl-rep-head[b-79bf2ufjbu] { display: flex; align-items: center; gap: .45rem; font-size: .84rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-pk-tl-rep-text[b-79bf2ufjbu] { margin-top: .2rem; font-size: .78rem; line-height: 1.5; color: var(--bs-secondary-color); }

/* ---------- preserved + conclude ---------- */
.mo-pk-kept[b-79bf2ufjbu] { display: flex; flex-direction: column; gap: .7rem; margin-top: .9rem; }
.mo-pk-kept > div[b-79bf2ufjbu] { padding: .75rem .9rem; border-radius: 1rem; background: var(--bs-tertiary-bg); }
.mo-pk-kept-label[b-79bf2ufjbu] { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-pk-kept-text[b-79bf2ufjbu] { margin-top: .25rem; font-size: .88rem; }

.mo-pk-conclude[b-79bf2ufjbu] {
    padding: 1.6rem; border-radius: 1.5rem; color: #fff;
    background: radial-gradient(360px circle at 100% 0%, rgba(216, 168, 62, .2), transparent 65%), linear-gradient(150deg, #13263d, #0a1626);
    border: 1px solid rgba(216, 168, 62, .28);
    animation: pk-up-b-79bf2ufjbu .6s .3s var(--pk-ease) backwards;
}
.mo-pk-conclude h2[b-79bf2ufjbu] { color: #fff; }
.mo-pk-conclude p[b-79bf2ufjbu] { margin: .5rem 0 1.1rem; font-size: .86rem; line-height: 1.6; color: #c3cbe0; }
.mo-pk-conclude-warn[b-79bf2ufjbu] {
    margin: .85rem 0 1rem; padding: .85rem 1rem; border-radius: 1rem;
    background: rgba(245, 196, 107, .14); border: 1px solid rgba(245, 196, 107, .5); color: #f8dda2;
    font-size: .86rem; line-height: 1.55; animation: pk-pop-b-79bf2ufjbu .3s var(--pk-ease) backwards;
}

/* ---------- loading / empty ---------- */
.mo-pk-skeleton[b-79bf2ufjbu] {
    height: 14rem; border-radius: 1.5rem; border: 1px solid var(--bs-border-color);
    background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%); background-size: 300% 100%;
    animation: pk-shimmer-b-79bf2ufjbu 1.4s linear infinite; animation-delay: calc(var(--i, 0) * 120ms);
}
.mo-pk-skeleton.is-hero[b-79bf2ufjbu] { height: 17rem; border-radius: 1.75rem; }
.mo-pk-empty[b-79bf2ufjbu] {
    display: flex; flex-direction: column; align-items: center; gap: .7rem; padding: 3.5rem 1.5rem; text-align: center;
    border: 1px dashed var(--bs-border-color); border-radius: 1.5rem; color: var(--bs-secondary-color);
    animation: pk-up-b-79bf2ufjbu .5s var(--pk-ease) backwards;
}
.mo-pk-empty i[b-79bf2ufjbu] { font-size: 1.8rem; color: var(--pk-gold); }
.mo-pk-empty p[b-79bf2ufjbu] { margin: 0; max-width: 32rem; line-height: 1.6; }

/* ---------- motion ---------- */
@keyframes pk-up-b-79bf2ufjbu { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes pk-pop-b-79bf2ufjbu { from { opacity: 0; scale: .96; } to { opacity: 1; scale: 1; } }
@keyframes pk-slide-b-79bf2ufjbu { from { opacity: 0; translate: -10px 0; } to { opacity: 1; translate: none; } }
@keyframes pk-fade-b-79bf2ufjbu { from { opacity: 0; } }
@keyframes pk-float-a-b-79bf2ufjbu { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes pk-float-b-b-79bf2ufjbu { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes pk-pulse-b-79bf2ufjbu { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes pk-shimmer-b-79bf2ufjbu { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .mo-pk *[b-79bf2ufjbu] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .mo-pk-hero-inner[b-79bf2ufjbu] { flex-direction: column; }
    .mo-pk-outcome[b-79bf2ufjbu] { width: auto; }
    .mo-pk-cols[b-79bf2ufjbu], .mo-pk-grid[b-79bf2ufjbu] { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
    .mo-pk-hero-inner[b-79bf2ufjbu] { padding: 1.75rem 1.25rem; gap: 1.5rem; }
    .mo-pk-node[b-79bf2ufjbu] { flex-direction: column; align-items: stretch; }
    .mo-pk-node-act[b-79bf2ufjbu] { flex-direction: row; }
}

.mo-pk-scope[b-79bf2ufjbu] { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 600; color: var(--bs-secondary-color); }
a.mo-pk-tl-title[b-79bf2ufjbu] { display: inline-flex; align-items: baseline; gap: .35rem; text-decoration: none; transition: color .2s ease; }
a.mo-pk-tl-title i[b-79bf2ufjbu] { font-size: .75rem; opacity: 0; transition: opacity .2s ease; }
a.mo-pk-tl-title:hover[b-79bf2ufjbu] { color: var(--pk-gold); }
a.mo-pk-tl-title:hover i[b-79bf2ufjbu] { opacity: 1; }
/* /Components/Pages/OpportunityPreparation.razor.rz.scp.css */
/* =========================================================
   OPPORTUNITY PREPARATION WORKSPACE
   Layout after the "Prepare (executive)" mockup: a dark hero with stages
   + coverage ring, then a left column (evidence -> gaps -> conversation)
   and a right column (role, CV, letter, outputs, finish). Colours come
   from app.css tokens; the hero and the Finish card stay dark in both
   themes, as in the mockup.
   ========================================================= */

.mo-pp[b-tnzcsy14mo] {
    --pp-gold: var(--mo-violet);
    --pp-gold-soft: rgba(216, 168, 62, .14);
    --pp-gold-line: rgba(216, 168, 62, .45);
    --pp-ease: cubic-bezier(.2, .8, .2, 1);
    --pp-radius: 1.6rem;
    margin: 0 auto;
    padding: .5rem 0 5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* ---------- top strip ---------- */
.mo-pp-topbar[b-tnzcsy14mo] { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.mo-pp-back[b-tnzcsy14mo] {
    display: inline-flex; align-items: center; gap: .35rem;
    height: 2.25rem; padding: 0 .9rem 0 .6rem; border-radius: 999px;
    background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color); font-size: .82rem; font-weight: 600; text-decoration: none;
    transition: border-color .2s ease, transform .2s var(--pp-ease);
}
.mo-pp-back:hover[b-tnzcsy14mo] { border-color: var(--pp-gold-line); color: var(--bs-body-color); transform: translateX(-2px); }
.mo-pp-private[b-tnzcsy14mo] {
    display: inline-flex; align-items: center; gap: .45rem;
    height: 2rem; padding: 0 .8rem; border-radius: 999px;
    background: var(--pp-gold-soft); color: var(--pp-gold); font-size: .78rem; font-weight: 600;
}

/* ---------- hero ---------- */
.mo-pp-hero[b-tnzcsy14mo] {
    position: relative;
    overflow: hidden;
    border-radius: 1.75rem;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    color: #fff;
    box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: mo-pp-up-b-tnzcsy14mo .7s var(--pp-ease) both;
}
.mo-pp-orb[b-tnzcsy14mo] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-pp-orb.is-a[b-tnzcsy14mo] {
    left: -120px; top: -140px; width: 460px; height: 460px;
    background: radial-gradient(circle, rgba(216, 168, 62, .42), rgba(216, 168, 62, 0) 70%);
    animation: mo-pp-float-a-b-tnzcsy14mo 14s ease-in-out infinite;
}
.mo-pp-orb.is-b[b-tnzcsy14mo] {
    right: 120px; bottom: -220px; width: 520px; height: 520px;
    background: radial-gradient(circle, rgba(72, 197, 170, .32), rgba(72, 197, 170, 0) 70%);
    animation: mo-pp-float-b-b-tnzcsy14mo 18s ease-in-out infinite;
}
.mo-pp-hero-inner[b-tnzcsy14mo] { position: relative; display: flex; align-items: center; gap: 3rem; padding: 2.6rem 2.75rem 1.6rem; }
.mo-pp-hero-copy[b-tnzcsy14mo] { flex: 1 1 auto; min-width: 0; }
.mo-pp-kicker[b-tnzcsy14mo] {
    display: flex; align-items: center; gap: .6rem;
    font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a;
}
.mo-pp-pulse[b-tnzcsy14mo] { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--pp-gold); animation: mo-pp-pulse-b-tnzcsy14mo 1.8s ease-out infinite; }
.mo-pp-pulse.is-small[b-tnzcsy14mo] { width: 9px; height: 9px; }
.mo-pp-hero h1[b-tnzcsy14mo] {
    margin: .75rem 0 .5rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 4.4vw, 3.25rem);
    font-weight: 600; line-height: 1.05; letter-spacing: -.01em; color: #fff;
}
.mo-pp-hero-sub[b-tnzcsy14mo] { font-size: 1.1rem; color: #d6dceb; }
.mo-pp-hero p[b-tnzcsy14mo] { max-width: 35rem; margin: 1rem 0 1.4rem; font-size: .97rem; line-height: 1.6; color: #c3cbe0; }
.mo-pp-hero-foot[b-tnzcsy14mo] { position: relative; padding: 0 2.75rem 1.4rem; font-size: .78rem; color: #9aa6c2; }


.mo-pp-cov[b-tnzcsy14mo] {
    flex: none; width: 21rem;
    display: flex; align-items: center; gap: 1.35rem;
    padding: 1.5rem 1.6rem; border-radius: 1.75rem;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(6px);
    animation: mo-pp-pop-b-tnzcsy14mo .8s .15s var(--pp-ease) both;
}
.mo-pp-ring[b-tnzcsy14mo] { position: relative; flex: none; width: 7.75rem; height: 7.75rem; }
.mo-pp-ring svg[b-tnzcsy14mo] { width: 100%; height: 100%; transform: rotate(-90deg); }
.mo-pp-ring circle[b-tnzcsy14mo] { fill: none; stroke-width: 10; }
.mo-pp-ring-track[b-tnzcsy14mo] { stroke: rgba(255, 255, 255, .16); }
.mo-pp-ring-fill[b-tnzcsy14mo] {
    stroke: var(--pp-gold); stroke-linecap: round; stroke-dasharray: 100;
    filter: drop-shadow(0 0 6px rgba(216, 168, 62, .55));
    transition: stroke-dashoffset 1.2s var(--pp-ease);
    animation: mo-pp-ring-b-tnzcsy14mo 1.4s .3s var(--pp-ease) backwards;
}
.mo-pp-ring-value[b-tnzcsy14mo] {
    position: absolute; inset: 0; display: grid; place-items: center;
    font-family: Georgia, "Times New Roman", serif; font-size: 2.25rem; font-weight: 600; line-height: 1;
}
.mo-pp-ring-value small[b-tnzcsy14mo] { font-size: 1.1rem; }
.mo-pp-cov-label[b-tnzcsy14mo] { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f0d79a; }
.mo-pp-cov-note[b-tnzcsy14mo] { margin-top: .4rem; font-size: .82rem; line-height: 1.5; color: #d6dceb; }

/* ---------- stepper (sticky under the app header) ---------- */
.mo-pp [id^="prep-"][b-tnzcsy14mo] { scroll-margin-top: 9.5rem; }
.mo-pp-stepbar[b-tnzcsy14mo] {
    position: sticky; top: 4.75rem; z-index: 20;
    display: flex; align-items: center; gap: .35rem;
    padding: .55rem .7rem; border-radius: 1.1rem;
    border: 1px solid var(--bs-border-color);
    background: color-mix(in srgb, var(--bs-body-bg) 82%, transparent);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    overflow-x: auto; scrollbar-width: none;
    animation: mo-pp-up-b-tnzcsy14mo .5s .2s var(--pp-ease) backwards;
}
.mo-pp-stepbtn[b-tnzcsy14mo] {
    flex: none; display: flex; align-items: center; gap: .6rem;
    padding: .4rem .75rem .4rem .45rem; border: 1px solid transparent; border-radius: .9rem;
    background: transparent; color: var(--bs-secondary-color); text-align: left;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.mo-pp-stepbtn:hover[b-tnzcsy14mo] { background: var(--bs-tertiary-bg); color: var(--bs-body-color); }
.mo-pp-stepdot[b-tnzcsy14mo] {
    flex: none; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 50%;
    border: 1.5px solid var(--bs-border-color); font-size: .8rem; font-weight: 700;
    transition: all .3s var(--pp-ease);
}
.mo-pp-steptext[b-tnzcsy14mo] { display: flex; flex-direction: column; line-height: 1.2; }
.mo-pp-steplabel[b-tnzcsy14mo] { font-size: .84rem; font-weight: 700; white-space: nowrap; }
.mo-pp-stephint[b-tnzcsy14mo] { font-size: .7rem; white-space: nowrap; opacity: .8; }
.mo-pp-stepbtn.is-done[b-tnzcsy14mo] { color: var(--bs-body-color); }
.mo-pp-stepbtn.is-done .mo-pp-stepdot[b-tnzcsy14mo] { background: rgba(72, 197, 138, .18); border-color: rgba(72, 197, 138, .6); color: #3fb87f; }
.mo-pp-stepbtn.is-current[b-tnzcsy14mo] { background: var(--pp-gold-soft); border-color: var(--pp-gold-line); color: var(--bs-emphasis-color); }
.mo-pp-stepbtn.is-current .mo-pp-stepdot[b-tnzcsy14mo] { background: var(--pp-gold); border-color: var(--pp-gold); color: var(--mo-ink); animation: mo-pp-pulse-b-tnzcsy14mo 2s ease-out infinite; }
.mo-pp-stepline[b-tnzcsy14mo] { flex: 1 1 1.5rem; min-width: 1rem; height: 2px; border-radius: 2px; background: var(--bs-border-color); transition: background .4s ease; }
.mo-pp-stepline.is-done[b-tnzcsy14mo] { background: rgba(72, 197, 138, .6); }

/* ---------- "Next" at the end of each step ---------- */
.mo-pp-next[b-tnzcsy14mo] { display: flex; justify-content: flex-end; padding-top: .3rem; }
.mo-pp-next button[b-tnzcsy14mo] {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .45rem .9rem; border: 1px dashed var(--pp-gold-line); border-radius: 999px;
    background: transparent; color: var(--pp-gold); font-size: .82rem; font-weight: 600;
    transition: background .2s ease, border-style .2s ease;
}
.mo-pp-next button:hover[b-tnzcsy14mo] { background: var(--pp-gold-soft); border-style: solid; }
.mo-pp-next button i[b-tnzcsy14mo] { transition: transform .2s var(--pp-ease); }
.mo-pp-next button:hover i[b-tnzcsy14mo] { transform: translateY(2px); }

/* ---------- step 4: your documents ---------- */
.mo-pp-num.is-4[b-tnzcsy14mo] { background: rgba(69, 162, 255, .18); color: #4f9dff; }
.mo-pp-docs-grid[b-tnzcsy14mo] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.mo-pp-outputs.is-step[b-tnzcsy14mo] { margin: 0; padding: 0; border: 0; }
.mo-pp-outputs.is-step .mo-pp-outs[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .5rem; }
.mo-pp-outputs.is-step .mo-pp-out[b-tnzcsy14mo] { flex-direction: row; align-items: center; }
.mo-pp-letter-card[b-tnzcsy14mo] { background: var(--mo-surface-2); box-shadow: none; animation: none; }

.mo-pp-locked[b-tnzcsy14mo] {
    display: flex; align-items: center; justify-content: center; gap: .5rem;
    padding: .8rem 1rem; border-radius: 1rem;
    background: rgba(72, 197, 138, .16); border: 1px solid rgba(72, 197, 138, .45);
    color: #3fb87f; font-size: .9rem; font-weight: 600;
    animation: mo-pp-up-b-tnzcsy14mo .4s var(--pp-ease) both;
}

/* ---------- layout ---------- */
.mo-pp-layout[b-tnzcsy14mo] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.mo-pp-main[b-tnzcsy14mo], .mo-pp-side[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }
.mo-pp-side[b-tnzcsy14mo] { gap: 1.25rem; }

.mo-pp-card[b-tnzcsy14mo] {
    display: flex; flex-direction: column; gap: .9rem;
    padding: 1.6rem 1.75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--pp-radius);
    background: var(--mo-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    animation: mo-pp-up-b-tnzcsy14mo .6s var(--pp-ease) both;
    animation-delay: var(--d, 0s);
    transition: border-color .25s ease, box-shadow .25s ease;
}
.mo-pp-card:hover[b-tnzcsy14mo] { box-shadow: var(--mo-shadow); }
.mo-pp-card.is-side[b-tnzcsy14mo] { padding: 1.35rem 1.5rem; border-radius: 1.5rem; gap: .75rem; }
.mo-pp-card-head[b-tnzcsy14mo] { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.mo-pp-card-head h2[b-tnzcsy14mo], .mo-pp-side-head h2[b-tnzcsy14mo] {
    margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 600; color: var(--bs-emphasis-color);
}
.mo-pp-card-head h2[b-tnzcsy14mo] { font-size: 1.6rem; }
.mo-pp-side-head[b-tnzcsy14mo] { display: flex; align-items: center; gap: .6rem; }
.mo-pp-side-head h2[b-tnzcsy14mo] { font-size: 1.35rem; }
.mo-pp-num[b-tnzcsy14mo] {
    flex: none; width: 2rem; height: 2rem; border-radius: 50%;
    display: grid; place-items: center; font-size: .88rem; font-weight: 700;
}
.mo-pp-num.is-1[b-tnzcsy14mo] { background: var(--pp-gold-soft); color: var(--pp-gold); }
.mo-pp-num.is-2[b-tnzcsy14mo] { background: rgba(240, 140, 60, .18); color: #ef9a50; }
.mo-pp-num.is-3[b-tnzcsy14mo] { background: rgba(43, 181, 168, .18); color: #2bb5a8; }
.mo-pp-count[b-tnzcsy14mo] { font-size: .82rem; font-weight: 600; color: var(--bs-secondary-color); }
.mo-pp-lead[b-tnzcsy14mo] { margin: -.35rem 0 0 2.75rem; font-size: .88rem; line-height: 1.55; color: var(--bs-secondary-color); }
.mo-pp-label[b-tnzcsy14mo] { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-pp-sub-label[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .8rem; font-weight: 600; color: var(--bs-secondary-color); }
.mo-pp-side-text[b-tnzcsy14mo] { margin: 0; font-size: .86rem; line-height: 1.55; color: var(--bs-secondary-color); }
.mo-pp-side-note[b-tnzcsy14mo] { font-size: .78rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-pp-placeholder[b-tnzcsy14mo] {
    margin-left: 2.75rem; padding: 1.6rem 1.5rem; border-radius: 1.1rem;
    border: 1px dashed var(--bs-border-color); background: var(--mo-surface-2);
    text-align: center; font-size: .88rem; line-height: 1.55; color: var(--bs-secondary-color);
}
.mo-pp-alert[b-tnzcsy14mo] {
    padding: .55rem .8rem; border-radius: .8rem;
    background: rgba(224, 87, 91, .12); border: 1px solid rgba(224, 87, 91, .3);
    color: var(--mo-rose); font-size: .8rem;
}

/* ---------- buttons ---------- */
.mo-pp-btn[b-tnzcsy14mo] {
    flex: none;
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    height: 2.75rem; padding: 0 1.15rem;
    border-radius: 999px; border: 1px solid transparent;
    font-size: .84rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: transform .18s var(--pp-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.mo-pp-btn:hover:not(:disabled)[b-tnzcsy14mo] { transform: translateY(-1px); }
.mo-pp-btn:active:not(:disabled)[b-tnzcsy14mo] { transform: scale(.98); }
.mo-pp-btn:disabled[b-tnzcsy14mo] { opacity: .5; cursor: not-allowed; }
.mo-pp-btn.is-sm[b-tnzcsy14mo] { height: 2.4rem; padding: 0 .95rem; font-size: .8rem; }
.mo-pp-btn.is-lg[b-tnzcsy14mo] { height: 3.5rem; padding: 0 1.75rem; font-size: .95rem; }
.mo-pp-btn.is-block[b-tnzcsy14mo] { width: 100%; }
.mo-pp-btn.is-primary[b-tnzcsy14mo] { background: var(--pp-gold); color: var(--mo-ink); box-shadow: 0 6px 16px rgba(216, 168, 62, .25); }
.mo-pp-btn.is-primary:hover:not(:disabled)[b-tnzcsy14mo] { background: var(--mo-violet-600); color: var(--mo-ink); }
.mo-pp-btn.is-outline[b-tnzcsy14mo] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.mo-pp-btn.is-outline:hover:not(:disabled)[b-tnzcsy14mo] { border-color: var(--pp-gold-line); }
.mo-pp-btn.is-soft[b-tnzcsy14mo] { background: var(--pp-gold-soft); border-color: var(--pp-gold-line); color: var(--pp-gold); }
.mo-pp-btn.is-ok[b-tnzcsy14mo] { background: rgba(72, 197, 138, .16); border-color: rgba(72, 197, 138, .45); color: #3fb87f; }
.mo-pp-btn.is-accept[b-tnzcsy14mo] { background: #1f7a55; color: #fff; }
.mo-pp-btn.is-dark[b-tnzcsy14mo] { background: var(--bs-emphasis-color); color: var(--bs-body-bg); align-self: flex-start; }
.mo-pp-btn.is-light[b-tnzcsy14mo] { background: #fff; color: #111b26; }
.mo-pp-btn.is-gold[b-tnzcsy14mo] { background: #f0c85e; color: #111b26; font-weight: 700; }
.mo-pp-btn.is-ghost-light[b-tnzcsy14mo] { background: transparent; border-color: rgba(255, 255, 255, .4); color: #fff; }
.mo-pp-link[b-tnzcsy14mo] { padding: 0; border: 0; background: none; color: var(--pp-gold); font-size: .82rem; font-weight: 600; align-self: flex-start; }
.mo-pp-link:hover[b-tnzcsy14mo] { text-decoration: underline; text-underline-offset: 3px; }
.mo-pp-row-actions[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

/* ---------- 1 what you share ---------- */
.mo-pp-num.is-scope[b-tnzcsy14mo] { background: rgba(72, 197, 138, .18); color: #3fb87f; }
.mo-pp-scope[b-tnzcsy14mo] { border-color: var(--pp-gold-line); }
.mo-pp-scope-grid[b-tnzcsy14mo] { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1.25rem; align-items: stretch; }
/* The picker is taken out of flow so the row's height comes from the AI panel (min 28rem); the list then fills it. */
.mo-pp-scope-pick[b-tnzcsy14mo] { position: relative; min-width: 0; min-height: 28rem; }
.mo-pp-scope-fill[b-tnzcsy14mo] { position: absolute; inset: 0; }
.mo-pp-review[b-tnzcsy14mo] {
    align-self: start;
    display: flex; flex-direction: column; gap: .75rem;
    padding: 1.1rem 1.15rem; border-radius: 1.1rem;
    background: radial-gradient(300px circle at 100% 0%, rgba(216, 168, 62, .14), transparent 70%), var(--mo-surface-2);
    border: 1px solid var(--bs-border-color);
}
.mo-pp-review-head[b-tnzcsy14mo] { display: flex; align-items: center; gap: .7rem; }
.mo-pp-review-orb[b-tnzcsy14mo] {
    flex: none; width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: 50%;
    background: var(--pp-gold-soft); color: var(--pp-gold); font-size: 1rem;
    animation: mo-pp-pulse-b-tnzcsy14mo 2.4s ease-out infinite;
}
.mo-pp-review-summary[b-tnzcsy14mo] { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--bs-body-color); animation: mo-pp-pop-b-tnzcsy14mo .35s var(--pp-ease) both; }
.mo-pp-review-stats[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .78rem; color: var(--bs-secondary-color); }
.mo-pp-review-stats span[b-tnzcsy14mo] { padding: .2rem .6rem; border-radius: 999px; background: var(--bs-tertiary-bg); }
.mo-pp-review-stats b[b-tnzcsy14mo] { color: var(--bs-emphasis-color); }
.mo-pp-review-stats span[b-tnzcsy14mo] { transition: background .25s ease, color .25s ease; }
.mo-pp-review-stats span.is-strong b[b-tnzcsy14mo] { color: #3fb87f; }
.mo-pp-review-stats span.is-some b[b-tnzcsy14mo] { color: #4f9dff; }
.mo-pp-chip.is-gap[b-tnzcsy14mo] { background: rgba(240, 140, 60, .14); color: #ef9a50; animation: mo-pp-pop-b-tnzcsy14mo .3s var(--pp-ease) both; }
.mo-pp-chip.is-covered[b-tnzcsy14mo] { display: inline-flex; align-items: center; gap: .25rem; background: rgba(72, 197, 138, .14); color: #3fb87f; text-decoration: line-through; text-decoration-color: rgba(72, 197, 138, .5); animation: mo-pp-pop-b-tnzcsy14mo .3s var(--pp-ease) both; }
.mo-pp-review-adds[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .45rem; }
.mo-pp-review-add[b-tnzcsy14mo] {
    display: flex; align-items: flex-start; gap: .6rem;
    padding: .6rem .7rem; border-radius: .85rem;
    border: 1px dashed rgba(72, 197, 138, .6); background: rgba(72, 197, 138, .06);
    animation: mo-pp-pop-b-tnzcsy14mo .35s var(--pp-ease) both;
}
.mo-pp-review-add-title[b-tnzcsy14mo] { font-size: .84rem; font-weight: 600; }
.mo-pp-stale[b-tnzcsy14mo] {
    display: flex; align-items: center; gap: .45rem;
    padding: .5rem .7rem; border-radius: .75rem;
    background: rgba(240, 200, 94, .12); border: 1px solid rgba(240, 200, 94, .45);
    color: #e2b440; font-size: .78rem; font-weight: 600;
}
.mo-pp-scope-foot[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding-top: .9rem; border-top: 1px dashed var(--bs-border-color); }
.mo-pp-scope-msg[b-tnzcsy14mo] { color: #3fb87f; font-weight: 600; }
.mo-pp-autosave[b-tnzcsy14mo] { display: inline-flex; align-items: center; gap: .3rem; margin-right: .6rem; font-weight: 600; transition: color .2s ease; }
.mo-pp-autosave.is-saved[b-tnzcsy14mo] { color: #3fb87f; }
.mo-pp-autosave.is-error[b-tnzcsy14mo] { color: var(--mo-rose); }
.mo-pp-stale.is-row[b-tnzcsy14mo] { animation: mo-pp-pop-b-tnzcsy14mo .3s var(--pp-ease) both; }

/* ---------- 1 evidence ---------- */
.mo-pp-docs[b-tnzcsy14mo] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.mo-pp-doc[b-tnzcsy14mo] {
    display: flex; align-items: center; gap: .75rem; min-height: 3.6rem; min-width: 0;
    padding: .7rem .85rem; border-radius: 1rem; cursor: pointer;
    background: var(--mo-surface); border: 1px solid var(--bs-border-color);
    animation: mo-pp-up-b-tnzcsy14mo .45s var(--pp-ease) both;
    animation-delay: calc(.15s + var(--i) * 45ms);
    transition: background .2s ease, border-color .2s ease, transform .2s var(--pp-ease);
}
.mo-pp-doc:hover[b-tnzcsy14mo] { border-color: var(--pp-gold-line); transform: translateY(-1px); }
.mo-pp-doc.is-on[b-tnzcsy14mo] { background: var(--pp-gold-soft); border-color: var(--pp-gold-line); }
.mo-pp-doc input[b-tnzcsy14mo] { flex: none; width: 1.1rem; height: 1.1rem; accent-color: var(--pp-gold); }
.mo-pp-ext[b-tnzcsy14mo] {
    flex: none; width: 2.15rem; height: 2.15rem; border-radius: .65rem;
    display: grid; place-items: center; font-size: .64rem; font-weight: 700;
    background: rgba(69, 162, 255, .18); color: #4f9dff;
}
.mo-pp-ext.is-pdf[b-tnzcsy14mo] { background: rgba(224, 87, 91, .18); color: #e86b6f; }
.mo-pp-ext.is-docx[b-tnzcsy14mo], .mo-pp-ext.is-doc[b-tnzcsy14mo] { background: rgba(69, 162, 255, .18); color: #4f9dff; }
.mo-pp-ext.is-md[b-tnzcsy14mo], .mo-pp-ext.is-txt[b-tnzcsy14mo] { background: rgba(72, 197, 138, .18); color: #3fb87f; }
.mo-pp-doc > .min-w-0[b-tnzcsy14mo] { flex: 1 1 auto; }
.mo-pp-doc-name[b-tnzcsy14mo] { display: block; font-size: .86rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-pp-doc-meta[b-tnzcsy14mo] { display: block; font-size: .74rem; color: var(--bs-secondary-color); }

.mo-pp-evidence-actions[b-tnzcsy14mo] { display: flex; align-items: center; gap: .85rem; }
.mo-pp-drop[b-tnzcsy14mo] {
    position: relative; flex: 1 1 auto; height: 3.5rem;
    display: flex; align-items: center; justify-content: center; gap: .6rem;
    border: 1.5px dashed var(--pp-gold-line); border-radius: 1rem;
    background: var(--pp-gold-soft); color: var(--pp-gold);
    font-size: .86rem; font-weight: 600;
    transition: background .2s ease, border-color .2s ease;
}
.mo-pp-drop:hover[b-tnzcsy14mo], .mo-pp-drop.is-busy[b-tnzcsy14mo] { border-color: var(--pp-gold); background: rgba(216, 168, 62, .2); }
.mo-pp-drop[b-tnzcsy14mo]  input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

/* ---------- AI proposals (upload + chat) ---------- */
.mo-pp-proposals[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .6rem; }
.mo-pp-proposal[b-tnzcsy14mo] {
    display: flex; flex-direction: column; gap: .4rem;
    padding: .9rem 1rem; border-radius: 1.1rem;
    background: var(--mo-surface-2); border: 1.5px solid var(--pp-gold-line);
    animation: mo-pp-pop-b-tnzcsy14mo .4s var(--pp-ease) both;
}
.mo-pp-proposal-head[b-tnzcsy14mo] {
    display: flex; flex-wrap: wrap; align-items: center; gap: .4rem;
    font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pp-gold);
}
.mo-pp-proposal-title[b-tnzcsy14mo] { font-size: .9rem; font-weight: 600; }
.mo-pp-proposal-text[b-tnzcsy14mo] { font-size: .84rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-pp-decided[b-tnzcsy14mo] { font-size: .82rem; font-weight: 700; color: var(--bs-secondary-color); animation: mo-pp-pop-b-tnzcsy14mo .3s var(--pp-ease) both; }
.mo-pp-decided.is-ok[b-tnzcsy14mo] { color: #3fb87f; }

/* ---------- status pills ---------- */
.mo-pp-status[b-tnzcsy14mo] {
    height: 1.5rem; padding: 0 .65rem;
    display: inline-flex; align-items: center;
    border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: 0; text-transform: none; white-space: nowrap;
    transition: background .25s ease, color .25s ease;
}
.mo-pp-status.is-none[b-tnzcsy14mo] { background: rgba(224, 87, 91, .16); color: #e86b6f; }
.mo-pp-status.is-clarify[b-tnzcsy14mo] { background: rgba(240, 200, 94, .16); color: #e2b440; }
.mo-pp-status.is-partial[b-tnzcsy14mo] { background: rgba(69, 162, 255, .16); color: #4f9dff; }
.mo-pp-status.is-ok[b-tnzcsy14mo] { background: rgba(72, 197, 138, .16); color: #3fb87f; }
.mo-pp-status.is-growth[b-tnzcsy14mo] { background: rgba(168, 85, 247, .16); color: #b98af5; }
.mo-pp-status.is-brand[b-tnzcsy14mo] { background: var(--pp-gold-soft); color: var(--pp-gold); }
.mo-pp-status.is-quiet[b-tnzcsy14mo] { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }

/* ---------- 2 gaps ---------- */
.mo-pp-gaps[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .6rem; }
.mo-pp-gap[b-tnzcsy14mo] {
    display: flex; align-items: flex-start; gap: 1rem;
    padding: 1rem 1.1rem; border-radius: 1.1rem;
    background: var(--mo-surface); border: 1.5px solid var(--bs-border-color);
    animation: mo-pp-up-b-tnzcsy14mo .45s var(--pp-ease) both;
    animation-delay: calc(var(--i) * 55ms);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.mo-pp-gap:hover[b-tnzcsy14mo] { border-color: var(--pp-gold-line); }
.mo-pp-gap.is-focus[b-tnzcsy14mo] { background: var(--pp-gold-soft); border-color: var(--pp-gold); box-shadow: 0 0 0 4px var(--pp-gold-soft); }
.mo-pp-gap-head[b-tnzcsy14mo] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.mo-pp-gap-req[b-tnzcsy14mo] { font-size: .95rem; font-weight: 700; }
.mo-pp-gap-why[b-tnzcsy14mo] { margin-top: .3rem; font-size: .84rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-pp-gap-actions[b-tnzcsy14mo] { flex: none; display: flex; flex-direction: column; gap: .4rem; align-items: stretch; }
.mo-pp-chips[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.mo-pp-chip[b-tnzcsy14mo] { padding: .2rem .6rem; border-radius: 999px; background: var(--bs-tertiary-bg); font-size: .72rem; font-weight: 600; color: var(--bs-secondary-color); }

/* ---------- conversation (in the header agent drawer) ---------- */
.mo-pp-agfocus[b-tnzcsy14mo] {
    display: flex; align-items: center; gap: .6rem;
    margin: 0 16px 8px; padding: .55rem .8rem; border-radius: .8rem;
    background: var(--pp-gold-soft); border: 1px solid var(--pp-gold-line);
    font-size: .8rem; animation: mo-pp-pop-b-tnzcsy14mo .35s var(--pp-ease) both;
}
.mo-pp-agfocus button[b-tnzcsy14mo] { border: 0; background: none; color: var(--pp-gold); font-size: .78rem; font-weight: 600; }
.mo-pp-agreqs[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.mo-pp-agreqs li[b-tnzcsy14mo] {
    display: flex; flex-direction: column; align-items: flex-start; gap: .35rem;
    padding: .7rem .8rem; border-radius: .85rem; border: 1px solid var(--ag-line2, var(--bs-border-color));
    transition: border-color .2s ease, background .2s ease;
}
.mo-pp-agreqs li.is-focus[b-tnzcsy14mo] { border-color: var(--pp-gold); background: var(--pp-gold-soft); }
.mo-pp-agreqs p[b-tnzcsy14mo] { margin: 0; font-size: .84rem; line-height: 1.45; }
.mo-pp-agreqs button[b-tnzcsy14mo] { padding: 0; border: 0; background: none; color: var(--pp-gold); font-size: .78rem; font-weight: 600; }
.mo-pp-agreqs button:hover[b-tnzcsy14mo] { text-decoration: underline; }

/* Locked preparation: the header pill and the conversation go grey and read-only. */
.ag-root.is-locked .ag-pill[b-tnzcsy14mo] { filter: grayscale(1); opacity: .6; }
.ag-root.is-locked .ag-pill:hover[b-tnzcsy14mo] { opacity: .85; }
.mo-pp-lockico[b-tnzcsy14mo] { font-size: .9rem; }
.mo-pp-aglocked[b-tnzcsy14mo] {
    display: flex; align-items: center; gap: .55rem;
    margin: 0 16px 8px; padding: .55rem .8rem; border-radius: .8rem;
    background: rgba(72, 197, 138, .12); border: 1px solid rgba(72, 197, 138, .4);
    color: #3fb87f; font-size: .8rem; font-weight: 600;
    animation: mo-pp-pop-b-tnzcsy14mo .35s var(--pp-ease) both;
}
.mo-pp-agdim[b-tnzcsy14mo] { filter: grayscale(.85); opacity: .6; transition: opacity .3s ease, filter .3s ease; }
.mo-pp-agdim:hover[b-tnzcsy14mo] { opacity: .8; }
.mo-pp-aginput-locked[b-tnzcsy14mo] {
    gap: .5rem; justify-content: center; cursor: not-allowed;
    color: var(--bs-secondary-color); font-size: .82rem;
    background: var(--bs-tertiary-bg); opacity: .8;
}

/* ---------- outputs (inside card 1, after analysis) ---------- */
.mo-pp-outputs[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .75rem; margin-top: .4rem; padding-top: 1.1rem; border-top: 1px dashed var(--bs-border-color); }
.mo-pp-outputs .mo-pp-outs[b-tnzcsy14mo] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.mo-pp-outputs .mo-pp-out[b-tnzcsy14mo] { flex-direction: column; align-items: stretch; gap: .6rem; padding: .85rem; }
.mo-pp-outputs .mo-pp-out .mo-pp-btn[b-tnzcsy14mo] { align-self: flex-start; }

/* ---------- right column ---------- */
.mo-pp-role-meta[b-tnzcsy14mo] { font-size: .82rem; font-weight: 600; color: var(--bs-body-color); }
.mo-pp-role-text[b-tnzcsy14mo] { margin: 0; font-size: .86rem; line-height: 1.6; color: var(--bs-secondary-color); }
.mo-pp-req-chips[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; gap: .35rem; }
.mo-pp-req[b-tnzcsy14mo] {
    padding: .3rem .7rem; border-radius: 999px;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color);
    font-size: .76rem; font-weight: 600;
    transition: background .4s ease, color .4s ease;
}
.mo-pp-req.is-ok[b-tnzcsy14mo] { background: rgba(72, 197, 138, .16); color: #3fb87f; }

.mo-pp-suggs[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .5rem; }
.mo-pp-sugg[b-tnzcsy14mo] {
    display: flex; flex-direction: column; gap: .5rem;
    padding: .8rem .9rem; border-radius: 1rem;
    background: var(--pp-gold-soft); border: 1px solid var(--pp-gold-line);
    animation: mo-pp-pop-b-tnzcsy14mo .4s var(--pp-ease) both;
}
.mo-pp-sugg-text[b-tnzcsy14mo] { display: flex; gap: .5rem; font-size: .84rem; line-height: 1.5; }
.mo-pp-sugg-why[b-tnzcsy14mo] { font-size: .74rem; color: var(--bs-secondary-color); }
.mo-pp-cvsec[b-tnzcsy14mo] {
    display: flex; flex-direction: column; gap: 1.25rem;
    padding: 1.75rem; border-radius: var(--pp-radius);
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: mo-pp-up-b-tnzcsy14mo .6s .2s var(--pp-ease) both;
}
.mo-pp-cvsec-head[b-tnzcsy14mo] { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.mo-pp-cvsec-head h2[b-tnzcsy14mo] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-pp-cvsec-head p[b-tnzcsy14mo] { margin: .2rem 0 0; font-size: .88rem; color: var(--bs-secondary-color); }
.mo-pp-num.is-cv[b-tnzcsy14mo] { width: 2.6rem; height: 2.6rem; background: var(--pp-gold-soft); color: var(--pp-gold); font-size: 1.1rem; }
.mo-pp-cvgrid[b-tnzcsy14mo] { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: 1.5rem; align-items: start; }
.mo-pp-cvgrid.is-solo[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
.mo-pp-cvgrid .mo-pp-suggs[b-tnzcsy14mo] { position: sticky; top: 5.5rem; }
.mo-pp-sugg[b-tnzcsy14mo] { animation-delay: calc(var(--i, 0) * 60ms); }
.mo-pp-sugg-why[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.mo-pp-paper[b-tnzcsy14mo] {
    padding: 2rem 1rem; border-radius: 1.1rem;
    background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color);
}
.mo-pp-paper[b-tnzcsy14mo]  .mo-doc-page { max-width: 52rem; margin: 0 auto; animation: mo-pp-up-b-tnzcsy14mo .5s .3s var(--pp-ease) both; }
.mo-pp-paper.is-compact[b-tnzcsy14mo] { padding: .75rem; max-height: 28rem; overflow-y: auto; }
.mo-pp-paper.is-compact[b-tnzcsy14mo]  .mo-doc-page { padding: 1.1rem 1.2rem; font-size: .84rem; }
.mo-pp-placeholder.is-flush[b-tnzcsy14mo] { margin-left: 0; }

.mo-pp-cv[b-tnzcsy14mo] {
    max-height: 26rem; overflow-y: auto;
    border-radius: 1rem; border: 1px solid var(--bs-border-color);
    background: var(--mo-surface-2);
}
.mo-pp-cv.is-letter[b-tnzcsy14mo] { max-height: 20rem; }
.mo-pp-cv[b-tnzcsy14mo]  .mo-doc-page { max-width: none; margin: 0; padding: 1.1rem 1.2rem; box-shadow: none; border-radius: 0; font-size: .82rem; }
.mo-pp-letter[b-tnzcsy14mo] {
    width: 100%; padding: .8rem .9rem; border-radius: 1rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface-2); color: var(--bs-body-color);
    font-size: .84rem; line-height: 1.6; resize: vertical;
}
.mo-pp-letter:focus[b-tnzcsy14mo] { outline: none; border-color: var(--pp-gold-line); box-shadow: 0 0 0 4px var(--pp-gold-soft); }

.mo-pp-outs[b-tnzcsy14mo] { display: flex; flex-direction: column; gap: .5rem; }
.mo-pp-out[b-tnzcsy14mo] {
    display: flex; align-items: center; gap: .75rem;
    padding: .7rem .85rem; border-radius: 1rem;
    background: var(--mo-surface-2); border: 1px solid var(--bs-border-color);
    transition: border-color .2s ease;
}
.mo-pp-out.is-current[b-tnzcsy14mo] { border-color: var(--pp-gold-line); }
.mo-pp-out-name[b-tnzcsy14mo] { font-size: .86rem; font-weight: 600; }
.mo-pp-out-desc[b-tnzcsy14mo] { font-size: .74rem; color: var(--bs-secondary-color); }
.mo-pp-out .mo-pp-btn[b-tnzcsy14mo] { min-width: 6rem; }

.mo-pp-finish[b-tnzcsy14mo] {
    position: relative; overflow: hidden;
    display: flex; align-items: center; gap: 2rem;
    padding: 2rem 2.25rem; border-radius: 1.75rem;
    background:
        radial-gradient(420px circle at 100% 0%, rgba(216, 168, 62, .2), transparent 65%),
        linear-gradient(135deg, #13263d, #0b1828);
    border: 1px solid rgba(216, 168, 62, .3);
    color: #fff;
    box-shadow: 0 24px 60px rgba(4, 10, 20, .3);
    animation: mo-pp-up-b-tnzcsy14mo .6s .25s var(--pp-ease) both;
}
.mo-pp-finish.is-locked[b-tnzcsy14mo] { border-color: rgba(72, 197, 138, .45); }
.mo-pp-finish .mo-pp-orb.is-a[b-tnzcsy14mo] { left: auto; right: -160px; top: -200px; }
.mo-pp-finish-copy[b-tnzcsy14mo] { position: relative; flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .7rem; }
.mo-pp-finish-step[b-tnzcsy14mo] { display: flex; align-items: center; gap: .55rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-pp-finish h2[b-tnzcsy14mo] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 600; color: #fff; }
.mo-pp-finish p[b-tnzcsy14mo] { margin: 0; max-width: 40rem; font-size: .92rem; line-height: 1.6; color: #c3cbe0; }
.mo-pp-finish p.is-done[b-tnzcsy14mo] { color: #9fe0bf; }
.mo-pp-finish-actions[b-tnzcsy14mo] { position: relative; flex: none; display: flex; flex-direction: column; gap: .6rem; min-width: 15rem; }
.mo-pp-finish-badge[b-tnzcsy14mo] {
    position: relative; flex: none; width: 4rem; height: 4rem; border-radius: 50%;
    display: grid; place-items: center; font-size: 1.5rem;
    background: rgba(72, 197, 138, .18); color: #3fb87f;
    animation: mo-pp-pop-b-tnzcsy14mo .5s var(--pp-ease) both;
}
.mo-pp-confirm[b-tnzcsy14mo] {
    padding: .85rem 1rem; border-radius: 1rem;
    background: rgba(240, 200, 94, .14); border: 1px solid rgba(240, 200, 94, .5);
    font-size: .86rem; line-height: 1.55; color: #f6dc9c;
    animation: mo-pp-pop-b-tnzcsy14mo .35s var(--pp-ease) both;
}
.mo-pp-finish-nodes[b-tnzcsy14mo] { font-size: .8rem; line-height: 1.5; color: #c3cbe0; }
.mo-pp-finish-nodes a[b-tnzcsy14mo] { color: #f0c85e; }
.mo-pp-finish-nodes ul[b-tnzcsy14mo] { margin: .5rem 0 0; padding-left: 1.1rem; }

/* ---------- output cards ---------- */
.mo-pp-out.is-ready[b-tnzcsy14mo] { border-color: rgba(72, 197, 138, .4); background: linear-gradient(180deg, rgba(72, 197, 138, .07), transparent 70%), var(--mo-surface-2); }
.mo-pp-out-pub[b-tnzcsy14mo] { display: inline-flex; align-items: center; gap: .25rem; margin-left: .4rem; color: #3fb87f; font-weight: 600; }
.mo-pp-spin[b-tnzcsy14mo] { display: inline-block; animation: mo-pp-spin-b-tnzcsy14mo .8s linear infinite; }
.mo-pp-cv.is-clickable[b-tnzcsy14mo] { position: relative; display: block; width: 100%; padding: 0; text-align: left; cursor: zoom-in; }
.mo-pp-cv-open[b-tnzcsy14mo] {
    position: sticky; bottom: .6rem; float: right; margin: 0 .6rem .6rem 0;
    display: inline-flex; align-items: center; gap: .35rem;
    padding: .3rem .7rem; border-radius: 999px;
    background: var(--bs-body-bg); border: 1px solid var(--pp-gold-line); color: var(--pp-gold);
    font-size: .74rem; font-weight: 600; opacity: 0; translate: 0 4px;
    transition: opacity .2s ease, translate .2s var(--pp-ease);
}
.mo-pp-cv.is-clickable:hover .mo-pp-cv-open[b-tnzcsy14mo], .mo-pp-cv.is-clickable:focus-visible .mo-pp-cv-open[b-tnzcsy14mo] { opacity: 1; translate: none; }

/* ---------- document viewer ---------- */
.mo-pp-viewer[b-tnzcsy14mo] { position: fixed; inset: 0; z-index: 1070; display: grid; place-items: center; padding: 1.5rem; outline: none; }
.mo-pp-viewer-scrim[b-tnzcsy14mo] { position: absolute; inset: 0; border: 0; background: rgba(4, 10, 18, .7); backdrop-filter: blur(4px); animation: mo-pp-fade-b-tnzcsy14mo .25s ease both; }
.mo-pp-viewer-panel[b-tnzcsy14mo] {
    position: relative; width: min(62rem, 100%); height: min(92vh, 100%);
    display: flex; flex-direction: column;
    border-radius: 1.5rem; border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg); box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
    overflow: hidden;
    animation: mo-pp-viewer-in-b-tnzcsy14mo .4s var(--pp-ease) both;
}
.mo-pp-viewer-head[b-tnzcsy14mo] { display: flex; align-items: flex-start; gap: 1rem; padding: 1.4rem 1.6rem 1rem; border-bottom: 1px solid var(--bs-border-color); }
.mo-pp-viewer-head h2[b-tnzcsy14mo] { margin: .25rem 0 .35rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-pp-viewer-meta[b-tnzcsy14mo] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .8rem; color: var(--bs-secondary-color); }
.mo-pp-viewer-close[b-tnzcsy14mo] {
    flex: none; width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
    border: 0; border-radius: 50%; background: var(--bs-tertiary-bg); color: var(--bs-body-color);
    transition: transform .25s var(--pp-ease), background .2s ease;
}
.mo-pp-viewer-close:hover[b-tnzcsy14mo] { transform: rotate(90deg); background: var(--pp-gold-soft); }
.mo-pp-viewer-tabs[b-tnzcsy14mo] { display: flex; gap: .4rem; padding: .75rem 1.6rem 0; overflow-x: auto; }
.mo-pp-viewer-tabs button[b-tnzcsy14mo] {
    flex: none; height: 2.25rem; padding: 0 .95rem; border-radius: 999px;
    border: 1px solid var(--bs-border-color); background: transparent; color: var(--bs-secondary-color);
    font-size: .8rem; font-weight: 600; transition: all .2s ease;
}
.mo-pp-viewer-tabs button:hover[b-tnzcsy14mo] { color: var(--bs-body-color); border-color: var(--pp-gold-line); }
.mo-pp-viewer-tabs button.is-active[b-tnzcsy14mo] { background: var(--pp-gold-soft); border-color: var(--pp-gold-line); color: var(--pp-gold); }
.mo-pp-viewer-body[b-tnzcsy14mo] { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1.75rem 1.25rem; background: var(--bs-tertiary-bg); }
.mo-pp-viewer-body[b-tnzcsy14mo]  .mo-doc-page { max-width: 50rem; margin: 0 auto; animation: mo-pp-up-b-tnzcsy14mo .45s var(--pp-ease) both; }
.mo-pp-viewer-notes[b-tnzcsy14mo] { display: flex; gap: .5rem; max-width: 50rem; margin: 1rem auto 0; font-size: .8rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-pp-viewer-foot[b-tnzcsy14mo] { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; padding: 1rem 1.6rem 1.2rem; border-top: 1px solid var(--bs-border-color); }

/* ---------- About this role: floating button that opens upward ---------- */
.mo-pp-about[b-tnzcsy14mo] {
    --pp-gold: var(--mo-violet);
    --pp-gold-soft: rgba(216, 168, 62, .14);
    --pp-gold-line: rgba(216, 168, 62, .45);
    --pp-ease: cubic-bezier(.2, .8, .2, 1);
    position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 1040;
    display: flex; flex-direction: column; align-items: flex-end; gap: .75rem;
    pointer-events: none;
}
.mo-pp-about > *[b-tnzcsy14mo] { pointer-events: auto; }
.mo-pp-about-fab[b-tnzcsy14mo] {
    display: inline-flex; align-items: center; gap: .55rem;
    height: 3.1rem; padding: 0 1.2rem 0 1rem; border-radius: 999px;
    border: 1px solid var(--pp-gold-line);
    background: linear-gradient(135deg, #13263d, #0b1828); color: #fff;
    font-size: .88rem; font-weight: 600;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
    animation: mo-pp-pop-b-tnzcsy14mo .45s .4s var(--pp-ease) backwards;
    transition: transform .2s var(--pp-ease), box-shadow .2s ease, border-color .2s ease;
}
.mo-pp-about-fab:hover[b-tnzcsy14mo] { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(0, 0, 0, .45); border-color: var(--pp-gold); }
.mo-pp-about-fab i[b-tnzcsy14mo] { color: #f0c85e; transition: transform .3s var(--pp-ease); }
.mo-pp-about.is-open .mo-pp-about-fab i[b-tnzcsy14mo] { transform: rotate(90deg); }
.mo-pp-about-badge[b-tnzcsy14mo] {
    min-width: 1.35rem; height: 1.35rem; padding: 0 .35rem; display: grid; place-items: center;
    border-radius: 999px; background: #ef9a50; color: #111b26; font-size: .7rem; font-weight: 700;
}
.mo-pp-about-panel[b-tnzcsy14mo] {
    width: min(26rem, calc(100vw - 2rem)); max-height: min(70vh, 40rem);
    display: flex; flex-direction: column;
    border-radius: 1.3rem; border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg); box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
    overflow: hidden;
    transform-origin: bottom right;
    opacity: 0; visibility: hidden; transform: translateY(12px) scale(.94);
    transition: opacity .2s ease, transform .3s var(--pp-ease), visibility 0s linear .3s;
}
.mo-pp-about.is-open .mo-pp-about-panel[b-tnzcsy14mo] { opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease, transform .3s var(--pp-ease); }
.mo-pp-about-head[b-tnzcsy14mo] {
    flex: none; display: flex; align-items: flex-start; gap: .75rem;
    padding: 1rem 1.1rem .8rem; border-bottom: 1px solid var(--bs-border-color);
    background: radial-gradient(260px circle at 100% 0%, rgba(216, 168, 62, .14), transparent 70%), var(--mo-surface);
}
.mo-pp-about-title[b-tnzcsy14mo] { margin-top: .2rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-pp-about-close[b-tnzcsy14mo] {
    flex: none; width: 2.2rem; height: 2.2rem; display: grid; place-items: center;
    border: 0; border-radius: 50%; background: var(--bs-tertiary-bg); color: var(--bs-body-color);
    transition: transform .25s var(--pp-ease);
}
.mo-pp-about-close:hover[b-tnzcsy14mo] { transform: rotate(90deg); }
.mo-pp-about-body[b-tnzcsy14mo] { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: .75rem; padding: 1rem 1.1rem 1.2rem; }

/* ---------- loading / empty ---------- */
.mo-pp-skeleton[b-tnzcsy14mo], .mo-pp-shimmer[b-tnzcsy14mo] {
    background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%);
    background-size: 300% 100%;
    animation: mo-pp-shimmer-b-tnzcsy14mo 1.4s linear infinite;
}
.mo-pp-skeleton[b-tnzcsy14mo] { height: 18rem; border-radius: var(--pp-radius); border: 1px solid var(--bs-border-color); }
.mo-pp-skeleton.is-hero[b-tnzcsy14mo] { height: 16rem; border-radius: 1.75rem; }
.mo-pp-shimmer[b-tnzcsy14mo] { height: 3.6rem; border-radius: 1rem; }
.mo-pp-shimmer.is-letter[b-tnzcsy14mo] { height: 7.5rem; }
.mo-pp-empty[b-tnzcsy14mo] {
    display: flex; flex-direction: column; align-items: center; gap: .9rem;
    padding: 3.5rem 1.5rem; text-align: center;
    border: 1px dashed var(--bs-border-color); border-radius: var(--pp-radius);
    background: var(--mo-surface); color: var(--bs-secondary-color);
}
.mo-pp-empty i[b-tnzcsy14mo] { font-size: 1.8rem; color: var(--pp-gold); }
.mo-pp-empty p[b-tnzcsy14mo] { margin: 0; max-width: 28rem; }
.mo-pp-reveal[b-tnzcsy14mo] { animation: mo-pp-pop-b-tnzcsy14mo .35s var(--pp-ease) both; }

/* ---------- motion ---------- */
@keyframes mo-pp-float-a-b-tnzcsy14mo { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes mo-pp-float-b-b-tnzcsy14mo { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes mo-pp-up-b-tnzcsy14mo { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes mo-pp-pop-b-tnzcsy14mo { from { opacity: 0; scale: .96; } to { opacity: 1; scale: 1; } }
@keyframes mo-pp-pulse-b-tnzcsy14mo { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes mo-pp-ring-b-tnzcsy14mo { from { stroke-dashoffset: 100; } }
@keyframes mo-pp-spin-b-tnzcsy14mo { to { transform: rotate(360deg); } }
@keyframes mo-pp-fade-b-tnzcsy14mo { from { opacity: 0; } }
@keyframes mo-pp-viewer-in-b-tnzcsy14mo { from { opacity: 0; translate: 0 24px; scale: .98; } to { opacity: 1; translate: none; scale: 1; } }
@keyframes mo-pp-shimmer-b-tnzcsy14mo { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .mo-pp *[b-tnzcsy14mo], .mo-pp *[b-tnzcsy14mo]::before, .mo-pp *[b-tnzcsy14mo]::after, .mo-pp[b-tnzcsy14mo]  * { animation: none !important; transition: none !important; }
    .mo-pp-about *[b-tnzcsy14mo] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 899px) {
    .mo-pp-about[b-tnzcsy14mo] { bottom: 5rem; right: 1rem; }
}

@media (max-width: 1100px) {
    .mo-pp-layout[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
    .mo-pp-docs-grid[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
    .mo-pp-steptext[b-tnzcsy14mo] { display: none; }
    .mo-pp-stepbtn.is-current .mo-pp-steptext[b-tnzcsy14mo] { display: flex; }
    .mo-pp-scope-grid[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
    .mo-pp-scope-pick[b-tnzcsy14mo] { height: 30rem; min-height: 0; }
    .mo-pp-cvgrid[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
    .mo-pp-cvgrid .mo-pp-suggs[b-tnzcsy14mo] { position: static; }
    .mo-pp-hero-inner[b-tnzcsy14mo] { flex-direction: column; align-items: stretch; gap: 1.75rem; }
    .mo-pp-cov[b-tnzcsy14mo] { width: auto; }
}

@media (max-width: 720px) {
    .mo-pp-hero-inner[b-tnzcsy14mo] { padding: 1.75rem 1.25rem 1.25rem; }
    .mo-pp-hero-foot[b-tnzcsy14mo] { padding: 0 1.25rem 1.25rem; }
    .mo-pp-card[b-tnzcsy14mo] { padding: 1.25rem; }
    /* minmax(0, …): a plain 1fr grows to fit a long file name and pushes the card off-screen. */
    .mo-pp-docs[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
    .mo-pp-doc-name[b-tnzcsy14mo] { white-space: normal; overflow-wrap: anywhere; }
    .mo-pp-evidence-actions[b-tnzcsy14mo] { flex-direction: column; align-items: stretch; }
    .mo-pp-lead[b-tnzcsy14mo], .mo-pp-placeholder[b-tnzcsy14mo] { margin-left: 0; }
    .mo-pp-gap[b-tnzcsy14mo] { flex-direction: column; }
    .mo-pp-gap-actions[b-tnzcsy14mo] { flex-direction: row; flex-wrap: wrap; }
    .mo-pp-outputs .mo-pp-outs[b-tnzcsy14mo] { grid-template-columns: minmax(0, 1fr); }
    .mo-pp-cvsec[b-tnzcsy14mo] { padding: 1.25rem; }
    .mo-pp-paper[b-tnzcsy14mo] { padding: .75rem; }
    .mo-pp-finish[b-tnzcsy14mo] { flex-direction: column; align-items: stretch; padding: 1.5rem; }
    .mo-pp-finish-actions[b-tnzcsy14mo] { min-width: 0; }
    .mo-pp-viewer[b-tnzcsy14mo] { padding: 0; }
    .mo-pp-viewer-panel[b-tnzcsy14mo] { height: 100%; border-radius: 0; }
    .mo-pp-viewer-head[b-tnzcsy14mo], .mo-pp-viewer-foot[b-tnzcsy14mo] { padding-left: 1rem; padding-right: 1rem; }
}
/* /Components/Pages/Plan.razor.rz.scp.css */
.pl-hero h1[b-coxcmmn25w] {
    margin: .6rem 0 .4rem;
    font-size: 2.6rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #f0d79a;
}

.pl-hero p[b-coxcmmn25w] {
    margin: 0 0 1.3rem;
    color: #c6d3e3;
    max-width: 40rem;
}

.pl-section[b-coxcmmn25w] {
    margin-top: 2rem;
}

.pl-h2[b-coxcmmn25w] {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 .8rem;
}

.pl-account-note[b-coxcmmn25w] {
    margin: 0 0 .9rem;
    padding: .6rem .9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .7rem;
    font-size: .85rem;
    color: var(--bs-secondary-color);
}

.pl-account-note strong[b-coxcmmn25w] {
    color: var(--mo-violet);
}

.pl-usage[b-coxcmmn25w],
.pl-compare[b-coxcmmn25w] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.pl-card[b-coxcmmn25w] {
    padding: 1.2rem 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .95rem;
    background: var(--mo-surface);
    box-shadow: var(--mo-shadow);
}

.pl-label[b-coxcmmn25w] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.pl-big[b-coxcmmn25w] {
    margin: .5rem 0 .6rem;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

.pl-big small[b-coxcmmn25w] {
    font-size: .9rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
}

.pl-bar[b-coxcmmn25w] {
    height: .55rem;
    border-radius: 999px;
    background: var(--bs-border-color);
    overflow: hidden;
    margin-bottom: .5rem;
}

.pl-bar span[b-coxcmmn25w] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mo-violet);
}

.pl-bar span.is-warn[b-coxcmmn25w] {
    background: var(--mo-amber);
}

.pl-bar span.is-full[b-coxcmmn25w] {
    background: var(--mo-rose);
}

.pl-hint[b-coxcmmn25w] {
    font-size: .8rem;
    color: var(--bs-secondary-color);
}

.pl-offer[b-coxcmmn25w] {
    display: flex;
    flex-direction: column;
}

.pl-offer.is-current[b-coxcmmn25w] {
    border-color: var(--mo-violet);
}

.pl-offer-top[b-coxcmmn25w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
}

.pl-offer h3[b-coxcmmn25w] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
}

.pl-tag[b-coxcmmn25w] {
    padding: .2rem .6rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mo-violet) 18%, transparent);
    color: var(--mo-violet);
    font-size: .7rem;
    font-weight: 700;
}

.pl-price[b-coxcmmn25w] {
    margin: .3rem 0 .8rem;
    font-size: .88rem;
    color: var(--mo-violet);
}

.pl-offer ul[b-coxcmmn25w] {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}

.pl-offer li[b-coxcmmn25w] {
    padding: .35rem 0;
    border-bottom: 1px solid var(--bs-border-color);
    font-size: .85rem;
}

.pl-offer li[b-coxcmmn25w]::before {
    content: "→";
    color: var(--mo-violet);
    margin-right: .45rem;
}

.pl-offer .pl-btn[b-coxcmmn25w] {
    margin-top: auto;
    align-self: flex-start;
}

.pl-btn[b-coxcmmn25w] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--bs-emphasis-color);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.pl-btn:hover:not(:disabled)[b-coxcmmn25w] {
    border-color: var(--mo-violet);
}

.pl-btn:disabled[b-coxcmmn25w] {
    opacity: .5;
    cursor: not-allowed;
}

.pl-btn-gold[b-coxcmmn25w] {
    background: var(--mo-violet);
    border-color: var(--mo-violet);
    color: var(--mo-ink);
}

.pl-btn-danger[b-coxcmmn25w] {
    color: var(--mo-rose);
}

.pl-dl[b-coxcmmn25w] {
    display: grid;
    grid-template-columns: 9rem 1fr;
    gap: .45rem 1rem;
    margin: 0 0 1rem;
    font-size: .9rem;
}

.pl-dl dt[b-coxcmmn25w] {
    font-weight: 500;
    color: var(--bs-secondary-color);
}

.pl-dl dd[b-coxcmmn25w] {
    margin: 0;
}

.pl-actions[b-coxcmmn25w] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: .9rem;
}

.pl-fine[b-coxcmmn25w] {
    margin-top: 1.5rem;
    font-size: .78rem;
    color: var(--bs-secondary-color);
}

@media (max-width: 900px) {
    .pl-usage[b-coxcmmn25w],
    .pl-compare[b-coxcmmn25w] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Representations.razor.rz.scp.css */
/* =========================================================
   REPRESENTATIONS (Executive, read-only)
   After the "Representations" mockup, in the app's navy/gold theme: a dark
   hero with KPIs + an overall-fidelity ring, "worth knowing" cards, a
   filterable library grid, Continuum health + activity on the right, and a
   page preview. Animations fill `backwards` only, so no card stays a
   containing block for the fixed preview.
   ========================================================= */

.mo-rp[b-v5b5ejg8j7], .mo-rp-modal[b-v5b5ejg8j7] {
    --rp-gold: var(--mo-violet);
    --rp-gold-soft: rgba(216, 168, 62, .14);
    --rp-gold-line: rgba(216, 168, 62, .45);
    --rp-ease: cubic-bezier(.2, .8, .2, 1);
}

.mo-rp[b-v5b5ejg8j7] { padding: .75rem 0 5rem; display: flex; flex-direction: column; gap: 1.75rem; }

.mo-rp-muted[b-v5b5ejg8j7] { font-size: .8rem; color: var(--bs-secondary-color); }
.mo-rp-label[b-v5b5ejg8j7] { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-rp-label.is-warn[b-v5b5ejg8j7] { color: #ef9a50; }

/* ---------- hero ---------- */
.mo-rp-hero[b-v5b5ejg8j7] {
    position: relative; overflow: hidden; border-radius: 1.75rem;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    color: #fff; box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: rp-up-b-v5b5ejg8j7 .7s var(--rp-ease) backwards;
}
.mo-rp-orb[b-v5b5ejg8j7] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-rp-orb.is-a[b-v5b5ejg8j7] { left: -100px; top: -160px; width: 480px; height: 480px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: rp-float-a-b-v5b5ejg8j7 14s ease-in-out infinite; }
.mo-rp-orb.is-b[b-v5b5ejg8j7] { right: 60px; bottom: -220px; width: 540px; height: 540px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: rp-float-b-b-v5b5ejg8j7 18s ease-in-out infinite; }
.mo-rp-hero-inner[b-v5b5ejg8j7] { position: relative; display: flex; align-items: center; gap: 3rem; padding: 2.6rem 2.75rem 2.4rem; }
.mo-rp-hero-copy[b-v5b5ejg8j7] { flex: 1 1 auto; min-width: 0; }
.mo-rp-kicker[b-v5b5ejg8j7] { display: flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-rp-pulse[b-v5b5ejg8j7] { width: 8px; height: 8px; border-radius: 50%; background: var(--rp-gold); animation: rp-pulse-b-v5b5ejg8j7 1.8s ease-out infinite; }
.mo-rp-hero h1[b-v5b5ejg8j7] { margin: .75rem 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.4vw, 3.25rem); font-weight: 600; line-height: 1.05; color: #fff; }
.mo-rp-hero p[b-v5b5ejg8j7] { max-width: 35rem; margin: 0 0 1.4rem; font-size: 1rem; line-height: 1.6; color: #c3cbe0; }
.mo-rp-kpis[b-v5b5ejg8j7] { display: flex; flex-wrap: wrap; gap: .75rem; }
.mo-rp-kpi[b-v5b5ejg8j7] {
    display: flex; flex-direction: column; padding: .75rem 1.1rem; border-radius: 1.1rem;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
    animation: rp-pop-b-v5b5ejg8j7 .5s var(--rp-ease) backwards; animation-delay: calc(.25s + var(--i) * 70ms);
}
.mo-rp-kpi b[b-v5b5ejg8j7] { font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 600; line-height: 1.1; }
.mo-rp-kpi span[b-v5b5ejg8j7] { font-size: .78rem; color: #c3cbe0; }
.mo-rp-ring-card[b-v5b5ejg8j7] {
    flex: none; width: 21rem; display: flex; align-items: center; gap: 1.25rem; padding: 1.5rem 1.6rem;
    border-radius: 1.75rem; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); backdrop-filter: blur(6px);
    animation: rp-pop-b-v5b5ejg8j7 .8s .15s var(--rp-ease) backwards;
}
.mo-rp-ring[b-v5b5ejg8j7] { position: relative; flex: none; width: 7.75rem; height: 7.75rem; }
.mo-rp-ring svg[b-v5b5ejg8j7] { width: 100%; height: 100%; transform: rotate(-90deg); }
.mo-rp-ring circle[b-v5b5ejg8j7] { fill: none; stroke-width: 10; }
.mo-rp-ring-track[b-v5b5ejg8j7] { stroke: rgba(255, 255, 255, .16); }
.mo-rp-ring-fill[b-v5b5ejg8j7] { stroke: var(--rp-gold); stroke-linecap: round; stroke-dasharray: 100; filter: drop-shadow(0 0 6px rgba(216, 168, 62, .55)); animation: rp-ring-b-v5b5ejg8j7 1.4s .3s var(--rp-ease) backwards; }
.mo-rp-ring-value[b-v5b5ejg8j7] { position: absolute; inset: 0; display: grid; place-items: center; font-family: Georgia, "Times New Roman", serif; font-size: 2.1rem; font-weight: 600; }
.mo-rp-ring-label[b-v5b5ejg8j7] { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f0d79a; }
.mo-rp-ring-note[b-v5b5ejg8j7] { margin-top: .4rem; font-size: .82rem; line-height: 1.5; color: #d6dceb; }

/* ---------- layout ---------- */
.mo-rp-layout[b-v5b5ejg8j7] { display: grid; grid-template-columns: minmax(0, 1fr) 23rem; gap: 1.75rem; align-items: start; }
.mo-rp-main[b-v5b5ejg8j7], .mo-rp-side[b-v5b5ejg8j7] { display: flex; flex-direction: column; gap: 1.6rem; min-width: 0; }

/* ---------- worth knowing ---------- */
.mo-rp-attn[b-v5b5ejg8j7] { display: flex; flex-direction: column; gap: .5rem; animation: rp-up-b-v5b5ejg8j7 .6s .1s var(--rp-ease) backwards; }
.mo-rp-attn > p[b-v5b5ejg8j7] { margin: 0 0 .4rem; }
.mo-rp-attn-list[b-v5b5ejg8j7] { display: flex; flex-direction: column; gap: .6rem; }
.mo-rp-attn-row[b-v5b5ejg8j7] {
    display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: 1.2rem;
    border: 1px solid rgba(216, 168, 62, .3);
    background: radial-gradient(320px circle at 100% 0%, rgba(216, 168, 62, .14), transparent 65%), linear-gradient(135deg, #13263d, #0b1828);
    color: #fff;
    animation: rp-slide-b-v5b5ejg8j7 .45s var(--rp-ease) backwards; animation-delay: calc(.15s + var(--i) * 60ms);
    transition: transform .25s var(--rp-ease), box-shadow .25s ease;
}
.mo-rp-attn-row:hover[b-v5b5ejg8j7] { transform: translateX(3px); box-shadow: 0 12px 30px rgba(0, 0, 0, .3); }
.mo-rp-attn-dot[b-v5b5ejg8j7] { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #f0c85e; box-shadow: 0 0 10px rgba(240, 200, 94, .8); }
.mo-rp-attn-title[b-v5b5ejg8j7] { font-size: .95rem; font-weight: 600; }
.mo-rp-attn-title span[b-v5b5ejg8j7] { font-weight: 400; color: #b9c6d8; }
.mo-rp-attn-reason[b-v5b5ejg8j7] { font-size: .82rem; color: #c3cbe0; }
.mo-rp-ok[b-v5b5ejg8j7] {
    display: flex; align-items: center; gap: .85rem; padding: 1rem 1.2rem; border-radius: 1.2rem;
    background: rgba(72, 197, 138, .12); border: 1px solid rgba(72, 197, 138, .4); color: #3fb87f; font-weight: 600;
    animation: rp-pop-b-v5b5ejg8j7 .4s var(--rp-ease) backwards;
}
.mo-rp-ok-mark[b-v5b5ejg8j7] { flex: none; width: 1.8rem; height: 1.8rem; display: grid; place-items: center; border-radius: 50%; background: #3fb87f; color: #0b1828; }

/* ---------- library ---------- */
.mo-rp-library[b-v5b5ejg8j7] { display: flex; flex-direction: column; gap: 1rem; animation: rp-up-b-v5b5ejg8j7 .6s .2s var(--rp-ease) backwards; }
.mo-rp-library-head[b-v5b5ejg8j7] { display: flex; align-items: baseline; flex-wrap: wrap; gap: .75rem; }
.mo-rp-library-head h2[b-v5b5ejg8j7] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.85rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-rp-toolbar[b-v5b5ejg8j7] { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.mo-rp-chips[b-v5b5ejg8j7] { display: flex; flex-wrap: wrap; gap: .45rem; }
.mo-rp-chip[b-v5b5ejg8j7] {
    height: 2.5rem; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--bs-border-color);
    background: var(--mo-surface); color: var(--bs-body-color); font-size: .82rem; font-weight: 600;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s var(--rp-ease);
}
.mo-rp-chip span[b-v5b5ejg8j7] { margin-left: .2rem; opacity: .65; }
.mo-rp-chip:hover[b-v5b5ejg8j7] { border-color: var(--rp-gold-line); }
.mo-rp-chip:active[b-v5b5ejg8j7] { transform: scale(.97); }
.mo-rp-chip.is-active[b-v5b5ejg8j7] { background: var(--bs-emphasis-color); color: var(--bs-body-bg); border-color: var(--bs-emphasis-color); }
.mo-rp-search[b-v5b5ejg8j7] { position: relative; margin: 0; }
.mo-rp-search i[b-v5b5ejg8j7] { position: absolute; left: .9rem; top: 50%; translate: 0 -50%; color: var(--bs-secondary-color); pointer-events: none; }
.mo-rp-search input[b-v5b5ejg8j7] {
    width: 13rem; height: 2.5rem; padding: 0 .9rem 0 2.4rem; border: 1px solid var(--bs-border-color); border-radius: 999px;
    background: var(--mo-surface); color: var(--bs-body-color); font-size: .86rem; transition: border-color .2s ease, box-shadow .2s ease;
}
.mo-rp-search input:focus[b-v5b5ejg8j7] { outline: none; border-color: var(--rp-gold-line); box-shadow: 0 0 0 4px var(--rp-gold-soft); }

.mo-rp-grid[b-v5b5ejg8j7] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.mo-rp-card[b-v5b5ejg8j7] {
    display: flex; flex-direction: column; gap: .9rem; padding: 1.2rem; border-radius: 1.4rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: rp-up-b-v5b5ejg8j7 .5s var(--rp-ease) backwards; animation-delay: calc(.25s + var(--i, 0) * 55ms);
    transition: transform .25s var(--rp-ease), box-shadow .25s ease, border-color .25s ease;
}
.mo-rp-card:hover[b-v5b5ejg8j7] { transform: translateY(-3px); box-shadow: var(--mo-shadow); border-color: var(--rp-gold-line); }
.mo-rp-card.is-attn[b-v5b5ejg8j7] { border-color: rgba(240, 200, 94, .5); }
.mo-rp-card.is-missing[b-v5b5ejg8j7] { border-style: dashed; background: transparent; }
.mo-rp-card.is-missing:hover[b-v5b5ejg8j7] { transform: none; box-shadow: none; }
.mo-rp-card-head[b-v5b5ejg8j7] { display: flex; align-items: flex-start; gap: .75rem; }
.mo-rp-card-title[b-v5b5ejg8j7] { font-size: 1rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-rp-tile[b-v5b5ejg8j7] {
    flex: none; width: 2.75rem; height: 2.75rem; border-radius: .9rem; display: grid; place-items: center;
    font-size: .85rem; font-weight: 700; background: var(--bs-tertiary-bg); color: var(--bs-secondary-color);
}
.mo-rp-tile.tone-0[b-v5b5ejg8j7] { background: rgba(216, 168, 62, .18); color: #d2a03a; }
.mo-rp-tile.tone-1[b-v5b5ejg8j7] { background: rgba(43, 181, 168, .18); color: #2bb5a8; }
.mo-rp-tile.tone-2[b-v5b5ejg8j7] { background: rgba(240, 140, 60, .18); color: #e98a3c; }
.mo-rp-tile.tone-3[b-v5b5ejg8j7] { background: rgba(69, 162, 255, .18); color: #4f9dff; }
.mo-rp-tile.tone-4[b-v5b5ejg8j7] { background: rgba(229, 103, 154, .18); color: #e5679a; }
.mo-rp-tile.tone-5[b-v5b5ejg8j7] { background: rgba(72, 197, 138, .18); color: #3fb87f; }
.mo-rp-status[b-v5b5ejg8j7] { flex: none; padding: .15rem .65rem; border-radius: 999px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.mo-rp-status.is-published[b-v5b5ejg8j7] { background: rgba(72, 197, 138, .16); color: #3fb87f; }
.mo-rp-status.is-assessed[b-v5b5ejg8j7] { background: rgba(69, 162, 255, .16); color: #4f9dff; }
.mo-rp-status.is-draft[b-v5b5ejg8j7] { background: rgba(240, 200, 94, .16); color: #e2b440; }
.mo-rp-status.is-own[b-v5b5ejg8j7] { background: rgba(43, 181, 168, .16); color: #2bb5a8; }
.mo-rp-own[b-v5b5ejg8j7] { margin-top: 1.5rem; }
.mo-rp-own .mo-rp-label[b-v5b5ejg8j7] { display: inline-flex; align-items: center; gap: .45rem; }
.mo-rp-status.is-missing[b-v5b5ejg8j7] { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }

.mo-rp-fid-row[b-v5b5ejg8j7] { display: flex; justify-content: space-between; align-items: baseline; font-size: .82rem; color: var(--bs-secondary-color); }
.mo-rp-bar[b-v5b5ejg8j7] { margin-top: .4rem; height: .5rem; border-radius: 999px; background: var(--bs-tertiary-bg); overflow: hidden; }
.mo-rp-bar > span[b-v5b5ejg8j7] { display: block; height: 100%; border-radius: inherit; transform-origin: left center; animation: rp-grow-b-v5b5ejg8j7 .9s .35s var(--rp-ease) backwards; }
.mo-rp-bar > span.is-high[b-v5b5ejg8j7] { background: linear-gradient(90deg, #48c58a, #2e9e6b); }
.mo-rp-bar > span.is-mid[b-v5b5ejg8j7] { background: linear-gradient(90deg, #f0c85e, #d8a83e); }
.mo-rp-bar > span.is-low[b-v5b5ejg8j7] { background: linear-gradient(90deg, #f0a35e, #e0575b); }
.mo-rp-bar > span.is-node[b-v5b5ejg8j7] { background: var(--c); box-shadow: 0 0 8px color-mix(in srgb, var(--c) 55%, transparent); }
b.is-high[b-v5b5ejg8j7], .mo-rp-fid-chip.is-high[b-v5b5ejg8j7] { color: #3fb87f; }
b.is-mid[b-v5b5ejg8j7], .mo-rp-fid-chip.is-mid[b-v5b5ejg8j7] { color: #e2b440; }
b.is-low[b-v5b5ejg8j7], .mo-rp-fid-chip.is-low[b-v5b5ejg8j7] { color: #ef9a50; }
b.is-none[b-v5b5ejg8j7], .mo-rp-fid-chip.is-none[b-v5b5ejg8j7] { color: var(--bs-secondary-color); }
.mo-rp-note[b-v5b5ejg8j7] { flex: 1 1 auto; margin: 0; font-size: .82rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-rp-card-foot[b-v5b5ejg8j7] { display: flex; align-items: center; gap: .5rem; padding-top: .9rem; border-top: 1px solid var(--bs-border-color); }

/* ---------- buttons ---------- */
.mo-rp-btn[b-v5b5ejg8j7] {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    height: 2.5rem; padding: 0 1rem; border-radius: 999px; border: 1px solid transparent;
    font-size: .82rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: transform .18s var(--rp-ease), background .2s ease, border-color .2s ease;
}
.mo-rp-btn:hover[b-v5b5ejg8j7] { transform: translateY(-1px); }
.mo-rp-btn.is-primary[b-v5b5ejg8j7] { background: var(--rp-gold); color: var(--mo-ink); }
.mo-rp-btn.is-primary:hover[b-v5b5ejg8j7] { background: var(--mo-violet-600); color: var(--mo-ink); }
.mo-rp-btn.is-outline[b-v5b5ejg8j7] { background: var(--mo-surface); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.mo-rp-btn.is-outline:hover[b-v5b5ejg8j7] { border-color: var(--rp-gold-line); color: var(--bs-body-color); }
.mo-rp-btn.is-light[b-v5b5ejg8j7] { background: #fff; color: #111b26; }
.mo-rp-btn.is-soft[b-v5b5ejg8j7] { background: var(--rp-gold-soft); border-color: var(--rp-gold-line); color: var(--rp-gold); }
.mo-rp-btn.is-soft:hover[b-v5b5ejg8j7] { color: var(--rp-gold); }
.mo-rp-btn.is-disabled[b-v5b5ejg8j7] { background: transparent; border-color: var(--bs-border-color); color: var(--bs-secondary-color); cursor: default; }
.mo-rp-btn.is-disabled:hover[b-v5b5ejg8j7] { transform: none; }
.mo-rp-btn.is-block[b-v5b5ejg8j7] { width: 100%; }

/* ---------- right column ---------- */
.mo-rp-panel[b-v5b5ejg8j7] {
    display: flex; flex-direction: column; gap: .9rem; padding: 1.35rem 1.5rem; border-radius: 1.5rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: rp-up-b-v5b5ejg8j7 .6s var(--rp-ease) backwards; animation-delay: var(--d, 0s);
}
.mo-rp-panel h2[b-v5b5ejg8j7] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-rp-panel > p[b-v5b5ejg8j7] { margin: -.4rem 0 0; }
.mo-rp-comp[b-v5b5ejg8j7] { display: flex; flex-direction: column; gap: .8rem; }
.mo-rp-comp-row[b-v5b5ejg8j7] { animation: rp-up-b-v5b5ejg8j7 .4s var(--rp-ease) backwards; animation-delay: calc(.3s + var(--i) * 50ms); }
.mo-rp-comp-top[b-v5b5ejg8j7] { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; font-size: .82rem; }
.mo-rp-comp-top > span:first-child[b-v5b5ejg8j7] { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; }
.mo-rp-comp-top i[b-v5b5ejg8j7] { width: .6rem; height: .6rem; border-radius: 3px; background: var(--c); }

.mo-rp-feed[b-v5b5ejg8j7] { position: relative; display: flex; flex-direction: column; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.mo-rp-feed[b-v5b5ejg8j7]::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--bs-border-color); }
.mo-rp-feed li[b-v5b5ejg8j7] { position: relative; display: flex; gap: .85rem; animation: rp-slide-b-v5b5ejg8j7 .4s var(--rp-ease) backwards; animation-delay: calc(.3s + var(--i) * 45ms); }
.mo-rp-feed-dot[b-v5b5ejg8j7] { position: relative; flex: none; width: 14px; height: 14px; margin-top: 3px; border-radius: 50%; border: 3px solid var(--mo-surface); box-sizing: content-box; margin-left: -3px; background: var(--bs-secondary-color); }
.mo-rp-feed-dot.is-confirmed[b-v5b5ejg8j7], .mo-rp-feed-dot.is-published[b-v5b5ejg8j7] { background: #3fb87f; }
.mo-rp-feed-dot.is-assessed[b-v5b5ejg8j7] { background: var(--rp-gold); }
.mo-rp-feed-title[b-v5b5ejg8j7] { font-size: .86rem; font-weight: 600; line-height: 1.4; }

/* ---------- preview modal ---------- */
.mo-rp-modal[b-v5b5ejg8j7] { position: fixed; inset: 0; z-index: 1070; display: grid; place-items: center; padding: 1.5rem; outline: none; }
.mo-rp-scrim[b-v5b5ejg8j7] { position: absolute; inset: 0; border: 0; background: rgba(4, 10, 18, .7); backdrop-filter: blur(4px); animation: rp-fade-b-v5b5ejg8j7 .25s ease backwards; }
.mo-rp-panel-modal[b-v5b5ejg8j7] {
    position: relative; width: min(52rem, 100%); height: min(58rem, calc(100dvh - 3rem));
    display: flex; flex-direction: column; border-radius: 1.5rem; border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg); box-shadow: 0 30px 80px rgba(0, 0, 0, .45); overflow: hidden;
    animation: rp-in-b-v5b5ejg8j7 .4s var(--rp-ease) backwards;
}
.mo-rp-modal-head[b-v5b5ejg8j7] { flex: none; display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--bs-border-color); }
.mo-rp-modal-title[b-v5b5ejg8j7] { font-size: 1.1rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-rp-fid-chip[b-v5b5ejg8j7] { flex: none; padding: .3rem .8rem; border-radius: 999px; background: var(--bs-tertiary-bg); font-size: .78rem; font-weight: 700; }
.mo-rp-close[b-v5b5ejg8j7] {
    flex: none; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border: 0; border-radius: 50%;
    background: var(--bs-tertiary-bg); color: var(--bs-body-color); transition: transform .25s var(--rp-ease), background .2s ease;
}
.mo-rp-close:hover[b-v5b5ejg8j7] { transform: rotate(90deg); background: var(--rp-gold-soft); }
.mo-rp-modal-body[b-v5b5ejg8j7] { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1.75rem 1.25rem; background: var(--bs-tertiary-bg); }
.mo-rp-modal-body[b-v5b5ejg8j7]  .mo-doc-page { max-width: 48rem; margin: 0 auto; animation: rp-up-b-v5b5ejg8j7 .45s var(--rp-ease) backwards; }
.mo-rp-modal-notes[b-v5b5ejg8j7] { max-width: 48rem; margin: 1.25rem auto 0; padding: 1rem 1.15rem; border-radius: 1rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface); }
.mo-rp-modal-notes p[b-v5b5ejg8j7] { margin: .4rem 0 0; font-size: .86rem; line-height: 1.55; white-space: pre-wrap; }
.mo-rp-modal-foot[b-v5b5ejg8j7] { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .9rem 1.4rem 1.1rem; border-top: 1px solid var(--bs-border-color); }

/* ---------- loading / empty ---------- */
.mo-rp-skeleton[b-v5b5ejg8j7] { height: 18rem; border-radius: 1.5rem; border: 1px solid var(--bs-border-color); background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%); background-size: 300% 100%; animation: rp-shimmer-b-v5b5ejg8j7 1.4s linear infinite; }
.mo-rp-skeleton.is-hero[b-v5b5ejg8j7] { height: 15rem; border-radius: 1.75rem; }
.mo-rp-empty[b-v5b5ejg8j7] { display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 3rem 1.5rem; text-align: center; border: 1px dashed var(--bs-border-color); border-radius: 1.4rem; color: var(--bs-secondary-color); }
.mo-rp-empty i[b-v5b5ejg8j7] { font-size: 1.7rem; color: var(--rp-gold); }
.mo-rp-empty p[b-v5b5ejg8j7] { margin: 0; max-width: 30rem; }

/* ---------- motion ---------- */
@keyframes rp-float-a-b-v5b5ejg8j7 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes rp-float-b-b-v5b5ejg8j7 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes rp-up-b-v5b5ejg8j7 { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes rp-slide-b-v5b5ejg8j7 { from { opacity: 0; translate: -10px 0; } to { opacity: 1; translate: none; } }
@keyframes rp-pop-b-v5b5ejg8j7 { from { opacity: 0; scale: .96; } to { opacity: 1; scale: 1; } }
@keyframes rp-in-b-v5b5ejg8j7 { from { opacity: 0; translate: 0 24px; scale: .98; } to { opacity: 1; translate: none; scale: 1; } }
@keyframes rp-fade-b-v5b5ejg8j7 { from { opacity: 0; } }
@keyframes rp-pulse-b-v5b5ejg8j7 { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes rp-ring-b-v5b5ejg8j7 { from { stroke-dashoffset: 100; } }
@keyframes rp-grow-b-v5b5ejg8j7 { from { transform: scaleX(0); } }
@keyframes rp-shimmer-b-v5b5ejg8j7 { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
    .mo-rp *[b-v5b5ejg8j7], .mo-rp-modal *[b-v5b5ejg8j7] { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .mo-rp-layout[b-v5b5ejg8j7] { grid-template-columns: minmax(0, 1fr); }
    .mo-rp-hero-inner[b-v5b5ejg8j7] { flex-direction: column; align-items: stretch; gap: 1.75rem; }
    .mo-rp-ring-card[b-v5b5ejg8j7] { width: auto; }
}

@media (max-width: 720px) {
    .mo-rp-hero-inner[b-v5b5ejg8j7] { padding: 1.75rem 1.25rem; }
    .mo-rp-grid[b-v5b5ejg8j7] { grid-template-columns: minmax(0, 1fr); }
    .mo-rp-search[b-v5b5ejg8j7], .mo-rp-search input[b-v5b5ejg8j7] { width: 100%; }
    .mo-rp-modal[b-v5b5ejg8j7] { padding: 0; }
    .mo-rp-panel-modal[b-v5b5ejg8j7] { height: 100dvh; border-radius: 0; }
}
/* /Components/Pages/TraversalDetail.razor.rz.scp.css */
/* Approved Continuum scope card - reuses global tokens (--mo-node-*,
   --bs-*) from app.css. */

.mo-scope-header-icon[b-043sk5f8x8] {
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(216, 168, 62, .16);
    color: var(--mo-violet-600, var(--bs-primary));
    font-size: 1rem;
}

.mo-scope-total-badge[b-043sk5f8x8] {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    font-size: .72rem;
    font-weight: 600;
    padding: .3rem .65rem;
}

.mo-scope-empty[b-043sk5f8x8] {
    text-align: center;
    padding: 1.8rem 1rem;
    color: var(--bs-secondary-color);
}

.mo-scope-empty > i[b-043sk5f8x8] {
    font-size: 1.6rem;
    display: block;
    margin-bottom: .4rem;
}

.mo-scope-group-head[b-043sk5f8x8] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 1.1rem 0 .55rem;
}

.mo-scope-group-head:first-child[b-043sk5f8x8] {
    margin-top: 0;
}

.mo-scope-icon[b-043sk5f8x8] {
    flex: 0 0 auto;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--c, var(--bs-border-color));
    background: color-mix(in srgb, var(--c) 20%, transparent);
    color: var(--c, var(--bs-secondary-color));
    font-size: .78rem;
}

.mo-scope-grid[b-043sk5f8x8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .6rem;
    margin-bottom: .3rem;
}

.mo-scope-grid-3[b-043sk5f8x8] {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
    .mo-scope-grid-3[b-043sk5f8x8] {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }
}

.mo-scope-node-card[b-043sk5f8x8] {
    border: 1px solid var(--bs-border-color);
    border-left: 3px solid var(--c, var(--bs-border-color));
    border-radius: .5rem;
    padding: .6rem .75rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
}

.mo-scope-node-content[b-043sk5f8x8] {
    margin: .2rem 0 .45rem;
    white-space: pre-wrap;
}

/* Create-mode "Discovered nodes" picker - same node-card look, but as a
   <label> wrapping a checkbox so the whole card is clickable. */
.mo-scope-node-checkable[b-043sk5f8x8] {
    display: block;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
}

.mo-scope-node-checkable:hover[b-043sk5f8x8] {
    border-color: var(--c, var(--bs-border-color));
    background: color-mix(in srgb, var(--c) 6%, var(--bs-card-bg, var(--bs-body-bg)));
}

/* Create-mode "Approved Scope nodes" as a collapsible <details> - same card
   shell look as .card.shadow-sm, since <details> isn't a Bootstrap .card. */
.mo-scope-details[b-043sk5f8x8] {
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
    box-shadow: var(--mo-shadow, 0 1px 2px rgba(0, 0, 0, .05));
    overflow: hidden;
}

.mo-scope-details > summary[b-043sk5f8x8] {
    padding: .85rem 1rem;
    cursor: pointer;
    list-style: none;
}

.mo-scope-details > summary[b-043sk5f8x8]::-webkit-details-marker {
    display: none;
}

.mo-scope-details[open] > summary[b-043sk5f8x8] {
    border-bottom: 1px solid var(--bs-border-color);
}

.mo-scope-caret[b-043sk5f8x8] {
    flex-shrink: 0;
    color: var(--bs-secondary-color);
    transition: transform .15s ease;
}

.mo-scope-details[open] .mo-scope-caret[b-043sk5f8x8] {
    transform: rotate(90deg);
}

.mo-scope-details-body[b-043sk5f8x8] {
    padding: 1rem;
}


/* =========================================================
   Explore workbench: Requirements | Conversation | right rail
   ========================================================= */
.mo-wb-grid[b-043sk5f8x8] { display: grid; gap: 1rem; grid-template-columns: 1fr; align-items: start; }

@media (min-width: 1200px) {
    .mo-wb-grid[b-043sk5f8x8] { grid-template-columns: minmax(0, 1fr) 420px; }
    .mo-wb-left[b-043sk5f8x8], .mo-wb-right[b-043sk5f8x8] { position: sticky; top: calc(4.5rem + 1rem); }
    .mo-wb-scroll[b-043sk5f8x8] { max-height: calc(100vh - 16rem); overflow-y: auto; scrollbar-width: thin; }
}

.mo-wb-center[b-043sk5f8x8] { display: flex; flex-direction: column; }
.mo-wb-chat[b-043sk5f8x8] { min-height: 320px; max-height: calc(100vh - 24rem); overflow-y: auto; scrollbar-width: thin; }
.mo-wb-composer[b-043sk5f8x8] { position: sticky; bottom: 0; background: var(--bs-card-bg, var(--bs-body-bg)); border-radius: 0 0 .5rem .5rem; }
.mo-wb-chips[b-043sk5f8x8] { overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; }

.mo-wb-tabs[b-043sk5f8x8] { display: flex; }
.mo-wb-tabs button[b-043sk5f8x8] {
    flex: 1;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: .7rem .4rem;
    font-size: .8rem;
    color: var(--bs-secondary-color);
    transition: color .2s ease, border-color .2s ease;
}
.mo-wb-tabs button:hover[b-043sk5f8x8] { color: var(--bs-body-color); }
.mo-wb-tabs button.active[b-043sk5f8x8] { color: var(--bs-body-color); border-bottom-color: var(--bs-primary); font-weight: 600; }

.mo-dot[b-043sk5f8x8] { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; margin-right: .3rem; }

.mo-req[b-043sk5f8x8] {
    border: 1px solid var(--bs-border-color);
    border-left-width: 4px;
    border-radius: .4rem;
    padding: .5rem .6rem;
    margin-bottom: .5rem;
    transition: background .2s ease, translate .2s ease;
}
.mo-req:hover[b-043sk5f8x8] { background: rgba(255, 255, 255, .025); translate: 2px 0; }
.mo-req-strong[b-043sk5f8x8]   { border-left-color: var(--bs-success); }
.mo-req-relevant[b-043sk5f8x8] { border-left-color: var(--bs-info); }
.mo-req-explore[b-043sk5f8x8]  { border-left-color: var(--bs-warning); }
.mo-req-open[b-043sk5f8x8]     { border-left-color: var(--bs-secondary); }

.mo-inbox-item[b-043sk5f8x8] {
    border: 1px solid var(--bs-border-color);
    border-radius: .4rem;
    padding: .6rem;
    animation: mo-wb-in-b-043sk5f8x8 .3s ease both;
}
.mo-chat-chip[b-043sk5f8x8] { font-size: .78rem; color: var(--bs-secondary-color); }

@keyframes mo-wb-in-b-043sk5f8x8 {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-inbox-item[b-043sk5f8x8] { animation: none; }
    .mo-req[b-043sk5f8x8], .mo-wb-tabs button[b-043sk5f8x8] { transition: none; }
}

/* =========================================================
   Traversal header (name, brief under it, framing, coverage, CTA)
   Confidence colours: strong green, relevant blue, to explore gold, open grey.
   ========================================================= */
.mo-th[b-043sk5f8x8],
.mo-reqs[b-043sk5f8x8] {
    --c-strong: #3fbf86; --c-strong-bg: rgba(63, 191, 134, .14); --c-strong-ink: #86e3b8;
    --c-relevant: #4f8dff; --c-relevant-bg: rgba(79, 141, 255, .14); --c-relevant-ink: #a9c6ff;
    --c-explore: #d8a83e; --c-explore-bg: rgba(240, 200, 94, .14); --c-explore-ink: #f0c85e;
    --c-open: #6b7a90; --c-open-bg: rgba(154, 171, 196, .12); --c-open-ink: #b6c2d4;
}

.mo-th[b-043sk5f8x8] {
    margin-bottom: 1.1rem;
    padding: 1.4rem 1.6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1.25rem;
    background:
        radial-gradient(600px 220px at 12% 0%, rgba(216, 168, 62, .10), transparent 70%),
        radial-gradient(520px 220px at 88% 0%, rgba(79, 141, 255, .08), transparent 70%),
        var(--mo-surface);
    box-shadow: var(--mo-shadow);
}

.mo-th-main[b-043sk5f8x8] { display: grid; grid-template-columns: minmax(0, 1fr) 380px 200px; gap: 2rem; align-items: start; }

.mo-th-title[b-043sk5f8x8] { margin: .3rem 0 .5rem; font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 600; line-height: 1.15; letter-spacing: -.02em; }
.mo-th-for[b-043sk5f8x8] { color: var(--bs-secondary-color); font-weight: 500; }

/* the brief sits right under the name */
.mo-th-brief[b-043sk5f8x8] { margin: 0 0 .9rem; max-width: 70ch; padding-left: .8rem; border-left: 3px solid var(--mo-violet); font-size: 1rem; line-height: 1.55; color: var(--bs-body-color); }
.mo-th-brief.is-muted[b-043sk5f8x8] { border-left-color: var(--bs-border-color); font-size: .9rem; color: var(--bs-secondary-color); }

.mo-th-chips[b-043sk5f8x8] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.mo-th-chip[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .4rem; height: 1.75rem; padding: 0 .75rem; border-radius: 999px; background: var(--c-open-bg); color: var(--c-open-ink); font-size: .78rem; font-weight: 600; }
.mo-th-chip.is-perspective[b-043sk5f8x8] { background: rgba(216, 168, 62, .14); color: #f0c85e; }
.mo-th-chip.is-scope[b-043sk5f8x8] { background: var(--c-strong-bg); color: var(--c-strong-ink); }
.mo-th-note[b-043sk5f8x8] { font-size: .8rem; color: var(--bs-secondary-color); }

.mo-th-cov-head[b-043sk5f8x8] { display: flex; justify-content: space-between; margin-bottom: .5rem; font-size: .8rem; color: var(--bs-secondary-color); }
.mo-th-cov-head strong[b-043sk5f8x8] { color: var(--bs-emphasis-color); font-weight: 600; }
.mo-th-bar[b-043sk5f8x8] { display: flex; gap: 2px; height: .65rem; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.mo-th-seg[b-043sk5f8x8] { height: 100%; transition: width .5s cubic-bezier(.2, .75, .2, 1); }
.mo-th-legend[b-043sk5f8x8] { display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin-top: .6rem; font-size: .78rem; color: var(--bs-secondary-color); }
.mo-th-legend span[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .4rem; }
.mo-th-dot[b-043sk5f8x8] { width: .5rem; height: .5rem; border-radius: 50%; }

.mo-th-seg.mo-req-strong[b-043sk5f8x8], .mo-th-dot.mo-req-strong[b-043sk5f8x8] { background: var(--c-strong); }
.mo-th-seg.mo-req-relevant[b-043sk5f8x8], .mo-th-dot.mo-req-relevant[b-043sk5f8x8] { background: var(--c-relevant); }
.mo-th-seg.mo-req-explore[b-043sk5f8x8], .mo-th-dot.mo-req-explore[b-043sk5f8x8] { background: var(--c-explore); }
.mo-th-seg.mo-req-open[b-043sk5f8x8], .mo-th-dot.mo-req-open[b-043sk5f8x8] { background: var(--c-open); }

.mo-th-cta[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .45rem; }
.mo-th-draft[b-043sk5f8x8] {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    height: 3rem; border: 0; border-radius: .8rem;
    background: linear-gradient(135deg, #f0c85e, var(--mo-violet)); color: var(--mo-ink);
    font-weight: 700; font-size: .92rem;
    box-shadow: 0 10px 26px rgba(216, 168, 62, .25);
    transition: translate .2s ease, box-shadow .2s ease;
}
.mo-th-draft:hover[b-043sk5f8x8] { translate: 0 -1px; box-shadow: 0 14px 32px rgba(216, 168, 62, .35); }
.mo-th-hint[b-043sk5f8x8] { font-size: .75rem; line-height: 1.4; color: var(--bs-secondary-color); }
.mo-th-cta-row[b-043sk5f8x8] { display: flex; gap: .4rem; }
.mo-th-cta-row .btn:first-child[b-043sk5f8x8] { flex: 1; }

@media (max-width: 1200px) {
    .mo-th-main[b-043sk5f8x8] { grid-template-columns: minmax(0, 1fr) 320px; }
    .mo-th-cta[b-043sk5f8x8] { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; }
    .mo-th-draft[b-043sk5f8x8] { padding: 0 1.4rem; }
}

@media (max-width: 800px) {
    .mo-th[b-043sk5f8x8] { padding: 1.1rem; }
    .mo-th-main[b-043sk5f8x8] { grid-template-columns: 1fr; gap: 1.2rem; }
}

/* =========================================================
   Requirements: "Needs your attention" then "Covered", card grid
   ========================================================= */
.mo-reqs[b-043sk5f8x8] { display: flex; flex-direction: column; gap: 1.2rem; min-width: 0; }

.mo-reqs-head[b-043sk5f8x8] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.mo-reqs-title[b-043sk5f8x8] { margin: 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -.01em; }
.mo-reqs-sub[b-043sk5f8x8] { font-size: .8rem; color: var(--bs-secondary-color); }
.mo-reqs-filter[b-043sk5f8x8] {
    height: 2.2rem; padding: 0 .95rem; border-radius: 999px;
    border: 1px solid var(--bs-border-color); background: transparent; color: var(--bs-body-color);
    font-size: .8rem; font-weight: 600; transition: background .2s, color .2s, border-color .2s;
}
.mo-reqs-filter:hover[b-043sk5f8x8] { border-color: rgba(216, 168, 62, .5); }
.mo-reqs-filter.is-active[b-043sk5f8x8] { background: linear-gradient(135deg, #f0c85e, var(--mo-violet)); border-color: var(--mo-violet); color: var(--mo-ink); }

.mo-reqs-group[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .65rem; }
.mo-reqs-group-title[b-043sk5f8x8] { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mo-reqs-group-title.is-attention[b-043sk5f8x8] { color: var(--c-explore-ink); }
.mo-reqs-group-title.is-covered[b-043sk5f8x8] { color: var(--c-strong-ink); }
.mo-reqs-empty[b-043sk5f8x8] { padding: 1rem; border: 1px dashed var(--bs-border-color); border-radius: .8rem; color: var(--bs-secondary-color); font-size: .85rem; }

.mo-reqs-grid[b-043sk5f8x8] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }

.mo-req-card[b-043sk5f8x8] {
    display: flex; flex-direction: column; gap: .55rem;
    padding: .9rem 1rem;
    border: 1px solid var(--bs-border-color); border-radius: .9rem;
    background: var(--mo-surface);
    animation: mo-wb-in-b-043sk5f8x8 .35s ease both;
    transition: border-color .2s ease, translate .2s ease, box-shadow .2s ease;
}
.mo-req-card:hover[b-043sk5f8x8] { translate: 0 -2px; box-shadow: 0 12px 28px rgba(0, 0, 0, .22); }
.mo-req-card.mo-req-strong:hover[b-043sk5f8x8] { border-color: color-mix(in srgb, var(--c-strong) 50%, transparent); }
.mo-req-card.mo-req-relevant:hover[b-043sk5f8x8] { border-color: color-mix(in srgb, var(--c-relevant) 50%, transparent); }
.mo-req-card.mo-req-explore:hover[b-043sk5f8x8] { border-color: color-mix(in srgb, var(--c-explore) 50%, transparent); }
.mo-req-card.mo-req-open:hover[b-043sk5f8x8] { border-color: color-mix(in srgb, var(--c-open) 60%, transparent); }
.mo-req-card.is-selected[b-043sk5f8x8] { border: 2px solid var(--mo-violet); padding: calc(.9rem - 1px) calc(1rem - 1px); }

.mo-req-card-head[b-043sk5f8x8] { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; }
.mo-req-card-head h3[b-043sk5f8x8] { margin: 0; font-size: .95rem; font-weight: 600; line-height: 1.3; }
.mo-req-pill[b-043sk5f8x8] { flex: none; padding: .15rem .6rem; border-radius: 999px; font-size: .72rem; font-weight: 600; white-space: nowrap; }
.mo-req-pill.mo-req-strong[b-043sk5f8x8] { background: var(--c-strong-bg); color: var(--c-strong-ink); }
.mo-req-pill.mo-req-relevant[b-043sk5f8x8] { background: var(--c-relevant-bg); color: var(--c-relevant-ink); }
.mo-req-pill.mo-req-explore[b-043sk5f8x8] { background: var(--c-explore-bg); color: var(--c-explore-ink); }
.mo-req-pill.mo-req-open[b-043sk5f8x8] { background: var(--c-open-bg); color: var(--c-open-ink); }

.mo-req-why[b-043sk5f8x8] { margin: 0; font-size: .82rem; line-height: 1.45; color: var(--bs-secondary-color); }

.mo-req-evidence[b-043sk5f8x8] { display: flex; flex-wrap: wrap; gap: .35rem; }
.mo-req-ev[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .4rem; max-width: 100%; padding: .2rem .6rem; border-radius: .5rem; background: rgba(255, 255, 255, .05); font-size: .76rem; color: var(--bs-body-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-req-ev i[b-043sk5f8x8] { flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: var(--c); box-shadow: 0 0 6px var(--c); }

.mo-req-ask[b-043sk5f8x8] { align-self: flex-start; padding: 0; border: 0; background: none; color: #f0c85e; font-size: .82rem; font-weight: 600; transition: translate .2s ease; }
.mo-req-ask:hover[b-043sk5f8x8] { translate: 3px 0; }

@media (max-width: 800px) {
    .mo-reqs-grid[b-043sk5f8x8] { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-req-card[b-043sk5f8x8], .mo-th-seg[b-043sk5f8x8] { animation: none; transition: none; }
}

/* =========================================================
   Deliverables header + workbench (list | document | fidelity & publishing)
   ========================================================= */
.mo-dv[b-043sk5f8x8],
.mo-dh[b-043sk5f8x8] {
    --c-strong: #3fbf86; --c-strong-bg: rgba(63, 191, 134, .14); --c-strong-ink: #86e3b8;
    --c-relevant: #4f8dff; --c-relevant-bg: rgba(79, 141, 255, .14); --c-relevant-ink: #a9c6ff;
    --c-explore: #d8a83e; --c-explore-bg: rgba(240, 200, 94, .14); --c-explore-ink: #f0c85e;
    --c-open: #6b7a90; --c-open-bg: rgba(154, 171, 196, .12); --c-open-ink: #b6c2d4;
    --c-low: #e0575b; --c-low-bg: rgba(224, 87, 91, .14); --c-low-ink: #ffb3b5;
    --c-reserved-bg: rgba(45, 212, 191, .13); --c-reserved-ink: #7fe6d6;
}

.mo-dh-main[b-043sk5f8x8] { display: grid; grid-template-columns: minmax(0, 1fr) auto 240px; gap: 2rem; align-items: center; }
.mo-dh-sub[b-043sk5f8x8] { margin: 0; max-width: 70ch; font-size: .88rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-dh-stats[b-043sk5f8x8] { display: flex; gap: 1.8rem; }
.mo-dh-stats div[b-043sk5f8x8] { display: flex; flex-direction: column; }
.mo-dh-stats strong[b-043sk5f8x8] { font-size: 1.7rem; font-weight: 700; line-height: 1.1; color: var(--bs-emphasis-color); }
.mo-dh-stats span[b-043sk5f8x8] { font-size: .78rem; color: var(--bs-secondary-color); }
.mo-dh-back[b-043sk5f8x8] { align-self: flex-start; padding: 0; border: 0; background: none; color: #f0c85e; font-size: .82rem; font-weight: 600; }
.mo-dh-back:hover[b-043sk5f8x8] { text-decoration: underline; }

.mo-dv[b-043sk5f8x8] { display: grid; grid-template-columns: 290px minmax(0, 1fr) 340px; gap: 1.1rem; align-items: start; margin-bottom: 1.2rem; }

/* ---- left: document list ---- */
.mo-dv-list[b-043sk5f8x8] {
    display: flex; flex-direction: column; gap: .35rem;
    padding: .9rem .6rem; border: 1px solid var(--bs-border-color); border-radius: 1rem;
    background: var(--mo-surface); position: sticky; top: calc(4.5rem + 1rem);
    max-height: calc(100vh - 6.5rem); overflow: hidden;
}
.mo-dv-list-title[b-043sk5f8x8] { padding: .1rem .5rem .3rem; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-dv-list-title.is-internal[b-043sk5f8x8] { margin-top: .5rem; padding-top: .7rem; border-top: 1px solid var(--bs-border-color); }
.mo-dv-list-note[b-043sk5f8x8] { padding: 0 .5rem .4rem; font-size: .75rem; line-height: 1.4; color: var(--bs-secondary-color); }
/* Collapse right-to-left into a rail of type tiles, so the document gets the width. */
.mo-dv[b-043sk5f8x8] { transition: grid-template-columns .35s cubic-bezier(.2, .8, .2, 1); }
.mo-dv.is-list-collapsed[b-043sk5f8x8] { grid-template-columns: 4.25rem minmax(0, 1fr) 340px; }
.mo-dv-list-head[b-043sk5f8x8] { display: flex; align-items: center; gap: .4rem; }
.mo-dv-list-head .mo-dv-list-title[b-043sk5f8x8] { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; }
.mo-dv-collapse[b-043sk5f8x8] {
    flex: none; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border: 1px solid var(--bs-border-color); border-radius: 50%;
    background: var(--bs-body-bg); color: var(--bs-secondary-color); font-size: .75rem;
    transition: color .2s ease, border-color .2s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
}
.mo-dv-collapse:hover[b-043sk5f8x8] { color: #f0c85e; border-color: rgba(216, 168, 62, .55); }
.mo-dv-row-abbr[b-043sk5f8x8] {
    display: none; flex: none; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: .7rem; position: relative;
    background: var(--bs-tertiary-bg); color: var(--bs-body-color); font-size: .72rem; font-weight: 800; letter-spacing: .02em;
}
.mo-dv-row-abbr[b-043sk5f8x8]::after {
    content: ""; position: absolute; right: -2px; top: -2px; width: .55rem; height: .55rem; border-radius: 50%;
    background: var(--bs-secondary-color); box-shadow: 0 0 0 2px var(--mo-surface);
}
.mo-dv-row-abbr.is-draft[b-043sk5f8x8]::after { background: #f0c85e; }
.mo-dv-row-abbr.is-published[b-043sk5f8x8]::after { background: #3fb87f; }

.is-list-collapsed .mo-dv-list[b-043sk5f8x8] { padding-left: .4rem; padding-right: .4rem; align-items: center; }
.is-list-collapsed .mo-dv-list-head[b-043sk5f8x8] { flex-direction: column; }
.is-list-collapsed .mo-dv-list-title[b-043sk5f8x8],
.is-list-collapsed .mo-dv-list-note[b-043sk5f8x8],
.is-list-collapsed .mo-dv-row-label[b-043sk5f8x8],
.is-list-collapsed .mo-dv-row-meta[b-043sk5f8x8] { display: none; }
.is-list-collapsed .mo-dv-collapse[b-043sk5f8x8] { transform: rotate(180deg); margin-bottom: .3rem; }
.is-list-collapsed .mo-dv-list-scroll[b-043sk5f8x8] { align-items: center; padding-top: .45rem; margin-top: .2rem; border-top: 1px solid var(--bs-border-color); }
.is-list-collapsed .mo-dv-row[b-043sk5f8x8] { justify-content: center; min-height: 0; padding: .3rem; animation: mo-dv-tile-b-043sk5f8x8 .3s cubic-bezier(.2, .8, .2, 1) backwards; }
.is-list-collapsed .mo-dv-row-abbr[b-043sk5f8x8] { display: grid; }
.is-list-collapsed .mo-dv-row.is-active .mo-dv-row-abbr[b-043sk5f8x8] { background: rgba(216, 168, 62, .18); color: #f0c85e; }
@keyframes mo-dv-tile-b-043sk5f8x8 { from { opacity: 0; scale: .85; } }
@media (prefers-reduced-motion: reduce) {
    .mo-dv[b-043sk5f8x8], .mo-dv-collapse[b-043sk5f8x8] { transition: none; }
    .is-list-collapsed .mo-dv-row[b-043sk5f8x8] { animation: none; }
}
.mo-dv-list-scroll[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .35rem; overflow-y: auto; min-height: 0; scrollbar-width: thin; }

.mo-dv-row[b-043sk5f8x8] {
    display: flex; align-items: center; justify-content: space-between; gap: .5rem;
    min-height: 3.2rem; padding: .45rem .7rem; border-radius: .75rem;
    border: 1px solid transparent; background: transparent; color: var(--bs-body-color); text-align: left;
    transition: background .2s ease, border-color .2s ease;
}
.mo-dv-row:hover[b-043sk5f8x8] { background: rgba(255, 255, 255, .035); }
.mo-dv-row.is-active[b-043sk5f8x8] { background: rgba(216, 168, 62, .08); border-color: rgba(216, 168, 62, .55); }
.mo-dv-row-label[b-043sk5f8x8] { font-size: .86rem; font-weight: 600; }
.mo-dv-row-meta[b-043sk5f8x8] { display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; flex: none; }
.mo-dv-status[b-043sk5f8x8] { padding: .1rem .55rem; border-radius: 999px; font-size: .7rem; font-weight: 600; white-space: nowrap; }
.mo-dv-status.is-none[b-043sk5f8x8] { background: var(--c-open-bg); color: var(--c-open-ink); }
.mo-dv-status.is-draft[b-043sk5f8x8] { background: rgba(216, 168, 62, .14); color: #f0c85e; }
.mo-dv-status.is-published[b-043sk5f8x8] { background: var(--c-strong-bg); color: var(--c-strong-ink); }

.mo-dv-muted[b-043sk5f8x8] { font-size: .8rem; line-height: 1.45; color: var(--bs-secondary-color); }

/* ---- centre: the selected document ---- */
.mo-dv-doc[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .9rem; min-width: 0; }
.mo-dv-doc-head[b-043sk5f8x8] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.mo-dv-doc-head h2[b-043sk5f8x8] { margin: 0; font-size: 1.45rem; font-weight: 600; letter-spacing: -.01em; }
.mo-dv-badge[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .6rem; border-radius: 999px; background: var(--c-open-bg); color: var(--c-open-ink); font-size: .72rem; font-weight: 700; }
.mo-dv-badge.is-internal[b-043sk5f8x8] { background: #0b1626; color: #eef3fb; border: 1px solid var(--bs-border-color); }

.mo-dv-view[b-043sk5f8x8] { display: inline-flex; gap: 3px; padding: 3px; border-radius: 999px; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); }
.mo-dv-view button[b-043sk5f8x8] { height: 2rem; padding: 0 .9rem; border: 0; border-radius: 999px; background: transparent; color: var(--bs-secondary-color); font-size: .8rem; font-weight: 600; transition: background .2s, color .2s; }
.mo-dv-view button.is-active[b-043sk5f8x8] { background: linear-gradient(135deg, #f0c85e, var(--mo-violet)); color: var(--mo-ink); }
.mo-dv-regen[b-043sk5f8x8] { height: 2.3rem; }

.mo-dv-empty[b-043sk5f8x8] {
    display: flex; flex-direction: column; align-items: center; gap: .75rem;
    padding: 4rem 2.5rem; border: 1px dashed rgba(216, 168, 62, .45); border-radius: 1rem;
    background: var(--mo-surface); text-align: center;
}
.mo-dv-empty.is-small[b-043sk5f8x8] { padding: 2rem 1.5rem; }
.mo-dv-empty-title[b-043sk5f8x8] { font-size: 1.3rem; font-weight: 600; }
.mo-dv-empty p[b-043sk5f8x8] { max-width: 440px; margin: 0; font-size: .88rem; line-height: 1.55; color: var(--bs-secondary-color); }

.mo-dv-paper[b-043sk5f8x8] {
    padding: 2.4rem 3rem; border: 1px solid var(--bs-border-color); border-radius: 1rem;
    background: var(--mo-surface); box-shadow: var(--mo-shadow);
    animation: mo-wb-in-b-043sk5f8x8 .35s ease both;
}
.mo-dv-notes[b-043sk5f8x8] { margin-top: 1.4rem; padding: .7rem .9rem; border-radius: .6rem; background: rgba(216, 168, 62, .08); color: var(--bs-secondary-color); font-size: .8rem; }
.mo-dv-meta[b-043sk5f8x8] { margin-top: 1.2rem; padding-top: .9rem; border-top: 1px solid var(--bs-border-color); font-size: .75rem; color: var(--bs-secondary-color); }

/* ---- centre: the representation plan ---- */
.mo-dv-plan[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .8rem; animation: mo-wb-in-b-043sk5f8x8 .35s ease both; }
.mo-dv-plan-intro[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .3rem; padding: .9rem 1.1rem; border: 1px solid rgba(216, 168, 62, .35); border-radius: .9rem; background: rgba(216, 168, 62, .06); font-size: .82rem; color: var(--bs-secondary-color); }
.mo-dv-plan-intro strong[b-043sk5f8x8] { color: var(--bs-emphasis-color); font-size: .88rem; }
/* No overflow:hidden here — it would clip the evidence tooltips; the head row rounds its own corners. */
.mo-dv-table[b-043sk5f8x8] { border: 1px solid var(--bs-border-color); border-radius: .9rem; background: var(--mo-surface); }
.mo-dv-tr.is-head[b-043sk5f8x8] { border-radius: .9rem .9rem 0 0; }
.mo-dv-tr[b-043sk5f8x8] {display: grid; grid-template-columns: 1.5fr 1fr 1.6fr 1fr 1.5fr; gap: 1rem; align-items: start; padding: .8rem 1.1rem; border-top: 1px solid var(--bs-border-color); font-size: .84rem; }
.mo-dv-tr.is-head[b-043sk5f8x8] { border-top: 0; background: var(--bs-tertiary-bg); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-dv-ev[b-043sk5f8x8] { display: flex; flex-wrap: wrap; gap: .3rem; min-width: 0; }
.mo-ev-tip[b-043sk5f8x8] { position: relative; display: inline-flex; max-width: 100%; outline: none; }
.mo-ev-tip:focus-visible .mo-req-ev[b-043sk5f8x8] { box-shadow: 0 0 0 2px var(--bs-primary); }
.mo-ev-tip-body[b-043sk5f8x8] { position: absolute; left: 0; top: calc(100% + .45rem); z-index: 30; display: flex; flex-direction: column; gap: .3rem; width: max-content; max-width: min(22rem, 80vw); padding: .7rem .85rem; border: 1px solid var(--bs-border-color); border-radius: .7rem; background: var(--bs-tertiary-bg); box-shadow: 0 10px 28px rgba(0, 0, 0, .35); font-size: .78rem; line-height: 1.45; color: var(--bs-body-color); white-space: normal; opacity: 0; visibility: hidden; translate: 0 -4px; pointer-events: none; transition: opacity .15s ease, translate .15s ease, visibility .15s; }
.mo-ev-tip-body > span:last-child[b-043sk5f8x8] { display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; color: var(--bs-secondary-color); }
.mo-ev-tip-type[b-043sk5f8x8] { font-size: .64rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c); }
.mo-ev-tip:hover .mo-ev-tip-body[b-043sk5f8x8], .mo-ev-tip:focus-within .mo-ev-tip-body[b-043sk5f8x8] { opacity: 1; visibility: visible; translate: 0 0; }
.mo-dv-unknowns[b-043sk5f8x8] { padding: .8rem 1rem; border: 1px dashed var(--bs-border-color); border-radius: .8rem; font-size: .82rem; color: var(--c-explore-ink); }

.mo-dv-pill[b-043sk5f8x8], .mo-dv-treat[b-043sk5f8x8] { display: inline-block; padding: .15rem .6rem; border-radius: 999px; font-size: .72rem; font-weight: 600; white-space: nowrap; }
.mo-dv-treat[b-043sk5f8x8] { border-radius: .45rem; font-weight: 700; }
.mo-dv-pill.is-strong[b-043sk5f8x8] { background: var(--c-strong-bg); color: var(--c-strong-ink); }
.mo-dv-pill.is-relevant[b-043sk5f8x8] { background: var(--c-relevant-bg); color: var(--c-relevant-ink); }
.mo-dv-pill.is-explore[b-043sk5f8x8] { background: var(--c-explore-bg); color: var(--c-explore-ink); }
.mo-dv-pill.is-open[b-043sk5f8x8] { background: var(--c-open-bg); color: var(--c-open-ink); }
.mo-dv-pill.is-low[b-043sk5f8x8] { background: var(--c-low-bg); color: var(--c-low-ink); }
.mo-dv-treat.is-foreground[b-043sk5f8x8] { background: rgba(216, 168, 62, .16); color: #f0c85e; }
.mo-dv-treat.is-supporting[b-043sk5f8x8] { background: var(--c-relevant-bg); color: var(--c-relevant-ink); }
.mo-dv-treat.is-compressed[b-043sk5f8x8] { background: var(--c-open-bg); color: var(--c-open-ink); }
.mo-dv-treat.is-reserved[b-043sk5f8x8] { background: var(--c-reserved-bg); color: var(--c-reserved-ink); }
.mo-dv-treat.is-unknown[b-043sk5f8x8] { background: var(--c-explore-bg); color: var(--c-explore-ink); }

/* ---- right: fidelity + publishing ---- */
.mo-dv-side[b-043sk5f8x8] { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: calc(4.5rem + 1rem); }
.mo-dv-card[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .7rem; padding: 1.1rem; border: 1px solid var(--bs-border-color); border-radius: 1rem; background: var(--mo-surface); }
.mo-dv-card-head[b-043sk5f8x8] { display: flex; justify-content: space-between; align-items: baseline; }
.mo-dv-card-head span[b-043sk5f8x8] { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-dv-card-head small[b-043sk5f8x8] { font-size: .75rem; color: var(--bs-secondary-color); }
.mo-dv-fid[b-043sk5f8x8] { display: flex; align-items: baseline; gap: .6rem; }
.mo-dv-fid strong[b-043sk5f8x8] { font-size: 2.4rem; font-weight: 600; line-height: 1; }
.mo-dv-bar[b-043sk5f8x8] { height: .5rem; border-radius: 999px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.mo-dv-bar span[b-043sk5f8x8] { display: block; height: 100%; transition: width .5s cubic-bezier(.2, .75, .2, 1); }
.mo-dv-bar span.is-strong[b-043sk5f8x8] { background: var(--c-strong); }
.mo-dv-bar span.is-explore[b-043sk5f8x8] { background: var(--c-explore); }
.mo-dv-bar span.is-low[b-043sk5f8x8] { background: var(--c-low); }
.mo-dv-fid-notes[b-043sk5f8x8] { margin: 0; font-size: .82rem; line-height: 1.5; color: var(--bs-body-color); }
.mo-dv-checks[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .35rem; padding-top: .3rem; }
.mo-dv-check[b-043sk5f8x8] { display: flex; gap: .5rem; align-items: flex-start; font-size: .8rem; line-height: 1.4; }
.mo-dv-mark[b-043sk5f8x8] { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .05rem; border-radius: 50%; display: grid; place-items: center; font-size: .65rem; font-weight: 800; }
.mo-dv-mark.is-ok[b-043sk5f8x8] { background: var(--c-strong-bg); color: var(--c-strong-ink); }
.mo-dv-mark.is-warn[b-043sk5f8x8] { background: var(--c-explore-bg); color: var(--c-explore-ink); }
.mo-dv-assess[b-043sk5f8x8] { height: 2.6rem; border: 1px solid rgba(216, 168, 62, .5); border-radius: .65rem; background: rgba(216, 168, 62, .08); color: #f0c85e; font-size: .84rem; font-weight: 600; transition: background .2s; }
.mo-dv-assess:hover:not(:disabled)[b-043sk5f8x8] { background: rgba(216, 168, 62, .16); }
.mo-dv-pub[b-043sk5f8x8] { display: flex; align-items: center; gap: .6rem; padding: .6rem .7rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; }
.mo-dv-ver[b-043sk5f8x8] { padding: .1rem .55rem; border-radius: 999px; background: #0b1626; border: 1px solid var(--bs-border-color); color: #eef3fb; font-size: .72rem; font-weight: 700; }
.mo-dv-pdf[b-043sk5f8x8] { flex: none; color: #f0c85e; font-size: .82rem; font-weight: 600; text-decoration: none; }
.mo-dv-pdf:hover[b-043sk5f8x8] { text-decoration: underline; }
.mo-dv-publish[b-043sk5f8x8] { height: 2.9rem; border: 0; border-radius: .75rem; background: linear-gradient(135deg, #f0c85e, var(--mo-violet)); color: var(--mo-ink); font-size: .88rem; font-weight: 700; transition: translate .2s, box-shadow .2s; }
.mo-dv-publish:hover:not(:disabled)[b-043sk5f8x8] { translate: 0 -1px; box-shadow: 0 10px 24px rgba(216, 168, 62, .28); }

@media (max-width: 1300px) {
    .mo-dv[b-043sk5f8x8] { grid-template-columns: 250px minmax(0, 1fr); }
    .mo-dv.is-list-collapsed[b-043sk5f8x8] { grid-template-columns: 4.25rem minmax(0, 1fr); }
    .mo-dv-side[b-043sk5f8x8] { grid-column: 1 / -1; position: static; flex-direction: row; flex-wrap: wrap; }
    .mo-dv-side .mo-dv-card[b-043sk5f8x8] { flex: 1 1 320px; }
    .mo-dh-main[b-043sk5f8x8] { grid-template-columns: minmax(0, 1fr) auto; }
    .mo-dh-main .mo-th-cta[b-043sk5f8x8] { grid-column: 1 / -1; flex-direction: row; align-items: center; }
}

@media (max-width: 900px) {
    .mo-dv[b-043sk5f8x8], .mo-dv.is-list-collapsed[b-043sk5f8x8] { grid-template-columns: 1fr; }
    .mo-dv-collapse[b-043sk5f8x8] { display: none; }
    .mo-dv-list[b-043sk5f8x8] { position: static; max-height: none; }
    .mo-dv-paper[b-043sk5f8x8] { padding: 1.4rem; }
    .mo-dv-tr[b-043sk5f8x8] { grid-template-columns: 1fr; gap: .4rem; }
    .mo-dv-tr.is-head[b-043sk5f8x8] { display: none; }
    .mo-dh-main[b-043sk5f8x8] { grid-template-columns: 1fr; gap: 1.2rem; }
}

/* =========================================================
   New traversal (create mode): dark hero with a setup ring, four numbered
   steps that tick off as they're done, and a sticky live summary. Animations
   fill `backwards` only, so nothing stays a containing block for fixed UI.
   ========================================================= */
.mo-nt[b-043sk5f8x8] {
    --nt-gold: var(--mo-violet);
    --nt-gold-soft: rgba(216, 168, 62, .14);
    --nt-gold-line: rgba(216, 168, 62, .45);
    --nt-ease: cubic-bezier(.2, .8, .2, 1);
    display: flex; flex-direction: column; gap: 1.5rem; padding-bottom: 4rem;
}
.mo-nt-muted[b-043sk5f8x8] { font-size: .8rem; color: var(--bs-secondary-color); }
.mo-nt-label[b-043sk5f8x8] { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-nt-back[b-043sk5f8x8] {
    align-self: flex-start; display: inline-flex; align-items: center; gap: .35rem;
    height: 2.2rem; padding: 0 .9rem 0 .6rem; border-radius: 999px; border: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg); color: var(--bs-body-color); font-size: .82rem; font-weight: 600; text-decoration: none;
    transition: transform .2s var(--nt-ease), border-color .2s ease;
}
.mo-nt-back:hover[b-043sk5f8x8] { transform: translateX(-2px); border-color: var(--nt-gold-line); color: var(--bs-body-color); }

/* ---- hero ---- */
.mo-nt-hero[b-043sk5f8x8] {
    position: relative; overflow: hidden; border-radius: 1.75rem;
    background: linear-gradient(135deg, #050f1d 0%, #0a1830 55%, #10224a 100%);
    color: #fff; box-shadow: 0 24px 60px rgba(4, 10, 20, .35);
    animation: nt-up-b-043sk5f8x8 .7s var(--nt-ease) backwards;
}
.mo-nt-orb[b-043sk5f8x8] { position: absolute; border-radius: 50%; pointer-events: none; }
.mo-nt-orb.is-a[b-043sk5f8x8] { left: -110px; top: -160px; width: 460px; height: 460px; background: radial-gradient(circle, rgba(216, 168, 62, .2), rgba(216, 168, 62, 0) 70%); animation: nt-float-a-b-043sk5f8x8 14s ease-in-out infinite; }
.mo-nt-orb.is-b[b-043sk5f8x8] { right: 80px; bottom: -220px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(72, 137, 230, .14), rgba(72, 197, 170, 0) 70%); animation: nt-float-b-b-043sk5f8x8 18s ease-in-out infinite; }
.mo-nt-hero-inner[b-043sk5f8x8] { position: relative; display: flex; align-items: center; gap: 3rem; padding: 2.4rem 2.75rem 1.4rem; }
.mo-nt-hero-copy[b-043sk5f8x8] { flex: 1 1 auto; min-width: 0; }
.mo-nt-kicker[b-043sk5f8x8] { display: flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0d79a; }
.mo-nt-pulse[b-043sk5f8x8] { width: 8px; height: 8px; border-radius: 50%; background: var(--nt-gold); animation: nt-pulse-b-043sk5f8x8 1.8s ease-out infinite; }
.mo-nt-hero h1[b-043sk5f8x8] { margin: .75rem 0 .55rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; line-height: 1.08; color: #fff; }
.mo-nt-hero h1 span[b-043sk5f8x8] { color: #b9c6d8; font-weight: 500; }
.mo-nt-hero p[b-043sk5f8x8] { max-width: 40rem; margin: 0 0 1.1rem; font-size: .97rem; line-height: 1.6; color: #c3cbe0; }
.mo-nt-chips[b-043sk5f8x8] { display: flex; flex-wrap: wrap; gap: .5rem; }
.mo-nt-chip[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .4rem; height: 2rem; padding: 0 .85rem; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); font-size: .78rem; font-weight: 600; color: #d6dceb; }
.mo-nt-chip.is-scope[b-043sk5f8x8] { background: rgba(72, 197, 138, .16); border-color: rgba(72, 197, 138, .45); color: #7fe0b2; }
.mo-nt-ring-card[b-043sk5f8x8] {
    flex: none; display: flex; align-items: center; gap: 1.1rem; padding: 1.2rem 1.4rem; border-radius: 1.5rem;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); backdrop-filter: blur(6px);
    animation: nt-pop-b-043sk5f8x8 .8s .15s var(--nt-ease) backwards;
}
.mo-nt-ring[b-043sk5f8x8] { position: relative; width: 6.5rem; height: 6.5rem; flex: none; }
.mo-nt-ring svg[b-043sk5f8x8] { width: 100%; height: 100%; transform: rotate(-90deg); }
.mo-nt-ring circle[b-043sk5f8x8] { fill: none; stroke-width: 10; }
.mo-nt-ring-track[b-043sk5f8x8] { stroke: rgba(255, 255, 255, .16); }
.mo-nt-ring-fill[b-043sk5f8x8] { stroke: var(--nt-gold); stroke-linecap: round; stroke-dasharray: 100; filter: drop-shadow(0 0 6px rgba(216, 168, 62, .55)); transition: stroke-dashoffset .8s var(--nt-ease); }
.mo-nt-ring-value[b-043sk5f8x8] { position: absolute; inset: 0; display: grid; place-items: center; font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; font-weight: 600; }
.mo-nt-ring-value small[b-043sk5f8x8] { font-size: 1rem; color: #b9c6d8; }
.mo-nt-ring-label[b-043sk5f8x8] { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f0d79a; }
.mo-nt-ring-note[b-043sk5f8x8] { margin-top: .35rem; max-width: 12rem; font-size: .82rem; line-height: 1.45; color: #d6dceb; }
.mo-nt-journey[b-043sk5f8x8] { position: relative; display: flex; gap: .4rem; margin: 0; padding: 0 2.75rem 1.6rem; list-style: none; }
.mo-nt-journey li[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .5rem; height: 2rem; padding: 0 .85rem 0 .4rem; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); font-size: .8rem; font-weight: 600; color: #b9c6d8; }
.mo-nt-journey li span[b-043sk5f8x8] { width: 1.3rem; height: 1.3rem; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .14); font-size: .7rem; }
.mo-nt-journey li.is-current[b-043sk5f8x8] { color: #fff; border-color: rgba(216, 168, 62, .7); background: rgba(216, 168, 62, .2); }
.mo-nt-journey li.is-current span[b-043sk5f8x8] { background: var(--nt-gold); color: var(--mo-ink); }

.mo-nt-note[b-043sk5f8x8] { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; padding: .9rem 1.1rem; border-radius: 1.1rem; border: 1px solid var(--bs-border-color); background: var(--mo-surface); font-size: .88rem; color: var(--bs-secondary-color); }
.mo-nt-note.is-warn[b-043sk5f8x8] { border-color: rgba(240, 200, 94, .5); background: rgba(240, 200, 94, .08); color: #e2b440; }

/* ---- layout + step cards ---- */
.mo-nt-layout[b-043sk5f8x8] { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: 1.5rem; align-items: start; }
.mo-nt-main[b-043sk5f8x8] { display: flex; flex-direction: column; gap: 1.1rem; min-width: 0; }
.mo-nt-card[b-043sk5f8x8] {
    position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.4rem 1.5rem;
    border: 1px solid var(--bs-border-color); border-radius: 1.4rem; background: var(--mo-surface);
    animation: nt-up-b-043sk5f8x8 .55s var(--nt-ease) backwards; animation-delay: var(--d, 0s);
    transition: border-color .3s ease, box-shadow .3s ease;
}
.mo-nt-card:focus-within[b-043sk5f8x8] { border-color: var(--nt-gold-line); box-shadow: 0 0 0 4px var(--nt-gold-soft); }
.mo-nt-card.is-current[b-043sk5f8x8] { border-color: var(--nt-gold-line); }
.mo-nt-head[b-043sk5f8x8] { display: flex; align-items: flex-start; gap: .9rem; }
.mo-nt-head h2[b-043sk5f8x8] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-nt-head p[b-043sk5f8x8] { margin: .25rem 0 0; font-size: .84rem; line-height: 1.5; color: var(--bs-secondary-color); }
.mo-nt-num[b-043sk5f8x8] {
    flex: none; width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border-radius: 50%;
    border: 1.5px solid var(--nt-gold-line); color: var(--nt-gold); font-size: .88rem; font-weight: 700;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.mo-nt-card.is-done .mo-nt-num[b-043sk5f8x8] { background: rgba(72, 197, 138, .18); border-color: rgba(72, 197, 138, .6); color: #3fb87f; }
.mo-nt-card.is-done .mo-nt-num i[b-043sk5f8x8] { animation: nt-pop-b-043sk5f8x8 .35s var(--nt-ease) backwards; }
.mo-nt-required[b-043sk5f8x8] { flex: none; padding: .15rem .6rem; border-radius: 999px; background: rgba(240, 200, 94, .16); color: #e2b440; font-size: .7rem; font-weight: 700; }

/* perspective */
.mo-nt-persp[b-043sk5f8x8] { display: grid; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); gap: .65rem; }
.mo-nt-persp-card[b-043sk5f8x8] {
    position: relative; display: flex; flex-direction: column; gap: .35rem; padding: .95rem 1rem; border-radius: 1.1rem; text-align: left;
    border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); color: inherit;
    animation: nt-up-b-043sk5f8x8 .45s var(--nt-ease) backwards; animation-delay: calc(.15s + var(--i) * 40ms);
    transition: transform .2s var(--nt-ease), border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.mo-nt-persp-card:hover[b-043sk5f8x8] { transform: translateY(-3px); border-color: var(--nt-gold-line); box-shadow: var(--mo-shadow); }
.mo-nt-persp-card.is-active[b-043sk5f8x8] { border-color: var(--nt-gold); background: var(--nt-gold-soft); box-shadow: 0 0 0 3px var(--nt-gold-soft); }
.mo-nt-persp-ico[b-043sk5f8x8] { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: .75rem; background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: 1.05rem; transition: all .25s ease; }
.mo-nt-persp-card.is-active .mo-nt-persp-ico[b-043sk5f8x8] { background: linear-gradient(135deg, #f0c85e, var(--nt-gold)); color: var(--mo-ink); }
.mo-nt-persp-label[b-043sk5f8x8] { font-weight: 700; font-size: .92rem; }
.mo-nt-persp-desc[b-043sk5f8x8] { font-size: .76rem; line-height: 1.45; color: var(--bs-secondary-color); }
.mo-nt-persp-check[b-043sk5f8x8] {
    position: absolute; top: .65rem; right: .65rem; width: 1.4rem; height: 1.4rem; display: grid; place-items: center; border-radius: 50%;
    background: var(--nt-gold); color: var(--mo-ink); font-size: .75rem; opacity: 0; scale: .5; transition: opacity .2s ease, scale .3s var(--nt-ease);
}
.mo-nt-persp-card.is-active .mo-nt-persp-check[b-043sk5f8x8] { opacity: 1; scale: 1; }

/* purpose */
.mo-nt-purpose[b-043sk5f8x8] {
    width: 100%; min-height: 3.6rem; padding: .85rem 1rem; border-radius: 1rem; resize: none;
    border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); color: var(--bs-body-color);
    font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; line-height: 1.5;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.mo-nt-purpose:focus[b-043sk5f8x8] { outline: none; border-color: var(--nt-gold-line); box-shadow: 0 0 0 4px var(--nt-gold-soft); }
.mo-nt-suggest[b-043sk5f8x8] { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.mo-nt-suggest > span[b-043sk5f8x8] { display: inline-flex; align-items: center; gap: .3rem; margin-right: .2rem; }
.mo-nt-suggest button[b-043sk5f8x8] {
    padding: .35rem .8rem; border-radius: 999px; border: 1px dashed var(--bs-border-color); background: transparent;
    color: var(--bs-secondary-color); font-size: .78rem; text-align: left;
    animation: nt-up-b-043sk5f8x8 .4s var(--nt-ease) backwards; animation-delay: calc(.2s + var(--i) * 40ms);
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.mo-nt-suggest button:hover[b-043sk5f8x8] { color: var(--bs-body-color); border-color: var(--nt-gold-line); border-style: solid; }
.mo-nt-suggest button.is-active[b-043sk5f8x8] { color: var(--nt-gold); border-color: var(--nt-gold-line); border-style: solid; background: var(--nt-gold-soft); }

/* reader */
.mo-nt-btn[b-043sk5f8x8] {
    flex: none; display: inline-flex; align-items: center; gap: .4rem; height: 2.4rem; padding: 0 1rem; border-radius: 999px;
    border: 1px solid transparent; font-size: .8rem; font-weight: 600; white-space: nowrap;
    transition: transform .18s var(--nt-ease), background .2s ease;
}
.mo-nt-btn:hover:not(:disabled)[b-043sk5f8x8] { transform: translateY(-1px); }
.mo-nt-btn:disabled[b-043sk5f8x8] { opacity: .5; cursor: not-allowed; }
.mo-nt-btn.is-soft[b-043sk5f8x8] { background: var(--nt-gold-soft); border-color: var(--nt-gold-line); color: var(--nt-gold); }
.mo-nt-meter[b-043sk5f8x8] { height: .35rem; border-radius: 999px; background: var(--bs-tertiary-bg); overflow: hidden; }
.mo-nt-meter > span[b-043sk5f8x8] { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--nt-gold), #48c58a); transition: width .5s var(--nt-ease); }
.mo-nt-audience[b-043sk5f8x8] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.mo-nt-inline[b-043sk5f8x8] { padding: .5rem .8rem; border-radius: .8rem; font-size: .8rem; animation: nt-pop-b-043sk5f8x8 .3s var(--nt-ease) backwards; }
.mo-nt-inline.is-ok[b-043sk5f8x8] { background: rgba(72, 197, 138, .12); color: #3fb87f; }
.mo-nt-inline.is-err[b-043sk5f8x8] { background: rgba(224, 87, 91, .12); color: var(--mo-rose); }
.mo-nt-shimmer[b-043sk5f8x8] { height: 12rem; border-radius: 1rem; background: linear-gradient(100deg, var(--mo-surface) 30%, var(--mo-surface-2) 50%, var(--mo-surface) 70%); background-size: 300% 100%; animation: nt-shimmer-b-043sk5f8x8 1.4s linear infinite; }

/* ---- sticky summary ---- */
.mo-nt-side[b-043sk5f8x8] { position: sticky; top: 5.5rem; display: flex; flex-direction: column; gap: 1rem; }
.mo-nt-summary[b-043sk5f8x8], .mo-nt-next[b-043sk5f8x8] {
    display: flex; flex-direction: column; gap: .9rem; padding: 1.3rem 1.35rem; border-radius: 1.4rem;
    border: 1px solid var(--bs-border-color); background: var(--mo-surface);
    animation: nt-up-b-043sk5f8x8 .55s .15s var(--nt-ease) backwards;
}
.mo-nt-summary[b-043sk5f8x8] { border-color: var(--nt-gold-line); background: radial-gradient(280px circle at 100% 0%, rgba(216, 168, 62, .12), transparent 70%), var(--mo-surface); }
.mo-nt-check[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.mo-nt-check li[b-043sk5f8x8] { display: flex; gap: .7rem; align-items: flex-start; }
.mo-nt-check li > div[b-043sk5f8x8] { display: flex; flex-direction: column; min-width: 0; font-size: .84rem; }
.mo-nt-check li b[b-043sk5f8x8] { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bs-secondary-color); }
.mo-nt-check li > div > span[b-043sk5f8x8] { overflow-wrap: anywhere; color: var(--bs-body-color); }
.mo-nt-check li.is-missing > div > span[b-043sk5f8x8] { color: #e2b440; }
.mo-nt-tick[b-043sk5f8x8] {
    flex: none; width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 50%; font-size: .8rem;
    background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); transition: background .3s ease, color .3s ease;
}
.mo-nt-check li.is-done .mo-nt-tick[b-043sk5f8x8] { background: rgba(72, 197, 138, .18); color: #3fb87f; }
.mo-nt-check li.is-partial .mo-nt-tick[b-043sk5f8x8] { background: var(--nt-gold-soft); color: var(--nt-gold); }
.mo-nt-check li.is-missing .mo-nt-tick[b-043sk5f8x8] { background: rgba(240, 200, 94, .14); color: #e2b440; }
.mo-nt-create[b-043sk5f8x8] {
    position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: .55rem;
    height: 3.25rem; border: 0; border-radius: 999px; background: var(--nt-gold); color: var(--mo-ink);
    font-size: 1rem; font-weight: 700; box-shadow: 0 10px 26px rgba(216, 168, 62, .3);
    transition: transform .2s var(--nt-ease), box-shadow .2s ease, background .2s ease;
}
.mo-nt-create:hover:not(:disabled)[b-043sk5f8x8] { transform: translateY(-2px); background: var(--mo-violet-600); box-shadow: 0 14px 32px rgba(216, 168, 62, .4); }
.mo-nt-create:hover:not(:disabled) i[b-043sk5f8x8] { transform: translateX(3px); }
.mo-nt-create i[b-043sk5f8x8] { transition: transform .2s var(--nt-ease); }
.mo-nt-create:disabled[b-043sk5f8x8] { opacity: .5; cursor: not-allowed; box-shadow: none; }
/* a soft sheen sweeping across once everything required is in */
.mo-nt-create:not(:disabled)[b-043sk5f8x8]::after {
    content: ""; position: absolute; inset: 0; width: 40%;
    background: linear-gradient(110deg, transparent, rgba(255, 255, 255, .45), transparent);
    animation: nt-sheen-b-043sk5f8x8 3.2s ease-in-out infinite;
}
.mo-nt-next ol[b-043sk5f8x8] { display: flex; flex-direction: column; gap: .8rem; margin: 0; padding: 0; list-style: none; counter-reset: nt; }
.mo-nt-next li[b-043sk5f8x8] { position: relative; display: flex; flex-direction: column; padding-left: 2.1rem; font-size: .82rem; color: var(--bs-secondary-color); counter-increment: nt; }
.mo-nt-next li[b-043sk5f8x8]::before {
    content: counter(nt); position: absolute; left: 0; top: 0; width: 1.45rem; height: 1.45rem; display: grid; place-items: center;
    border-radius: 50%; background: var(--bs-tertiary-bg); color: var(--bs-body-color); font-size: .7rem; font-weight: 700;
}
.mo-nt-next li b[b-043sk5f8x8] { color: var(--bs-body-color); font-size: .86rem; }

@keyframes nt-up-b-043sk5f8x8 { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: none; } }
@keyframes nt-pop-b-043sk5f8x8 { from { opacity: 0; scale: .9; } to { opacity: 1; scale: 1; } }
@keyframes nt-float-a-b-043sk5f8x8 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 28px) scale(1.12); } }
@keyframes nt-float-b-b-043sk5f8x8 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-36px, -24px) scale(1.18); } }
@keyframes nt-pulse-b-043sk5f8x8 { 0% { box-shadow: 0 0 0 0 rgba(216, 168, 62, .7); } 100% { box-shadow: 0 0 0 12px rgba(216, 168, 62, 0); } }
@keyframes nt-shimmer-b-043sk5f8x8 { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@keyframes nt-sheen-b-043sk5f8x8 { 0%, 60% { left: -45%; } 100% { left: 110%; } }

@media (prefers-reduced-motion: reduce) {
    .mo-nt *[b-043sk5f8x8] { animation: none !important; transition: none !important; }
    .mo-nt-create[b-043sk5f8x8]::after { display: none; }
}

@media (max-width: 1100px) {
    .mo-nt-layout[b-043sk5f8x8] { grid-template-columns: minmax(0, 1fr); }
    .mo-nt-side[b-043sk5f8x8] { position: static; }
    .mo-nt-hero-inner[b-043sk5f8x8] { flex-direction: column; align-items: stretch; gap: 1.5rem; }
}

@media (max-width: 720px) {
    .mo-nt-hero-inner[b-043sk5f8x8] { padding: 1.75rem 1.25rem 1.1rem; }
    .mo-nt-journey[b-043sk5f8x8] { padding: 0 1.25rem 1.25rem; flex-wrap: wrap; }
    .mo-nt-card[b-043sk5f8x8] { padding: 1.15rem; }
    .mo-nt-head[b-043sk5f8x8] { flex-wrap: wrap; }
    .mo-nt-audience[b-043sk5f8x8] { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- phase pill: Explore / Deliverables / Package (same as the Package page) ---------- */
.mo-phasebar[b-043sk5f8x8] { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-bottom: 1rem; animation: mo-phase-in-b-043sk5f8x8 .45s cubic-bezier(.2, .8, .2, 1) backwards; }
.mo-phase-back[b-043sk5f8x8] {
    display: inline-flex; align-items: center; gap: .4rem; max-width: 100%; height: 2.3rem; padding: 0 .95rem 0 .7rem; border-radius: 999px;
    background: var(--mo-surface); border: 1px solid var(--bs-border-color); color: var(--bs-body-color); font-size: .84rem; font-weight: 600; text-decoration: none;
    transition: border-color .2s ease;
}
.mo-phase-back span[b-043sk5f8x8] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-phase-back:hover[b-043sk5f8x8] { border-color: rgba(216, 168, 62, .45); color: var(--bs-body-color); }
.mo-phase-back i[b-043sk5f8x8] { transition: transform .2s cubic-bezier(.2, .8, .2, 1); }
.mo-phase-back:hover i[b-043sk5f8x8] { transform: translateX(-3px); }
.mo-phases[b-043sk5f8x8] { display: flex; gap: .3rem; padding: .25rem; border-radius: 999px; background: var(--bs-tertiary-bg); }
.mo-phases > button[b-043sk5f8x8], .mo-phases > a[b-043sk5f8x8] {
    height: 1.9rem; padding: 0 .95rem; display: inline-flex; align-items: center; gap: .3rem; border: 0; border-radius: 999px;
    background: none; font-size: .82rem; font-weight: 600; text-decoration: none; color: var(--bs-secondary-color);
    transition: color .2s ease, background .2s ease;
}
.mo-phases > button:hover[b-043sk5f8x8], .mo-phases > a:hover[b-043sk5f8x8] { color: var(--bs-body-color); background: var(--mo-surface); }
.mo-phases > .is-active[b-043sk5f8x8], .mo-phases > .is-active:hover[b-043sk5f8x8] { background: var(--mo-violet); color: var(--mo-ink); }
.mo-phases i[b-043sk5f8x8] { font-size: .8rem; color: #3fb87f; }
.mo-phases > .is-active i[b-043sk5f8x8] { color: inherit; }
@keyframes mo-phase-in-b-043sk5f8x8 { from { opacity: 0; translate: 0 -6px; } }
@media (prefers-reduced-motion: reduce) { .mo-phasebar[b-043sk5f8x8] { animation: none; } }
.mo-phase-pkg[b-043sk5f8x8] {
    margin-left: auto; display: inline-flex; align-items: center; gap: .6rem; height: 2.6rem; padding: 0 1rem; border-radius: 999px;
    border: 1px solid rgba(216, 168, 62, .45); background: rgba(216, 168, 62, .08); color: var(--bs-body-color); text-decoration: none;
    transition: background .2s ease, border-color .2s ease, transform .2s cubic-bezier(.2, .8, .2, 1);
}
.mo-phase-pkg:hover[b-043sk5f8x8] { background: rgba(216, 168, 62, .16); border-color: rgba(216, 168, 62, .7); color: var(--bs-body-color); transform: translateY(-1px); }
.mo-phase-pkg > i:first-child[b-043sk5f8x8] { color: #f0c85e; }
.mo-phase-pkg span[b-043sk5f8x8] { display: flex; flex-direction: column; line-height: 1.1; font-size: .84rem; font-weight: 700; }
.mo-phase-pkg small[b-043sk5f8x8] { font-size: .68rem; font-weight: 600; color: var(--bs-secondary-color); }
.mo-phase-pkg > i:last-child[b-043sk5f8x8] { font-size: .8rem; transition: transform .2s cubic-bezier(.2, .8, .2, 1); }
.mo-phase-pkg:hover > i:last-child[b-043sk5f8x8] { transform: translateX(3px); }
/* /Components/UI/AiGenerationOverlay.razor.rz.scp.css */
.mo-gen-backdrop[b-6dkxg8ra1c] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(4, 10, 20, .55);
    backdrop-filter: blur(3px);
    animation: mo-gen-fade-b-6dkxg8ra1c .2s ease-out;
}

.mo-gen-card[b-6dkxg8ra1c] {
    width: min(26rem, 100%);
    padding: 1.6rem 1.5rem 1.2rem;
    border-radius: 1rem;
    border: 1px solid var(--bs-border-color);
    background: var(--bs-card-bg, var(--bs-body-bg));
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
    text-align: center;
}

.mo-gen-art[b-6dkxg8ra1c] {
    display: flex;
    justify-content: center;
    margin-bottom: .9rem;
}

.mo-gen-svg[b-6dkxg8ra1c] {
    width: 11rem;
    height: auto;
    overflow: visible;
}

.mo-gen-title[b-6dkxg8ra1c] {
    font-weight: 600;
    font-size: 1.1rem;
}

.mo-gen-step[b-6dkxg8ra1c] {
    min-height: 1.4rem;
    margin-top: .3rem;
    color: var(--bs-secondary-color);
    font-size: .88rem;
    animation: mo-gen-fade-b-6dkxg8ra1c .4s ease-out;
}

.mo-gen-bar[b-6dkxg8ra1c] {
    height: .35rem;
    margin: 1rem 0 .7rem;
    border-radius: 999px;
    overflow: hidden;
    background: var(--bs-tertiary-bg, rgba(120, 130, 145, .18));
}

.mo-gen-bar-fill[b-6dkxg8ra1c] {
    width: 35%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--mo-violet, var(--bs-primary)), var(--mo-teal, var(--bs-info)));
    animation: mo-gen-slide-b-6dkxg8ra1c 1.6s ease-in-out infinite;
}

.mo-gen-meta[b-6dkxg8ra1c] {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    font-size: .74rem;
    color: var(--bs-secondary-color);
    text-align: left;
}

.mo-gen-elapsed[b-6dkxg8ra1c] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ---- illustrations ---- */
.mo-gen-paper[b-6dkxg8ra1c] {
    fill: var(--bs-tertiary-bg, rgba(120, 130, 145, .12));
    stroke: var(--bs-border-color);
    stroke-width: 1.5;
}

.mo-gen-line[b-6dkxg8ra1c] {
    fill: var(--bs-secondary-color);
    opacity: .35;
}

.mo-gen-primary-fill[b-6dkxg8ra1c] { fill: var(--mo-violet, var(--bs-primary)); }
.mo-gen-accent-fill[b-6dkxg8ra1c] { fill: var(--mo-teal, var(--bs-info)); }

.mo-gen-scan[b-6dkxg8ra1c] {
    fill: var(--mo-teal, var(--bs-info));
    opacity: .85;
    animation: mo-gen-scan-b-6dkxg8ra1c 2.2s ease-in-out infinite;
}

.mo-gen-write[b-6dkxg8ra1c] {
    fill: var(--mo-violet, var(--bs-primary));
    transform-box: fill-box;
    transform-origin: left center;
    animation: mo-gen-write-b-6dkxg8ra1c 2.7s ease-in-out infinite;
}

.mo-gen-pen[b-6dkxg8ra1c] {
    animation: mo-gen-pen-b-6dkxg8ra1c 2.7s ease-in-out infinite;
}

.mo-gen-check[b-6dkxg8ra1c] {
    fill: none;
    stroke: var(--mo-teal, var(--bs-success));
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 22;
    stroke-dashoffset: 22;
    animation: mo-gen-draw-b-6dkxg8ra1c 2.4s ease-in-out infinite;
}

.mo-gen-lens[b-6dkxg8ra1c] {
    animation: mo-gen-lens-b-6dkxg8ra1c 3s ease-in-out infinite;
}

.mo-gen-lens-glass[b-6dkxg8ra1c] {
    fill: rgba(255, 255, 255, .06);
    stroke: var(--mo-violet, var(--bs-primary));
    stroke-width: 4;
}

.mo-gen-lens-handle[b-6dkxg8ra1c] {
    stroke: var(--mo-violet, var(--bs-primary));
    stroke-width: 6;
    stroke-linecap: round;
}

.mo-gen-edge[b-6dkxg8ra1c] {
    stroke: var(--bs-secondary-color);
    stroke-width: 1.5;
    stroke-dasharray: 70;
    stroke-dashoffset: 70;
    opacity: .6;
    animation: mo-gen-draw-b-6dkxg8ra1c 2.8s ease-in-out infinite;
}

.mo-gen-node[b-6dkxg8ra1c] {
    transform-box: fill-box;
    transform-origin: center;
    animation: mo-gen-pop-b-6dkxg8ra1c 2.8s ease-in-out infinite;
}

.mo-gen-node-a[b-6dkxg8ra1c] { fill: var(--mo-violet, var(--bs-primary)); }
.mo-gen-node-b[b-6dkxg8ra1c] { fill: var(--mo-teal, var(--bs-info)); }

.mo-gen-core[b-6dkxg8ra1c] {
    fill: var(--mo-violet, var(--bs-primary));
    transform-box: fill-box;
    transform-origin: center;
    animation: mo-gen-pulse-b-6dkxg8ra1c 1.6s ease-in-out infinite;
}

@keyframes mo-gen-fade-b-6dkxg8ra1c { from { opacity: 0; } to { opacity: 1; } }
@keyframes mo-gen-slide-b-6dkxg8ra1c { 0% { transform: translateX(-110%); } 100% { transform: translateX(300%); } }
@keyframes mo-gen-scan-b-6dkxg8ra1c { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(80px); } }
@keyframes mo-gen-write-b-6dkxg8ra1c { 0% { transform: scaleX(0); } 45%, 80% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: .25; } }
@keyframes mo-gen-pen-b-6dkxg8ra1c { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-6px, 60px); } }
@keyframes mo-gen-draw-b-6dkxg8ra1c { 0% { stroke-dashoffset: 70; } 45%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: .2; } }
@keyframes mo-gen-pop-b-6dkxg8ra1c { 0%, 10% { transform: scale(0); } 40%, 85% { transform: scale(1); } 100% { transform: scale(.9); } }
@keyframes mo-gen-pulse-b-6dkxg8ra1c { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18); } }
@keyframes mo-gen-lens-b-6dkxg8ra1c { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-14px, 22px); } }

@media (prefers-reduced-motion: reduce) {
    .mo-gen-backdrop *[b-6dkxg8ra1c],
    .mo-gen-backdrop *[b-6dkxg8ra1c]::before { animation: none !important; }
    .mo-gen-check[b-6dkxg8ra1c], .mo-gen-edge[b-6dkxg8ra1c] { stroke-dashoffset: 0; }
}
/* /Components/UI/ChatComposer.razor.rz.scp.css */
.mo-chat-input-row[b-c532cp8uhk] {
    display: flex;
    gap: .6rem;
    align-items: flex-end;
    margin-top: .9rem;
}

.mo-chat-input-row textarea[b-c532cp8uhk] {
    flex: 1 1 auto;
    resize: none;
}
/* /Components/UI/ChatMessageBubble.razor.rz.scp.css */
.mo-chat-msg[b-2ddlxt5wc4] {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    animation: mo-chat-msg-in-b-2ddlxt5wc4 .3s ease both;
}

@keyframes mo-chat-msg-in-b-2ddlxt5wc4 {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.mo-chat-msg-exec[b-2ddlxt5wc4] {
    flex-direction: row-reverse;
}

.mo-chat-avatar[b-2ddlxt5wc4] {
    width: 1.9rem;
    height: 1.9rem;
    flex-shrink: 0;
    font-size: .68rem;
}

.mo-chat-bubble[b-2ddlxt5wc4] {
    max-width: 82%;
    border: 1px solid var(--bs-border-color);
    border-radius: .8rem;
    padding: .6rem .8rem;
    background: var(--mo-surface-2, var(--bs-tertiary-bg));
    font-size: .82rem;
}

.mo-chat-msg-exec .mo-chat-bubble[b-2ddlxt5wc4] {
    background: rgba(216, 168, 62, .08);
    border-color: rgba(216, 168, 62, .3);
    margin-left: auto;
}

.mo-chat-meta[b-2ddlxt5wc4] {
    display: flex;
    gap: .5rem;
    font-size: .68rem;
    margin-bottom: .25rem;
}

.mo-chat-text[b-2ddlxt5wc4] {
    margin: 0;
    white-space: pre-wrap;
}

.mo-chat-msg-footer[b-2ddlxt5wc4] {
    margin-top: .4rem;
}

.mo-chat-cursor[b-2ddlxt5wc4] {
    display: inline-block;
    width: .5em;
    height: 1em;
    margin-left: .1em;
    vertical-align: text-bottom;
    background: currentColor;
    opacity: .7;
    animation: mo-chat-cursor-blink-b-2ddlxt5wc4 1s step-end infinite;
}

@keyframes mo-chat-cursor-blink-b-2ddlxt5wc4 {
    50% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-chat-cursor[b-2ddlxt5wc4] { animation: none; }
}

.mo-chat-typing[b-2ddlxt5wc4] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .75rem .9rem;
}

.mo-chat-typing span[b-2ddlxt5wc4] {
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: var(--bs-secondary-color);
    animation: mo-chat-typing-bounce-b-2ddlxt5wc4 1s ease-in-out infinite;
}

.mo-chat-typing span:nth-child(2)[b-2ddlxt5wc4] { animation-delay: .15s; }
.mo-chat-typing span:nth-child(3)[b-2ddlxt5wc4] { animation-delay: .3s; }

@keyframes mo-chat-typing-bounce-b-2ddlxt5wc4 {
    0%, 60%, 100% { opacity: .35; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
    .mo-chat-msg[b-2ddlxt5wc4] { animation: none; }
    .mo-chat-typing span[b-2ddlxt5wc4] { animation: none; }
}

@media (max-width: 640px) {
    .mo-chat-bubble[b-2ddlxt5wc4] { max-width: 90%; }
}
/* /Components/UI/ContinuumGraph.razor.rz.scp.css */
.mo-graph[b-fht3dbl3nc] {
    position: relative;
}

.mo-graph-controls[b-fht3dbl3nc] {
    position: absolute;
    top: .4rem;
    right: .4rem;
    z-index: 10;
}

.mo-graph-controls .btn[b-fht3dbl3nc] {
    font-size: .72rem;
    padding: .1rem .5rem;
}

.mo-graph-viewport[b-fht3dbl3nc] {
    border: 1px solid var(--bs-border-color);
    border-radius: 14px;
    background:
        radial-gradient(60% 60% at 50% 40%, rgba(45, 212, 191, .06), transparent 70%),
        var(--bs-tertiary-bg);
    overflow: hidden;
    padding: .5rem;
}

.mo-graph-canvas[b-fht3dbl3nc] {
    position: relative;
    width: 100%;
    /* Left-aligned in the card; generous but capped so a huge category count
       doesn't take over the whole page. aspect-ratio is set inline per-render
       (ContinuumGraph.razor) since it grows with the node count. */
    max-width: 1400px;
    margin: 0;
}

.mo-graph-svg[b-fht3dbl3nc] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}

/* edges draw themselves in; a kept line (same @key) doesn't replay */
.mo-edge[b-fht3dbl3nc] {
    stroke-dasharray: 660;
    animation: mo-edge-draw-b-fht3dbl3nc .5s ease both;
}

@keyframes mo-edge-draw-b-fht3dbl3nc {
    from { stroke-dashoffset: 660; }
    to { stroke-dashoffset: 0; }
}

/* ---- nodes: rounded rectangle, a big icon circle on the left (inside,
   never over the text), title + type label beside it. The node grows to
   fit the text — no truncation. ---- */
.mo-gnode[b-fht3dbl3nc] {
    position: absolute;
    left: calc(var(--gx, 50) * 1%);
    top: calc(var(--gy, 50) * 1%);
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .38rem .8rem .38rem .4rem;
    border: 2px solid var(--c, var(--bs-border-color));
    border-radius: 16px;
    background: var(--bs-card-bg, var(--bs-body-bg));
    color: var(--bs-body-color);
    box-shadow: 0 0 16px -4px var(--c, transparent);
    font-size: .74rem;
    line-height: 1.16;
    width: max-content;
    max-width: 236px;
    text-align: left;
    cursor: pointer;
    transition: left .4s cubic-bezier(.2, .75, .2, 1), top .4s cubic-bezier(.2, .75, .2, 1),
        box-shadow .12s ease, border-color .12s ease;
}

.mo-gnode-badge[b-fht3dbl3nc] {
    flex-shrink: 0;
    width: 2.7em;
    height: 2.7em;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 2px solid var(--c, var(--bs-border-color));
    background: rgba(255, 255, 255, .05);
    background: color-mix(in srgb, var(--c) 22%, transparent);
    color: var(--c, var(--bs-secondary-color));
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .05), 0 0 14px -3px var(--c);
}

.mo-gnode-badge > i[b-fht3dbl3nc] { font-size: 1.15em; }

/* Overlap fallback (continuum-graph.js): a node the layout pass still
   couldn't fully separate from a neighbour collapses to just its icon
   badge — the name is still reachable via the node's native title tooltip
   on hover. */
.mo-gnode.mo-gnode-compact[b-fht3dbl3nc] {
    width: 2.9em;
    max-width: 2.9em;
    height: 2.9em;
    padding: 0;
    gap: 0;
    justify-content: center;
    border-radius: 50%;
}

.mo-gnode-compact .mo-gnode-text[b-fht3dbl3nc] {
    display: none;
}

.mo-gnode-compact .mo-gnode-badge[b-fht3dbl3nc] {
    width: 100%;
    height: 100%;
}

.mo-gnode-text[b-fht3dbl3nc] {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.mo-gnode-title[b-fht3dbl3nc] {
    font-weight: 700;
    color: var(--bs-emphasis-color, var(--bs-body-color));
    word-break: break-word;
}

.mo-gnode small[b-fht3dbl3nc] {
    color: var(--c, var(--bs-secondary-color));
    font-size: .84em;
}

/* member nodes appearing on expand — fade in, lightly staggered (inline
   delay). Fade only, no scale, so getBoundingClientRect (the JS overlap
   pass) always measures the node at full size. */
.mo-gnode-in[b-fht3dbl3nc] {
    animation: mo-node-in-b-fht3dbl3nc .45s ease both;
}

@keyframes mo-node-in-b-fht3dbl3nc {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .mo-edge[b-fht3dbl3nc], .mo-gnode-in[b-fht3dbl3nc] { animation: none; }
    .mo-gnode[b-fht3dbl3nc] { transition: none; }
}

.mo-gnode:hover[b-fht3dbl3nc] {
    box-shadow: 0 0 22px -3px var(--c, rgba(0, 0, 0, .25));
    z-index: 6;
}

.mo-gnode.is-sel[b-fht3dbl3nc] {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
    z-index: 7;
}

.mo-gnode-concept[b-fht3dbl3nc] {
    max-width: 250px;
    font-size: .82rem;
    box-shadow: 0 0 20px -3px var(--c);
}

.mo-gnode-concept.is-open[b-fht3dbl3nc] {
    box-shadow: 0 0 30px -2px var(--c);
}

/* ---- centre / Executive ---- */
.mo-gnode-exec[b-fht3dbl3nc] {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    padding: 0;
    justify-content: center;
    border-width: 2px;
    border-color: var(--mo-node-exec);
    background:
        radial-gradient(circle at 50% 35%, rgba(124, 192, 255, .28), transparent 70%),
        var(--bs-card-bg, var(--bs-body-bg));
    box-shadow: 0 0 30px -5px var(--mo-node-exec);
    cursor: default;
    z-index: 8;
}

.mo-gnode-exec.is-mini[b-fht3dbl3nc] {
    width: 62px;
    height: 62px;
    box-shadow: 0 0 18px -5px var(--mo-node-exec);
}

.mo-gnode-exec.is-mini .mo-gnode-avatar[b-fht3dbl3nc] { font-size: .84rem; }
.mo-gnode-exec.is-mini .mo-gnode-cap[b-fht3dbl3nc] { font-size: .62rem; margin-top: 3px; }

.mo-gnode-ring[b-fht3dbl3nc] {
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(124, 192, 255, .35);
}

.mo-gnode-avatar[b-fht3dbl3nc] {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .3px;
}

.mo-gnode-cap[b-fht3dbl3nc] {
    position: absolute;
    top: 100%;
    margin-top: 6px;
    white-space: nowrap;
    font-weight: 600;
    font-size: .78rem;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
}

.mo-gnode-cap small[b-fht3dbl3nc] {
    color: var(--bs-secondary-color);
    font-weight: 500;
}

/* ---- selected-node detail ---- */
.mo-graph-detail[b-fht3dbl3nc] {
    margin-top: .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 12px;
    padding: .75rem .9rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
}

/* ---- legend ---- */
.mo-graph-legend[b-fht3dbl3nc] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .9rem;
    margin-top: .75rem;
    font-size: .75rem;
}

.mo-legend-item[b-fht3dbl3nc] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.mo-legend-dot[b-fht3dbl3nc] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

/* ---- empty ---- */
.mo-graph-empty[b-fht3dbl3nc] {
    border: 1px dashed var(--bs-border-color);
    border-radius: 14px;
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--bs-secondary-color);
}

.mo-graph-empty > i[b-fht3dbl3nc] {
    font-size: 1.8rem;
    display: block;
    margin-bottom: .4rem;
}

@media (max-width: 575px) {
    .mo-gnode[b-fht3dbl3nc] { font-size: .62rem; max-width: 170px; }
    .mo-gnode-concept[b-fht3dbl3nc] { font-size: .68rem; max-width: 180px; }
    .mo-gnode-exec[b-fht3dbl3nc] { width: 60px; height: 60px; }
    .mo-gnode-avatar[b-fht3dbl3nc] { font-size: .82rem; }
}
/* /Components/UI/DocumentSummaryPanel.razor.rz.scp.css */
/* My Continuum → Documents tab: list on the left, the selected document on the right. */
.mo-dp[b-5foxyryqk3] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    min-height: 0;
}

.mo-dp-center[b-5foxyryqk3] {
    flex: 1 1 auto;
    display: grid;
    place-content: center;
    justify-items: center;
    padding: 2rem 1rem;
    text-align: center;
}

.mo-dp-empty-ic[b-5foxyryqk3] {
    display: grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    margin-bottom: .8rem;
    border-radius: 1.1rem;
    font-size: 1.6rem;
    color: #f0d79a;
    background: rgba(216, 168, 62, .1);
    border: 1px solid rgba(216, 168, 62, .35);
}
.mo-dp-empty-title[b-5foxyryqk3] { font-size: 1.1rem; font-weight: 700; color: var(--bs-emphasis-color); }
.mo-dp-empty p[b-5foxyryqk3] { max-width: 26rem; margin: .4rem 0 1rem; font-size: .88rem; color: var(--bs-secondary-color); }

.mo-dp-grid[b-5foxyryqk3] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(14rem, 19rem) minmax(0, 1fr);
    gap: 1rem;
}

/* ---------- list ---------- */
.mo-dp-list[b-5foxyryqk3] {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    min-height: 0;
    overflow-y: auto;
    padding-right: .2rem;
    scrollbar-width: thin;
}

.mo-dp-doc[b-5foxyryqk3] {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .65rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: rgba(255, 255, 255, .02);
    color: inherit;
    text-align: left;
    transition: border-color .2s ease, background .2s ease, translate .2s ease;
}
.mo-dp-doc:hover[b-5foxyryqk3] { border-color: rgba(216, 168, 62, .35); background: rgba(216, 168, 62, .04); }
.mo-dp-doc.is-active[b-5foxyryqk3] {
    border-color: rgba(216, 168, 62, .6);
    background: linear-gradient(135deg, rgba(216, 168, 62, .12), rgba(216, 168, 62, .03));
    box-shadow: inset 3px 0 0 #d8a83e;
}

.mo-dp-doc-copy[b-5foxyryqk3] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.mo-dp-doc-name[b-5foxyryqk3] {
    font-size: .86rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mo-dp-doc-meta[b-5foxyryqk3] { font-size: .72rem; color: var(--bs-secondary-color); }
.mo-dp-doc-count[b-5foxyryqk3] {
    flex: none;
    min-width: 1.7rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    text-align: center;
    color: #f0d79a;
    background: rgba(216, 168, 62, .12);
}

.mo-dp-tile[b-5foxyryqk3] {
    flex: none;
    display: grid;
    place-items: center;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: .7rem;
    font-size: 1.05rem;
    color: #c3cbe0;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
}
.mo-dp-tile.is-red[b-5foxyryqk3] { color: #ff9c9c; background: rgba(239, 107, 107, .12); border-color: rgba(239, 107, 107, .3); }
.mo-dp-tile.is-blue[b-5foxyryqk3] { color: #a9d1ff; background: rgba(90, 169, 255, .12); border-color: rgba(90, 169, 255, .3); }
.mo-dp-tile.is-green[b-5foxyryqk3] { color: #7ee8c6; background: rgba(43, 211, 161, .12); border-color: rgba(43, 211, 161, .3); }
.mo-dp-tile.is-lg[b-5foxyryqk3] { width: 3.2rem; height: 3.2rem; border-radius: .9rem; font-size: 1.45rem; }

/* ---------- detail ---------- */
.mo-dp-detail[b-5foxyryqk3] {
    min-height: 0;
    overflow-y: auto;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: radial-gradient(420px circle at 100% 0%, rgba(216, 168, 62, .07), transparent 60%), rgba(255, 255, 255, .015);
    scrollbar-width: thin;
    animation: mo-dp-in-b-5foxyryqk3 .3s ease backwards;
}

.mo-dp-head[b-5foxyryqk3] { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.mo-dp-head-copy[b-5foxyryqk3] { flex: 1 1 14rem; min-width: 0; }
.mo-dp-head h3[b-5foxyryqk3] {
    margin: 0 0 .35rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
    overflow-wrap: anywhere;
}
.mo-dp-chips[b-5foxyryqk3] { display: flex; flex-wrap: wrap; gap: .35rem; }
.mo-dp-chips span[b-5foxyryqk3] {
    padding: .12rem .55rem;
    border-radius: 999px;
    font-size: .72rem;
    color: var(--bs-secondary-color);
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
}
.mo-dp-open[b-5foxyryqk3] {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(216, 168, 62, .45);
    color: #f0d79a;
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}
.mo-dp-open:hover[b-5foxyryqk3] { background: rgba(216, 168, 62, .12); color: #fff; }

.mo-dp-stats[b-5foxyryqk3] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 1.1rem 0 .4rem; }
.mo-dp-stats > div[b-5foxyryqk3] { padding: .65rem .8rem; border-radius: .8rem; border: 1px solid var(--bs-border-color); background: rgba(255, 255, 255, .02); }
.mo-dp-stats b[b-5foxyryqk3] { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 600; color: var(--bs-emphasis-color); }
.mo-dp-stats span[b-5foxyryqk3] { font-size: .72rem; color: var(--bs-secondary-color); }

.mo-dp-section[b-5foxyryqk3] { margin-top: 1.15rem; }
.mo-dp-label[b-5foxyryqk3] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .5rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #f0d79a;
}
.mo-dp-summary[b-5foxyryqk3] { margin: 0; font-size: .92rem; line-height: 1.65; color: var(--bs-body-color); }
.mo-dp-hint[b-5foxyryqk3] { font-size: .78rem; color: var(--bs-secondary-color); }

.mo-dp-areas[b-5foxyryqk3] { display: flex; flex-wrap: wrap; gap: .4rem; }
.mo-dp-area[b-5foxyryqk3] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
    background: color-mix(in srgb, var(--c) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
}
.mo-dp-area i[b-5foxyryqk3] { color: var(--c); }
.mo-dp-area b[b-5foxyryqk3] { padding-left: .15rem; font-size: .7rem; color: var(--bs-secondary-color); }

.mo-dp-nodes[b-5foxyryqk3] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .3rem; }
.mo-dp-nodes li[b-5foxyryqk3] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .45rem .65rem;
    border-radius: .65rem;
    background: rgba(255, 255, 255, .025);
    font-size: .84rem;
}
.mo-dp-node-type[b-5foxyryqk3] {
    flex: none;
    min-width: 5.2rem;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}
.mo-dp-node-title[b-5foxyryqk3] { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--bs-emphasis-color); }
.mo-dp-node-pending[b-5foxyryqk3] { flex: none; font-size: .7rem; color: #f2a64a; }
.mo-dp-more[b-5foxyryqk3] {
    margin-top: .5rem;
    padding: 0;
    border: 0;
    background: none;
    font-size: .8rem;
    font-weight: 600;
    color: #f0d79a;
}

.mo-dp.has-composer[b-5foxyryqk3] { height: auto; }
.mo-dp.has-composer .mo-dp-grid[b-5foxyryqk3] { flex: none; height: 34rem; }

@keyframes mo-dp-in-b-5foxyryqk3 { from { opacity: 0; translate: 0 6px; } }

@media (max-width: 760px) {
    .mo-dp-grid[b-5foxyryqk3] { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
    .mo-dp-list[b-5foxyryqk3] { flex-direction: row; overflow-x: auto; overflow-y: hidden; padding-bottom: .3rem; }
    .mo-dp-doc[b-5foxyryqk3] { flex: 0 0 15rem; }
    .mo-dp-stats[b-5foxyryqk3] { grid-template-columns: 1fr 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .mo-dp-detail[b-5foxyryqk3] { animation: none; } }
/* /Components/UI/PlanMeter.razor.rz.scp.css */
.pm-root[b-1y3mwd9n6h] {
    position: relative;
    flex-shrink: 0;
}

.pm-pill[b-1y3mwd9n6h] {
    display: flex;
    align-items: center;
    gap: .5rem;
    height: 2.5rem;
    padding: 0 .9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background: var(--mo-surface-2, var(--bs-tertiary-bg));
    color: var(--bs-secondary-color);
    font-size: .85rem;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}

.pm-pill:hover[b-1y3mwd9n6h],
.pm-pill[aria-expanded="true"][b-1y3mwd9n6h] {
    border-color: var(--mo-violet);
    color: var(--bs-emphasis-color);
}

.pm-pill.pm-paid[b-1y3mwd9n6h] {
    border-color: color-mix(in srgb, var(--mo-violet) 55%, transparent);
}

.pm-pill .bi-gem[b-1y3mwd9n6h],
.pm-name[b-1y3mwd9n6h] {
    color: var(--mo-violet);
}

.pm-name[b-1y3mwd9n6h] {
    font-weight: 700;
}

.pm-mini[b-1y3mwd9n6h] {
    width: 3.5rem;
    height: .35rem;
    border-radius: 999px;
    background: var(--bs-border-color);
    overflow: hidden;
}

.pm-mini-fill[b-1y3mwd9n6h],
.pm-fill[b-1y3mwd9n6h] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mo-violet);
}

.pm-fill.pm-warn[b-1y3mwd9n6h],
.pm-mini-fill.pm-warn[b-1y3mwd9n6h] {
    background: var(--mo-amber);
}

.pm-fill.pm-full[b-1y3mwd9n6h],
.pm-mini-fill.pm-full[b-1y3mwd9n6h] {
    background: var(--mo-rose);
}

.pm-left[b-1y3mwd9n6h] {
    white-space: nowrap;
}

.pm-scrim[b-1y3mwd9n6h] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.pm-panel[b-1y3mwd9n6h] {
    position: absolute;
    top: calc(100% + .5rem);
    right: 0;
    z-index: 1041;
    width: 21rem;
    padding: 1.1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--mo-surface, var(--bs-body-bg));
    box-shadow: var(--mo-shadow);
    animation: pm-in-b-1y3mwd9n6h .16s ease-out backwards;
}

@keyframes pm-in-b-1y3mwd9n6h {
    from { opacity: 0; transform: translateY(-.25rem); }
}

.pm-head[b-1y3mwd9n6h] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: .75rem;
    margin-bottom: 1rem;
}

.pm-title[b-1y3mwd9n6h] {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--mo-violet);
    line-height: 1.1;
}

.pm-account[b-1y3mwd9n6h] {
    margin-top: .2rem;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--bs-secondary-color);
}

.pm-sub[b-1y3mwd9n6h],
.pm-hint[b-1y3mwd9n6h] {
    font-size: .78rem;
    color: var(--bs-secondary-color);
}

.pm-meter[b-1y3mwd9n6h] {
    margin-bottom: .95rem;
}

.pm-row[b-1y3mwd9n6h] {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    font-size: .85rem;
    margin-bottom: .35rem;
}

.pm-row strong[b-1y3mwd9n6h] {
    color: var(--bs-emphasis-color);
}

.pm-plain[b-1y3mwd9n6h] {
    padding-top: .75rem;
    border-top: 1px solid var(--bs-border-color);
}

.pm-bar[b-1y3mwd9n6h] {
    height: .5rem;
    border-radius: 999px;
    background: var(--bs-border-color);
    overflow: hidden;
    margin-bottom: .3rem;
}

.pm-actions[b-1y3mwd9n6h] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    margin-top: 1rem;
}

.pm-btn[b-1y3mwd9n6h] {
    display: inline-flex;
    background: transparent;
    cursor: pointer;
    align-items: center;
    padding: .45rem .9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    color: var(--bs-emphasis-color);
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
}

.pm-btn:hover[b-1y3mwd9n6h] {
    border-color: var(--mo-violet);
}

.pm-btn-gold[b-1y3mwd9n6h] {
    background: var(--mo-violet);
    border-color: var(--mo-violet);
    color: var(--mo-ink);
}

.pm-btn-gold:hover[b-1y3mwd9n6h] {
    filter: brightness(1.08);
}

@media (max-width: 760px) {
    .pm-mini[b-1y3mwd9n6h],
    .pm-left[b-1y3mwd9n6h] {
        display: none;
    }

    .pm-panel[b-1y3mwd9n6h] {
        position: fixed;
        top: 4.75rem;
        left: .75rem;
        right: .75rem;
        width: auto;
    }
}
/* /Components/UI/RepresentationDocument.razor.rz.scp.css */
/* Deliberately a fixed light "paper" surface regardless of the app's
   dark/light theme, same as a printed page or PDF viewer always renders
   white — the point is to look like a real document, not to follow the
   surrounding chrome's palette. Moved here verbatim from
   OpportunityPreparation.razor.css, now shared by every read-only
   Representation content display (see RepresentationDocument.razor). */

.mo-doc-page[b-e8ex7yt215] {
    max-width: 52rem;
    margin: 0 auto;
    padding: 2.2rem 2.5rem;
    background: #ffffff;
    color: #1c1f24;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: .4rem;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .16);
    font-family: Georgia, 'Times New Roman', serif;
}

@media (max-width: 640px) {
    .mo-doc-page[b-e8ex7yt215] {
        padding: 1.4rem 1.2rem;
    }
}

.mo-doc-heading[b-e8ex7yt215] {
    margin: 1.3rem 0 .5rem;
    font-family: DM Sans, system-ui, sans-serif;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #4a4f57;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
    padding-bottom: .25rem;
}

.mo-doc-heading:first-child[b-e8ex7yt215] {
    margin-top: 0;
}

.mo-doc-subheading[b-e8ex7yt215] {
    margin: .7rem 0 .2rem;
    font-size: .92rem;
    font-weight: 700;
}

.mo-doc-para[b-e8ex7yt215] {
    margin: 0 0 .55rem;
    font-size: .92rem;
    line-height: 1.55;
    white-space: pre-wrap;
}

.mo-doc-bullets[b-e8ex7yt215] {
    margin: 0 0 .55rem;
    padding-left: 1.3rem;
}

.mo-doc-bullets li[b-e8ex7yt215] {
    font-size: .92rem;
    line-height: 1.5;
    margin-bottom: .2rem;
}
/* /Components/UI/TokenListEditor.razor.rz.scp.css */
/* Hero-themed field card — gold radial gradient + gradient header, matching
   the app's .mo-hero look (app.css), since this component's own scoped CSS
   can't reuse that class directly. */
.mo-field-card[b-fp0yh1fron] {
    height: 100%;
    border: 1px solid rgba(216, 168, 62, .25);
    border-radius: .65rem;
    background:
        radial-gradient(280px circle at 100% 0%, rgba(216, 168, 62, .12), transparent 62%),
        var(--mo-surface, var(--bs-card-bg, var(--bs-body-bg)));
    box-shadow: var(--mo-shadow, 0 1px 2px rgba(0, 0, 0, .06));
    overflow: hidden;
}

.mo-field-card-head[b-fp0yh1fron] {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .6rem .8rem;
    border-bottom: 1px solid rgba(216, 168, 62, .2);
    background: linear-gradient(135deg, rgba(216, 168, 62, .16), rgba(216, 168, 62, .02));
}

.mo-field-card-head > i[b-fp0yh1fron] {
    color: var(--mo-violet-600, var(--bs-primary));
}

.mo-field-card-body[b-fp0yh1fron] {
    padding: .85rem;
}

.mo-field-add-btn[b-fp0yh1fron] {
    color: var(--mo-ink);
    background: linear-gradient(135deg, var(--mo-violet-600), var(--mo-violet));
    border-color: var(--mo-violet);
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(216, 168, 62, .18);
}

.mo-field-add-btn:hover[b-fp0yh1fron] {
    filter: brightness(1.05);
}
/* /Components/UI/UpgradePlansModal.razor.rz.scp.css */
.up-scrim[b-kcqfd5w9fo] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(2, 8, 19, .72);
    backdrop-filter: blur(4px);
    animation: up-fade-b-kcqfd5w9fo .18s ease-out backwards;
}

.up-modal[b-kcqfd5w9fo] {
    position: fixed;
    z-index: 1061;
    top: 50%;
    left: 50%;
    width: min(54rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    transform: translate(-50%, -50%);
    padding: 2rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1.4rem;
    background:
        radial-gradient(40rem 18rem at 85% -10%, rgba(18, 106, 210, .18), transparent 70%),
        var(--mo-surface, var(--bs-body-bg));
    box-shadow: 0 30px 90px rgba(0, 0, 0, .5);
    color: var(--bs-body-color);
    outline: none;
}

@keyframes up-fade-b-kcqfd5w9fo {
    from { opacity: 0; }
}

.up-x[b-kcqfd5w9fo] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background: transparent;
    color: var(--bs-secondary-color);
}

.up-x:hover[b-kcqfd5w9fo] {
    color: var(--bs-emphasis-color);
}

.up-head h2[b-kcqfd5w9fo] {
    font-size: 1.7rem;
    letter-spacing: -.02em;
    margin: .35rem 0 .4rem;
}

.up-head p[b-kcqfd5w9fo] {
    color: var(--bs-secondary-color);
    margin: 0;
}

.up-toggle[b-kcqfd5w9fo] {
    display: inline-flex;
    gap: .25rem;
    margin-top: 1.1rem;
    padding: .25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
}

.up-toggle button[b-kcqfd5w9fo] {
    padding: .4rem 1rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: .85rem;
    font-weight: 600;
}

.up-toggle button.is-on[b-kcqfd5w9fo] {
    background: var(--mo-violet);
    color: var(--mo-ink);
}

.up-save[b-kcqfd5w9fo] {
    margin-left: .3rem;
    font-size: .7rem;
    font-weight: 700;
    color: var(--mo-teal);
}

.up-toggle button.is-on .up-save[b-kcqfd5w9fo] {
    color: var(--mo-ink);
}

.up-cards[b-kcqfd5w9fo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
}

.up-card[b-kcqfd5w9fo] {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1.1rem;
    background: var(--mo-surface-2, var(--bs-tertiary-bg));
}

.up-card.is-featured[b-kcqfd5w9fo] {
    border-color: color-mix(in srgb, var(--mo-violet) 70%, transparent);
    box-shadow: 0 16px 50px rgba(216, 168, 62, .1);
}

.up-pill[b-kcqfd5w9fo] {
    align-self: flex-start;
    padding: .25rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    font-size: .68rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.up-card.is-featured .up-pill[b-kcqfd5w9fo] {
    border-color: var(--mo-violet);
    color: var(--mo-violet);
}

.up-card h3[b-kcqfd5w9fo] {
    margin: .9rem 0 .2rem;
    font-size: 1.35rem;
    font-weight: 800;
}

.up-price[b-kcqfd5w9fo] {
    font-size: 2.3rem;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.up-price small[b-kcqfd5w9fo] {
    font-size: .9rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
    letter-spacing: 0;
}

.up-billed[b-kcqfd5w9fo] {
    font-size: .8rem;
    color: var(--mo-violet);
    margin: .2rem 0 .9rem;
}

.up-card ul[b-kcqfd5w9fo] {
    list-style: none;
    padding: 0;
    margin: 0 0 1.3rem;
}

.up-card li[b-kcqfd5w9fo] {
    padding: .45rem 0;
    border-bottom: 1px solid var(--bs-border-color);
    font-size: .88rem;
}

.up-card li[b-kcqfd5w9fo]::before {
    content: "→";
    color: var(--mo-violet);
    margin-right: .5rem;
}

.up-btn[b-kcqfd5w9fo] {
    margin-top: auto;
    padding: .7rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--bs-emphasis-color);
    font-weight: 700;
}

.up-btn:hover:not(:disabled)[b-kcqfd5w9fo] {
    border-color: var(--mo-violet);
}

.up-btn.is-gold[b-kcqfd5w9fo] {
    background: var(--mo-violet);
    border-color: var(--mo-violet);
    color: var(--mo-ink);
}

.up-btn:disabled[b-kcqfd5w9fo] {
    opacity: .55;
    cursor: default;
}

.up-note[b-kcqfd5w9fo] {
    display: flex;
    gap: .6rem;
    margin-top: 1.1rem;
    padding: .8rem 1rem;
    border: 1px solid color-mix(in srgb, var(--mo-sky) 45%, transparent);
    border-radius: .8rem;
    background: color-mix(in srgb, var(--mo-sky) 10%, transparent);
    font-size: .88rem;
}

.up-link[b-kcqfd5w9fo] {
    margin-left: .35rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--mo-violet);
    font-weight: 600;
    text-decoration: underline;
}

.up-btn .spinner-border[b-kcqfd5w9fo] {
    margin-right: .4rem;
}

.up-fine[b-kcqfd5w9fo] {
    margin: 1.1rem 0 0;
    font-size: .75rem;
    color: var(--bs-secondary-color);
}

@media (max-width: 720px) {
    .up-modal[b-kcqfd5w9fo] {
        padding: 1.4rem;
    }

    .up-cards[b-kcqfd5w9fo] {
        grid-template-columns: 1fr;
    }
}
