/* ============================================================================
   BINY — nawigator binów + zarchiwizowane taski + galeria wielozakresowa
   ============================================================================ */

.bn-view{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
}
.bn-view[hidden]{display:none}
body.app-reveal .bn-view{animation:riseIn .5s ease .18s backwards}

#panelBiny:not([hidden]){display:flex;flex-direction:column}
#panelBiny .tree{flex:1}
#panelBiny .project-wrap{margin:10px 8px 2px}

/* --- pasek narzędzi ---------------------------------------------------------- */
.bn-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  border-bottom:1px solid #21252C;
}
.bn-search{
  flex:1;
  max-width:520px;
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--card-2);
  border:1px solid #2C323A;
  border-radius:8px;
  padding:8px 12px;
}
.bn-search svg{width:15px;height:15px;color:var(--dim);flex:0 0 auto}
.bn-search input{
  flex:1;
  min-width:0;
  background:none;
  border:none;
  outline:none;
  color:var(--text);
  font-size:12px;
}
.bn-mode{
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--blue);
  flex:0 0 auto;
}
.bn-tools{display:flex;align-items:center;gap:8px}

/* --- drzewko: wiersze binów -------------------------------------------------- */
.bn-i-asset{color:#3DDC84}
.bn-i-zbior{color:#4C9FFF}
.bn-acts{
  display:none;
  align-items:center;
  gap:2px;
  margin-left:auto;
}
.tree-row:hover .bn-acts{display:flex}
.tree-row:hover .bn-acts + .tree-count{display:none}
.bn-act{
  width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;
  border-radius:4px;
  color:var(--dim);
  font-size:11px;line-height:1;
}
.bn-act svg{width:12px;height:12px}
.bn-act:hover{color:#fff;background:rgba(255,255,255,.07)}
.bn-act.bn-del:hover{color:#FF7B7B}
.bn-arch-head{margin-top:12px;border-top:1px solid #21252C;padding-top:8px}
.bn-arch-ico{font-size:13px;line-height:1}
.bn-task-row .tree-label{text-transform:none;letter-spacing:.01em;color:#8A93A0}
.bn-task-row.selected .tree-label{color:var(--text)}

/* --- galeria ----------------------------------------------------------------- */
.bn-scroll{flex:1;overflow-y:auto;padding:14px 16px}
.bn-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
  gap:10px;
  align-content:start;
}
.bn-section{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:8px 0 2px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
}
.bn-section:first-child{margin-top:0}
.bn-tile{
  position:relative;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--border);
  aspect-ratio:8/5;
  cursor:pointer;
  background:#0C0E12;
  transition:transform .18s ease, border-color .18s ease;
}
.bn-tile:hover{transform:translateY(-2px);border-color:var(--border-hi)}
.bn-tile img{width:100%;height:100%;object-fit:cover;display:block}
.bn-tile.bn-sel{
  outline:2px solid #4C9FFF;
  outline-offset:-2px;
  border-color:#4C9FFF;
}
.bn-tile.bn-sel::after{
  content:"✓";
  position:absolute;top:6px;right:6px;
  width:18px;height:18px;border-radius:50%;
  background:#4C9FFF;color:#fff;
  font-size:11px;font-weight:800;line-height:18px;text-align:center;
}
.bn-fav,.bn-star{
  position:absolute;top:6px;left:6px;
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(12,14,17,.8);
  pointer-events:none;
}
.bn-fav svg{width:11px;height:11px;color:#FF4F86;fill:#FF4F86}
.bn-star{left:30px}
.bn-star svg{width:12px;height:12px;color:#FFC63D;fill:#FFC63D}
