/* V54 — one tidy category header for open, closed and protected cards. */
.board .category .cathead,
body[data-font-size="large"] .board.lanes-view:is([data-columns="3"],[data-columns="4"]) .cathead{
 display:flex!important;align-items:center!important;flex-wrap:nowrap!important;
 gap:5px!important;grid-template-columns:none!important;grid-template-rows:none!important;
 min-height:34px;
}
.board .category .cathead .grid-collapse{
 flex:0 0 29px;width:29px;height:29px;min-height:29px;
 order:0;margin-right:2px;align-self:center;
}
.board.list-view .category .grid-collapse,
.board .category.privacy-locked .grid-collapse{
 display:grid!important;
}
.board .category .cathead .grab,
.board .category .cathead .tb-cat-grip-spacer{
 flex:0 0 16px;width:16px;min-width:16px;height:29px;
 display:grid!important;place-items:center;align-self:center;margin:0;
 box-sizing:border-box;padding:0;
 color:var(--muted);line-height:1;font-size:16px;
}
.board .category .cathead .tb-cat-grip-spacer{pointer-events:none}
.board .category .cathead .mark{flex:0 0 7px;width:7px;height:22px;align-self:center;margin:0}
.board .category .cathead .ctitle{
 flex:1 1 auto;min-width:0;align-self:center;line-height:1.25;
 overflow-wrap:anywhere;grid-area:auto!important;max-height:none;
}
.board .category .cathead :is(.tb-cat-menu-trigger,.tb-cat-padlock){
 display:grid!important;place-items:center!important;
 flex:0 0 29px!important;width:29px!important;height:29px!important;
 min-width:29px;min-height:29px;max-width:29px;
 margin:0;padding:0!important;box-sizing:border-box;
 background:transparent;border:1px solid transparent;border-radius:8px;
 color:inherit;opacity:.8;cursor:pointer;line-height:1;
 grid-area:auto!important;align-self:center;
}
.board .category .cathead :is(.tb-cat-menu-trigger,.tb-cat-padlock):is(:hover,:focus-visible,[aria-expanded="true"]){
 background:color-mix(in srgb,var(--cat-fg,var(--text)) 10%,transparent);
 border-color:color-mix(in srgb,var(--cat-fg,var(--text)) 13%,transparent);
 opacity:1;
}
.board .category .cathead :is(.tb-cat-menu-trigger,.tb-cat-padlock) svg{
 width:17px;height:17px;display:block;flex:none;pointer-events:none;
}
.board .category.is-grid-collapsed{
 min-height:0!important;
 padding:9px 11px!important;
}
.board .category.is-grid-collapsed .cathead{
 height:36px!important;min-height:36px!important;
 margin:0!important;align-items:center!important;
}
.board .category.privacy-locked{
 min-height:0!important;padding:9px 11px!important;
}
.board .category.privacy-locked .cathead{
 height:36px!important;min-height:36px!important;margin:0!important;
}
.board .category.privacy-locked .tiles,
.board .category.privacy-locked .tb-privacy-placeholder{display:none!important}
.board .category.privacy-locked .tb-cat-padlock{opacity:1}
.board .category.privacy-locked .ctitle{font-weight:710;white-space:normal}
.board.list-view .category.is-grid-collapsed .tiles{display:none!important}
/* Compact anchored desktop menu, mobile bottom sheet in the existing mobile style. */
.tb-cat-actions-overlay{position:fixed;inset:0;z-index:850}
.tb-cat-actions-backdrop{position:absolute;inset:0;background:transparent}
.tb-cat-actions-menu{
 position:fixed;z-index:1;width:min(252px,calc(100vw - 24px));
 max-height:calc(100dvh - 24px);overflow-y:auto;
 padding:8px;background:var(--surface);color:var(--text);
 border:1px solid var(--line);border-radius:14px;
 box-shadow:0 14px 46px #0007;
 display:grid;gap:3px;
}
.tb-cat-actions-header{
 display:flex;align-items:center;justify-content:space-between;min-height:32px;
 gap:12px;padding:2px 5px 7px;border-bottom:1px solid var(--line);margin-bottom:2px;
}
.tb-cat-actions-header strong{
 font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;
}
.tb-cat-actions-close{
 flex:0 0 26px;width:26px;height:26px;border:0;border-radius:7px;
 background:transparent;color:inherit;font-size:21px;cursor:pointer;line-height:1;
}
.tb-cat-actions-option{
 display:flex;align-items:center;gap:10px;min-height:38px;
 width:100%;padding:8px 10px;border:0;border-radius:9px;
 background:transparent;color:inherit;text-align:left;
 font:inherit;font-size:12.5px;font-weight:580;cursor:pointer;
}
.tb-cat-actions-option svg{flex:0 0 17px;width:17px;height:17px}
.tb-cat-actions-option:hover,.tb-cat-actions-option:focus-visible{
 background:color-mix(in srgb,var(--text) 9%,transparent);
}
.tb-cat-actions-option:disabled{cursor:not-allowed;opacity:.35}
@media(max-width:840px),(hover:none),(pointer:coarse){
 .tb-cat-actions-overlay{display:flex;align-items:flex-end;justify-content:center;padding:12px}
 .tb-cat-actions-backdrop{background:#060b16a3;backdrop-filter:blur(3px)}
 .tb-cat-actions-menu{
  position:relative!important;left:auto!important;top:auto!important;
  bottom:auto!important;width:min(410px,100%)!important;
  border-radius:19px;padding:14px;gap:5px;
  margin-bottom:env(safe-area-inset-bottom);
 }
 .tb-cat-actions-option{min-height:46px;font-size:14px;padding:11px 12px}
 .tb-cat-actions-header{min-height:38px}
 .tb-cat-actions-header strong{font-size:15px}
}

/* V55: destructive category action must always be the last, separated entry. */
.tb-cat-actions-option.tb-cat-actions-danger{
 margin-top:6px;padding-top:11px;min-height:44px;
 border-top:1px solid var(--line);border-radius:0 0 9px 9px;
 color:#e87171;
}
.tb-cat-actions-option.tb-cat-actions-danger:hover,
.tb-cat-actions-option.tb-cat-actions-danger:focus-visible{
 background:color-mix(in srgb,#ec5555 11%,transparent);
 color:#ff9191;
}

/* V58: plan is shown as a separate, recognisable badge in category actions. */
.tb-cat-actions-option .tb-pro-badge{margin-left:auto;flex:none}

/* V59: clearly distinguish removing the lock from deleting its contents. */
.tb-cat-actions-option.tb-cat-actions-unprotect{color:var(--text);border-top:1px solid var(--line);border-radius:8px;margin-top:3px}
.tb-cat-actions-option.tb-cat-actions-unprotect svg{color:var(--muted)}

/* V66 mobile fallback: each native anchor has its own allowed click gesture. */
.tb-open-links-hint{font-size:12px;line-height:1.45;color:var(--muted);margin:4px 6px 8px}
.tb-open-links-list{display:grid;gap:5px;min-width:0}
.tb-open-links-item{display:flex;align-items:center;min-height:42px;min-width:0;
 padding:10px 12px;border:1px solid var(--line);border-radius:9px;
 color:var(--text);text-decoration:none;font:inherit;font-size:13px;
 overflow-wrap:anywhere;background:var(--surface)}
.tb-open-links-item:is(:hover,:focus-visible){border-color:var(--blue);
 background:color-mix(in srgb,var(--blue) 9%,var(--surface))}
@media(max-width:840px),(pointer:coarse){.tb-open-links-item{min-height:46px;font-size:14px}}

/* V70: genuine first-link anchor, same visual style as the menu buttons. */
.tb-cat-actions-option.tb-open-links-primary{text-decoration:none}
.tb-cat-actions-menu:has(.tb-open-links-list){width:min(340px,calc(100vw - 24px))}
.tb-cat-actions-menu .tb-open-links-list{max-height:min(48dvh,420px);overflow-y:auto;overscroll-behavior:contain}
.tb-cat-actions-menu .tb-open-links-hint{padding:8px 6px 3px;margin:3px 0 1px;border-top:1px solid var(--line)}

/* Compact help is shown only after a user tries opening all tabs.
   Neutral border, no extra permanent controls or changes to the header. */
.tb-cat-actions-menu .tb-open-links-hint:has(.tb-open-links-info-title){
 padding:10px 12px;margin:6px 0 2px;
 border:1px solid var(--line);border-radius:10px;
 background:color-mix(in srgb,var(--text) 3%,var(--surface));
 font-size:12px;line-height:1.5;
}
.tb-open-links-info-title{display:block;font-size:13px;font-weight:700}
.tb-open-links-info-intro{margin:4px 0 5px;color:var(--muted)}
.tb-open-links-info-steps{padding-left:19px;margin:5px 0 0;display:grid;gap:4px}
.tb-open-links-info-steps li{padding-left:2px}
@media(max-width:840px),(pointer:coarse){
 .tb-cat-actions-menu .tb-open-links-hint:has(.tb-open-links-info-title){font-size:13px}
}
/* Browser-permission guidance is shown only after an open-all attempt. */
.tb-cat-actions-menu .tb-open-links-retry{
 display:flex;justify-content:center;align-items:center;min-height:39px;
 padding:8px 12px;border-radius:9px;border:1px solid var(--blue);
 color:var(--text);text-decoration:none;font:inherit;font-size:12.5px;
 font-weight:700;background:color-mix(in srgb,var(--blue) 12%,var(--surface));
}
.tb-cat-actions-menu .tb-open-links-retry:is(:hover,:focus-visible){
 background:color-mix(in srgb,var(--blue) 22%,var(--surface));
}
@media(max-width:840px),(pointer:coarse){
 .tb-cat-actions-menu .tb-open-links-retry{min-height:46px;font-size:14px}
}

/* V70: the in-app link sheet is smartphone-only.
   Tablets and computers use the same browser batch-opening action. */
@media(max-width:1024px),(pointer:coarse){
 .tb-cat-actions-menu.tb-cat-links-mode{
  height:min(82dvh,720px)!important;
  max-height:calc(100dvh - 24px)!important;
  width:100%!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
 }
 .tb-cat-links-mode .tb-cat-actions-header{
  flex:0 0 auto;
  padding:4px 4px 10px;
 }
 .tb-cat-links-mode .tb-cat-actions-header strong{
  font-size:16px;
  font-weight:750;
 }
 .tb-cat-links-mode .tb-open-links-count{
  margin:5px 5px 0;
  font-size:12px;
  font-weight:650;
  color:var(--muted);
 }
 .tb-cat-links-mode .tb-open-links-hint{
  flex:0 0 auto;
  margin:0 5px 10px;
  padding:0!important;
  border:0!important;
  color:var(--muted);
  line-height:1.5;
  font-size:12.5px;
 }
 .tb-cat-links-mode .tb-open-links-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:2px 2px max(12px,env(safe-area-inset-bottom));
  gap:7px;
  align-content:start;
  grid-auto-rows:max-content;
 }
 .tb-cat-links-mode .tb-open-links-item{
  min-height:56px;
  gap:12px;
  border-radius:11px;
  padding:10px 13px;
  text-decoration:none;
 }
 .tb-cat-links-mode .tb-open-links-details{
  display:grid;
  flex:1 1 auto;
  min-width:0;
  gap:3px;
 }
 .tb-cat-links-mode .tb-open-links-name{
  color:var(--text);
  font-size:14px;
  font-weight:650;
  line-height:1.3;
  overflow-wrap:anywhere;
 }
 .tb-cat-links-mode .tb-open-links-domain{
  color:var(--muted);
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
 }
 .tb-cat-links-mode .tb-open-links-item svg{
  flex:0 0 18px;
  color:var(--muted);
  width:18px;
  height:18px;
 }
}
