/* Shared DataHub page components. Keep these rules language-neutral. */
.dataset-detail-page {
    /* The detail navbar participates in document flow, so only normal page
       spacing is needed here. This avoids fragile, guessed offsets. */
    position: relative;
    z-index: 1;
    margin-top: 0;
    padding-top: 1.5rem !important;
}

.dataset-detail-body .layout-navbar {
    position: sticky !important;
    top: 0;
    z-index: 1030;
}

/* The viewer is a standalone workspace below the public navbar. */
.dataset-viewer-body .layout-navbar {
    position: sticky !important;
    top: 0;
    z-index: 1030;
}

.dataset-viewer-page {
    position: relative;
    z-index: 1;
    min-height: calc(100vh - 5rem);
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.dataset-viewer-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--bs-border-color, #e7e7e8);
    border-radius: 1rem;
    background: var(--bs-paper-bg, #fff);
    box-shadow: 0 0.35rem 1rem rgba(67, 89, 113, 0.06);
}

.dataset-viewer-heading { min-width: 0; }
.dataset-viewer-kicker { color: var(--bs-primary, #7367f0); font-size: .76rem; font-weight: 700; }
.dataset-viewer-heading h1 { margin: .2rem 0 .15rem; color: var(--bs-heading-color, #384551); font-size: clamp(1.15rem, 2vw, 1.55rem); overflow-wrap: anywhere; }
.dataset-viewer-heading p { margin: 0; color: var(--bs-secondary-color, #6f6b7d); font-size: .82rem; }
.dataset-viewer-back { flex: 0 0 auto; white-space: nowrap; }
.dataset-viewer-panel { min-height: calc(100vh - 10rem); overflow: hidden; border: 1px solid var(--bs-border-color, #e7e7e8); border-radius: 1rem; background: var(--bs-paper-bg, #fff); box-shadow: 0 .45rem 1.35rem rgba(67, 89, 113, .08); }
.dataset-viewer-canvas { min-height: calc(100vh - 10rem); background: #fff; }
.dataset-viewer-canvas > div { width: 100% !important; }
.dataset-viewer-canvas iframe { display: block; width: 100%; min-height: 72vh; border: 0; }
.dataset-viewer-error { border: 1px solid rgba(234, 84, 85, .2); border-radius: 1rem; }
.dataset-viewer-error-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; border-radius: 50%; background: rgba(234, 84, 85, .12); color: #ea5455; font-size: 1.25rem; }

@media (max-width: 767.98px) {
    .dataset-viewer-page { padding-top: 1rem; }
    .dataset-viewer-toolbar { align-items: flex-start; flex-direction: column; padding: 1rem; }
    .dataset-viewer-back { width: 100%; }
    .dataset-viewer-panel, .dataset-viewer-canvas { min-height: calc(100vh - 13rem); }
    .dataset-viewer-canvas iframe { min-height: 70vh; }
}

/* Staff operations workspace. The public navbar remains in normal flow so the
   dashboard never hides content behind it on desktop or mobile. */
.dashboard-body .layout-navbar { position: sticky !important; top: 0; z-index: 1030; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(67,89,113,.08); }
.ops-shell { min-height: calc(100vh - 4.5rem); background: #f7f8fc; color: #384551; }
.ops-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 1.5rem; align-items: start; }
.ops-sidebar { position: sticky; top: 5.5rem; padding: 1rem .85rem; border: 1px solid rgba(67,89,113,.1); border-radius: 1.15rem; background: #fff; box-shadow: 0 .45rem 1.4rem rgba(67,89,113,.06); }
.ops-brand { display: flex; align-items: center; gap: .65rem; padding: .55rem .55rem 1.15rem; font-weight: 800; line-height: 1.15; color: #384551; }
.ops-brand small { color: #7367f0; font-size: .68rem; font-weight: 700; }
.ops-brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: .75rem; background: linear-gradient(135deg,#7367f0,#3f8cff); color: #fff; font-size: 1.2rem; }
.ops-nav { display: grid; gap: .25rem; }
.ops-nav a, .ops-sidebar-footer a { display: flex; align-items: center; gap: .65rem; padding: .7rem .75rem; border-radius: .7rem; color: #6f6b7d; font-size: .86rem; font-weight: 600; text-decoration: none; transition: .18s ease; }
.ops-nav a:hover, .ops-nav a.active { background: rgba(115,103,240,.1); color: #7367f0; }
.ops-nav i, .ops-sidebar-footer i { font-size: 1.1rem; }
.ops-sidebar-footer { margin-top: 2rem; padding-top: .75rem; border-top: 1px solid rgba(67,89,113,.1); }
.ops-content { min-width: 0; }
.ops-hero, .ops-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.ops-hero { padding: 1.35rem 1.5rem; border-radius: 1.15rem; background: linear-gradient(135deg,#201b4a 0%,#3d3489 52%,#7367f0 100%); color: #fff; box-shadow: 0 .6rem 1.5rem rgba(50,42,130,.18); }
.ops-hero h1, .ops-page-head h1 { margin: .2rem 0 .25rem; font-size: clamp(1.45rem,2.3vw,2rem); font-weight: 800; }
.ops-hero p, .ops-page-head p { margin: 0; color: inherit; opacity: .72; }
.ops-eyebrow { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .72; }
.ops-page-head { margin-bottom: 1.2rem; }
.ops-page-head .ops-eyebrow { color: #7367f0; opacity: 1; }
.ops-kpi, .ops-card { border: 1px solid rgba(67,89,113,.1); border-radius: 1rem; background: #fff; box-shadow: 0 .35rem 1.15rem rgba(67,89,113,.05); }
.ops-kpi { display: flex; align-items: center; gap: .8rem; padding: 1rem; min-height: 112px; }
.ops-kpi-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: .8rem; font-size: 1.25rem; }
.ops-kpi-icon.purple { color:#7367f0; background:rgba(115,103,240,.12); }.ops-kpi-icon.blue { color:#3f8cff; background:rgba(63,140,255,.12); }.ops-kpi-icon.orange { color:#ff9f43; background:rgba(255,159,67,.15); }.ops-kpi-icon.green { color:#28c76f; background:rgba(40,199,111,.13); }
.ops-kpi small, .ops-kpi em { display:block; color:#6f6b7d; font-size:.72rem; font-style:normal; }.ops-kpi strong { display:block; margin:.1rem 0; color:#384551; font-size:1.45rem; line-height:1.1; }
.ops-card { padding: 1.15rem; }.ops-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }.ops-card-head h2 { margin:0; font-size:1rem; font-weight:800; }.ops-card-head p { margin:.25rem 0 0; color:#8a8894; font-size:.76rem; }.ops-card-head a { color:#7367f0; font-size:.78rem; font-weight:700; text-decoration:none; }.ops-head-icon { color:#7367f0; font-size:1.25rem; }
.ops-chart { display:flex; align-items:flex-end; gap:.45rem; height:190px; padding:1rem 0 .3rem; border-bottom:1px solid rgba(67,89,113,.1); }.ops-chart-col { display:flex; align-items:center; flex:1; flex-direction:column; justify-content:flex-end; gap:.5rem; height:100%; }.ops-chart-bars { display:flex; align-items:flex-end; justify-content:center; gap:2px; width:100%; height:100%; }.ops-chart-bars span,.ops-chart-bars b { display:block; width:38%; min-height:2px; border-radius:5px 5px 2px 2px; background:#7367f0; }.ops-chart-bars b { background:#d5d0ff; }.ops-chart-col small { color:#9b99a4; font-size:.62rem; }.ops-chart-legend { display:flex; gap:1rem; margin-top:.75rem; color:#8a8894; font-size:.7rem; }.ops-chart-legend i { display:inline-block; width:.55rem; height:.55rem; margin-right:.25rem; border-radius:50%; background:#7367f0; }.ops-chart-legend i.secondary { background:#d5d0ff; }
.ops-actions { display:grid; gap:.45rem; }.ops-actions a { display:flex; align-items:center; gap:.65rem; padding:.75rem .6rem; border-radius:.7rem; color:#384551; text-decoration:none; }.ops-actions a:hover { background:#f6f5ff; }.ops-actions a > i:first-child { color:#7367f0; font-size:1.25rem; }.ops-actions a > i:last-child { margin-left:auto; color:#aaa; }.ops-actions span { font-size:.82rem; font-weight:700; }.ops-actions small { display:block; margin-top:.15rem; color:#9896a2; font-size:.68rem; font-weight:400; }
.ops-table { margin:0; font-size:.78rem; }.ops-table th { color:#9896a2; font-size:.68rem; font-weight:700; text-transform:uppercase; white-space:nowrap; }.ops-table td { color:#6f6b7d; vertical-align:middle; }.ops-table strong { color:#384551; font-weight:700; }.ops-status { display:inline-flex; padding:.25rem .5rem; border-radius:999px; background:#f1f1f4; color:#6f6b7d; font-size:.67rem; font-weight:700; white-space:nowrap; }.status-published,.status-paid,.status-succeeded { background:rgba(40,199,111,.12); color:#22a35b; }.status-needs_review,.status-quarantined,.status-processing,.status-running { background:rgba(255,159,67,.15); color:#d9801d; }.status-failed,.status-rejected,.status-refunded { background:rgba(234,84,85,.12); color:#d94849; }.status-queued,.status-pending { background:rgba(63,140,255,.12); color:#3076dc; }
.ops-queue { display:grid; gap:.8rem; }.ops-queue > div { display:flex; align-items:center; gap:.65rem; }.ops-queue-icon { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:.6rem; color:#ff9f43; background:rgba(255,159,67,.13); }.ops-queue strong,.ops-queue small { display:block; }.ops-queue strong { color:#384551; font-size:.78rem; }.ops-queue small { margin-top:.12rem; color:#9996a4; font-size:.68rem; }
.ops-filter { display:flex; gap:.65rem; margin-bottom:1rem; }.ops-filter .input-group { flex:1; }.ops-filter select { max-width:190px; }.ops-form { display:grid; gap:1rem; }.ops-form label { color:#6f6b7d; font-size:.76rem; font-weight:700; }.ops-form label input,.ops-form label select { margin-top:.35rem; font-weight:400; }.ops-import-list { display:grid; gap:.65rem; }.ops-import-row { display:grid; grid-template-columns:auto minmax(0,1fr) max-content minmax(0,max-content); align-items:center; gap:.65rem; min-width:0; padding:.7rem; border:1px solid rgba(67,89,113,.08); border-radius:.75rem; }.ops-import-identity { min-width:0; }.ops-import-row strong,.ops-import-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ops-import-row strong { color:#384551; font-size:.8rem; }.ops-import-row small { margin-top:.15rem; color:#9996a4; font-size:.67rem; }.ops-import-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.4rem; }.ops-import-actions .btn { flex:0 0 auto; }.ops-provider { display:inline-flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:.65rem; color:#7367f0; background:rgba(115,103,240,.1); }.provider-kaggle { color:#20a7de; background:rgba(32,167,222,.1); }.ops-user { display:flex; align-items:center; gap:.55rem; }.ops-user > span { display:inline-flex; align-items:center; justify-content:center; width:1.9rem; height:1.9rem; border-radius:50%; color:#7367f0; background:rgba(115,103,240,.12); font-weight:800; }.ops-pagination { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; margin-top:1rem; color:#8a8894; font-size:.75rem; }.ops-pagination a { display:inline-flex; align-items:center; justify-content:center; width:1.8rem; height:1.8rem; border:1px solid rgba(67,89,113,.12); border-radius:.5rem; color:#7367f0; text-decoration:none; }
@media (max-width: 991.98px) { .ops-layout { grid-template-columns:1fr; }.ops-sidebar { position:static; display:flex; align-items:center; gap:1rem; overflow:auto; padding:.65rem; }.ops-brand { flex:0 0 auto; padding:.25rem .55rem; }.ops-nav { display:flex; flex:1; gap:.25rem; }.ops-nav a { white-space:nowrap; }.ops-sidebar-footer { display:none; } }
@media (max-width: 767.98px) { .ops-import-row { grid-template-columns:auto minmax(0,1fr); align-items:start; }.ops-import-row .ops-status,.ops-import-actions { grid-column:2; justify-self:start; }.ops-import-actions { justify-content:flex-start; } }
@media (max-width: 575.98px) { .ops-hero,.ops-page-head { align-items:flex-start; flex-direction:column; }.ops-hero .btn { width:100%; }.ops-filter { align-items:stretch; flex-direction:column; }.ops-filter select { max-width:none; } }

/* Shared dataset identity header used by detail, download, and file-preview pages. */
.dataset-context-page {
    position: relative;
    z-index: 1;
}

.dataset-context-header {
    border: 1px solid var(--bs-border-color, #e7e7e8);
    border-radius: 1rem;
    background: var(--bs-paper-bg, #fff);
    box-shadow: 0 0.4rem 1.25rem rgba(67, 89, 113, 0.07);
}

/* DataHub public home: product-led landing surface */
.dh-home { --dh-ink:#20213a; --dh-muted:#686b83; --dh-primary:#7367f0; --dh-blue:#3f8cff; --dh-orange:#ff9f43; --dh-green:#28c76f; color:var(--dh-ink); overflow:hidden; }
.dh-hero { position:relative; padding:clamp(4.5rem,9vw,7.5rem) 0 5rem; background:radial-gradient(circle at 82% 18%,rgba(115,103,240,.18),transparent 32%),linear-gradient(180deg,#f8f8ff 0%,#fff 82%); }
.dh-hero:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; background-image:linear-gradient(rgba(115,103,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(115,103,240,.06) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000 0%,transparent 82%); }
.dh-hero .container { z-index:1; }.dh-eyebrow { display:inline-flex; align-items:center; gap:.25rem; color:var(--dh-primary); font-size:.76rem; font-weight:800; letter-spacing:.04em; }.dh-hero-title { max-width:760px; margin:1rem 0 1.25rem; color:var(--dh-ink); font-size:clamp(2.4rem,5.4vw,4.7rem); font-weight:850; letter-spacing:-.045em; line-height:1.08; }.dh-hero-copy { max-width:650px; margin-bottom:2rem; color:var(--dh-muted); font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.9; }.dh-hero-proof { display:flex; flex-wrap:wrap; gap:1rem 1.35rem; margin-top:2rem; color:#85879a; font-size:.78rem; }.dh-hero-proof span { display:inline-flex; align-items:center; gap:.35rem; }.dh-hero-proof i { color:var(--dh-primary); font-size:1rem; }
.dh-hero-panel { position:relative; padding:1.1rem; border:1px solid rgba(115,103,240,.16); border-radius:1.25rem; background:rgba(255,255,255,.9); box-shadow:0 1.5rem 4rem rgba(48,42,120,.15); backdrop-filter:blur(12px); transform:rotate(1.5deg); }.dh-panel-top { display:flex; align-items:center; gap:.35rem; padding-bottom:1rem; border-bottom:1px solid #efeff8; }.dh-panel-dot { width:.5rem; height:.5rem; border-radius:50%; background:#d8d8e7; }.dh-panel-dot:first-child { background:#ff9f43; }.dh-panel-dot:nth-child(2) { background:#28c76f; }.dh-panel-label { margin-inline-start:auto; color:#a0a0b1; font-size:.68rem; }.dh-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.4rem .35rem 1rem; }.dh-panel-heading small { color:#9495a8; font-size:.72rem; }.dh-panel-heading h2 { margin:.25rem 0 0; font-size:1.45rem; font-weight:800; }.dh-panel-icon { display:inline-flex; align-items:center; justify-content:center; width:2.6rem; height:2.6rem; border-radius:.8rem; color:#fff; background:var(--dh-primary); box-shadow:0 .6rem 1rem rgba(115,103,240,.25); }.dh-panel-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; padding:.8rem; border-radius:.85rem; background:#f8f8ff; }.dh-panel-metrics div { min-width:0; }.dh-panel-metrics strong,.dh-panel-metrics span { display:block; }.dh-panel-metrics strong { font-size:1.35rem; line-height:1.1; }.dh-panel-metrics span { margin-top:.3rem; color:#8b8da2; font-size:.66rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.dh-panel-list { display:grid; gap:.5rem; padding:.9rem .25rem .1rem; }.dh-panel-list div { display:flex; align-items:center; gap:.5rem; color:#6f7187; font-size:.75rem; }.dh-panel-list strong { margin-inline-start:auto; color:var(--dh-green); }.dh-panel-list div:last-child strong { color:var(--dh-primary); }.dh-status-dot { flex:0 0 auto; width:.52rem; height:.52rem; border-radius:50%; }.dh-status-dot.success { background:var(--dh-green); box-shadow:0 0 0 .25rem rgba(40,199,111,.12); }.dh-status-dot.warning { background:var(--dh-orange); box-shadow:0 0 0 .25rem rgba(255,159,67,.13); }
.dh-stats { position:relative; z-index:2; margin-top:-2rem; }.dh-stat { display:flex; align-items:center; gap:.9rem; min-height:86px; padding:1rem 1.15rem; border:1px solid rgba(67,89,113,.09); border-radius:1rem; background:#fff; box-shadow:0 .55rem 1.5rem rgba(67,89,113,.08); }.dh-stat-icon,.dh-card-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:.8rem; }.dh-stat-icon { width:2.8rem; height:2.8rem; font-size:1.3rem; }.dh-stat-icon.purple,.dh-card-icon.purple,.dh-feature-visual.purple { color:var(--dh-primary); background:rgba(115,103,240,.12); }.dh-stat-icon.green,.dh-card-icon.green,.dh-feature-visual.green { color:var(--dh-green); background:rgba(40,199,111,.13); }.dh-stat-icon.orange,.dh-card-icon.orange,.dh-feature-visual.orange { color:var(--dh-orange); background:rgba(255,159,67,.15); }.dh-stat-icon.blue,.dh-card-icon.blue,.dh-feature-visual.blue { color:var(--dh-blue); background:rgba(63,140,255,.12); }.dh-stat strong,.dh-stat span { display:block; }.dh-stat strong { font-size:1.4rem; line-height:1.1; }.dh-stat span { margin-top:.25rem; color:#85879a; font-size:.75rem; }
.dh-section { padding:clamp(4.5rem,8vw,7rem) 0; }.dh-section-heading { max-width:700px; margin:0 auto 2.8rem; text-align:center; }.dh-section-heading h2 { margin:.65rem 0 .85rem; color:var(--dh-ink); font-size:clamp(1.75rem,3.3vw,2.7rem); font-weight:800; letter-spacing:-.025em; }.dh-section-heading p { margin:0; color:var(--dh-muted); line-height:1.8; }.dh-workflow { background:#fff; }.dh-step,.dh-feature-card { position:relative; height:100%; padding:1.45rem; border:1px solid rgba(67,89,113,.1); border-radius:1rem; background:#fff; box-shadow:0 .35rem 1.2rem rgba(67,89,113,.04); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.dh-step:hover,.dh-feature-card:hover { border-color:rgba(115,103,240,.25); box-shadow:0 .8rem 1.8rem rgba(67,89,113,.09); transform:translateY(-4px); }.dh-step-number { position:absolute; top:1.25rem; inset-inline-end:1.3rem; color:#d8d6fb; font-size:.8rem; font-weight:850; letter-spacing:.08em; }.dh-card-icon { width:2.65rem; height:2.65rem; margin-bottom:1.7rem; font-size:1.2rem; }.dh-step h3,.dh-feature-card h3 { margin:0 0 .65rem; color:var(--dh-ink); font-size:1.05rem; font-weight:800; }.dh-step p,.dh-feature-card p { margin:0; color:var(--dh-muted); font-size:.87rem; line-height:1.85; }.dh-capabilities { background:#f8f8fc; }.dh-feature-visual { display:flex; align-items:center; justify-content:center; width:100%; height:150px; margin-bottom:1.35rem; border-radius:.85rem; font-size:3rem; }.dh-feature-card { padding:1rem; }.dh-feature-card h3,.dh-feature-card p,.dh-feature-card .dh-text-link { margin-inline: .35rem; }.dh-text-link { display:inline-flex; align-items:center; gap:.3rem; margin-top:1.2rem; color:var(--dh-primary); font-size:.82rem; font-weight:800; text-decoration:none; }.dh-text-link:hover { color:#5549d6; }
.dh-integrations { padding:clamp(3.5rem,6vw,5rem) 0; color:#fff; background:#252449; }.dh-integrations h2 { margin:.7rem 0 .8rem; color:#fff; font-size:clamp(1.7rem,3vw,2.5rem); font-weight:800; }.dh-integrations p { max-width:600px; margin:0; color:rgba(255,255,255,.68); line-height:1.9; }.dh-integrations .dh-eyebrow { color:#b9b3ff; }.dh-source-list { display:grid; gap:.65rem; padding:1rem; border:1px solid rgba(255,255,255,.13); border-radius:1rem; background:rgba(255,255,255,.06); }.dh-source-list > div { display:flex; align-items:center; gap:.75rem; padding:.55rem .65rem; border-radius:.65rem; color:rgba(255,255,255,.82); }.dh-source-list > div:hover { background:rgba(255,255,255,.08); }.dh-source-list i { margin-inline-start:auto; color:#61dc91; }.dh-source-logo { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:.55rem; font-size:1rem; font-weight:850; }.dh-source-logo.hf { background:#ffd21e; }.dh-source-logo.kg { color:#20a7de; background:rgba(32,167,222,.16); }.dh-source-logo.dh { color:#fff; background:var(--dh-primary); }
.dh-privacy { background:#f8f8fc; }.dh-privacy-panel { padding:clamp(1.7rem,4vw,3rem); border-radius:1.25rem; color:#fff; background:linear-gradient(135deg,#35306d,#7367f0); box-shadow:0 1rem 2.4rem rgba(63,52,160,.2); }.dh-privacy-panel h2 { margin:.65rem 0 .85rem; color:#fff; font-size:clamp(1.65rem,3vw,2.35rem); font-weight:800; }.dh-privacy-panel p { max-width:690px; margin:0; color:rgba(255,255,255,.74); line-height:1.9; }.dh-privacy-panel .dh-eyebrow { color:#d9d5ff; }.dh-privacy-panel .btn-light { color:#4b419b; border:0; }.dh-faq { padding-top:clamp(3.5rem,7vw,6rem); }.dh-accordion .accordion-item { margin-bottom:.75rem; overflow:hidden; border:1px solid rgba(67,89,113,.1); border-radius:.8rem !important; }.dh-accordion .accordion-button { color:var(--dh-ink); font-weight:700; background:#fff; box-shadow:none; }.dh-accordion .accordion-button:not(.collapsed) { color:var(--dh-primary); background:#f8f8ff; }.dh-accordion .accordion-body { color:var(--dh-muted); line-height:1.85; }.dh-cta { padding:0 0 5rem; background:#fff; }.dh-cta-panel { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(1.7rem,4vw,3rem); border:1px solid rgba(115,103,240,.15); border-radius:1.2rem; background:linear-gradient(120deg,#f8f8ff,#fff); }.dh-cta-panel h2 { margin:.6rem 0 .6rem; color:var(--dh-ink); font-size:clamp(1.6rem,3vw,2.35rem); font-weight:800; }.dh-cta-panel p { margin:0; color:var(--dh-muted); line-height:1.7; }
@media (max-width: 991.98px) { .dh-hero { padding-top:4rem; }.dh-hero-panel { max-width:560px; margin:0 auto; transform:none; }.dh-cta-panel { align-items:flex-start; flex-direction:column; }.dh-cta-panel .btn { width:100%; } }
@media (max-width: 575.98px) { .dh-hero { padding-bottom:4rem; }.dh-hero-title { font-size:2.5rem; }.dh-hero-proof { display:grid; gap:.65rem; }.dh-panel-metrics { gap:.35rem; padding:.65rem; }.dh-panel-metrics strong { font-size:1.1rem; }.dh-panel-metrics span { font-size:.62rem; }.dh-section { padding:4rem 0; }.dh-section-heading { margin-bottom:2rem; }.dh-stat { min-height:76px; }.dh-source-list { margin-top:.5rem; } }

.dataset-context-header-body {
    padding: clamp(1.1rem, 2.4vw, 1.6rem);
}

.dataset-context-header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.dataset-context-identity {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 1rem;
}

.dataset-context-logo {
    display: inline-flex;
    width: 6.25rem;
    min-width: 6.25rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--bs-border-color, #e7e7e8);
    border-radius: 0.8rem;
    background: #fff;
}

.dataset-context-logo img {
    width: auto;
    max-width: 5rem;
    height: 2.45rem;
    object-fit: contain;
}

.dataset-context-copy {
    min-width: 0;
}

.dataset-context-kicker {
    color: var(--bs-primary, #7367f0);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.dataset-context-title {
    margin: 0.2rem 0 0.45rem;
    color: var(--bs-heading-color, #384551);
    font-size: clamp(1.15rem, 2.1vw, 1.65rem);
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dataset-context-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    color: var(--bs-secondary-color, #6f6b7d);
    font-size: 0.8rem;
}

.dataset-context-meta span {
    display: inline-flex;
    align-items: center;
}

.dataset-context-action {
    flex: 0 0 auto;
}

.dataset-context-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(67, 89, 113, 0.1);
}

.dataset-context-fact {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.65rem;
    border-radius: 0.65rem;
    background: var(--bs-light, #f7f7f9);
    color: var(--bs-secondary-color, #6f6b7d);
    font-size: 0.78rem;
}

.dataset-context-fact i {
    color: var(--bs-primary, #7367f0);
}

.dataset-context-fact strong {
    color: var(--bs-heading-color, #384551);
    font-weight: 600;
}

.dataset-context-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.9rem;
}

@media (max-width: 767.98px) {
    .dataset-context-header-main {
        align-items: stretch;
        flex-direction: column;
    }

    .dataset-context-action,
    .dataset-context-action .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .dataset-context-identity {
        align-items: flex-start;
        gap: 0.75rem;
    }

    .dataset-context-logo {
        width: 5.2rem;
        min-width: 5.2rem;
        height: 3.5rem;
    }

    .dataset-context-logo img {
        max-width: 4.2rem;
        height: 2.1rem;
    }
}

.dataset-detail-hero {
    position: relative;
    overflow: visible;
    border: 1px solid var(--bs-border-color, #e7e7e8);
    border-radius: 1.2rem;
    background: var(--bs-paper-bg, #fff);
    color: var(--bs-body-color, #384551);
    box-shadow: 0 0.45rem 1.5rem rgba(67, 89, 113, 0.08);
}

.dataset-detail-hero::after { display: none; }
.dataset-detail-hero .card-body { position: relative; z-index: 1; }

.dataset-detail-logo-wrap {
    display: inline-flex;
    width: 9.5rem;
    min-width: 9.5rem;
    height: 5rem;
    padding: 0.7rem 1rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border-color, #e7e7e8);
    border-radius: 0.9rem;
    background: #fff;
}

.dataset-detail-logo {
    width: auto;
    max-width: 8rem;
    height: 3.1rem;
    object-fit: contain;
}

.dataset-detail-title {
    color: var(--bs-heading-color, #384551);
    font-size: clamp(1.35rem, 2.3vw, 2rem);
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dataset-detail-source {
    color: var(--bs-primary, #7367f0);
    font-size: 0.78rem;
    font-weight: 600;
}

.dataset-detail-hero .text-muted,
.dataset-detail-hero small { color: var(--bs-secondary-color, #6f6b7d) !important; }
.dataset-detail-hero .badge { background: var(--bs-light, #f5f5f9) !important; color: var(--bs-heading-color, #384551) !important; }
.dataset-detail-stats { margin-top: 1.4rem; }
.dataset-detail-stat { min-width: 8.2rem; padding: .65rem .8rem; border: 1px solid var(--bs-border-color, #e7e7e8); border-radius: .8rem; background: var(--bs-light, #f8f8fa); }
.dataset-detail-stat .avatar { width: 2rem; height: 2rem; background: var(--bs-paper-bg, #fff) !important; color: var(--bs-primary, #7367f0); }
.dataset-detail-stat .text-muted,
.dataset-detail-stat small { color: var(--bs-secondary-color, #6f6b7d) !important; }

.dataset-share-menu {
    min-width: 11rem;
    z-index: 1080;
}

.dataset-detail-section {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 0.3rem 1.2rem rgba(67, 89, 113, 0.07);
}

.dataset-detail-section .card-header {
    border-bottom: 1px solid rgba(67, 89, 113, 0.09);
    background: transparent;
}

.dataset-description-text {
    unicode-bidi: plaintext;
    color: var(--bs-body-color, #384551);
    line-height: 1.95;
    text-align: start;
    overflow-wrap: anywhere;
}

.dataset-description-text p {
    text-align: start;
}

@media (max-width: 991.98px) {
    .dataset-detail-page {
        padding-top: 1.25rem !important;
    }

}

@media (max-width: 575.98px) {
    .dataset-detail-page {
        padding-top: 1rem !important;
    }

    .dataset-detail-logo-wrap {
        width: 7.2rem;
        min-width: 7.2rem;
        height: 4.3rem;
        padding-inline: 0.65rem;
    }

    .dataset-detail-logo {
        max-width: 6.1rem;
        height: 2.5rem;
    }

}
