/**
 * KARAOKE-F7-SHEET-CATALOG-C — F7 Sheet karaoke catalog.
 * KARAOKE-GUEST-STATUS-D — guest pending status banner.
 */

body.f7-shell-settled #karaoke-catalog-modal {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

#f7-app-root .f7-karaoke-sheet.sheet-modal {
  --f7-sheet-bg-color: #16161e;
  height: min(92vh, 720px);
  border-radius: 20px 20px 0 0;
}

#f7-app-root .f7-karaoke-sheet .sheet-modal-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: min(92vh, 720px);
}

#f7-app-root .f7-karaoke-sheet-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 0 0 env(safe-area-inset-bottom, 0px);
}

#f7-app-root .f7-karaoke-sheet-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#f7-app-root .f7-karaoke-sheet-title {
  flex: 1;
  font-size: 16px;
  font-weight: 800;
  color: var(--t1, #fff);
}

#f7-app-root .f7-karaoke-sheet-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: var(--t1, #fff);
  font-size: 18px;
  cursor: pointer;
  font-family: inherit;
  flex-shrink: 0;
}

#f7-app-root .f7-karaoke-pending-status {
  flex-shrink: 0;
  display: none;
  align-items: center;
  gap: 8px;
  margin: 0 16px 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(80, 180, 120, 0.14);
  border: 1px solid rgba(100, 220, 150, 0.28);
  color: #9ee8b8;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

#f7-app-root .f7-karaoke-pending-status::before {
  content: "✓";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(100, 220, 150, 0.22);
  font-size: 12px;
  font-weight: 900;
}

#f7-app-root .f7-karaoke-pending-status--queued {
  background: rgba(80, 40, 120, 0.2);
  border-color: rgba(180, 100, 255, 0.32);
  color: #d4b8ff;
}

#f7-app-root .f7-karaoke-pending-status--queued::before {
  content: "🎤";
  background: rgba(180, 100, 255, 0.22);
  font-size: 11px;
}

#f7-app-root .f7-karaoke-pending-status--active {
  background: rgba(255, 106, 0, 0.18);
  border-color: rgba(255, 140, 60, 0.45);
  color: #ffb070;
}

#f7-app-root .f7-karaoke-pending-status--active::before {
  content: "▶";
  background: rgba(255, 106, 0, 0.28);
  font-size: 10px;
}

#f7-app-root .f7-karaoke-btn-submit:disabled,
#f7-app-root .f7-karaoke-btn-submit[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

#f7-app-root .f7-karaoke-catalog-locked .kc-row:not(:disabled) {
  pointer-events: none;
  opacity: 0.5;
}

#f7-app-root .f7-karaoke-sheet-search {
  flex-shrink: 0;
  padding: 10px 16px 6px;
}

#f7-app-root .f7-karaoke-search-inp,
#karaoke-catalog-modal #kc-search {
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  box-sizing: border-box;
  font-size: 16px;
}

#f7-app-root .f7-karaoke-status,
#karaoke-catalog-modal #kc-status {
  font-size: 11px;
  color: rgba(255, 180, 80, 0.85);
  margin-top: 6px;
  min-height: 16px;
}

#f7-app-root .f7-karaoke-results {
  flex: 1;
  min-height: 120px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 4px 12px 8px;
}

#f7-app-root .f7-karaoke-basket-wrap {
  flex-shrink: 0;
  padding: 10px 16px 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

#f7-app-root .f7-karaoke-basket-label {
  font-size: 10px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

#f7-app-root .f7-karaoke-basket {
  min-height: 24px;
}

#f7-app-root .f7-karaoke-sheet-actions {
  flex-shrink: 0;
  display: flex;
  gap: 10px;
  padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px));
}

#f7-app-root .f7-karaoke-btn-cancel,
#f7-app-root .f7-karaoke-btn-submit {
  flex: 1;
  padding: 14px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}

#f7-app-root .f7-karaoke-btn-cancel {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: var(--t1, #fff);
}

#f7-app-root .f7-karaoke-btn-submit {
  border: none;
  background: linear-gradient(135deg, #ff6a00, #cc2200);
  color: #fff;
  font-weight: 800;
}

#f7-app-root .f7-karaoke-sheet .kc-row,
#karaoke-catalog-modal .kc-row {
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  margin-bottom: 4px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  color: var(--t1, #fff);
  font-family: inherit;
  cursor: pointer;
}

#f7-app-root .f7-karaoke-sheet .kc-row.kc-row-sel,
#karaoke-catalog-modal .kc-row.kc-row-sel {
  background: rgba(255, 106, 0, 0.22);
}

#f7-app-root .f7-karaoke-sheet .kc-row:disabled,
#karaoke-catalog-modal .kc-row:disabled {
  cursor: default;
  opacity: 0.45;
}

#f7-app-root .f7-karaoke-sheet .kc-ast,
#karaoke-catalog-modal .kc-ast,
#f7-app-root .f7-karaoke-sheet .kc-basket-ast,
#karaoke-catalog-modal .kc-basket-ast {
  font-weight: 800;
  color: #ff9a4a;
  margin-right: 8px;
  flex-shrink: 0;
}

#f7-app-root .f7-karaoke-sheet .kc-line,
#karaoke-catalog-modal .kc-line {
  flex: 1;
  min-width: 0;
}

#f7-app-root .f7-karaoke-sheet .kc-hint,
#karaoke-catalog-modal .kc-hint {
  font-size: 16px;
  line-height: 1.34;
  color: var(--t1, #fff);
}

#f7-app-root .f7-karaoke-sheet .kc-hint-center,
#karaoke-catalog-modal .kc-hint-center {
  text-align: center;
  padding: 20px;
  color: rgba(255, 255, 255, 0.4);
}

#f7-app-root .f7-karaoke-sheet .kc-basket-row,
#karaoke-catalog-modal .kc-basket-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  margin-bottom: 6px;
  background: rgba(255, 106, 0, 0.12);
  border: 1px solid rgba(255, 106, 0, 0.25);
  border-radius: 12px;
}

#f7-app-root .f7-karaoke-sheet .kc-basket-rm,
#karaoke-catalog-modal .kc-basket-rm {
  flex-shrink: 0;
  background: rgba(255, 80, 80, 0.15);
  border: 1px solid rgba(255, 100, 100, 0.35);
  color: #ff9090;
  border-radius: 10px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
}
