/* Tenza Doc Viewer v1.0.0 */
.tdv {
  --bg-darkest: #030712;
  --bg-dark:    #0d1520;
  --bg-mid:     #1a2535;
  --border:     #263045;
  --text:       #cbd5e1;
  --text-bright:#f1f5f9;
  --muted:      #64748b;
  --accent:     #10b981;
  --accent-2:   #34d399;
  --accent-dim: rgba(16,185,129,.12);
  --offset:     96px;
  color: var(--text);
}
.tdv, .tdv * {
  font-family: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif !important;
  box-sizing: border-box;
}
.tdv a                    { color:var(--accent-2); text-decoration:none; transition:color .15s; }
.tdv a:hover              { color:var(--accent); }

/* Layout */
.tdv .wrap                { display:flex; max-width:1280px; margin:0 auto; }
.tdv .sidebar             { width:300px; background:var(--bg-dark); border-right:1px solid var(--border); position:sticky; top:0; height:100vh; overflow:auto; flex-shrink:0; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.tdv .main                { flex:1; min-width:0; background:var(--bg-darkest); }

/* Sidebar brand */
.tdv .brand               { padding:16px 20px; font-weight:800; color:var(--accent); font-size:1rem; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid var(--border); background:rgba(16,185,129,.06); }

/* TOC */
.tdv .toc                 { padding:6px 6px 24px; }
.tdv .l1                  { margin-top:2px; }
.tdv .toc button          { width:100%; text-align:left; cursor:pointer; background:transparent; border:0; color:var(--text-bright); padding:8px 12px; border-radius:6px; font-weight:600; font-size:.82rem; transition:background .15s; }
.tdv .toc button:hover    { background:var(--bg-mid); }
.tdv .children            { margin:2px 0 6px 0; display:none; }
.tdv .children.show       { display:block; }
.tdv .children a          { display:block; padding:5px 12px; border-left:2px solid transparent; color:var(--text); font-size:.79rem; transition:background .15s,color .15s,border-color .15s; }
.tdv .children a:hover    { background:var(--bg-mid); color:var(--text-bright); }
.tdv .children a.active   { border-left-color:var(--accent); background:var(--accent-dim); color:var(--accent-2); }
.tdv .h3 a                { padding-left:26px; font-size:.74rem; color:var(--muted); }

/* Header bar */
.tdv .hdr                 { position:sticky; top:0; z-index:10; background:rgba(3,7,18,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); padding:12px 20px; display:flex; gap:12px; align-items:center; }
.tdv .search              { flex:1; }
.tdv .search input        { width:100%; background:var(--bg-mid); border:1px solid var(--border); color:var(--text-bright); border-radius:8px; padding:9px 14px; font-size:.85rem; transition:border-color .15s; outline:none; }
.tdv .search input:focus  { border-color:var(--accent); }

/* Nav buttons */
.tdv .pager               { display:flex; gap:6px; align-items:center; }
.tdv .pager.bottom        { justify-content:space-between; align-items:flex-start; gap:1.5rem; margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
.tdv button.nav           { background:var(--accent-dim); color:var(--accent-2); border:1px solid rgba(16,185,129,.3); border-radius:7px; padding:7px 14px; font-weight:700; font-size:.8rem; cursor:pointer; transition:background .15s,color .15s; }
.tdv button.nav[disabled] { opacity:.35; cursor:not-allowed; }
.tdv button.nav:not([disabled]):hover { background:var(--accent); color:#001a0d; }
.tdv .pageLabel           { color:var(--muted); font-size:.78rem; padding-left:4px; white-space:nowrap; }

/* Content area */
.tdv .content             { padding:20px 28px 60px; }
.tdv .prose               { max-width:78ch; margin:0 auto; line-height:1.8; }
.tdv .prose h1, .tdv .prose h2, .tdv .prose h3, .tdv .prose h4 { color:var(--text-bright); scroll-margin-top:calc(var(--offset) + 20px); }
.tdv .prose h1            { font-size:2rem;   margin:0 0 1.5rem;    color:var(--accent-2); }
.tdv .prose h2            { font-size:1.55rem; margin:2.4rem 0 .75rem; border-bottom:1px solid var(--border); padding-bottom:8px; }
.tdv .prose h3            { font-size:1.2rem;  margin:1.6rem 0 .3rem; color:var(--accent-2); }
.tdv .prose h4            { font-size:1rem;    margin:1.2rem 0 .25rem; color:var(--text); }
.tdv .prose p             { margin:0 0 1rem; }
.tdv .prose ul            { margin:.5rem 0 1rem 1.2rem; }
.tdv .prose li            { margin:.3rem 0; }
.tdv .prose table         { width:100%; border-collapse:collapse; margin:1.4rem 0; font-size:.9rem; }
.tdv .prose th, .tdv .prose td { border:1px solid var(--border); padding:10px 12px; text-align:left; }
.tdv .prose th            { background:var(--bg-mid); color:var(--text-bright); font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
.tdv .prose tr:nth-child(even) td { background:rgba(255,255,255,.015); }
.tdv .prose img           { max-width:100%; height:auto; border-radius:8px; margin:1rem 0; border:1px solid var(--border); }

/* Misc */
.tdv .empty               { color:var(--muted); text-align:center; padding:40px; }
.tdv mark                 { background:rgba(16,185,129,.25); color:var(--text-bright); border-radius:3px; padding:0 2px; }
.tdv .disclaimer          { flex:1; min-width:0; padding:.6rem .9rem; background:rgba(16,185,129,.06); border:1px solid rgba(16,185,129,.2); border-left:3px solid #10b981; border-radius:6px; font-size:.74rem; color:rgba(203,213,225,.6); line-height:1.6; }
.tdv .disclaimer strong   { color:#34d399; font-weight:600; }

/* PDF canvas */
.tdv-pdf-canvas          { display:block; width:100%; height:auto; border-radius:6px; border:1px solid var(--border); background:#fff; }
.tdv .prose canvas       { display:block; width:100%; height:auto; }

@media (max-width:1024px) {
  .tdv .wrap    { display:block; }
  .tdv .sidebar { position:relative; height:auto; width:auto; }
}
