/* Right-side content drawer */
.cv-backdrop{
  position:fixed;inset:0;background:rgba(15,23,42,.18);
  opacity:0;pointer-events:none;transition:opacity 200ms ease-out;z-index:80;
}
.cv-backdrop.open{opacity:1;pointer-events:auto}

.cv-drawer{
  position:fixed;top:0;right:0;height:100vh;
  width:min(560px,45vw);
  background:#fafaf7;
  border-left:1px solid #e2e8f0;
  box-shadow:-8px 0 24px rgba(15,23,42,.08);
  transform:translateX(100%);transition:transform 220ms cubic-bezier(.2,.8,.2,1);
  z-index:81;display:flex;flex-direction:column;
}
.cv-drawer.open{transform:translateX(0)}

.cv-header{
  padding:14px 16px;border-bottom:1px solid #e2e8f0;
  display:flex;align-items:flex-start;gap:10px;flex-shrink:0;
}
.cv-crumbs{flex:1;min-width:0;font-size:.8em;color:#64748b;line-height:1.4}
.cv-crumbs strong{color:#0f172a;font-weight:600;font-size:1.1em;display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-close{
  border:0;background:transparent;color:#64748b;cursor:pointer;
  width:28px;height:28px;border-radius:6px;display:inline-flex;
  align-items:center;justify-content:center;flex-shrink:0;
}
.cv-close:hover{background:#f1f5f9;color:#0f172a}

.cv-toolbar{
  padding:8px 16px;border-bottom:1px solid #e2e8f0;
  display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:.8em;
}
.cv-scope{display:inline-flex;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}
.cv-scope button{
  border:0;background:#fff;padding:4px 10px;font:inherit;color:#475569;cursor:pointer;
}
.cv-scope button.active{background:#0f766e;color:#fff}
.cv-scope button + button{border-left:1px solid #cbd5e1}
.cv-drive-link{margin-left:auto;color:#64748b;text-decoration:none;
  display:inline-flex;align-items:center;gap:4px}
.cv-drive-link:hover{color:#0f766e}

.cv-body{flex:1;overflow:auto;padding:16px 20px;line-height:1.6;color:#1e293b}
.cv-body .cv-p{margin:0 0 10px}
.cv-body .cv-li{margin:0 0 6px;padding-left:16px;position:relative}
.cv-body .cv-li::before{content:"•";position:absolute;left:2px;color:#64748b}
.cv-body .cv-li.l2{margin-left:16px}
.cv-body .cv-li.l3{margin-left:32px}
.cv-body .cv-li.l4,.cv-body .cv-li.l5,.cv-body .cv-li.l6{margin-left:48px}
.cv-body .cv-heading{font-weight:600;color:#0f172a;margin:16px 0 8px}
.cv-body .cv-heading.l1{font-size:1.1em}
.cv-body .cv-heading.l2{font-size:1.02em}
.cv-body table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.86em}
.cv-body thead th{
  position:sticky;top:0;background:#f1f5f9;text-align:left;
  padding:6px 8px;border-bottom:1px solid #cbd5e1;font-weight:600;
}
.cv-body tbody td{padding:6px 8px;border-bottom:1px solid #e2e8f0;vertical-align:top}
.cv-body .cv-kv th{text-align:right;color:#475569;font-weight:500;width:30%;background:transparent}
.cv-body .cv-empty{color:#94a3b8;font-style:italic}
.cv-body .cv-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;
  padding:10px 12px;border-radius:6px}

@media (max-width:768px){
  .cv-drawer{width:100vw}
  .cv-backdrop{display:none}
}
@media (prefers-reduced-motion: reduce){
  .cv-drawer,.cv-backdrop{transition:none}
}

/* View button on rows */
.view-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:4px;border:0;background:transparent;
  color:#64748b;cursor:pointer;flex-shrink:0;
}
.view-btn:hover{color:#0f766e;background:#f0fdfa}
.view-btn svg{width:14px;height:14px}
