/**
 * Project: Trailer Tracker Part Deaux
 * Coder: Larry Vale
 * Version: 0.2.7
 * Created: 09-13-2026 19:30 MT
 * Updated: 09-13-2026 20:00 MT
 * Purpose: Shared Toolbox Documents — Load TOAD tree + fill remaining viewport height.
 */
.tbx-docs{
  margin-top:0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.tbx-docs-head{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.3rem;flex-wrap:wrap;flex:0 0 auto}
.tbx-docs-title{font-weight:700;font-size:.8rem}
.tbx-docs-sub{color:var(--muted,#64748b);font-size:.62rem;font-weight:600}
.tbx-docs-upload{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-end;margin-bottom:.3rem;flex:0 0 auto}
.tbx-docs-upload .field{margin:0}
.tbx-docs-toolbar{display:flex;flex-wrap:wrap;gap:.28rem;align-items:center;margin-bottom:.3rem;flex:0 0 auto}

/* tree | preview — fill remaining height; scroll only inside panes */
.tbx-docs-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.45rem;
  flex:1 1 auto;
  min-height:0;
  align-items:stretch;
  overflow:hidden;
}
.tbx-docs-layout.has-pane:not(.tbx-split){
  grid-template-columns:max-content minmax(0,1fr);
}
@media (max-width:980px){
  .tbx-docs-layout.has-pane{grid-template-columns:1fr}
  .tbx-docs-pane{min-height:40vh}
}

/* Load TOAD tree pane */
.tbx-docs-list{
  overflow:auto;
  min-width:0;
  min-height:0;
  height:100%;
  width:max-content;
  max-width:100%;
  border:1px solid #d0d7de;
  border-radius:4px;
  background:#fff;
  padding:4px 2px 8px;
  font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:13px;
  color:#333;
  line-height:1.2;
}
.tbx-docs-layout.tbx-split .tbx-docs-list{
  width:auto;
  max-width:none;
}

.tbx-docs-folder{margin:0}
.tbx-docs-folder-h{
  width:100%;
  min-height:22px;
  font-size:13px;
  font-weight:400;
  color:#333;
  margin:0;
  padding:1px 6px 1px 4px;
  display:flex;
  align-items:center;
  gap:5px;
  background:transparent;
  border:0;
  border-radius:2px;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  white-space:nowrap;
}
.tbx-docs-folder-h:hover{background:#f0f7fc}
.tbx-docs-chev{
  width:14px;
  flex-shrink:0;
  font-size:10px;
  line-height:1;
  color:#4b5563;
  text-align:center;
  font-family:Arial,sans-serif;
}
.tbx-docs-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbx-docs-folder-h .sub{display:none}

.tbx-docs-folder:not(.open) > .tbx-docs-tree{display:none}
.tbx-docs-folder.open > .tbx-docs-folder-h .tbx-docs-chev::before{content:"▼"}
.tbx-docs-folder:not(.open) > .tbx-docs-folder-h .tbx-docs-chev::before{content:"▶"}
.tbx-docs-chev{font-size:0}
.tbx-docs-chev::before{font-size:10px}

.tbx-docs-tree{list-style:none;margin:0;padding:0 0 0 16px}
.tbx-doc-row{
  cursor:pointer;
  min-height:22px;
  padding:1px 6px 1px 20px;
  margin:0;
  border-radius:2px;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  color:#333;
  font-weight:400;
  border:0;
}
.tbx-doc-row:hover{background:#f0f7fc}
.tbx-doc-row.on{background:#d8ecf8;font-weight:600}
.tbx-doc-row.no-file{cursor:default;opacity:.9}
.tbx-doc-main{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
.tbx-doc-name{
  font-size:13px;
  font-weight:inherit;
  color:inherit;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.tbx-doc-date{font-size:11px;color:#64748b;font-weight:500;flex:0 0 auto;margin-left:auto;padding-left:.35rem}
.tbx-docs-actions{display:none;flex-wrap:nowrap;gap:.35rem;align-items:center;font-size:11px;flex:0 0 auto}
.tbx-doc-row:hover .tbx-docs-actions,
.tbx-doc-row.on .tbx-docs-actions{display:flex}
.tbx-docs-actions form{display:inline;margin:0}

.ico-folder,.ico-pdf,.ico-img,.ico-file{flex-shrink:0;display:block}

/* preview pane fills remaining height; scrolls inside */
.tbx-docs-pane{
  border:1px solid var(--line,#e2e8f0);
  border-radius:8px;
  background:#fff;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.tbx-docs-pane:not(.open){display:none}
.tbx-docs-layout.has-pane .tbx-docs-pane.open{display:flex}
.tbx-docs-pane-hd{
  display:flex;
  align-items:center;
  gap:.4rem;
  padding:.28rem .5rem;
  border-bottom:1px solid var(--line,#e2e8f0);
  background:#f8fafc;
  flex:0 0 auto;
}
.tbx-docs-pane-title{font-size:.72rem;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbx-docs-pane-meta{font-size:.58rem;color:var(--muted,#64748b)}
.tbx-docs-pane-body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:auto;
}
.tbx-docs-hint{padding:1.2rem .8rem;color:var(--muted,#64748b);font-size:.82rem;text-align:center}
.tbx-docs-dl{padding:.28rem .55rem;border-top:1px solid var(--line,#e2e8f0);font-size:.72rem;flex:0 0 auto}

.tbx-im-toolbar{
  display:flex;flex-wrap:wrap;gap:.2rem;align-items:center;
  padding:.28rem .4rem;border-bottom:1px solid #1f2937;background:#0f172a;flex:0 0 auto
}
.tbx-im-toolbar .tb{border:1px solid #334155;background:#1e293b;color:#e2e8f0;border-radius:4px;font-size:.68rem;padding:.18rem .4rem;cursor:pointer}
.tbx-im-toolbar .tb:hover{background:#334155}
.tbx-im-zoom{color:#94a3b8;font-size:.68rem;min-width:2.6rem;text-align:center}
.tbx-im-sep{width:1px;height:1rem;background:#334155;margin:0 .2rem}
.tbx-im-stage{flex:1 1 auto;min-height:0;background:#111827;position:relative}
.tbx-im-canvas{width:100%;height:100%;display:block;cursor:grab}
.tbx-pdf-wrap{flex:1 1 auto;min-height:0;background:#e2e8f0}
.tbx-pdf-frame{width:100%;height:100%;min-height:0;border:0;background:#fff}

/* Embedded Image Manager fills the preview pane (no float) */
.tbx-docs-pane-body > #tbx-im-root,
.tbx-docs-pane-body > .tbx-im-root-embed{
  flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;
}
.tbx-docs-pane-body:has(> #tbx-im-root){overflow:hidden}
