:root {
  --apple-bg: #f5f5f7;
  --apple-surface: rgba(255, 255, 255, 0.88);
  --apple-surface-solid: #ffffff;
  --apple-elevated: #ffffff;
  --apple-text: #1d1d1f;
  --apple-muted: #6e6e73;
  --apple-line: rgba(0, 0, 0, 0.08);
  --apple-line-strong: rgba(0, 0, 0, 0.14);
  --apple-blue: #0071e3;
  --apple-blue-dark: #005bb5;
  --apple-green: #168a45;
  --apple-red: #d70015;
  --apple-orange: #b75a00;
  --apple-shadow: 0 18px 48px rgba(0, 0, 0, 0.08);
  --apple-shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.055);
  --apple-radius: 8px;
  --apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

html,
body {
  letter-spacing: 0 !important;
  font-family: var(--apple-font) !important;
}

body:not(.display-page) {
  background: var(--apple-bg) !important;
  color: var(--apple-text) !important;
}

a {
  color: var(--apple-blue);
}

.btn,
button,
.pjl-toolbar button,
.pjl-player-actions button,
.package-cta,
.buy-card-btn,
.loc-sel-btn,
.ops-link-btn {
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .12s ease;
}

.btn:active,
button:active,
.package-cta:active,
.buy-card-btn:active,
.loc-sel-btn:active,
.ops-link-btn:active {
  transform: scale(.985);
}

.btn,
.pjl-toolbar button,
.pjl-player-actions button,
.ops-add-schedule button,
.ops-create-player button {
  border-radius: var(--apple-radius) !important;
  border: 1px solid var(--apple-line) !important;
  background: var(--apple-surface-solid) !important;
  color: var(--apple-text) !important;
  box-shadow: none !important;
}

.btn:not(.secondary),
.payment-pay,
.rabbit-theme .btn:not(.secondary),
.rabbit-theme .package-cta,
.rabbit-theme .buy-card-btn,
.rabbit-theme .loc-sel-btn,
.ops-create-player button,
.ops-add-schedule button,
#playerCreateBtn {
  border-color: var(--apple-blue) !important;
  background: var(--apple-blue) !important;
  color: #fff !important;
}

.btn:not(.secondary):hover,
.payment-pay:hover,
.rabbit-theme .btn:not(.secondary):hover,
.rabbit-theme .package-cta:hover,
.rabbit-theme .buy-card-btn:hover,
.rabbit-theme .loc-sel-btn:hover,
.ops-create-player button:hover,
.ops-add-schedule button:hover,
#playerCreateBtn:hover {
  background: var(--apple-blue-dark) !important;
}

input,
select,
textarea {
  border-color: var(--apple-line-strong) !important;
  border-radius: var(--apple-radius) !important;
  background: #fff !important;
  color: var(--apple-text) !important;
  outline: none;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--apple-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .16) !important;
}

.pill {
  border-radius: 999px !important;
  font-weight: 700 !important;
}

.pill.success,
.ops-stat.success strong,
.pjl-ok {
  color: var(--apple-green) !important;
}

.pill.danger,
.ops-stat.danger strong,
.pjl-off,
.btn.danger,
.ops-link-btn.danger {
  color: var(--apple-red) !important;
}

.pill.warning,
.ops-stat.warning strong {
  color: var(--apple-orange) !important;
}

.pill.info,
.ops-stat.info strong {
  color: var(--apple-blue) !important;
}

/* Admin */
.pjl-page {
  background: var(--apple-bg) !important;
  color: var(--apple-text) !important;
  font-family: var(--apple-font) !important;
}

