/* Quantalgo Visual Dossier v3.1 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --qd-ink:#0a0c10; --qd-bg:#f4f2ee; --qd-white:#fff; --qd-paper:#faf9f6;
  --qd-muted:#6b7280; --qd-line:#e2ddd6; --qd-deep:#1a1f2e;
  --qd-red:#c0392b; --qd-red-soft:#fdf0ef; --qd-red-mid:#e74c3c;
  --qd-gold:#b5882a; --qd-gold-soft:#fdf8ee;
  --qd-blue:#1a3f6f; --qd-blue-soft:#eef3fa;
  --qd-green:#1a5c3a; --qd-green-soft:#eef8f2;
  --qd-sidebar:#ffffff; --qd-sidebar2:#f4f2ee;
  --qd-accent:#c0392b;
  --qd-r:6px; --qd-r2:12px; --qd-r3:18px;
  --qd-shadow:0 2px 12px rgba(10,12,16,.10);
  --qd-shadow-lg:0 8px 32px rgba(10,12,16,.14);
  --ff-head:'Playfair Display',Georgia,serif;
  --ff-body:'IBM Plex Sans',system-ui,sans-serif;
  --ff-mono:'IBM Plex Mono',monospace;
}

*, *::before, *::after { box-sizing:border-box; }
.qd-app { font-family:var(--ff-body); background:var(--qd-bg); color:var(--qd-ink); line-height:1.55; max-width:1600px; margin:0 auto 40px; border:1px solid var(--qd-line); border-radius:var(--qd-r3); overflow:hidden; box-shadow:var(--qd-shadow-lg); font-size:16px; }
.qd-app * { box-sizing:border-box; }
.qd-app a { color:var(--qd-blue); text-decoration:none; }
.qd-app a:hover { text-decoration:underline; }

/* ── Shell ── */
.qd-shell { display:grid; grid-template-columns:290px 1fr; min-height:860px; }

/* ── Sidebar ── */
.qd-sidebar { background:var(--qd-sidebar); border-right:1px solid var(--qd-line); display:flex; flex-direction:column; }
.qd-brand-bar { padding:28px 22px 20px; border-bottom:1px solid var(--qd-line); }
.qd-brand-eyebrow { font-family:var(--ff-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--qd-red); margin-bottom:8px; }
.qd-brand-name { font-family:var(--ff-head); font-size:26px; font-weight:900; color:var(--qd-ink); line-height:1.1; margin:0 0 4px; }
.qd-brand-sub { font-size:13px; color:var(--qd-muted); letter-spacing:.04em; }
.qd-sidebar-status { margin:14px 18px; background:var(--qd-red-soft); border:1px solid #f5c6c3; border-radius:var(--qd-r); padding:10px 13px; }
.qd-sidebar-status .label { font-family:var(--ff-mono); font-size:10px; color:var(--qd-red); letter-spacing:.12em; text-transform:uppercase; margin-bottom:3px; }
.qd-sidebar-status .value { font-size:14px; color:var(--qd-muted); }
.qd-nav { padding:10px 14px 20px; flex:1; }
.qd-nav-section { font-family:var(--ff-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--qd-muted); padding:14px 8px 6px; font-size:11px; }
.qd-nav-item { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--qd-r); color:var(--qd-muted); font-size:15px; font-weight:600; text-decoration:none; transition:background .15s, color .15s; margin-bottom:2px; cursor:pointer; border:none; background:none; width:100%; text-align:left; }
.qd-nav-item:hover { background:var(--qd-bg); color:var(--qd-ink); text-decoration:none; }
.qd-nav-item.active { background:var(--qd-red-soft); color:var(--qd-red); border-left:3px solid var(--qd-red); padding-left:9px; }
.qd-nav-item .nav-icon { width:16px; opacity:.7; font-size:15px; }
.qd-nav-item .nav-count { margin-left:auto; font-family:var(--ff-mono); font-size:12px; background:var(--qd-line); border-radius:20px; padding:1px 8px; color:var(--qd-muted); }
.qd-nav-item.active .nav-count { background:rgba(192,57,43,.12); color:var(--qd-red); }
.qd-sidebar-footer { padding:14px 22px; border-top:1px solid var(--qd-line); font-size:11px; color:var(--qd-muted); font-family:var(--ff-mono); }

