/* Cloud unified right-click menus — v50.5
   Reference: opaque near-black surface, fine edge, tidy 16px line icons,
   36px action rhythm. Shared by Cloud, Drive, Kanban, Worktrack, Chat,
   Tables, sheet and public sharing. No action handlers are changed.
   Deliberately does not replace the browser menu in editable controls. */
:root{
  --cloud-context-bg:#171717;
  --cloud-context-fg:#f5f5f5;
  --cloud-context-muted:#a5a5a5;
  --cloud-context-border:#252525;
  --cloud-context-hover:#282828;
  --cloud-context-pressed:#343434;
  --cloud-context-divider:#303030;
  --cloud-context-shadow:0 10px 28px rgba(0,0,0,.36),0 2px 8px rgba(0,0,0,.20);
  --cloud-context-radius:11px;
}
/* IDs inside :is raise specificity above legacy per-page theme overrides.
   Every entry has the same visual language even when the page is light. */
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.work-card-menu,
 .drive-selection-more-menu,.sheet2-menu-pop,.sheet2-context){
  background:var(--cloud-context-bg)!important;
  background-image:none!important;
  color:var(--cloud-context-fg)!important;
  -webkit-text-fill-color:var(--cloud-context-fg)!important;
  border:1px solid var(--cloud-context-border)!important;
  border-radius:var(--cloud-context-radius)!important;
  box-shadow:var(--cloud-context-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  padding:7px!important;
  box-sizing:border-box!important;
  opacity:1!important;
  isolation:isolate;
  scrollbar-color:#3e3e3e transparent;
  overscroll-behavior:contain;
}
/* Tables own a *separate* sheet-theme setting, which must not recolor menus. */
html body #sheetApp[data-sheet-theme] :is(.sheet2-context,.sheet2-menu-pop){
  background:var(--cloud-context-bg)!important;
  color:var(--cloud-context-fg)!important;
  -webkit-text-fill-color:var(--cloud-context-fg)!important;
  border:1px solid var(--cloud-context-border)!important;
  border-radius:var(--cloud-context-radius)!important;
  box-shadow:var(--cloud-context-shadow)!important;
  padding:7px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
/* Legacy selectors may set display:block even when a menu should be closed. */
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context)[hidden],
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a)[hidden]{display:none!important}

