/* ── PQOffice Forensics Scanner ── */

.pdf-tool-page:has(#ofscan-drop) { max-width: min(94vw, 1320px); width: auto; }
body:has(#ofscan-drop) .pdf-header-tool .pdf-header-inner { max-width: min(94vw, 1320px); }
@media (max-width: 700px) {
    .pdf-tool-page:has(#ofscan-drop),
    body:has(#ofscan-drop) .pdf-header-tool .pdf-header-inner { max-width: 100%; }
}

/* ── About ───────────────────────────────────────────────────────────────── */
.ofs-about { margin-bottom: 2rem; }
.ofs-about-header {
    display: flex; align-items: flex-start; gap: 1.1rem;
    margin-bottom: 1.4rem; padding: 1.3rem 1.5rem;
    border-radius: 12px; background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
}
.ofs-about-icon  { font-size: 2.2rem; flex-shrink: 0; margin-top: .1rem; }
.ofs-about-title { font-size: 1.15rem; font-weight: 700; color: var(--pdf-text); margin-bottom: .3rem; }
.ofs-about-sub   { font-size: .88rem; color: #c4c4d8; line-height: 1.55; }
.ofs-about-sub strong { color: var(--pdf-amber, #ff8c00); }

.ofs-about-stack-label {
    display: grid; grid-template-columns: 1fr auto;
    grid-template-rows: auto auto; column-gap: .75rem; row-gap: .2rem; margin-bottom: .9rem;
}
.ofs-about-stack-name {
    grid-column: 1; grid-row: 1; font-size: .78rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; color: var(--pdf-amber, #ff8c00);
}
.ofs-about-stack-desc { grid-column: 1 / -1; grid-row: 2; font-size: .75rem; color: var(--pdf-text-muted, #9898b0); }
.ofs-about-stack-count {
    grid-column: 2; grid-row: 1; font-size: .72rem; font-weight: 700;
    letter-spacing: .05em; color: rgba(255,140,0,.5); text-transform: uppercase; white-space: nowrap;
}

/* ── Engine grid ─────────────────────────────────────────────────────────── */
.ofs-engine-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 1.4rem;
}
@media (max-width: 900px) { .ofs-engine-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .ofs-engine-grid { grid-template-columns: 1fr; } }

.ofs-engine-cell { display: flex; flex-direction: column; }

.ofs-engine-card {
    display: flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07);
    border-radius: 8px; padding: 10px 12px; cursor: pointer;
    transition: border-color .2s, background .2s; user-select: none;
}
.ofs-engine-card:hover { border-color: rgba(255,140,0,0.30); background: rgba(255,140,0,0.05); }
.ofs-engine-cell.open .ofs-engine-card { border-color: rgba(255,140,0,0.40); background: rgba(255,140,0,0.06); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.ofs-engine-num  { font-size: .85rem; flex-shrink: 0; }
.ofs-engine-name { font-size: .78rem; font-weight: 700; color: var(--pdf-amber, #ff8c00); flex: 1; }
.ofs-engine-chev { font-size: .65rem; color: var(--pdf-text-dim); flex-shrink: 0; }

.ofs-engine-desc-panel {
    display: none; font-size: .74rem; color: #c4c4d8; line-height: 1.5;
    padding: 10px 12px; background: rgba(255,140,0,0.04);
    border: 1px solid rgba(255,140,0,0.20); border-top: none;
    border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;
}
.ofs-engine-desc-panel code { font-family: 'SF Mono', 'Fira Code', Consolas, monospace; color: #ffb045; font-size: .72rem; }
.ofs-engine-cell.open .ofs-engine-desc-panel { display: block; }

/* Wide expanded desc — JS moves it to grid level, spanning all columns */
.ofs-engine-desc-wide {
    display: block !important;
    grid-column: 1 / -1;
    padding: .9rem 1.2rem 1.05rem 1.2rem;
    background: #1a1d2e;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 8px;
    margin-top: .25rem;
    margin-bottom: .4rem;
    font-size: .82rem;
    color: #dde0f0;
    line-height: 1.7;
    /* reset the in-cell styling */
    border-top: 1px solid rgba(255,255,255,0.13) !important;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}
.ofs-engine-desc-wide code {
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    font-size: .78rem; padding: .1rem .35rem;
    border-radius: 3px; background: rgba(255,255,255,0.10); color: #ffb045;
}
/* Chevron rotation when open */
.ofs-engine-card.ofs-card-open .ofs-engine-chev { display: inline-block; transform: rotate(180deg); }

/* ── File type chips ─────────────────────────────────────────────────────── */
.ofs-filetypes { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 1.5rem; align-items: center; }
.ofs-ft-label  { font-size: .72rem; color: var(--pdf-text-dim); margin-right: 2px; }
.ofs-ft-chip {
    font-size: .66rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 4px;
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    /* default (overridden by per-group) */
    background: rgba(255,140,0,0.10); border: 1px solid rgba(255,140,0,0.22); color: #ffb045;
}
/* Word — blue */
.ofs-ft-word  { background: rgba(59,130,246,0.10); border-color: rgba(59,130,246,0.28); color: #60a5fa; }
/* Excel — green */
.ofs-ft-excel { background: rgba(34,197,94,0.10);  border-color: rgba(34,197,94,0.28);  color: #4ade80; }
/* PowerPoint — orange */
.ofs-ft-ppt   { background: rgba(249,115,22,0.10); border-color: rgba(249,115,22,0.28); color: #fb923c; }
/* Visio — violet */
.ofs-ft-visio { background: rgba(139,92,246,0.10); border-color: rgba(139,92,246,0.28); color: #a78bfa; }
/* RTF / OneNote — slate */
.ofs-ft-other { background: rgba(100,116,139,0.10);border-color: rgba(100,116,139,0.28);color: #94a3b8; }
/* Email / calendar — cyan */
.ofs-ft-email { background: rgba(6,182,212,0.10);  border-color: rgba(6,182,212,0.28);  color: #22d3ee; }
/* Database — amber */
.ofs-ft-db    { background: rgba(245,158,11,0.10); border-color: rgba(245,158,11,0.28); color: #fcd34d; }

/* ── Sanitize preview in about section ──────────────────────────────────────── */
.ofs-about-sanitize {
    border-top: 1px solid rgba(255,255,255,0.07);
    padding-top: .7rem;
    margin-top: .2rem;
}
.ofs-san-about-hdr {
    display: flex; align-items: center; gap: .55rem; margin-bottom: .45rem; flex-wrap: wrap;
}
.ofs-san-about-title {
    font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9898b0;
}
.ofs-san-about-pills { display: flex; gap: .25rem; }
.ofs-san-about-pill {
    font-size: .62rem; font-weight: 700; letter-spacing: .04em;
    padding: .1rem .4rem; border-radius: 100px;
}
.ofs-san-about-pill-safe { background: rgba(34,197,94,.1);  color: #4ade80; border: 1px solid rgba(34,197,94,.2); }
.ofs-san-about-pill-surg { background: rgba(79,195,247,.1); color: #4fc3f7; border: 1px solid rgba(79,195,247,.2); }

.ofs-san-about-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: .28rem;
}
@media (max-width: 500px) { .ofs-san-about-grid { grid-template-columns: 1fr; } }

.ofs-san-about-row {
    display: flex; align-items: center; gap: .5rem;
    padding: .35rem .55rem; border-radius: 6px;
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.05);
    position: relative; overflow: hidden;
}
.ofs-san-about-row::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
}
.ofs-san-about-row-pdf::before   { background: #00e676; }
.ofs-san-about-row-macro::before { background: #4fc3f7; }
.ofs-san-about-row-meta::before  { background: #4fc3f7; }
.ofs-san-about-row-ooxml::before { background: #4fc3f7; }

.ofs-san-about-icon { font-size: .9rem; flex-shrink: 0; }
.ofs-san-about-name {
    font-size: .74rem; font-weight: 700; color: #e8e8f0; flex: 1; min-width: 0;
}

/* ── Enterprise note (reuses scan.css structure, defined here since scan.css not loaded) ─── */
.scan-enterprise-note {
    display: flex; align-items: center; gap: .65rem;
    margin-top: .9rem; padding: .6rem 1rem;
    background: rgba(99,102,241,0.06); border: 1px solid rgba(99,102,241,0.2);
    border-radius: 8px; font-size: .8rem; color: #9ca3af; line-height: 1.5;
}
.scan-enterprise-icon { font-size: 1rem; flex-shrink: 0; }
.scan-enterprise-text strong { color: #c4c9d4; }
.scan-enterprise-link { color: #818cf8; text-decoration: none; }
.scan-enterprise-link:hover { color: #a5b4fc; text-decoration: underline; }

/* ── Upload zone ─────────────────────────────────────────────────────────── */
#ofscan-drop {
    border: 2px dashed rgba(255,140,0,0.35); border-radius: 14px;
    padding: 40px 24px; text-align: center; cursor: pointer;
    transition: border-color .2s, background .2s;
    background: rgba(255,140,0,0.03); margin-bottom: 1rem;
}
#ofscan-drop.ofs-drop-hover, #ofscan-drop:hover { border-color: rgba(255,140,0,0.65); background: rgba(255,140,0,0.07); }
.ofs-drop-icon { font-size: 2.8rem; margin-bottom: 10px; }
.ofs-drop-text { font-size: 1rem; font-weight: 600; color: var(--pdf-text); margin-bottom: 6px; }
.ofs-drop-hint { font-size: .78rem; color: var(--pdf-text-dim); line-height: 1.5; }
#ofscan-file-input { display: none; }

/* ── Selected file ───────────────────────────────────────────────────────── */
.ofs-selected-file {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 16px; background: rgba(255,140,0,0.07);
    border: 1px solid rgba(255,140,0,0.22); border-radius: 8px;
    margin-bottom: 1rem; font-size: .85rem; color: var(--pdf-text);
}
.ofs-file-icon { font-size: 1.4rem; flex-shrink: 0; }
.ofs-file-info { flex: 1; min-width: 0; }
.ofs-file-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ofs-file-size { font-size: .72rem; color: var(--pdf-text-dim); }
.ofs-file-clear { background: none; border: none; color: var(--pdf-text-dim); cursor: pointer; font-size: 1.1rem; padding: 2px 6px; border-radius: 4px; }
.ofs-file-clear:hover { color: var(--pdf-red, #ff1744); background: rgba(255,23,68,0.1); }

/* ── Submit ──────────────────────────────────────────────────────────────── */
.ofs-submit-wrap { margin-bottom: 1rem; }

/* ── Progress ────────────────────────────────────────────────────────────── */
.ofs-progress { margin-bottom: 1rem; }
.ofs-progress-track { height: 4px; background: rgba(255,255,255,0.08); border-radius: 4px; overflow: hidden; margin-bottom: 8px; }
.ofs-progress-bar { height: 100%; background: linear-gradient(90deg, var(--pdf-amber,#ff8c00), #ffcc44); border-radius: 4px; width: 0%; transition: width .4s ease; }
.ofs-progress-text { font-size: .78rem; color: var(--pdf-text-dim); text-align: center; }

/* ── Engine chip strip ───────────────────────────────────────────────────── */
.ofs-engine-strip {
    display: flex; flex-wrap: wrap; gap: 6px;
    margin-bottom: 1rem; padding: 12px 14px;
    background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.06);
    border-radius: 8px;
}
.ofscan-chip {
    font-size: .65rem; font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    padding: 3px 9px; border-radius: 3px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.35);
    transition: all .25s;
}
.ofscan-chip.running {
    border-color: rgba(255,140,0,0.50); background: rgba(255,140,0,0.12);
    color: #ffb045; box-shadow: 0 0 8px rgba(255,140,0,0.20);
    animation: ofs-chip-pulse 1s ease-in-out infinite;
}
.ofscan-chip.done { border-color: rgba(0,230,118,0.35); background: rgba(0,230,118,0.07); color: #00e676; }
@keyframes ofs-chip-pulse { 0%,100%{ opacity:1; } 50%{ opacity:.6; } }

/* ── Forensic console ────────────────────────────────────────────────────── */
.ofs-console {
    background: #0a0d14; border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px; margin-bottom: 1.2rem; overflow: hidden;
}
.ofs-console-header {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 12px; background: rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.06); min-height: 36px;
}
.ofs-con-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.ofs-con-red   { background: #ff5f57; }
.ofs-con-amber { background: #ffbd2e; }
.ofs-con-green { background: #28c840; }
.ofs-console-title { font-size: .78rem; font-weight: 700; color: rgba(255,255,255,0.5); letter-spacing: .08em; text-transform: uppercase; margin-left: 4px; }
.ofs-console-subtitle { font-size: .72rem; color: rgba(255,255,255,0.28); flex: 1; }
.ofs-console-controls { display: flex; gap: 6px; margin-left: auto; }
.ofs-console-btn { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10); border-radius: 4px; color: rgba(255,255,255,0.45); font-size: .68rem; padding: 2px 8px; cursor: pointer; }
.ofs-console-btn:hover { background: rgba(255,255,255,0.10); color: rgba(255,255,255,0.7); }
.ofs-console-body { padding: 10px 12px; font-family: 'SF Mono', 'Fira Code', Consolas, monospace; font-size: .72rem; max-height: 180px; overflow-y: auto; }
.ofscan-con-line { display: flex; gap: 10px; margin-bottom: 3px; line-height: 1.5; }
.ofscan-con-ts  { color: rgba(255,255,255,0.25); flex-shrink: 0; }
.ofscan-con-info .ofscan-con-msg  { color: rgba(255,255,255,0.55); }
.ofscan-con-ok .ofscan-con-msg    { color: #00e676; }
.ofscan-con-warn .ofscan-con-msg  { color: #ffb045; }
.ofscan-con-error .ofscan-con-msg { color: #ff5555; }

/* ── Tabs ────────────────────────────────────────────────────────────────── */
.ofs-tabs {
    display: flex; flex-wrap: wrap; gap: 4px;
    margin-bottom: 0; padding: 12px 0 0;
    border-bottom: 2px solid rgba(255,255,255,0.08);
}
.ofscan-tab-btn {
    background: none; border: none; border-radius: 6px 6px 0 0;
    padding: 8px 14px; font-size: .78rem; font-weight: 600;
    color: rgba(255,255,255,0.45); cursor: pointer; position: relative;
    transition: color .2s, background .2s; white-space: nowrap;
}
.ofscan-tab-btn:hover { color: rgba(255,255,255,0.75); background: rgba(255,255,255,0.04); }
.ofscan-tab-btn.ofscan-tab-active {
    color: var(--pdf-amber, #ff8c00);
    background: rgba(255,140,0,0.07);
}
.ofscan-tab-btn.ofscan-tab-active::after {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
    height: 2px; background: var(--pdf-amber, #ff8c00); border-radius: 2px 2px 0 0;
}
.ofscan-tab-badge {
    display: inline-block; background: rgba(255,140,0,0.25); color: #ffb045;
    font-size: .6rem; font-weight: 800; padding: 1px 5px;
    border-radius: 8px; margin-left: 4px; min-width: 16px; text-align: center;
}
.ofscan-tab-badge:empty { display: none; }

/* ── Tab panels ──────────────────────────────────────────────────────────── */
.ofscan-tab-panel {
    padding: 1.5rem 0;
    min-height: 200px;
    cursor: default;
}

/* ── Verdict bar ─────────────────────────────────────────────────────────── */
.ofscan-verdict-bar {
    display: flex; align-items: center; gap: 20px;
    padding: 20px 24px; border-radius: 12px; border: 1px solid;
    margin-bottom: 1.5rem; flex-wrap: wrap;
}
.ofscan-verdict-bar[data-level="critical"] { background: rgba(255,23,68,0.08);  border-color: rgba(255,23,68,0.30); }
.ofscan-verdict-bar[data-level="high"]     { background: rgba(255,140,0,0.08);  border-color: rgba(255,140,0,0.30); }
.ofscan-verdict-bar[data-level="medium"]   { background: rgba(255,214,0,0.07);  border-color: rgba(255,214,0,0.28); }
.ofscan-verdict-bar[data-level="low"]      { background: rgba(79,195,247,0.07); border-color: rgba(79,195,247,0.25); }
.ofscan-verdict-bar[data-level="clean"]    { background: rgba(0,230,118,0.06);  border-color: rgba(0,230,118,0.25); }
.ofscan-verdict-icon { font-size: 2.4rem; flex-shrink: 0; }
.ofscan-verdict-text { flex: 1; min-width: 180px; }
.ofscan-verdict-level {
    font-size: 1.3rem; font-weight: 900; letter-spacing: -.01em; line-height: 1; margin-bottom: 4px;
}
.ofscan-verdict-bar[data-level="critical"] .ofscan-verdict-level { color: #ff4444; }
.ofscan-verdict-bar[data-level="high"]     .ofscan-verdict-level { color: #ff8c00; }
.ofscan-verdict-bar[data-level="medium"]   .ofscan-verdict-level { color: #ffd600; }
.ofscan-verdict-bar[data-level="low"]      .ofscan-verdict-level { color: #4fc3f7; }
.ofscan-verdict-bar[data-level="clean"]    .ofscan-verdict-level { color: #00e676; }
.ofscan-verdict-meta { font-size: .82rem; color: var(--pdf-text-dim); margin-top: 4px; line-height: 1.4; }
.ofscan-score-ring  { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.ofscan-score-num   { font-size: 2rem; font-weight: 900; line-height: 1; }
.ofscan-score-label { font-size: .65rem; color: var(--pdf-text-dim); text-transform: uppercase; letter-spacing: .08em; }

/* ── Summary grid ────────────────────────────────────────────────────────── */
.ofscan-sum-grid {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-bottom: 1.5rem;
}
@media (max-width: 700px) { .ofscan-sum-grid { grid-template-columns: repeat(3, 1fr); } }
.ofscan-sum-stat { text-align: center; padding: 12px 8px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; }
.ofscan-sum-stat-val { font-size: 1.5rem; font-weight: 900; line-height: 1; margin-bottom: 4px; }
.ofscan-sum-stat-lbl { font-size: .65rem; color: var(--pdf-text-dim); text-transform: uppercase; letter-spacing: .08em; }

/* ── Meta table ──────────────────────────────────────────────────────────── */
.ofscan-sum-meta {
    background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
    border-radius: 8px; margin-bottom: 1.5rem; overflow: hidden;
}
.ofscan-meta-row { display: flex; gap: 12px; padding: 8px 14px; font-size: .8rem; border-bottom: 1px solid rgba(255,255,255,0.04); }
.ofscan-meta-row:last-child { border-bottom: none; }
.ofscan-meta-key { color: var(--pdf-text-dim); flex-shrink: 0; width: 110px; }
.ofscan-meta-val { color: var(--pdf-text); word-break: break-all; }
.ofscan-hash { font-family: 'SF Mono', 'Fira Code', Consolas, monospace; font-size: .7rem; color: #c4c4d8; }

/* ── Section label ───────────────────────────────────────────────────────── */
.ofscan-section-label {
    font-size: .72rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .1em; color: var(--pdf-text-dim); margin-bottom: 10px;
}

/* ── Findings ────────────────────────────────────────────────────────────── */
.ofscan-finding {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 14px; border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.06); background: rgba(255,255,255,0.02);
    margin-bottom: 6px; font-size: .82rem;
}
.ofscan-finding-sev {
    font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    padding: 2px 7px; border-radius: 3px; border: 1px solid; flex-shrink: 0; margin-top: 1px;
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
}
.ofscan-finding-sev[data-s="critical"] { color: #ff4444; background: rgba(255,40,40,0.10);  border-color: rgba(255,40,40,0.30); }
.ofscan-finding-sev[data-s="high"]     { color: #ff8c00; background: rgba(255,140,0,0.10);  border-color: rgba(255,140,0,0.28); }
.ofscan-finding-sev[data-s="medium"]   { color: #ffd600; background: rgba(255,214,0,0.08);  border-color: rgba(255,214,0,0.25); }
.ofscan-finding-sev[data-s="low"]      { color: #4fc3f7; background: rgba(79,195,247,0.08); border-color: rgba(79,195,247,0.22); }
.ofscan-finding-sev[data-s="info"]     { color: #8899aa; background: rgba(255,255,255,0.04);border-color: rgba(255,255,255,0.10); }
.ofscan-finding-body   { flex: 1; }
.ofscan-finding-text   { color: var(--pdf-text); line-height: 1.4; }
.ofscan-finding-detail { font-size: .75rem; color: var(--pdf-text-dim); margin-top: 3px; line-height: 1.4; }
.ofscan-finding-engine { font-size: .68rem; color: var(--pdf-text-dim); margin-top: 3px; font-family: 'SF Mono','Fira Code',Consolas,monospace; }

/* ── Macros tab ──────────────────────────────────────────────────────────── */
.ofscan-mraptor-banner {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 12px 16px; border-radius: 8px; border: 1px solid;
    font-size: .85rem; margin-bottom: 1rem;
}
.ofscan-mraptor-label { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--pdf-text-dim); }
.ofscan-badge { font-size: .62rem; font-weight: 800; padding: 2px 7px; border-radius: 3px; letter-spacing: .05em; }
.ofscan-badge-red   { background: rgba(255,40,40,0.15);  color: #ff4444; border: 1px solid rgba(255,40,40,0.30); }
.ofscan-badge-amber { background: rgba(255,140,0,0.15);  color: #ffb045; border: 1px solid rgba(255,140,0,0.30); }

.ofscan-macro-stats {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 1rem 0;
}
@media (max-width: 600px) { .ofscan-macro-stats { grid-template-columns: repeat(3, 1fr); } }
.ofscan-macro-stat { text-align: center; padding: 10px 6px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-radius: 6px; }
.ofscan-macro-stat-val { font-size: 1.4rem; font-weight: 900; color: var(--pdf-amber, #ff8c00); line-height: 1; margin-bottom: 3px; }
.ofscan-macro-stat-lbl { font-size: .62rem; color: var(--pdf-text-dim); text-transform: uppercase; letter-spacing: .07em; }

.ofscan-tag-list { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 6px; }
.ofscan-tag {
    font-size: .7rem; padding: 2px 8px; border-radius: 4px;
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10);
    color: rgba(255,255,255,0.65); font-family: 'SF Mono','Fira Code',Consolas,monospace;
}
.ofscan-tag-amber  { background: rgba(255,140,0,0.12); border-color: rgba(255,140,0,0.28); color: #ffb045; }
.ofscan-tag-yellow { background: rgba(255,214,0,0.10); border-color: rgba(255,214,0,0.25); color: #ffd600; }
.ofscan-tag-dim    { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); color: rgba(255,255,255,0.40); }

.ofscan-code-block {
    background: rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.07);
    border-radius: 6px; padding: 10px 12px; margin-bottom: 8px;
    font-family: 'SF Mono','Fira Code',Consolas,monospace; font-size: .72rem;
    color: #c4c4d8; white-space: pre-wrap; word-break: break-all;
    max-height: 240px; overflow-y: auto;
}

.ofscan-details { margin-bottom: 6px; }
.ofscan-details summary {
    font-size: .78rem; color: var(--pdf-text-dim); cursor: pointer; padding: 6px 0;
    user-select: none; list-style: none;
}
.ofscan-details summary::before { content: '▶ '; font-size: .65rem; }
.ofscan-details[open] summary::before { content: '▼ '; }

/* ── IOC tab ─────────────────────────────────────────────────────────────── */
.ofscan-ioc-row {
    display: flex; align-items: baseline; gap: 10px;
    padding: 6px 12px; border-bottom: 1px solid rgba(255,255,255,0.04);
    font-size: .78rem;
}
.ofscan-ioc-row:last-child { border-bottom: none; }
.ofscan-ioc-type {
    font-size: .6rem; font-weight: 800; letter-spacing: .06em; padding: 1px 6px;
    border-radius: 3px; background: rgba(255,140,0,0.12); color: #ffb045;
    border: 1px solid rgba(255,140,0,0.25); flex-shrink: 0;
    font-family: 'SF Mono','Fira Code',Consolas,monospace;
}
.ofscan-ioc-val { color: #c4c4d8; word-break: break-all; font-family: 'SF Mono','Fira Code',Consolas,monospace; }

/* ── OLE tree ────────────────────────────────────────────────────────────── */
.ofscan-ole-tree { background: rgba(0,0,0,0.20); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 8px 12px; max-height: 300px; overflow-y: auto; }
.ofscan-ole-entry { display: flex; align-items: center; gap: 6px; padding: 3px 0; font-size: .76rem; color: #c4c4d8; font-family: 'SF Mono','Fira Code',Consolas,monospace; }
.ofscan-ole-icon { flex-shrink: 0; }
.ofscan-ole-name { word-break: break-all; }

/* ── Parts list ──────────────────────────────────────────────────────────── */
.ofscan-parts-list { background: rgba(0,0,0,0.20); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 8px 12px; max-height: 260px; overflow-y: auto; }
.ofscan-part-row { padding: 3px 0; font-size: .73rem; color: #c4c4d8; font-family: 'SF Mono','Fira Code',Consolas,monospace; border-bottom: 1px solid rgba(255,255,255,0.03); }
.ofscan-part-row:last-child { border-bottom: none; }

/* ── MITRE grid ──────────────────────────────────────────────────────────── */
.ofscan-mitre-sub { font-size: .75rem; color: var(--pdf-text-dim); margin-bottom: 1rem; line-height: 1.5; }
.ofscan-mitre-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.ofscan-mitre-card {
    background: rgba(255,255,255,0.03); border: 1px solid rgba(255,140,0,0.18);
    border-radius: 8px; padding: 12px 14px;
}
.ofscan-mitre-id   { font-size: .72rem; font-weight: 800; color: var(--pdf-amber,#ff8c00); font-family: 'SF Mono','Fira Code',Consolas,monospace; margin-bottom: 4px; }
.ofscan-mitre-name { font-size: .8rem; font-weight: 600; color: var(--pdf-text); margin-bottom: 8px; }
.ofscan-mitre-engines { display: flex; flex-wrap: wrap; gap: 4px; }

/* ── Engine two-panel browser ────────────────────────────────────────────── */
.ofscan-eng-browser { display: grid; grid-template-columns: 220px 1fr; gap: 12px; min-height: 340px; }
@media (max-width: 700px) { .ofscan-eng-browser { grid-template-columns: 1fr; } }
.ofscan-eng-list { display: flex; flex-direction: column; gap: 4px; }
.ofscan-eng-item {
    display: flex; align-items: center; gap: 8px; padding: 9px 12px;
    background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07);
    border-radius: 7px; cursor: pointer; text-align: left;
    font-size: .78rem; transition: all .15s; width: 100%;
}
.ofscan-eng-item:hover  { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); }
.ofscan-eng-item.active { background: rgba(255,140,0,0.08);   border-color: rgba(255,140,0,0.30); }
.ofscan-eng-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ofscan-eng-dot[data-s="critical"] { background: #ff4444; box-shadow: 0 0 4px rgba(255,40,40,.7); }
.ofscan-eng-dot[data-s="high"]     { background: #ff8c00; box-shadow: 0 0 4px rgba(255,140,0,.7); }
.ofscan-eng-dot[data-s="medium"]   { background: #ffd600; }
.ofscan-eng-dot[data-s="low"]      { background: #4fc3f7; }
.ofscan-eng-dot[data-s="info"],
.ofscan-eng-dot[data-s="clean"]    { background: #00e676; }
.ofscan-eng-item-name  { flex: 1; font-weight: 600; color: var(--pdf-text); }
.ofscan-eng-item-count { font-size: .65rem; color: var(--pdf-text-dim); white-space: nowrap; }

.ofscan-eng-detail { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 16px; overflow-y: auto; max-height: 500px; }
.ofscan-eng-detail-name { font-size: 1rem; font-weight: 700; color: var(--pdf-text); margin-bottom: 8px; }
.ofscan-eng-detail-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }

/* ── Raw JSON ────────────────────────────────────────────────────────────── */
.ofscan-raw-actions { margin-bottom: 1rem; }
.ofscan-pre {
    background: rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.07);
    border-radius: 8px; padding: 14px 16px;
    font-family: 'SF Mono','Fira Code',Consolas,monospace; font-size: .72rem;
    color: #c4c4d8; white-space: pre-wrap; word-break: break-all;
    overflow-x: auto;
}
.ofscan-pre-full { max-height: 600px; overflow-y: auto; }

/* ── Shared ──────────────────────────────────────────────────────────────── */
.ofscan-empty { padding: 30px 0; text-align: center; color: var(--pdf-text-dim); font-size: .88rem; }
.ofscan-dl-btn { font-size: .78rem; }
.ofscan-dl-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 1.5rem; }
.ofscan-sum-top { margin-bottom: 1.5rem; }

/* ── Error ───────────────────────────────────────────────────────────────── */
.ofs-error {
    display: flex; align-items: center; gap: 10px; padding: 12px 16px;
    background: rgba(255,23,68,0.07); border: 1px solid rgba(255,23,68,0.25);
    border-radius: 8px; font-size: .85rem; color: #ff6b6b; margin-top: 1rem;
}
.ofs-error-icon { flex-shrink: 0; }

/* ── AI engine chip ──────────────────────────────────────────────────────── */
.ofscan-chip[data-eng="ai"].done {
    border-color: rgba(138,43,226,0.50); background: rgba(138,43,226,0.12);
    color: #c084fc; box-shadow: 0 0 8px rgba(138,43,226,0.25);
}
.ofscan-chip[data-eng="ai"].running {
    border-color: rgba(138,43,226,0.50); background: rgba(138,43,226,0.12);
    color: #c084fc; box-shadow: 0 0 12px rgba(138,43,226,0.30);
    animation: ofs-chip-pulse 1s ease-in-out infinite;
}

/* ── Sanitize panel ──────────────────────────────────────────────────────── */
.ofs-sanitize-panel {
    margin-top: 1.5rem; padding: 1.2rem 1.4rem;
    background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
}
.ofs-san-head {
    display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 1rem;
}
.ofs-san-title { font-size: .95rem; font-weight: 700; color: var(--pdf-text); }
.ofs-san-sub   { font-size: .78rem; color: var(--pdf-text-dim); }

.ofs-san-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 1rem;
}
@media (max-width: 900px) { .ofs-san-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ofs-san-grid { grid-template-columns: 1fr 1fr; } }

.ofs-san-card {
    display: flex; flex-direction: column; align-items: flex-start; gap: 5px;
    padding: 14px 14px 12px; border-radius: 10px; cursor: pointer;
    background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
    transition: border-color .2s, background .2s;
}
/* Per-card accent colours */
#ofscan-san-pdf:hover     { border-color: rgba(0,230,118,0.45);  background: rgba(0,230,118,0.06); }
#ofscan-san-pdf.selected  { border-color: rgba(0,230,118,0.65);  background: rgba(0,230,118,0.10);  box-shadow: 0 0 14px rgba(0,230,118,0.14); }
#ofscan-san-pdf.selected .ofs-san-name { color: #00e676; }

#ofscan-san-macro:hover    { border-color: rgba(79,195,247,0.40); background: rgba(79,195,247,0.06); }
#ofscan-san-macro.selected { border-color: rgba(79,195,247,0.60); background: rgba(79,195,247,0.10); box-shadow: 0 0 14px rgba(79,195,247,0.14); }
#ofscan-san-macro.selected .ofs-san-name { color: #4fc3f7; }

#ofscan-san-meta:hover     { border-color: rgba(167,139,250,0.40); background: rgba(167,139,250,0.06); }
#ofscan-san-meta.selected  { border-color: rgba(167,139,250,0.60); background: rgba(167,139,250,0.10); box-shadow: 0 0 14px rgba(167,139,250,0.14); }
#ofscan-san-meta.selected .ofs-san-name { color: #a78bfa; }
.ofs-san-meta-badge { color: #a78bfa; background: rgba(167,139,250,0.10); border-color: rgba(167,139,250,0.28); }

#ofscan-san-ooxml:hover    { border-color: rgba(251,191,36,0.40); background: rgba(251,191,36,0.06); }
#ofscan-san-ooxml.selected { border-color: rgba(251,191,36,0.60); background: rgba(251,191,36,0.10); box-shadow: 0 0 14px rgba(251,191,36,0.14); }
#ofscan-san-ooxml.selected .ofs-san-name { color: #fbbf24; }
.ofs-san-ooxml-badge { color: #fbbf24; background: rgba(251,191,36,0.10); border-color: rgba(251,191,36,0.28); }
.ofs-san-icon { font-size: 1.5rem; }
.ofs-san-name { font-size: .84rem; font-weight: 700; color: var(--pdf-text); line-height: 1.2; }
.ofs-san-tip  { font-size: .72rem; color: var(--pdf-text-dim); line-height: 1.45; }

.ofs-san-badge {
    font-size: .58rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
    padding: 2px 7px; border-radius: 3px; border: 1px solid;
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
}
.ofs-san-safe     { color: #00e676; background: rgba(0,230,118,0.10); border-color: rgba(0,230,118,0.30); }
.ofs-san-targeted { color: #4fc3f7; background: rgba(79,195,247,0.10); border-color: rgba(79,195,247,0.28); }

.ofs-san-status {
    font-size: .8rem; color: #ffb045; min-height: 1.2em; margin-bottom: .4rem;
}

/* ── Safe Preview tab ───────────────────────────────────────────────────── */
.ofscan-preview-info {
    display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
    padding: .75rem 1rem; margin-bottom: 1.2rem;
    border-radius: 8px; background: rgba(0,230,118,.04);
    border: 1px solid rgba(0,230,118,.12);
}
.ofscan-preview-pages { display: flex; flex-direction: column; gap: 1.4rem; }
.ofscan-preview-page {
    background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px; overflow: hidden;
}
.ofscan-preview-page-num {
    padding: 5px 12px; font-size: .67rem; font-weight: 700;
    letter-spacing: .09em; text-transform: uppercase;
    color: var(--pdf-text-dim); border-bottom: 1px solid rgba(255,255,255,.05);
    background: rgba(255,255,255,.02);
}
.ofscan-preview-img {
    display: block; max-width: 100%; height: auto;
    border-radius: 0 0 10px 10px;
}
.ofscan-san-rec {
    margin: 1rem 0 .5rem;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
}
.ofscan-san-rec-btn:hover {
    filter: brightness(1.15);
}

.ofscan-prev-btn {
    padding: 3px 11px; border-radius: 6px; cursor: pointer; font-size: .72rem;
    border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04);
    color: var(--pdf-text-dim); transition: background .15s, border-color .15s, color .15s;
}
.ofscan-prev-btn:hover:not(:disabled) { background: rgba(255,255,255,.09); color: #fff; border-color: rgba(255,255,255,.25); }
.ofscan-prev-btn.active { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.3); }
.ofscan-prev-btn:disabled { opacity: .3; cursor: default; }

/* ── Per-engine accent colors ─────────────────────────────────────────────── */
.ofs-engine-card[class*="ofs-c"] { border-left: 3px solid transparent; }

.ofs-c1  { border-left-color: #6366f1; background: rgba(99,102,241,0.05); }    /* indigo   — Container */
.ofs-c1  .ofs-engine-name, .ofs-c1  .ofs-engine-num { color: #818cf8; }
.ofs-c2  { border-left-color: #f97316; background: rgba(249,115,22,0.05); }    /* orange   — Encryption */
.ofs-c2  .ofs-engine-name, .ofs-c2  .ofs-engine-num { color: #fb923c; }
.ofs-c3  { border-left-color: #ec4899; background: rgba(236,72,153,0.05); }    /* pink     — Metadata */
.ofs-c3  .ofs-engine-name, .ofs-c3  .ofs-engine-num { color: #f472b6; }
.ofs-c4  { border-left-color: #3b82f6; background: rgba(59,130,246,0.05); }    /* blue     — Relationships */
.ofs-c4  .ofs-engine-name, .ofs-c4  .ofs-engine-num { color: #60a5fa; }
.ofs-c5  { border-left-color: #ef4444; background: rgba(239,68,68,0.05); }     /* red      — Embedded Payloads */
.ofs-c5  .ofs-engine-name, .ofs-c5  .ofs-engine-num { color: #f87171; }
.ofs-c6  { border-left-color: #8b5cf6; background: rgba(139,92,246,0.05); }    /* violet   — VBA Macros */
.ofs-c6  .ofs-engine-name, .ofs-c6  .ofs-engine-num { color: #a78bfa; }
.ofs-c7  { border-left-color: #eab308; background: rgba(234,179,8,0.05); }     /* yellow   — XLM / DDE */
.ofs-c7  .ofs-engine-name, .ofs-c7  .ofs-engine-num { color: #fbbf24; }
.ofs-c8  { border-left-color: #06b6d4; background: rgba(6,182,212,0.05); }     /* cyan     — OLE2 */
.ofs-c8  .ofs-engine-name, .ofs-c8  .ofs-engine-num { color: #22d3ee; }
.ofs-c9  { border-left-color: #14b8a6; background: rgba(20,184,166,0.05); }    /* teal     — IOC */
.ofs-c9  .ofs-engine-name, .ofs-c9  .ofs-engine-num { color: #2dd4bf; }
.ofs-c10 { border-left-color: #22c55e; background: rgba(34,197,94,0.05); }     /* green    — ClamAV */
.ofs-c10 .ofs-engine-name, .ofs-c10 .ofs-engine-num { color: #4ade80; }
.ofs-c11 { border-left-color: #a78bfa; background: rgba(167,139,250,0.05); }   /* purple   — YARA */
.ofs-c11 .ofs-engine-name, .ofs-c11 .ofs-engine-num { color: #c4b5fd; }
.ofs-c12 { border-left-color: #38bdf8; background: rgba(56,189,248,0.05); }    /* sky      — Threat Intel */
.ofs-c12 .ofs-engine-name, .ofs-c12 .ofs-engine-num { color: #7dd3fc; }
.ofs-c13 { border-left-color: #e879f9; background: rgba(232,121,249,0.05); }   /* fuchsia  — LibreOffice */
.ofs-c13 .ofs-engine-name, .ofs-c13 .ofs-engine-num { color: #e879f9; }
.ofs-c14 { border-left-color: #f43f5e; background: rgba(244,63,94,0.05); }     /* rose     — Sandbox */
.ofs-c14 .ofs-engine-name, .ofs-c14 .ofs-engine-num { color: #fb7185; }
.ofs-c15 { border-left-color: #f59e0b; background: rgba(245,158,11,0.05); }    /* amber    — Entropy */
.ofs-c15 .ofs-engine-name, .ofs-c15 .ofs-engine-num { color: #fcd34d; }
.ofs-c16 { border-left-color: #0ea5e9; background: rgba(14,165,233,0.05); }    /* sky2     — OPC */
.ofs-c16 .ofs-engine-name, .ofs-c16 .ofs-engine-num { color: #38bdf8; }
.ofs-c17 { border-left-color: #10b981; background: rgba(16,185,129,0.05); }    /* emerald  — Schema */
.ofs-c17 .ofs-engine-name, .ofs-c17 .ofs-engine-num { color: #34d399; }
.ofs-c18 { border-left-color: #d946ef; background: rgba(217,70,239,0.05); }    /* fuchsia2 — Fonts */
.ofs-c18 .ofs-engine-name, .ofs-c18 .ofs-engine-num { color: #e879f9; }
.ofs-c19 { border-left-color: #64748b; background: rgba(100,116,139,0.05); }   /* slate    — MIME */
.ofs-c19 .ofs-engine-name, .ofs-c19 .ofs-engine-num { color: #94a3b8; }
.ofs-c20 { border-left-color: #6366f1; background: rgba(99,102,241,0.07); }    /* indigo2  — Signatures */
.ofs-c20 .ofs-engine-name, .ofs-c20 .ofs-engine-num { color: #a5b4fc; }
.ofs-c21 { border-left-color: #0891b2; background: rgba(8,145,178,0.05); }     /* cyan2    — NLP */
.ofs-c21 .ofs-engine-name, .ofs-c21 .ofs-engine-num { color: #22d3ee; }
.ofs-c22 { border-left-color: #dc2626; background: rgba(220,38,38,0.06); }     /* red2     — Correlation */
.ofs-c22 .ofs-engine-name, .ofs-c22 .ofs-engine-num { color: #f87171; }
.ofs-c23 { border-left-color: #ff8c00; background: rgba(255,140,0,0.07); }     /* amber/AI — AI Report */
.ofs-c23 .ofs-engine-name, .ofs-c23 .ofs-engine-num { color: #ffb045; }

/* Hover brightens the accent */
.ofs-engine-card.ofs-c1:hover  { border-color: #6366f1; background: rgba(99,102,241,0.10); }
.ofs-engine-card.ofs-c2:hover  { border-color: #f97316; background: rgba(249,115,22,0.10); }
.ofs-engine-card.ofs-c3:hover  { border-color: #ec4899; background: rgba(236,72,153,0.10); }
.ofs-engine-card.ofs-c4:hover  { border-color: #3b82f6; background: rgba(59,130,246,0.10); }
.ofs-engine-card.ofs-c5:hover  { border-color: #ef4444; background: rgba(239,68,68,0.10); }
.ofs-engine-card.ofs-c6:hover  { border-color: #8b5cf6; background: rgba(139,92,246,0.10); }
.ofs-engine-card.ofs-c7:hover  { border-color: #eab308; background: rgba(234,179,8,0.10); }
.ofs-engine-card.ofs-c8:hover  { border-color: #06b6d4; background: rgba(6,182,212,0.10); }
.ofs-engine-card.ofs-c9:hover  { border-color: #14b8a6; background: rgba(20,184,166,0.10); }
.ofs-engine-card.ofs-c10:hover { border-color: #22c55e; background: rgba(34,197,94,0.10); }
.ofs-engine-card.ofs-c11:hover { border-color: #a78bfa; background: rgba(167,139,250,0.10); }
.ofs-engine-card.ofs-c12:hover { border-color: #38bdf8; background: rgba(56,189,248,0.10); }
.ofs-engine-card.ofs-c13:hover { border-color: #e879f9; background: rgba(232,121,249,0.10); }
.ofs-engine-card.ofs-c14:hover { border-color: #f43f5e; background: rgba(244,63,94,0.10); }
.ofs-engine-card.ofs-c15:hover { border-color: #f59e0b; background: rgba(245,158,11,0.10); }
.ofs-engine-card.ofs-c16:hover { border-color: #0ea5e9; background: rgba(14,165,233,0.10); }
.ofs-engine-card.ofs-c17:hover { border-color: #10b981; background: rgba(16,185,129,0.10); }
.ofs-engine-card.ofs-c18:hover { border-color: #d946ef; background: rgba(217,70,239,0.10); }
.ofs-engine-card.ofs-c19:hover { border-color: #64748b; background: rgba(100,116,139,0.10); }
.ofs-engine-card.ofs-c20:hover { border-color: #6366f1; background: rgba(99,102,241,0.12); }
.ofs-engine-card.ofs-c21:hover { border-color: #0891b2; background: rgba(8,145,178,0.10); }
.ofs-engine-card.ofs-c22:hover { border-color: #dc2626; background: rgba(220,38,38,0.12); }
.ofs-engine-card.ofs-c23:hover { border-color: #ff8c00; background: rgba(255,140,0,0.12); }

/* Open (expanded) state keeps the accent */
.ofs-engine-cell.open .ofs-engine-card.ofs-c1  { border-color: #6366f1; background: rgba(99,102,241,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c2  { border-color: #f97316; background: rgba(249,115,22,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c3  { border-color: #ec4899; background: rgba(236,72,153,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c4  { border-color: #3b82f6; background: rgba(59,130,246,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c5  { border-color: #ef4444; background: rgba(239,68,68,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c6  { border-color: #8b5cf6; background: rgba(139,92,246,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c7  { border-color: #eab308; background: rgba(234,179,8,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c8  { border-color: #06b6d4; background: rgba(6,182,212,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c9  { border-color: #14b8a6; background: rgba(20,184,166,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c10 { border-color: #22c55e; background: rgba(34,197,94,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c11 { border-color: #a78bfa; background: rgba(167,139,250,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c12 { border-color: #38bdf8; background: rgba(56,189,248,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c13 { border-color: #e879f9; background: rgba(232,121,249,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c14 { border-color: #f43f5e; background: rgba(244,63,94,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c15 { border-color: #f59e0b; background: rgba(245,158,11,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c16 { border-color: #0ea5e9; background: rgba(14,165,233,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c17 { border-color: #10b981; background: rgba(16,185,129,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c18 { border-color: #d946ef; background: rgba(217,70,239,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c19 { border-color: #64748b; background: rgba(100,116,139,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c20 { border-color: #6366f1; background: rgba(99,102,241,0.12); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c21 { border-color: #0891b2; background: rgba(8,145,178,0.10); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c22 { border-color: #dc2626; background: rgba(220,38,38,0.12); }
.ofs-engine-cell.open .ofs-engine-card.ofs-c23 { border-color: #ff8c00; background: rgba(255,140,0,0.12); }