.ops-admin .pjl-nav,
.pjl-nav {
  min-height: 58px !important;
  background: rgba(255, 255, 255, .82) !important;
  border-bottom: 1px solid var(--apple-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.pjl-nav a {
  min-height: 34px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  color: var(--apple-muted) !important;
  font-weight: 600 !important;
}

.pjl-nav a:hover,
.pjl-nav a.active {
  background: rgba(0, 113, 227, .10) !important;
  color: var(--apple-blue) !important;
}

.ops-admin .pjl-workspace {
  padding-top: 24px !important;
}

.pjl-dashboard-stage {
  grid-template-columns: repeat(5, minmax(168px, 188px)) !important;
  gap: 18px !important;
}

.pjl-tile {
  width: 188px !important;
  height: 164px !important;
  border: 1px solid var(--apple-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fff, #fbfbfd) !important;
  box-shadow: var(--apple-shadow-soft) !important;
  color: var(--apple-text) !important;
  overflow: hidden !important;
}

.pjl-tile::before,
.pjl-tile::after {
  background: none !important;
  box-shadow: none !important;
}

.pjl-tile:hover {
  transform: translateY(-2px);
  box-shadow: var(--apple-shadow) !important;
}

.pjl-tile-icon {
  left: 30px !important;
  top: 26px !important;
  width: 128px !important;
  height: 110px !important;
  transform: scale(.52) !important;
  transform-origin: top left !important;
  background: transparent !important;
  color: var(--apple-blue) !important;
  box-shadow: none !important;
}

.pjl-tile-label,
.pjl-tile-count {
  color: var(--apple-text) !important;
}

.pjl-tile-label {
  left: 24px !important;
  bottom: 30px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.pjl-tile-count {
  right: 22px !important;
  bottom: 21px !important;
  font-size: 38px !important;
  font-weight: 300 !important;
}

.pjl-breadcrumb {
  color: var(--apple-muted) !important;
}

.pjl-breadcrumb a {
  color: var(--apple-blue) !important;
}

.pjl-list-shell,
.pjl-list-main,
.pjl-filter,
.screen-admin-card,
.ops-detail-panel {
  background: var(--apple-surface-solid) !important;
  border-color: var(--apple-line) !important;
  box-shadow: none !important;
}

.pjl-list-shell {
  border: 1px solid var(--apple-line) !important;
  border-radius: 12px !important;
  overflow: hidden;
}

.pjl-filter {
  background: #fafafa !important;
}

.pjl-filter-title,
.pjl-filter-row,
.pjl-check {
  color: var(--apple-muted) !important;
}

.pjl-filter-row:hover {
  background: rgba(0, 113, 227, .08) !important;
  color: var(--apple-blue) !important;
}

.pjl-table {
  border-color: var(--apple-line) !important;
  color: var(--apple-text) !important;
}

.pjl-table th {
  background: #f5f5f7 !important;
  color: var(--apple-muted) !important;
  font-weight: 700 !important;
}

.pjl-table td {
  border-color: var(--apple-line) !important;
}

.pjl-table tbody tr:nth-child(odd),
.pjl-table tbody tr:hover {
  background: #fff !important;
}

.pjl-table tbody tr:hover {
  background: #f7fbff !important;
}

.pjl-green-link,
.pjl-table a {
  color: var(--apple-blue) !important;
  font-weight: 600 !important;
}

.pjl-thumb,
.pjl-blue-thumb {
  border-radius: 6px !important;
  border: 1px solid var(--apple-line) !important;
}

.pjl-blue-thumb {
  background: linear-gradient(135deg, #e8f2ff, #f5f5f7) !important;
}

.pjl-search input,
.ops-player-name,
.ops-player-size,
.ops-duration-input,
.ops-count-input {
  border-color: var(--apple-line-strong) !important;
  border-radius: 7px !important;
}

.ops-display-url {
  border-radius: var(--apple-radius) !important;
  border-color: var(--apple-line) !important;
  background: #f5f5f7 !important;
}

.pjl-footer {
  color: #86868b !important;
}

/* Review */
.ops-shell.shell {
  background: var(--apple-bg) !important;
}

.ops-shell .side {
  background: rgba(255, 255, 255, .84) !important;
  color: var(--apple-text) !important;
  border-right: 1px solid var(--apple-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.ops-shell .brand__mark {
  border-radius: 12px !important;
  background: var(--apple-blue) !important;
  color: #fff !important;
}

.ops-shell .brand h1,
.topbar h2,
.card__head h3 {
  color: var(--apple-text) !important;
}

.ops-shell .brand p,
.topbar p,
.subtle {
  color: var(--apple-muted) !important;
}

.ops-shell .nav a {
  border-radius: 999px !important;
  color: var(--apple-muted) !important;
}

.ops-shell .nav a:hover,
.ops-shell .nav a.active {
  background: rgba(0, 113, 227, .10) !important;
  color: var(--apple-blue) !important;
}

.card,
.ops-stat,
.review-detail-card,
.payment-modal,
.display-players-card {
  border: 1px solid var(--apple-line) !important;
  border-radius: 12px !important;
  background: var(--apple-surface-solid) !important;
  box-shadow: var(--apple-shadow-soft) !important;
}

.ops-stat {
  padding: 16px !important;
}

.ops-stat strong {
  color: var(--apple-text);
}

.ops-stat span {
  color: var(--apple-muted) !important;
}

.ops-stat-badge {
  background: var(--apple-red) !important;
  box-shadow: 0 6px 16px rgba(215, 0, 21, .25) !important;
}

.ops-order-item {
  border-radius: var(--apple-radius) !important;
  border-color: var(--apple-line) !important;
  background: #fff !important;
}

.ops-order-item:hover,
.ops-order-item.active {
  border-color: rgba(0, 113, 227, .35) !important;
  background: #f7fbff !important;
}

.review-material {
  background: #f5f5f7 !important;
  border: 1px solid var(--apple-line) !important;
}

.review-material.multi img,
.review-material img {
  background: #fff !important;
  border-radius: var(--apple-radius) !important;
}

.review-material figcaption {
  color: var(--apple-muted) !important;
}

.review-facts div {
  border-radius: var(--apple-radius) !important;
  border-color: var(--apple-line) !important;
  background: #fff !important;
}

/* H5 */
.rabbit-theme {
  --rabbit-red: var(--apple-blue);
  --rabbit-orange: #4aa3ff;
  --rabbit-text: var(--apple-text);
  --rabbit-muted: var(--apple-muted);
  --rabbit-line: var(--apple-line);
  background: var(--apple-bg) !important;
  color: var(--apple-text) !important;
}

.h5-app {
  background: var(--apple-bg) !important;
}

.rabbit-topbar {
  background: rgba(245, 245, 247, .84) !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.rabbit-brand {
  border-color: rgba(29, 29, 31, .10) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 6px 18px rgba(22, 26, 32, .055) !important;
}

.rabbit-logo {
  color: var(--apple-text) !important;
}

.rabbit-brand-name {
  color: var(--apple-text) !important;
}

.rabbit-search {
  border: 1px solid var(--apple-line) !important;
  background: #fff !important;
  color: var(--apple-muted) !important;
  box-shadow: none !important;
}

.rabbit-banner {
  border-radius: 16px !important;
  background: #000 !important;
  box-shadow: var(--apple-shadow-soft) !important;
}

.rabbit-banner .screen-photo {
  border-radius: 16px !important;
}

.rabbit-banner .screen-slide::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .42)) !important;
}

.rabbit-banner .screen-photo::before,
.rabbit-banner .screen-photo::after {
  display: none !important;
}

.rabbit-panel,
.rabbit-section,
.rabbit-theme .h5-order-form,
.rabbit-theme .h5-order-status,
.rabbit-theme .h5-my-page,
.my-order-board,
.my-tools-card,
.my-service-strip {
  border: 1px solid var(--apple-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--apple-shadow-soft) !important;
}

.rabbit-theme .card-balance {
  border-color: var(--apple-line) !important;
  background: #f5f5f7 !important;
  border-radius: 12px !important;
}

.rabbit-theme .card-balance {
  display: none !important;
}

.rabbit-theme .green-card,
.quick-icon,
.my-tool-item span {
  background: rgba(0, 113, 227, .10) !important;
  color: var(--apple-blue) !important;
  box-shadow: none !important;
}

.rabbit-theme .h5-package,
.my-order-entry {
  border-color: var(--apple-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.my-order-entry.active,
.my-order-entry:active {
  border-color: var(--apple-text) !important;
  background: var(--apple-text) !important;
  color: #fff !important;
}

.my-order-mini-card {
  border-radius: 12px !important;
}

.my-order-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  vertical-align: middle;
}

.my-order-refund {
  min-height: 22px;
  padding: 2px 9px;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--apple-red) !important;
  color: #fff !important;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  box-shadow: none !important;
}

.rabbit-theme .h5-package.active {
  border-color: rgba(0, 113, 227, .48) !important;
  background: #f7fbff !important;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .10) !important;
}

.rabbit-theme .pkg-btn.active,
.rabbit-theme .preview.h5-preview {
  border-color: rgba(0, 113, 227, .36) !important;
  background: #f7fbff !important;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .10) !important;
}

.rabbit-theme .preview__placeholder {
  color: var(--apple-muted) !important;
}

.rabbit-theme .h5-tabs {
  border-top: 1px solid var(--apple-line) !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.rabbit-theme .h5-tabs a,
.rabbit-theme .h5-tabs span {
  color: var(--apple-muted) !important;
}

.rabbit-theme .h5-tabs span {
  background: #f5f5f7 !important;
}

.rabbit-theme .h5-tabs .active,
.rabbit-theme .h5-tabs .active span {
  color: var(--apple-blue) !important;
}

.rabbit-theme .h5-tabs .active span {
  background: rgba(0, 113, 227, .10) !important;
}

.rabbit-theme .pill.warning,
.rabbit-theme .pill.info {
  color: var(--apple-blue) !important;
  background: rgba(0, 113, 227, .10) !important;
}

.rabbit-theme .payment-amount {
  color: var(--apple-blue) !important;
  background: #f7fbff !important;
}

/* Display */
.display-page {
  background: #000 !important;
  color: #fff !important;
}

.display-bar {
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 14px !important;
  background: rgba(20, 20, 22, .62) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.display-bar strong {
  color: #fff !important;
}

.display-bar small {
  color: rgba(255, 255, 255, .72) !important;
}

.display-bar .btn {
  border-color: rgba(255, 255, 255, .20) !important;
  background: rgba(255, 255, 255, .10) !important;
  color: #fff !important;
}

.display-default {
  background: radial-gradient(circle at top, #1d1d1f, #000) !important;
}

@media (max-width: 760px) {
  .pjl-list-shell,
  .playlist-detail-shell {
    border-radius: 0 !important;
  }

  .pjl-dashboard-stage {
    gap: 14px !important;
  }

  .ops-shell .side {
    background: #fff !important;
  }

  .ops-stat {
    border-radius: var(--apple-radius) !important;
  }
}
