/**
 * Project: Trailer Tracker Part Deaux
 * Coder: Larry Vale
 * Version: 0.2.8
 * Purpose: Shared Toolbox Image Manager — embedded + floating host modes.
 */
.tbx-im-float{
  position:fixed;z-index:80;display:none;background:#fff;border-radius:.55rem;
  box-shadow:0 16px 48px rgba(0,0,0,.28),0 0 0 1px rgba(15,23,42,.12);
  flex-direction:column;min-width:420px;min-height:320px;width:640px;height:480px;
  max-width:96vw;max-height:94vh;overflow:hidden;left:calc(100vw - 680px);top:72px;
}
.tbx-im-float.on{display:flex}
.tbx-im-float.drop-over .tbx-im-stage{outline:2px dashed #2dd4bf;outline-offset:-8px}

/* Embedded host — fills Documents (or other) preview pane */
.tbx-im-root-embed{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;width:100%;
  position:relative; /* anchor for reparented annotate text pop */
}
.tbx-im-embed{
  display:none;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;width:100%;
  background:#fff;overflow:hidden;position:relative;
}
.tbx-im-embed.on{display:flex}
.tbx-im-embed.drop-over .tbx-im-stage{outline:2px dashed #2dd4bf;outline-offset:-8px}
.tbx-im-embed .tbx-im-head{cursor:default}
.tbx-im-embed .tbx-im-stage{min-height:0}
.tbx-im-root-float .tbx-im-toast{/* toast stays fixed via .tbx-im-toast */}
.tbx-im-head{
  background:#1e293b;color:#fff;padding:.45rem .7rem;display:flex;align-items:center;
  gap:.6rem;cursor:move;user-select:none;flex:0 0 auto;
}
.tbx-im-head h2{font-size:.88rem;margin:0;font-weight:600;flex:1}
.tbx-im-lib{font-size:.68rem;opacity:.75}
.tbx-im-close{background:transparent;border:0;color:#fff;font-size:1.1rem;cursor:pointer;line-height:1;padding:0 .2rem}
.tbx-im-bar{
  display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.4rem .55rem;
  border-bottom:1px solid #e2e8f0;background:#f8fafc;flex:0 0 auto;
}
.tbx-im-bar .sep{width:1px;height:1.3rem;background:#cbd5e1;margin:0 .15rem}
.tbx-im-tb{
  height:1.75rem;border:1px solid #cbd5e1;background:#fff;border-radius:.3rem;padding:0 .45rem;
  font-size:.72rem;cursor:pointer;display:inline-flex;align-items:center;gap:.28rem;font-family:inherit;color:#0f172a;
}
.tbx-im-tb:hover{background:#f1f5f9}
.tbx-im-tb.on{background:#1e293b;color:#fff;border-color:#1e293b}
.tbx-im-tb:disabled{opacity:.45;cursor:not-allowed}
.tbx-im-tb input[type=color]{width:1.3rem;height:1.15rem;border:0;padding:0;background:transparent;cursor:pointer}
.tbx-im-zoomlbl{font-size:.72rem;min-width:3rem;text-align:center;color:#334155}
.tbx-im-stage{flex:1 1 auto;background:#111827;position:relative;overflow:hidden;min-height:240px}
.tbx-im-stage canvas{display:block;width:100%;height:100%;cursor:grab}
.tbx-im-hint{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#94a3b8;
  text-align:center;font-size:.82rem;pointer-events:none;padding:0 .8rem;
}
.tbx-im-hint kbd{background:#1e293b;color:#e2e8f0;padding:.05rem .3rem;border-radius:.2rem;font-size:.7rem}
.tbx-im-textpop{
  position:absolute;display:none;z-index:40;background:#fff;border:1px solid #cbd5e1;
  border-radius:.35rem;padding:.3rem;box-shadow:0 6px 18px rgba(0,0,0,.18);align-items:center;gap:.3rem;
}
/* Embedded: pop lives on .tbx-im-root-embed (outside overflow:hidden stage/shell) */
.tbx-im-textpop.tbx-im-textpop-embed{
  z-index:60;pointer-events:auto;
}
.tbx-im-textpop input{height:1.7rem;border:1px solid #cbd5e1;border-radius:.25rem;padding:0 .35rem;font-size:.78rem;width:180px;font-family:inherit}
.tbx-im-foot{
  display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .65rem;
  border-top:1px solid #e2e8f0;font-size:.72rem;color:#64748b;flex:0 0 auto;
}
.tbx-im-savepath{font-family:ui-monospace,monospace;font-size:.68rem;color:#0f766e;word-break:break-all}
.tbx-im-resize{
  position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;
  background:linear-gradient(135deg,transparent 50%,#94a3b8 50%);
}
.tbx-im-toast{
  position:fixed;bottom:1.2rem;right:1.2rem;background:#065f46;color:#fff;padding:.55rem .75rem;
  border-radius:.4px;border-radius:.4rem;font-size:.78rem;display:none;z-index:90;max-width:360px;
}
.tbx-im-toast.on{display:block}
.tbx-im-foot .btn{height:1.8rem;border:0;border-radius:.32rem;padding:0 .65rem;font-size:.72rem;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:.28rem;font-family:inherit}
.tbx-im-foot .btn-ghost{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
.tbx-im-foot .btn-teal{background:#0f766e;color:#fff}