/* ── Main ── */
.qd-main { background:var(--qd-bg); padding:0; overflow:auto; }
.qd-topbar { background:var(--qd-white); border-bottom:1px solid var(--qd-line); padding:14px 28px; display:flex; align-items:center; gap:14px; position:sticky; top:0; z-index:50; }
.qd-topbar-breadcrumb { font-size:13px; color:var(--qd-muted); font-family:var(--ff-mono); flex:1; }
.qd-topbar-breadcrumb b { color:var(--qd-ink); font-weight:600; }
.qd-topbar-search { display:flex; align-items:center; background:var(--qd-bg); border:1px solid var(--qd-line); border-radius:var(--qd-r2); padding:7px 14px; gap:8px; min-width:260px; }
.qd-topbar-search input { border:none; background:none; font-family:var(--ff-body); font-size:15px; color:var(--qd-ink); outline:none; width:100%; }
.qd-topbar-search input::placeholder { color:var(--qd-muted); }
.qd-view-btns { display:flex; gap:4px; }
.qd-view-btn { border:1px solid var(--qd-line); background:var(--qd-white); border-radius:var(--qd-r); padding:6px 10px; cursor:pointer; color:var(--qd-muted); font-size:14px; transition:all .15s; }
.qd-view-btn.active, .qd-view-btn:hover { background:var(--qd-ink); color:#fff; border-color:var(--qd-ink); }
.qd-content { padding:28px; }

/* ── Page header ── */
.qd-page-header { margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid var(--qd-line); }
.qd-page-eyebrow { font-family:var(--ff-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--qd-red); margin-bottom:8px; }
.qd-page-title { font-family:var(--ff-head); font-size:42px; font-weight:900; color:var(--qd-ink); margin:0 0 8px; line-height:1.1; }
.qd-page-lead { font-size:18px; color:var(--qd-muted); margin:0; max-width:680px; line-height:1.6; }

/* ── Filter bar ── */
.qd-filter-bar { display:flex; align-items:center; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
.qd-filter-input { flex:1; min-width:200px; border:1px solid var(--qd-line); background:var(--qd-white); border-radius:var(--qd-r2); padding:9px 14px; font-family:var(--ff-body); font-size:15px; color:var(--qd-ink); outline:none; transition:border-color .15s; }
.qd-filter-input:focus { border-color:var(--qd-blue); }
.qd-filter-pill { border:1px solid var(--qd-line); background:var(--qd-white); border-radius:999px; padding:7px 16px; font-size:13px; font-weight:600; color:var(--qd-muted); cursor:pointer; transition:all .15s; white-space:nowrap; }
.qd-filter-pill:hover { border-color:var(--qd-ink); color:var(--qd-ink); }
.qd-filter-pill.active { background:var(--qd-ink); color:#fff; border-color:var(--qd-ink); }
.qd-count-label { font-family:var(--ff-mono); font-size:12px; color:var(--qd-muted); margin-left:auto; }

/* ── Cards ── */
.qd-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
.qd-grid.list-mode { grid-template-columns:1fr; gap:10px; }
.qd-card { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); overflow:hidden; transition:box-shadow .18s, transform .18s; cursor:pointer; }
.qd-card:hover { box-shadow:var(--qd-shadow-lg); transform:translateY(-2px); }
.qd-card.hidden { display:none; }
.qd-card-img { position:relative; background:#e8e4dc; }
.qd-card-img img { width:100%; height:220px; object-fit:cover; object-position:center; display:block; }
.qd-card-img .card-badge { position:absolute; top:10px; left:10px; font-family:var(--ff-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:4px 9px; border-radius:4px; font-weight:600; }
.badge-person { background:rgba(10,12,16,.72); color:#fff; }
.badge-org { background:rgba(26,63,111,.82); color:#fff; }
.badge-tech { background:rgba(26,92,58,.82); color:#fff; }
.badge-criminalact { background:rgba(192,57,43,.82); color:#fff; }
.qd-card-body { padding:16px 18px 18px; }
.qd-card-body h3 { font-family:var(--ff-head); font-size:19px; font-weight:700; margin:0 0 4px; color:var(--qd-ink); line-height:1.2; }
.qd-card-role { font-size:13px; font-weight:600; color:var(--qd-red); text-transform:uppercase; letter-spacing:.06em; margin-bottom:9px; font-family:var(--ff-mono); }
.qd-card-body p { font-size:15px; color:var(--qd-muted); margin:0 0 12px; line-height:1.55; }
.qd-card-tags { display:flex; flex-wrap:wrap; gap:5px; }
.qd-grid.list-mode .qd-card { display:grid; grid-template-columns:90px 1fr; }
.qd-grid.list-mode .qd-card-img img { height:100%; min-height:90px; object-position:center; }
.qd-grid.list-mode .qd-card-body { padding:12px 16px; }
.qd-grid.list-mode .qd-card-body h3 { font-size:16px; }

/* ── Tags ── */
.qd-tag { font-size:12px; font-family:var(--ff-mono); padding:3px 9px; border-radius:4px; font-weight:500; }
.qd-tag.org { background:var(--qd-blue-soft); color:var(--qd-blue); border:1px solid #c5d8ee; }
.qd-tag.tech { background:var(--qd-green-soft); color:var(--qd-green); border:1px solid #b8dfc8; }
.qd-tag.criminalact { background:var(--qd-red-soft); color:var(--qd-red); border:1px solid #f5c6c3; }
.qd-tag.default { background:#f0ede8; color:#555; border:1px solid #ddd8d0; }

/* ── Home hero ── */
.qd-home-hero { background:var(--qd-red-soft); border:1px solid #f5c6c3; border-radius:var(--qd-r2); padding:36px 32px; margin:-28px -28px 28px; position:relative; overflow:hidden; }
.qd-home-hero::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(192,57,43,.04) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(192,57,43,.04) 40px); }
.qd-home-hero-inner { position:relative; z-index:1; max-width:740px; }
.qd-home-hero .eyebrow { font-family:var(--ff-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--qd-red); margin-bottom:14px; }
.qd-home-hero h1 { font-family:var(--ff-head); font-size:52px; font-weight:900; color:var(--qd-ink); line-height:1.0; margin:0 0 16px; }
.qd-home-hero .lead { font-size:18px; color:var(--qd-muted); line-height:1.65; margin:0 0 24px; max-width:580px; }
.qd-home-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.qd-btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--qd-red); color:#fff; border:none; border-radius:var(--qd-r); padding:11px 22px; font-family:var(--ff-body); font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; transition:opacity .15s; }
.qd-btn-primary:hover { opacity:.88; color:#fff; text-decoration:none; }
.qd-btn-ghost { display:inline-flex; align-items:center; gap:8px; background:var(--qd-white); color:var(--qd-ink); border:1px solid var(--qd-line); border-radius:var(--qd-r); padding:11px 22px; font-family:var(--ff-body); font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; transition:background .15s; }
.qd-btn-ghost:hover { background:var(--qd-bg); color:var(--qd-ink); text-decoration:none; }

/* ── Quick-nav tiles ── */
.qd-quicknav { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:28px; }
.qd-quicktile { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); padding:18px 16px; cursor:pointer; transition:box-shadow .15s, transform .15s; text-align:left; border-top:3px solid transparent; }
.qd-quicktile:hover { box-shadow:var(--qd-shadow); transform:translateY(-1px); }
.qd-quicktile.qt-people { border-top-color:var(--qd-red); }
.qd-quicktile.qt-tech { border-top-color:var(--qd-green); }
.qd-quicktile.qt-orgs { border-top-color:var(--qd-blue); }
.qd-quicktile.qt-criminalacts { border-top-color:var(--qd-gold); }
.qd-quicktile.qt-network { border-top-color:#7c3aed; }
.qd-quicktile.qt-timeline { border-top-color:#0891b2; }
.qd-quicktile.qt-evidence { border-top-color:#374151; }
.qd-quicktile .qt-num { font-family:var(--ff-head); font-size:32px; font-weight:900; color:var(--qd-ink); }
.qd-quicktile .qt-label { font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--qd-muted); margin-top:2px; }
.qd-quicktile .qt-arrow { font-size:12px; color:var(--qd-muted); margin-top:10px; }

/* ── Section box ── */
.qd-section { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); margin-bottom:18px; overflow:hidden; }
.qd-section-head { padding:16px 20px; border-bottom:1px solid var(--qd-line); display:flex; align-items:center; gap:12px; }
.qd-section-head h2 { font-family:var(--ff-head); font-size:26px; font-weight:700; color:var(--qd-ink); margin:0; flex:1; }
.qd-section-body { padding:18px 20px; }

/* ── CriminalAct rows ── */
.qd-criminalact-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; padding:16px 20px; border-bottom:1px solid var(--qd-line); transition:background .12s; }
.qd-criminalact-row:last-child { border-bottom:none; }
.qd-criminalact-row:hover { background:var(--qd-red-soft); }
.qd-criminalact-row h3 { font-family:var(--ff-head); font-size:20px; font-weight:700; margin:0 0 5px; color:var(--qd-ink); }
.qd-criminalact-row p { font-size:15px; color:var(--qd-muted); margin:0; line-height:1.55; }
.qd-criminalact-row .links { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.qd-severity { font-family:var(--ff-mono); font-size:13px; padding:4px 11px; border-radius:4px; white-space:nowrap; font-weight:600; }
.qd-severity.high { background:var(--qd-red-soft); color:var(--qd-red); border:1px solid #f5c6c3; }

/* ── Org rows ── */
.qd-org-row { display:flex; align-items:center; gap:14px; padding:14px 20px; border-bottom:1px solid var(--qd-line); }
.qd-org-row:last-child { border-bottom:none; }
.qd-org-row:hover { background:var(--qd-blue-soft); }
.qd-org-icon { width:42px; height:42px; border-radius:var(--qd-r); background:var(--qd-blue); display:flex; align-items:center; justify-content:center; font-family:var(--ff-head); font-weight:900; font-size:16px; color:#fff; flex-shrink:0; }
.qd-org-row h3 { font-size:17px; font-weight:600; margin:0 0 3px; color:var(--qd-ink); }
.qd-org-row p { font-size:14px; color:var(--qd-muted); margin:0; line-height:1.5; }
.qd-org-row .member-count { margin-left:auto; font-family:var(--ff-mono); font-size:13px; background:var(--qd-blue-soft); color:var(--qd-blue); padding:4px 10px; border-radius:999px; white-space:nowrap; }

/* ── Timeline ── */
.qd-timeline-wrap { position:relative; padding-left:28px; }
.qd-timeline-wrap::before { content:''; position:absolute; left:7px; top:0; bottom:0; width:2px; background:var(--qd-line); }
.qd-tl-event { position:relative; margin-bottom:22px; }
.qd-tl-event::before { content:''; position:absolute; left:-25px; top:5px; width:12px; height:12px; background:var(--qd-red); border:2px solid var(--qd-white); border-radius:50%; box-shadow:0 0 0 2px var(--qd-red); }
.qd-tl-card { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); padding:16px 20px; }
.qd-tl-card .year { font-family:var(--ff-mono); font-size:13px; color:var(--qd-red); font-weight:600; letter-spacing:.08em; margin-bottom:5px; }
.qd-tl-card h3 { font-family:var(--ff-head); font-size:20px; font-weight:700; margin:0 0 7px; color:var(--qd-ink); }
.qd-tl-card p { font-size:15px; color:var(--qd-muted); margin:0; line-height:1.6; }

/* ── Evidence ── */
.qd-evidence-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }
.qd-doc-card { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); padding:18px 20px; display:flex; flex-direction:column; gap:8px; transition:box-shadow .15s; }
.qd-doc-card:hover { box-shadow:var(--qd-shadow); }
.qd-doc-card .doc-type { font-family:var(--ff-mono); font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--qd-muted); }
.qd-doc-card h4 { font-weight:600; font-size:16px; margin:0; color:var(--qd-ink); line-height:1.35; }
.qd-doc-card p { font-size:14px; color:var(--qd-muted); margin:0; line-height:1.55; }
.qd-doc-card .doc-link { display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--qd-blue); font-weight:600; margin-top:4px; }
.qd-doc-card .doc-link:hover { text-decoration:underline; }
.qd-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.qd-media-thumb { border-radius:var(--qd-r); overflow:hidden; border:1px solid var(--qd-line); aspect-ratio:4/3; background:#e8e4dc; }
.qd-media-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s; }
.qd-media-thumb:hover img { transform:scale(1.04); }

/* ── Network Map ── */
.qd-network-wrap { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); overflow:hidden; }
.qd-network-toolbar { display:flex; align-items:center; gap:16px; padding:12px 18px; border-bottom:1px solid var(--qd-line); background:var(--qd-bg); flex-wrap:wrap; }
.qd-network-toolbar .nt-hint { font-size:12px; color:var(--qd-muted); font-style:italic; }
.qd-network-legend { display:flex; gap:16px; flex-wrap:wrap; }
.qd-network-legend span { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--qd-muted); font-family:var(--ff-mono); }
.qd-network-legend .dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.qd-network-canvas-wrap { position:relative; height:720px; overflow:hidden; background:#faf9f6; cursor:grab; user-select:none; }
.qd-network-canvas-wrap:active { cursor:grabbing; }
.qd-network-canvas { position:absolute; width:1200px; height:1000px; }
.qd-node { position:absolute; width:130px; text-align:center; background:var(--qd-white); border:2px solid var(--qd-line); border-radius:var(--qd-r2); padding:10px 8px; box-shadow:var(--qd-shadow); z-index:2; transition:box-shadow .15s; cursor:grab; }
.qd-node:active { cursor:grabbing; z-index:20; }
.qd-node:hover { box-shadow:var(--qd-shadow-lg); z-index:10; }
.qd-node.person { border-color:#e74c3c; }
.qd-node.org { border-color:#1a3f6f; }
.qd-node.tech { border-color:#1a5c3a; }
.qd-node.criminalact { border-color:#b5882a; }
.qd-node img { width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:center; display:block; margin:0 auto 7px; border:2px solid var(--qd-line); }
.qd-node strong { display:block; font-size:13px; color:var(--qd-ink); font-weight:600; line-height:1.25; }
.qd-node small { display:block; font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:.07em; margin-top:3px; }
.qd-node.person small { color:#e74c3c; }
.qd-node.org small { color:#1a3f6f; }
.qd-node.tech small { color:#1a5c3a; }
.qd-node.criminalact small { color:#b5882a; }
.qd-node-link { display:inline-block; font-family:var(--ff-mono); font-size:9px; color:var(--qd-blue); margin-top:5px; text-decoration:none; }
.qd-node-link:hover { text-decoration:underline; }
svg.qd-edges { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; overflow:visible; }

/* ── Detail Panel ── */
.qd-detail-overlay { display:none; position:fixed; inset:0; background:rgba(10,12,16,.4); z-index:200; backdrop-filter:blur(2px); }
.qd-detail-overlay.open { display:block; }
.qd-detail-panel { position:fixed; top:0; right:0; bottom:0; width:430px; max-width:95vw; background:var(--qd-white); box-shadow:-8px 0 40px rgba(10,12,16,.18); z-index:201; overflow-y:auto; transform:translateX(100%); transition:transform .28s cubic-bezier(.4,0,.2,1); }
.qd-detail-panel.open { transform:translateX(0); }
.qd-detail-hero { position:relative; background:var(--qd-bg); border-bottom:1px solid var(--qd-line); }
.qd-detail-hero img { width:100%; height:260px; object-fit:cover; object-position:center top; }
.qd-detail-hero-text { padding:14px 22px; background:var(--qd-white); }
.qd-detail-hero-text h2 { font-family:var(--ff-head); font-size:26px; color:var(--qd-ink); margin:0 0 3px; font-weight:700; }
.qd-detail-hero-text .role { font-family:var(--ff-mono); font-size:12px; color:var(--qd-red); text-transform:uppercase; letter-spacing:.1em; }
.qd-detail-close { position:absolute; top:12px; right:12px; background:rgba(255,255,255,.9); color:var(--qd-ink); border:1px solid var(--qd-line); border-radius:50%; width:32px; height:32px; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.qd-detail-body { padding:22px; }
.qd-detail-section { margin-bottom:22px; }
.qd-detail-section h4 { font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--qd-muted); margin:0 0 10px; padding-bottom:8px; border-bottom:1px solid var(--qd-line); }
.qd-detail-section p { font-size:15px; color:var(--qd-muted); line-height:1.65; margin:0; }
.qd-detail-tags { display:flex; flex-wrap:wrap; gap:6px; }

/* ── Stat row ── */
.qd-stat-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; margin-bottom:24px; }
.qd-stat-card { background:var(--qd-white); border:1px solid var(--qd-line); border-radius:var(--qd-r2); padding:16px; }
.qd-stat-card .num { font-family:var(--ff-head); font-size:36px; font-weight:900; color:var(--qd-ink); line-height:1; margin-bottom:4px; }
.qd-stat-card .lbl { font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--qd-muted); }
.qd-stat-card.accent { background:var(--qd-red); border-color:var(--qd-red); }
.qd-stat-card.accent .num, .qd-stat-card.accent .lbl { color:#fff; }
.qd-empty { text-align:center; padding:48px 24px; color:var(--qd-muted); }
.qd-empty .empty-icon { font-size:32px; margin-bottom:10px; }
.qd-empty h3 { font-family:var(--ff-head); font-size:22px; color:var(--qd-ink); margin:0 0 6px; }

/* ── Responsive ── */
@media(max-width:900px){
  .qd-shell{grid-template-columns:1fr}
  .qd-sidebar{flex-direction:row;flex-wrap:wrap;padding:14px;border-right:none;border-bottom:1px solid var(--qd-line)}
  .qd-nav{display:flex;flex-wrap:wrap;gap:4px;padding:0}
  .qd-nav-section{display:none}
  .qd-brand-bar{border:none;padding:0;flex:0 0 100%;margin-bottom:10px}
  .qd-sidebar-status,.qd-sidebar-footer{display:none}
  .qd-home-hero h1{font-size:36px}
  .qd-detail-panel{width:100%;max-width:100%}
}
@media(max-width:600px){
  .qd-content{padding:16px}
  .qd-topbar{padding:10px 16px}
  .qd-topbar-search{display:none}
  .qd-quicknav{grid-template-columns:repeat(2,1fr)}
}
