/* TRACE demo - Bluebeam Revu 21 replica window (Agent A)
   All classes prefixed "bb-". Mounted into #bb-body by bb-window.js. */

.bb-root{
  display:flex;flex-direction:column;height:100%;min-height:0;
  font-family:'Segoe UI',Tahoma,Arial,sans-serif;font-size:12px;
  background:#2D2F31;color:#D8DADC;user-select:none;cursor:default;
}
.bb-root svg{display:block}

/* ---------- menu bar ---------- */
.bb-menubar{
  height:26px;flex:0 0 26px;display:flex;align-items:center;
  background:#333537;border-bottom:1px solid #28292B;padding:0 6px;gap:1px;
}
.bb-logo{
  color:#1E9FE8;font-weight:600;font-size:12.5px;letter-spacing:.2px;
  padding:2px 12px 2px 6px;
}
.bb-menu-item{padding:3px 9px;border-radius:2px;color:#CFD2D4}
.bb-menu-item:hover{background:#45484C;color:#fff}

/* ---------- toolbar ---------- */
.bb-toolbar{
  height:40px;flex:0 0 40px;display:flex;align-items:center;
  background:#3F4143;border-bottom:1px solid #2A2B2D;padding:0 8px;gap:2px;
}
.bb-tool{
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  border:1px solid transparent;border-radius:3px;background:transparent;
  color:#C9CCCE;padding:0;cursor:pointer;
}
.bb-tool:hover{background:#4B4E51;border-color:#56595C}
.bb-tool.bb-active{
  background:rgba(14,159,232,.22);border-color:#0E9FE8;color:#6CC9F5;
}
.bb-tool.bb-deco{color:#A7AAAD}
.bb-tool.bb-disabled{opacity:.32;pointer-events:none}
.bb-tb-sep{width:1px;height:22px;background:#56595C;margin:0 6px;flex:0 0 1px}

/* ---------- document tab strip ---------- */
.bb-tabstrip{
  height:30px;flex:0 0 30px;display:flex;align-items:flex-end;
  background:#2D2F31;border-bottom:1px solid #232425;padding:0 8px;
}
.bb-tab{
  height:26px;display:flex;align-items:center;gap:9px;padding:0 12px;
  background:#3F4143;border:1px solid #2A2B2D;border-bottom:none;
  border-radius:3px 3px 0 0;font-size:11.5px;color:#E6E8EA;position:relative;
}
.bb-tab.bb-tab-active::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#0E9FE8;
  border-radius:3px 3px 0 0;
}
.bb-tab-close{display:flex;color:#9DA0A3;border-radius:2px;padding:1px}
.bb-tab-close:hover{background:#55585B;color:#fff}

/* ---------- sheet viewport ---------- */
.bb-viewport{
  flex:1 1 auto;min-height:0;position:relative;overflow:hidden;
  background:#535353;display:flex;align-items:center;justify-content:center;
}
.bb-sheetbox{
  position:absolute;background:#fff;
  box-shadow:0 5px 22px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.25);
}
.bb-viewport.bb-panning{cursor:grabbing}
.bb-viewport.bb-panning .bb-overlay{cursor:grabbing}
.bb-overlay{
  position:absolute;inset:0;width:100%;height:100%;z-index:5;
}
.bb-overlay.bb-cur-cross{cursor:crosshair}
.bb-overlay.bb-cur-default{cursor:default}

/* markup hit targets only clickable with the Select tool */
.bb-hit{pointer-events:none}
.bb-overlay.bb-sel-mode .bb-hit{pointer-events:all;cursor:pointer}

/* hint shown until the first markup exists */
.bb-hint{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;
  background:rgba(38,40,42,.78);color:#F2F4F5;padding:10px 24px;border-radius:4px;
  font-size:13px;letter-spacing:.3px;pointer-events:none;white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}

/* ---------- yellow sticky comment popup ---------- */
.bb-note{
  position:absolute;z-index:9;width:232px;background:#FBF3A7;
  border:1px solid #C8B864;box-shadow:3px 5px 14px rgba(0,0,0,.45);
  font-size:11px;color:#5A4F17;cursor:default;
}
.bb-note-head{
  display:flex;justify-content:space-between;align-items:center;
  background:#F0E48C;border-bottom:1px solid #D9CB74;
  padding:3px 8px;font-size:10.5px;color:#6B5D18;font-weight:600;
}
.bb-note-time{font-weight:400;color:#857622}
.bb-note input{
  width:100%;border:none;background:transparent;outline:none;
  font:12px 'Segoe UI',Tahoma,Arial,sans-serif;color:#3F3508;padding:9px 8px 11px;
}
.bb-note input::placeholder{color:#A4953E}

/* inline callout text input */
.bb-callout-input{
  position:absolute;z-index:9;background:transparent;border:none;outline:none;
  color:#FF2200;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0;
}

/* ---------- context menu (appended to body) ---------- */
.bb-ctx{
  position:fixed;z-index:1000;min-width:172px;background:#303234;
  border:1px solid #1F2021;border-radius:3px;padding:4px 0;
  box-shadow:0 7px 22px rgba(0,0,0,.55);
  font:12px 'Segoe UI',Tahoma,Arial,sans-serif;color:#D8DADC;user-select:none;
}
.bb-ctx-item{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:6px 14px;cursor:default;white-space:nowrap;
}
.bb-ctx-item:hover{background:#1C5A85;color:#fff}
.bb-ctx-item svg{flex:0 0 auto}
.bb-ctx-sep{height:1px;background:#46484A;margin:4px 1px}
.bb-ctx-sub{
  display:none;position:absolute;left:calc(100% - 3px);top:-5px;min-width:128px;
  background:#303234;border:1px solid #1F2021;border-radius:3px;padding:4px 0;
  box-shadow:0 7px 22px rgba(0,0,0,.55);
}
.bb-ctx-item:hover>.bb-ctx-sub{display:block}
.bb-ctx-item.bb-open>.bb-ctx-sub{display:block}
.bb-cell-edit{cursor:pointer}
.bb-cell-edit:hover{color:#fff;text-decoration:underline;text-decoration-style:dotted}
.bb-ctx-bullet{
  width:14px;display:inline-block;text-align:center;color:#6CC9F5;font-size:10px;
}

/* ---------- Markups list panel ---------- */
.bb-panel{
  flex:0 0 172px;display:flex;flex-direction:column;min-height:0;
  background:#2D2F31;border-top:1px solid #222324;
}
.bb-panel.bb-collapsed{flex:0 0 28px}
.bb-panel.bb-collapsed .bb-cols,
.bb-panel.bb-collapsed .bb-rows{display:none}
.bb-panel-head{
  height:28px;flex:0 0 28px;display:flex;align-items:center;gap:8px;
  background:#333537;border-bottom:1px solid #26272A;padding:0 10px;
}
.bb-chevron{
  display:flex;align-items:center;justify-content:center;width:20px;height:20px;
  background:transparent;border:none;color:#B7BABC;padding:0;cursor:pointer;border-radius:2px;
}
.bb-chevron:hover{background:#45484C;color:#fff}
.bb-chevron svg{transition:transform .15s}
.bb-panel.bb-collapsed .bb-chevron svg{transform:rotate(180deg)}
.bb-panel-title{font-size:11.5px;font-weight:600;color:#E8EAEC;letter-spacing:.2px}
.bb-panel-count{
  font-size:10px;background:#46494C;color:#C9CCCE;border-radius:8px;
  padding:1px 7px;min-width:14px;text-align:center;
}
.bb-panel-tools{margin-left:auto;display:flex;align-items:center;gap:6px;color:#8C8F92}
.bb-panel-search{
  display:flex;align-items:center;gap:5px;background:#26282A;border:1px solid #3B3E40;
  border-radius:2px;padding:2px 7px;color:#8C8F92;font-size:10.5px;
}

/* column header row */
.bb-cols{
  display:grid;
  grid-template-columns:34px minmax(110px,1.1fr) 48px 110px 84px 110px 2fr;
  background:#36383A;border-bottom:1px solid #26272A;flex:0 0 auto;
  font-size:11px;color:#A9ACAF;
}
.bb-col{
  display:flex;align-items:center;gap:5px;padding:4px 8px;
  border-right:1px solid #2A2C2E;overflow:hidden;white-space:nowrap;
}
.bb-col .bb-sort{opacity:0;color:#8C8F92}
.bb-col:hover{background:#3E4144;color:#D6D8DA}
.bb-col:hover .bb-sort{opacity:.8}

/* rows */
.bb-rows{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}
.bb-rows::-webkit-scrollbar{width:10px}
.bb-rows::-webkit-scrollbar-track{background:#2A2C2E}
.bb-rows::-webkit-scrollbar-thumb{background:#4A4D50;border-radius:5px;border:2px solid #2A2C2E}
.bb-row{
  display:grid;
  grid-template-columns:34px minmax(110px,1.1fr) 48px 110px 84px 110px 2fr;
  font-size:11.5px;color:#D2D4D6;background:#313335;border-bottom:1px solid #2A2C2E;
}
.bb-row:nth-child(even){background:#2E3032}
.bb-row:hover{background:#3A3D40}
.bb-row.bb-row-sel,.bb-row.bb-row-sel:hover{background:#155174;color:#fff}
.bb-cell{
  padding:4px 8px;display:flex;align-items:center;gap:6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border-right:1px solid rgba(0,0,0,.14);min-width:0;
}
.bb-cell-ic{justify-content:center;padding:4px 2px}
.bb-swatch{width:9px;height:9px;flex:0 0 9px;background:#FF2200;border-radius:1px}
.bb-cell-dim{color:#A9ACAF}
.bb-row.bb-row-sel .bb-cell-dim{color:#CFE4F2}

/* ---------- status bar ---------- */
.bb-statusbar{
  height:24px;flex:0 0 24px;display:flex;align-items:center;gap:8px;
  background:#2D2F31;border-top:1px solid #232425;padding:0 12px;
  font-size:11px;color:#B7BABC;
}
.bb-dot-green{
  width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#3FBF4E;
  box-shadow:0 0 6px rgba(63,191,78,.75);
}
.bb-sb-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.bb-sb-sep{width:1px;height:12px;background:#46484A}

/* touch: let the sheet own gestures, not the page */
.bb-overlay{touch-action:none}
.bb-viewport{touch-action:none}
