/* Shared: right-click menu, selection circles and selection bar (money, invoice, callsheet, invite). */
.lk-menu {
  position: fixed; z-index: 60; min-width: 210px; max-width: 280px; padding: 5px; border-radius: 12px;
  background: rgba(24, 24, 24, .97); border: 1px solid #2f2f2f; box-shadow: 0 18px 50px rgba(0, 0, 0, .55);
  backdrop-filter: blur(12px); display: grid; gap: 1px; animation: lk-in .09s ease-out;
}
@keyframes lk-in { from { opacity: 0; transform: scale(.97); } }
.lk-menu button {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; text-align: left;
  border: 0; background: none; color: var(--text, #f4f4f2); font: 500 13.5px/1.2 var(--font, sans-serif);
  padding: 9px 11px; border-radius: 8px; cursor: pointer;
}
.lk-menu button:hover, .lk-menu button:focus-visible { background: #2a2a2a; outline: none; }
.lk-menu button.danger { color: var(--warn, #ff7a45); }
.lk-menu button.danger:hover, .lk-menu button.danger:focus-visible { background: rgba(255, 122, 69, .12); }
.lk-menu button:disabled { opacity: .35; cursor: default; background: none; }
.lk-menu kbd { font: 500 11px var(--mono, monospace); color: var(--text-3, #5f5f5b); }
.lk-sep { height: 1px; background: #2c2c2c; margin: 4px 6px; }

.lk-row { position: relative; padding-left: 52px !important; }
.lk-check {
  position: absolute; left: 17px; top: 50%; width: 20px; height: 20px; margin-top: -10px; padding: 0; border-radius: 50%;
  border: 1.5px solid #4a4a46; background: transparent; cursor: pointer; opacity: .55; transition: opacity .12s, background .12s, border-color .12s;
}
.lk-row:hover .lk-check, .lk-selecting .lk-check, .lk-check:focus-visible { opacity: 1; }
.lk-check[aria-pressed="true"] { background: var(--lime, #d6f64e); border-color: var(--lime, #d6f64e); opacity: 1; }
.lk-check[aria-pressed="true"]::after {
  content: ""; position: absolute; left: 6px; top: 3px; width: 5px; height: 9px; border: solid #0a0a0a; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.lk-row.is-selected { background: rgba(214, 246, 78, .055) !important; box-shadow: inset 0 0 0 1px rgba(214, 246, 78, .35); }

.lk-bar {
  position: fixed; left: 50%; bottom: max(20px, env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 50;
  display: flex; align-items: center; gap: 8px; padding: 8px 8px 8px 16px; border-radius: 14px; max-width: calc(100vw - 24px);
  background: rgba(22, 22, 22, .96); border: 1px solid #333; box-shadow: 0 18px 50px rgba(0, 0, 0, .55); backdrop-filter: blur(12px);
  overflow-x: auto; animation: lk-up .14s ease-out;
}
@keyframes lk-up { from { opacity: 0; transform: translate(-50%, 8px); } }
.lk-bar b { font-weight: 600; white-space: nowrap; margin-right: 6px; font-size: 13.5px; }
.lk-bar .btn { white-space: nowrap; }

.lk-more {
  width: 36px; height: 32px; padding: 0 0 6px; border-radius: 9px; border: 1px solid transparent; background: none;
  color: var(--text-2, #8e8e8a); font: 800 18px/1 var(--font, sans-serif); letter-spacing: 1px; cursor: pointer; flex: none;
}
.lk-more:hover, .lk-more:focus-visible { color: var(--text, #f4f4f2); border-color: var(--line-strong, #2a2a2a); background: var(--field, #141414); outline: none; }