/* Desktop geometry only; mobile keeps its anchored menus and bottom sheets. */
@media (min-width:801px){
 html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
  #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
  .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
  .sheet2-menu-pop,.sheet2-context){
   width:244px!important;max-width:calc(100vw - 18px)!important;
   max-height:min(76dvh,620px)!important;overflow-y:auto;
 }
 /* The sheet popup has longer format and data action names. */
 html body #sheetApp[data-sheet-theme] :is(.sheet2-context,.sheet2-menu-pop){
   width:260px!important;max-height:min(76dvh,620px)!important;
 }
}
/* Flat, predictable action rows, not the old frosted pill buttons. */
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context)
 :is(button,a):not(.sheet-option-pop button){
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:10px!important;width:100%!important;
  min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:34px!important;
  padding:7px 9px!important;margin:0!important;
  border:0!important;border-radius:6px!important;
  box-shadow:none!important;background:transparent!important;
  color:var(--cloud-context-fg)!important;
  -webkit-text-fill-color:var(--cloud-context-fg)!important;
  font-family:inherit!important;font-size:13px!important;font-weight:450!important;
  letter-spacing:0!important;line-height:1.3!important;text-align:left!important;
  text-transform:none!important;text-decoration:none!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
  cursor:pointer;
}
/* Sheet-specific overrides are more specific than both earlier and later CSS. */
html body #sheetApp[data-sheet-theme] :is(.sheet2-context,.sheet2-menu-pop) button{
  color:var(--cloud-context-fg)!important;
  -webkit-text-fill-color:var(--cloud-context-fg)!important;
  opacity:1!important;font-size:13px!important;font-weight:450!important;
  min-height:34px!important;padding:7px 9px!important;
  background:transparent!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a):hover{
  background:var(--cloud-context-hover)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html body #sheetApp[data-sheet-theme] :is(.sheet2-context,.sheet2-menu-pop) button:hover{
  background:var(--cloud-context-hover)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a):active{
  background:var(--cloud-context-pressed)!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a):focus-visible{
  outline:2px solid #8d8d8d!important;outline-offset:-2px!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a):disabled{
  color:#888!important;-webkit-text-fill-color:#888!important;opacity:.55!important;
  cursor:not-allowed!important;
}
/* Icons are monochrome strokes, never mixed emoji beside plain rows. */
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a) svg,
html body .cloud-context-auto-icon{
  flex:0 0 17px!important;width:17px!important;height:17px!important;
  color:currentColor!important;stroke:currentColor!important;
  stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  fill:none!important;opacity:.94;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(button,a) > span:not(.drive-folder-color-dot):not(.chev):not(.menu-swatch):not(.worktrack-menu-icon){
  color:inherit!important;-webkit-text-fill-color:inherit;min-width:0;
}
/* Screenshot's leading color action is a simple dark color swatch. */
html body svg.cloud-context-auto-icon[data-icon="colors"] circle{
  fill:#050505!important;stroke:#050505!important;
}
/* Destructive operations use an identical row background; distinguish on hover. */
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
 #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
 .sheet2-menu-pop,.sheet2-context) :is(.danger,.danger-text,.cx-danger):hover{
  background:#372222!important;color:#ffb6b6!important;-webkit-text-fill-color:#ffb6b6!important;
}
/* Menu headers and group separators remain functional but subdued. */
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,
 #cxMenu,#sharedContextMenu,.work-card-dropdown,.kanban-item-menu,
 .chat-context-menu,.message-context-menu)
 :is(.drive-context-head,.global-context-head,.sheet-context-title,.share-menu-title,.chat-menu-brand){
  padding:7px 9px 9px!important;margin:0 1px 5px!important;
  background:transparent!important;border:0!important;
  border-bottom:1px solid var(--cloud-context-divider)!important;
  border-radius:0!important;
  color:var(--cloud-context-fg)!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,
 #cxMenu,#sharedContextMenu) :is(.drive-context-head,.global-context-head,.sheet-context-title,.share-menu-title) b{
  color:var(--cloud-context-fg)!important;font-size:12px!important;font-weight:600!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#sharedContextMenu,
 .work-card-dropdown,.kanban-item-menu,.sheet2-context)
 :is(.menu-sep,.context-sep,.kanban-menu-sep){
  height:1px!important;background:var(--cloud-context-divider)!important;
  border:0!important;margin:5px 5px!important;
}
html body #sheetApp[data-sheet-theme] .sheet2-context > div:empty{
  height:1px!important;min-height:1px!important;background:var(--cloud-context-divider)!important;
  border:0!important;margin:5px!important;opacity:1!important;
}
html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,
 #cxMenu,#sharedContextMenu,.work-card-dropdown,.kanban-item-menu,
 .sheet2-context,.sheet2-menu-pop) :is(form,.drive-context-group){
  background:transparent!important;box-shadow:none!important;
}
html body .work-card-dropdown form{margin:0!important;padding:0!important}
html body .work-card-dropdown .menu-swatch{
  flex:none!important;width:15px!important;height:15px!important;min-width:15px!important;
  margin:0!important;border:1px solid rgba(255,255,255,.24)!important;
  border-radius:50%!important;
}
/* Keep the existing placement/anchoring and accessibility on touch screens. */
@media (max-width:800px){
 html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
  #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
  .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
  .sheet2-menu-pop,.sheet2-context) :is(button,a){min-height:44px!important;padding:10px 11px!important;font-size:13px!important}
 html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
  #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
  .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
  .sheet2-menu-pop,.sheet2-context){max-width:calc(100vw - 16px)!important}
}
@media (prefers-reduced-motion:reduce){
 html body :is(#driveContextMenu,#globalContextMenu,#sheetContext,#cellMenu,#menuPop,
  #cxMenu,#sharedContextMenu,.kx-menu,.work-card-dropdown,.kanban-item-menu,
  .chat-context-menu,.message-context-menu,.drive-selection-more-menu,
  .sheet2-menu-pop,.sheet2-context){animation:none!important;transition:none!important}
}
