/* TNHManage (assets/js/tnh-manage.js): the one set of controls for everything a member owns. Quiet icon buttons whose
   label shows on hover/focus; 44 px targets on touch; the destructive answer in rose, Undo in gold; AA on the dark ground. */
.tnh-mg { display: inline-flex; align-items: center; gap: 2px; margin-inline-start: auto; flex: none; }
.tnh-mg-row { position: relative; }
.tnh-mg__btn { position: relative; display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0;
  border-radius: 8px; background: transparent; color: rgba(238, 241, 247, 0.62); cursor: pointer; transition: color .15s, background .15s; }
.tnh-mg__btn:hover, .tnh-mg__btn:focus-visible { color: #F3EDE2; background: rgba(255, 255, 255, 0.07); outline: none; }
.tnh-mg__btn:focus-visible { box-shadow: 0 0 0 2px #D4AF37; }
.tnh-mg__btn--del:hover, .tnh-mg__btn--del:focus-visible { color: #F6B3A6; }
.tnh-mg__tip { position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 3px 8px; border-radius: 6px;
  background: #16161f; border: 1px solid rgba(212, 175, 55, 0.35); color: #F3EDE2; font-size: 0.72rem; white-space: nowrap;
  pointer-events: none; opacity: 0; transition: opacity .15s; z-index: 5; }
.tnh-mg__btn:hover .tnh-mg__tip, .tnh-mg__btn:focus-visible .tnh-mg__tip { opacity: 1; }
.tnh-mg__confirm, .tnh-mg__bulk { display: inline-flex; align-items: center; gap: 8px; font-size: 0.85rem; color: rgba(238, 241, 247, 0.85); }
.tnh-mg__bulk { display: flex; flex-wrap: wrap; margin: 6px 0 10px; padding: 8px 12px; border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 12px; background: rgba(212, 175, 55, 0.06); }
.tnh-mg__bulk[hidden], .tnh-mg__confirm[hidden] { display: none; }
.tnh-mg__yes, .tnh-mg__no, .tnh-mg__select, .tnh-mg__undo { min-height: 32px; padding: 4px 12px; border-radius: 999px; font: inherit;
  font-size: 0.82rem; cursor: pointer; border: 1px solid rgba(255, 255, 255, 0.22); background: transparent; color: #F3EDE2; }
.tnh-mg__yes { border-color: rgba(232, 115, 95, 0.7); color: #F6B3A6; }
.tnh-mg__yes:hover { background: rgba(232, 115, 95, 0.14); }
.tnh-mg__yes:disabled { opacity: .45; cursor: default; }
.tnh-mg__select { margin: 0 0 8px; color: rgba(238, 241, 247, 0.78); }
.tnh-mg__select:hover, .tnh-mg__no:hover { border-color: rgba(212, 175, 55, 0.6); }
.tnh-mg__pick { width: 18px; height: 18px; margin: 0 10px 0 0; accent-color: #D4AF37; flex: none; align-self: center; }
.tnh-mg__edit { display: flex; flex: 1 1 auto; min-width: 0; }
.tnh-mg__input { flex: 1 1 auto; min-width: 0; padding: 6px 10px; border-radius: 10px; border: 1px solid rgba(212, 175, 55, 0.55);
  background: #0a0a10; color: #F3EDE2; font: inherit; }
textarea.tnh-mg__input { min-height: 90px; resize: vertical; }
.tnh-mg__toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 16px); display: flex; align-items: center; gap: 14px;
  max-width: calc(100vw - 32px); padding: 10px 14px 10px 18px; border-radius: 999px; background: #16161f; color: #F3EDE2;
  border: 1px solid rgba(212, 175, 55, 0.45); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45); font-size: 0.9rem; z-index: 10050;
  opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.tnh-mg__toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.tnh-mg__undo { border-color: #D4AF37; color: #E5C558; font-weight: 600; }
@media (pointer: coarse) {
  .tnh-mg__btn { width: 44px; height: 44px; }
  .tnh-mg__yes, .tnh-mg__no, .tnh-mg__select, .tnh-mg__undo { min-height: 44px; }
  .tnh-mg__tip { display: none; }
}
@media (prefers-reduced-motion: reduce) { .tnh-mg__toast, .tnh-mg__btn, .tnh-mg__tip { transition: none; } }
/* Where the controls sit: at the end of a flex row; top-right of a block card (project items, notes, clips). */
.tnh-mg-line { padding: 0.7rem 1rem; border: 1px solid var(--mw-line, rgba(255, 255, 255, 0.1)); border-radius: 10px; }
.tnh-mg-line .mw-briefs__t { flex: 1 1 14rem; min-width: 0; }
.mw-project__it.tnh-mg-row, .mw-clipitem.tnh-mg-row { padding-right: 7.5rem; }
.mw-project__it > .tnh-mg, .mw-clipitem > .tnh-mg { position: absolute; top: 0.35rem; right: 0.35rem; }
.mw-briefs__list.is-selecting .tnh-mg-row, .mw-project__list.is-selecting .tnh-mg-row { cursor: default; }
@media (pointer: coarse) { .mw-project__it.tnh-mg-row, .mw-clipitem.tnh-mg-row { padding-right: 9.5rem; } }
.mw-briefs__row > .tnh-mg { order: 3; margin-inline-start: auto; }
