/* ============================================================
   DocToolbar — kanonische Toolbar-Komponente (Suche + Treffer-Springer + Zoom).
   EINZIGE Quelle der Wahrheit fuer das Toolbar-Aussehen. Namespaced unter .dtb
   -> kollisionsfrei in App-Shell, Standalone-Docs und Lernmaterial.
   ============================================================ */
.dtb{position:sticky;top:0;z-index:50;height:var(--header-h,60px);display:flex;align-items:center;gap:12px;
  padding:0 18px;background:linear-gradient(135deg,#f0f7f7,#e6f2f2);color:var(--primary,#0d6b6e);
  border-bottom:1px solid #cfe5e5;box-shadow:0 2px 12px rgba(13,107,110,.10);flex-shrink:0}
.dtb .dtb-icon{width:34px;height:34px;border-radius:9px;background:rgba(13,107,110,.10);display:grid;place-items:center;font-size:18px;flex-shrink:0}
.dtb .dtb-h1{font-size:15.5px;font-weight:700;color:var(--primary,#0d6b6e);white-space:nowrap}
.dtb .dtb-sub{font-size:11px;color:var(--ink-soft,#4a5568);white-space:nowrap}
.dtb .dtb-spacer{flex:1}
.dtb .dtb-search{position:relative}
.dtb .dtb-search input{width:260px;max-width:38vw;padding:8px 28px 8px 32px;border-radius:8px;border:1px solid #bcdcdc;
  background:#fff;color:var(--ink,#231f20);font-size:13.5px;outline:none;transition:border-color .15s,box-shadow .15s}
.dtb .dtb-search input:focus{border-color:var(--primary,#0d6b6e);box-shadow:0 0 0 2px rgba(13,107,110,.18)}
.dtb .dtb-search input::placeholder{color:var(--muted,#7a869a)}
.dtb .dtb-search::before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.6;filter:grayscale(1) brightness(.6)}
.dtb .dtb-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--muted,#7a869a);
  font-size:17px;line-height:1;cursor:pointer;display:none;padding:1px 5px;border-radius:5px}
.dtb .dtb-clear:hover{background:rgba(13,107,110,.10)}
.dtb .dtb-search.has-text .dtb-clear{display:block}
.dtb .dtb-zoom button{width:30px;height:30px;border:0;border-radius:7px;background:rgba(13,107,110,.10);color:var(--primary,#0d6b6e);font-size:16px;cursor:pointer;margin-left:4px}
.dtb .dtb-zoom button:hover{background:rgba(13,107,110,.20)}
.dtb .dtb-menu{display:none;background:rgba(13,107,110,.10);border:0;color:var(--primary,#0d6b6e);width:36px;height:36px;border-radius:8px;font-size:18px;cursor:pointer}
.dtb .dtb-nav{display:none;align-items:center;gap:4px;margin-right:8px}
.dtb .dtb-nav.on{display:flex}
.dtb .dtb-cnt{font-size:12px;color:var(--primary,#0d6b6e);background:rgba(13,107,110,.12);border-radius:999px;padding:2px 9px;margin-right:2px;white-space:nowrap}
.dtb .dtb-nav button{width:30px;height:30px;border:0;border-radius:7px;background:rgba(13,107,110,.10);color:var(--primary,#0d6b6e);font-size:12px;cursor:pointer}
.dtb .dtb-nav button:hover{background:rgba(13,107,110,.20)}
/* Suchtreffer (liegen im durchsuchten Inhalt -> eigene Klasse statt globalem mark) */
mark.dtb-hit{background:#ff9500;color:#1f1f1f;padding:0 2px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
mark.dtb-hit.cur{background:#ff6600;color:#fff;padding:0 2px;border-radius:3px;font-weight:600;outline:2px solid #ff6600;outline-offset:0;box-shadow:0 0 0 2px rgba(255,102,0,.4),inset 0 0 0 1px rgba(0,0,0,.2)}
/* [data-tip]-Tooltip (statt title-Attribut, Render-Regel 26); an document.body */
.dtb-tip{position:fixed;z-index:300;background:#1f2733;color:#fff;font-size:12px;line-height:1.4;padding:5px 9px;
  border-radius:6px;max-width:260px;box-shadow:0 4px 16px rgba(0,0,0,.28);opacity:0;transform:translateY(-2px);
  transition:opacity .12s,transform .12s;pointer-events:none}
.dtb-tip.show{opacity:1;transform:translateY(0)}
@media (max-width:900px){
  .dtb .dtb-menu{display:grid;place-items:center}
  .dtb .dtb-sub{display:none}
  .dtb .dtb-search input{width:42vw;max-width:42vw}
}
