/* ════════════════════════════════════════════
   Psychology Booking v1.6.0
   ════════════════════════════════════════════ */

/* ── Variables & Root ── */
#pb-booking-root {
  --c-primary: #2d6e6e;
  --c-hover:   #245858;
  --c-accent:  #e8f4f4;
  --c-border:  #e0d8cc;
  --c-surface: #ffffff;
  --c-text:    #1a1a1a;
  --c-muted:   #999999;
  --c-err:     #e53e3e;
  --c-nowork:  #f5f0eb;
  --r-md:      12px;
  --r-pill:    100px;
  --shadow:    0 2px 12px rgba(0,0,0,.07);
  --t:         170ms ease;
  direction:   rtl !important;
  font-family: 'IRANSansX','IRANSans',Tahoma,Arial,sans-serif !important;
  color:       var(--c-text) !important;
  max-width:   580px !important;
  margin:      0 auto !important;
  line-height: 1.6 !important;
  box-sizing:  border-box !important;
}
#pb-booking-root *,
#pb-booking-root *::before,
#pb-booking-root *::after {
  box-sizing:   border-box !important;
  word-spacing: normal !important;
}

/* ── Section ── */
#pb-booking-root .pb-section {
  margin-bottom: 24px !important;
  padding:       0 !important;
  background:    none !important;
  border:        none !important;
  box-shadow:    none !important;
  position:      relative !important;
}
#pb-booking-root .pb-section-title {
  font-size:   1rem !important;
  font-weight: 700 !important;
  margin:      0 0 12px !important;
  padding:     0 !important;
  text-align:  right !important;
  color:       var(--c-text) !important;
  background:  none !important;
  border:      none !important;
  box-shadow:  none !important;
  line-height: 1.4 !important;
}

/* ── Cards (session type) ── */
#pb-booking-root .pb-cards-grid {
  display:               grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap:                   10px !important;
  margin:                0 !important;
  padding:               0 !important;
}
#pb-booking-root .pb-card {
  display:         flex !important;
  flex-direction:  column !important;
  align-items:     center !important;
  justify-content: center !important;
  gap:             8px !important;
  padding:         18px 10px !important;
  margin:          0 !important;
  background:      var(--c-surface) !important;
  border:          2px solid transparent !important;
  border-radius:   var(--r-md) !important;
  cursor:          pointer !important;
  text-align:      center !important;
  user-select:     none !important;
  box-shadow:      var(--shadow) !important;
  color:           var(--c-text) !important;
  text-decoration: none !important;
  transition:      border-color var(--t), background var(--t), box-shadow var(--t) !important;
}
#pb-booking-root .pb-card input[type="radio"] {
  position: absolute !important;
  opacity:  0 !important;
  width:    0 !important;
  height:   0 !important;
  margin:   0 !important;
}
#pb-booking-root .pb-card-icon {
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  width:           36px !important;
  height:          36px !important;
  flex-shrink:     0 !important;
  margin:          0 !important;
  padding:         0 !important;
  background:      none !important;
  border:          none !important;
}
#pb-booking-root .pb-card-icon img {
  width:       28px !important;
  height:      28px !important;
  object-fit:  contain !important;
  display:     block !important;
  transition:  filter var(--t) !important;
}
#pb-booking-root .pb-card-label {
  font-size:   .83rem !important;
  font-weight: 600 !important;
  color:       var(--c-text) !important;
  margin:      0 !important;
  padding:     0 !important;
}
#pb-booking-root .pb-card.pb-active {
  border-color: var(--c-primary) !important;
  background:   var(--c-accent) !important;
  box-shadow:   0 0 0 1px var(--c-primary), var(--shadow) !important;
}
#pb-booking-root .pb-card.pb-active .pb-card-icon img {
  filter: invert(28%) sepia(55%) saturate(500%) hue-rotate(140deg) brightness(78%) !important;
}
#pb-booking-root .pb-card:hover:not(.pb-active) {
  border-color: var(--c-border) !important;
  box-shadow:   0 4px 16px rgba(0,0,0,.10) !important;
}

/* ── Chips (specialist / radio fields) ── */
#pb-booking-root .pb-chips-wrap {
  display:     flex !important;
  flex-wrap:   wrap !important;
  gap:         8px !important;
  margin:      0 !important;
  padding:     0 !important;
  list-style:  none !important;
  background:  none !important;
  border:      none !important;
}
#pb-booking-root .pb-chip {
  display:         inline-flex !important;
  align-items:     center !important;
  justify-content: center !important;
  padding:         8px 16px !important;
  margin:          0 !important;
  background:      var(--c-surface) !important;
  border:          1.5px solid var(--c-border) !important;
  border-radius:   var(--r-pill) !important;
  font-size:       .82rem !important;
  font-family:     inherit !important;
  color:           var(--c-text) !important;
  cursor:          pointer !important;
  user-select:     none !important;
  white-space:     nowrap !important;
  text-decoration: none !important;
  line-height:     1 !important;
  transition:      border-color var(--t), background var(--t), color var(--t) !important;
}
#pb-booking-root .pb-chip input[type="radio"] {
  position: absolute !important;
  opacity:  0 !important;
  width:    0 !important;
  height:   0 !important;
  margin:   0 !important;
}
#pb-booking-root .pb-chip.pb-active {
  background:  var(--c-primary) !important;
  border-color: var(--c-primary) !important;
  color:        #fff !important;
  box-shadow:   0 2px 8px rgba(45,110,110,.25) !important;
}
#pb-booking-root .pb-chip:hover:not(.pb-active) {
  border-color: var(--c-primary) !important;
  color:        var(--c-primary) !important;
}

/* Specialist chip */
#pb-booking-root .pb-spec-chip { padding: 10px 18px !important; }
#pb-booking-root .pb-chip-name { font-size: .84rem !important; font-weight: 600 !important; }

/* Duration badge */
#pb-booking-root .pb-dur-badge {
  display:         inline-flex !important;
  align-items:     center !important;
  gap:             6px !important;
  margin-top:      12px !important;
  padding:         8px 14px !important;
  background:      var(--c-accent) !important;
  border:          1.5px solid var(--c-primary) !important;
  border-radius:   var(--r-pill) !important;
  font-size:       .85rem !important;
  color:           var(--c-primary) !important;
  font-weight:     600 !important;
}

/* ── Date trigger button ── */
#pb-booking-root .pb-date-trigger {
  display:         flex !important;
  align-items:     center !important;
  gap:             10px !important;
  width:           100% !important;
  padding:         12px 16px !important;
  background:      var(--c-surface) !important;
  border:          1.5px solid var(--c-border) !important;
  border-radius:   var(--r-md) !important;
  cursor:          pointer !important;
  font-family:     inherit !important;
  font-size:       .92rem !important;
  color:           var(--c-text) !important;
  text-align:      right !important;
  direction:       rtl !important;
  box-shadow:      var(--shadow) !important;
  transition:      border-color var(--t), box-shadow var(--t) !important;
}
#pb-booking-root .pb-date-trigger:hover,
#pb-booking-root .pb-date-trigger[aria-expanded="true"] {
  border-color: var(--c-primary) !important;
  box-shadow:   0 0 0 3px rgba(45,110,110,.12) !important;
}
#pb-booking-root .pb-date-trigger-text {
  flex:        1 !important;
  font-weight: 600 !important;
  color:       var(--c-primary) !important;
  text-align:  right !important;
}
#pb-booking-root .pb-date-trigger-arrow {
  color:      var(--c-muted) !important;
  font-size:  .75rem !important;
  transition: transform var(--t) !important;
  flex-shrink: 0 !important;
}
#pb-booking-root .pb-date-trigger[aria-expanded="true"] .pb-date-trigger-arrow {
  transform: rotate(180deg) !important;
}

/* ── Calendar popup ── */
#pb-booking-root .pb-cal-popup {
  display:       none !important;
  position:      absolute !important;
  z-index:       9999 !important;
  top:           calc(100% + 4px) !important;
  right:         0 !important;
  left:          0 !important;
  background:    var(--c-surface) !important;
  border:        1.5px solid var(--c-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow:    0 8px 32px rgba(0,0,0,.14) !important;
  overflow:      hidden !important;
}
#pb-booking-root .pb-cal-popup.pb-cal-open {
  display: block !important;
  animation: pb-slide-down .18s ease !important;
}
@keyframes pb-slide-down {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
#pb-booking-root .pb-cal-popup-inner { padding: 16px !important; }

/* Calendar header */
#pb-booking-root .pb-cal-head {
  display:         flex !important;
  align-items:     center !important;
  justify-content: space-between !important;
  margin-bottom:   12px !important;
  padding:         0 !important;
  background:      none !important;
  border:          none !important;
}
#pb-booking-root .pb-cal-title {
  font-size:   .95rem !important;
  font-weight: 700 !important;
  color:       var(--c-text) !important;
  margin:      0 !important;
}
#pb-booking-root .pb-cal-nav {
  padding:       5px 12px !important;
  background:    var(--c-surface) !important;
  border:        1.5px solid var(--c-border) !important;
  border-radius: var(--r-pill) !important;
  font-family:   inherit !important;
  font-size:     .78rem !important;
  font-weight:   600 !important;
  color:         var(--c-primary) !important;
  cursor:        pointer !important;
  transition:    background var(--t), border-color var(--t) !important;
  line-height:   1.4 !important;
  white-space:   nowrap !important;
}
#pb-booking-root .pb-cal-nav:hover:not(:disabled) {
  background:   var(--c-accent) !important;
  border-color: var(--c-primary) !important;
}
#pb-booking-root .pb-cal-nav:disabled {
  opacity: .35 !important;
  cursor:  not-allowed !important;
}

/* Weekdays row */
#pb-booking-root .pb-cal-weekdays {
  display:               grid !important;
  grid-template-columns: repeat(7,1fr) !important;
  gap:                   3px !important;
  margin-bottom:         6px !important;
  padding:               0 !important;
  background:            none !important;
  border:                none !important;
}
#pb-booking-root .pb-cal-weekdays span {
  text-align:  center !important;
  font-size:   .73rem !important;
  font-weight: 600 !important;
  color:       var(--c-muted) !important;
  padding:     4px 0 !important;
  margin:      0 !important;
}

/* Days grid */
#pb-booking-root .pb-cal-days {
  display:               grid !important;
  grid-template-columns: repeat(7,1fr) !important;
  gap:                   3px !important;
  padding:               0 !important;
  background:            none !important;
  border:                none !important;
}
#pb-booking-root .pb-cal-day {
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  height:          36px !important;
  border:          none !important;
  border-radius:   8px !important;
  background:      none !important;
  font-family:     inherit !important;
  font-size:       .86rem !important;
  color:           var(--c-text) !important;
  cursor:          pointer !important;
  transition:      background var(--t), color var(--t) !important;
  padding:         0 !important;
  margin:          0 !important;
  line-height:     1 !important;
}
#pb-booking-root .pb-cal-day.pb-cal-empty {
  pointer-events: none !important;
  background:     none !important;
}
#pb-booking-root .pb-cal-day:hover:not(:disabled):not(.pb-cal-empty) {
  background: var(--c-accent) !important;
  color:      var(--c-primary) !important;
}
#pb-booking-root .pb-cal-day.pb-cal-today {
  font-weight:  700 !important;
  color:        var(--c-primary) !important;
  border:       1.5px solid var(--c-primary) !important;
}
#pb-booking-root .pb-cal-day.pb-cal-selected {
  background:  var(--c-primary) !important;
  color:       #fff !important;
  font-weight: 700 !important;
}
#pb-booking-root .pb-cal-day.pb-cal-selected:hover {
  background: var(--c-hover) !important;
  color:      #fff !important;
}
/* روزهای گذشته */
#pb-booking-root .pb-cal-day.pb-cal-past {
  color:          var(--c-muted) !important;
  cursor:         not-allowed !important;
  opacity:        .4 !important;
  pointer-events: none !important;
}
/* روزهایی که متخصص برنامه ندارد */
#pb-booking-root .pb-cal-day.pb-cal-nowork {
  background:     var(--c-nowork) !important;
  color:          #bbb !important;
  cursor:         not-allowed !important;
  pointer-events: none !important;
}
/* جمعه */
#pb-booking-root .pb-cal-day.pb-cal-friday { color: #c53030 !important; }
#pb-booking-root .pb-cal-day.pb-cal-friday.pb-cal-selected { color: #fff !important; }
#pb-booking-root .pb-cal-day.pb-cal-friday.pb-cal-nowork   { color: #e0a0a0 !important; }

/* ── Time section ── */
#pb-booking-root .pb-time-section { animation: pb-slide-down .2s ease; }
#pb-booking-root .pb-time-chips .pb-chip {
  flex:      0 0 calc(25% - 6px) !important;
  font-size: .8rem !important;
}
#pb-booking-root .pb-no-slots {
  margin:      8px 0 0 !important;
  padding:     10px 14px !important;
  background:  #fff8e1 !important;
  border:      1.5px solid #ffe082 !important;
  border-radius: var(--r-md) !important;
  font-size:   .85rem !important;
  color:       #795548 !important;
}

/* ── Inputs ── */
#pb-booking-root .pb-input {
  display:           block !important;
  width:             100% !important;
  padding:           13px 16px !important;
  margin:            0 !important;
  background:        var(--c-surface) !important;
  border:            1.5px solid var(--c-border) !important;
  border-radius:     var(--r-md) !important;
  font-family:       inherit !important;
  font-size:         .88rem !important;
  color:             var(--c-text) !important;
  outline:           none !important;
  direction:         rtl !important;
  text-align:        right !important;
  box-shadow:        none !important;
  height:            auto !important;
  line-height:       1.5 !important;
  -webkit-appearance:none !important;
  appearance:        none !important;
  transition:        border-color var(--t), box-shadow var(--t) !important;
}
#pb-booking-root .pb-input::placeholder { color:var(--c-muted) !important; font-size:.84rem !important; direction:rtl !important; opacity:1 !important; }
#pb-booking-root .pb-input:focus { border-color:var(--c-primary) !important; box-shadow:0 0 0 3px rgba(45,110,110,.12) !important; outline:none !important; }
#pb-booking-root .pb-input.pb-err { border-color:var(--c-err) !important; box-shadow:0 0 0 3px rgba(229,62,62,.12) !important; }
#pb-booking-root .pb-textarea { resize:vertical !important; min-height:100px !important; }

/* ── Two col ── */
#pb-booking-root .pb-two-col {
  display:               grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap:                   16px !important;
  align-items:           start !important;
  background:            none !important;
  border:                none !important;
  padding:               0 !important;
  margin:                0 !important;
}
#pb-booking-root .pb-two-col > div { background:none !important; border:none !important; padding:0 !important; margin:0 !important; }

/* ── Age Slider ── */
#pb-booking-root .pb-age-wrap      { direction:rtl !important; background:none !important; border:none !important; padding:0 !important; margin:0 !important; }
#pb-booking-root .pb-age-display   { display:flex !important; align-items:baseline !important; justify-content:center !important; gap:6px !important; margin-bottom:14px !important; background:none !important; border:none !important; padding:0 !important; }
#pb-booking-root .pb-age-display #pb-age-val { font-size:2.2rem !important; font-weight:700 !important; color:var(--c-primary) !important; line-height:1 !important; min-width:3ch !important; text-align:center !important; margin:0 !important; padding:0 !important; }
#pb-booking-root .pb-age-unit      { font-size:.9rem !important; color:var(--c-muted) !important; font-weight:500 !important; margin:0 !important; padding:0 !important; }
#pb-booking-root .pb-track-wrap    { padding:10px 0 !important; background:none !important; border:none !important; margin:0 !important; }
#pb-booking-root .pb-track         { position:relative !important; height:8px !important; background:#e4ddd0 !important; border-radius:var(--r-pill) !important; cursor:pointer !important; direction:rtl !important; border:none !important; margin:0 !important; padding:0 !important; box-shadow:none !important; }
#pb-booking-root .pb-fill          { position:absolute !important; top:0 !important; right:0 !important; left:auto !important; height:100% !important; background:var(--c-primary) !important; border-radius:var(--r-pill) !important; pointer-events:none !important; border:none !important; margin:0 !important; padding:0 !important; }
#pb-booking-root .pb-thumb         { position:absolute !important; top:50% !important; left:auto !important; transform:translateY(-50%) !important; width:28px !important; height:28px !important; background:var(--c-surface) !important; border:3px solid var(--c-primary) !important; border-radius:50% !important; cursor:grab !important; z-index:2 !important; margin:0 !important; padding:0 !important; box-shadow:0 2px 8px rgba(45,110,110,.30) !important; transition:box-shadow var(--t) !important; }
#pb-booking-root .pb-thumb:hover   { box-shadow:0 3px 12px rgba(45,110,110,.45) !important; }
#pb-booking-root .pb-thumb:active  { cursor:grabbing !important; }
#pb-booking-root .pb-thumb:focus   { outline:none !important; box-shadow:0 0 0 4px rgba(45,110,110,.20),0 3px 12px rgba(45,110,110,.35) !important; }
#pb-booking-root .pb-age-marks     { display:flex !important; justify-content:space-between !important; margin-top:8px !important; padding:0 !important; font-size:.75rem !important; color:var(--c-muted) !important; direction:rtl !important; background:none !important; border:none !important; list-style:none !important; }
#pb-booking-root .pb-age-marks span { margin:0 !important; padding:0 !important; }

/* ── Messages ── */
#pb-booking-root #pb-msg { display:none; }
#pb-booking-root .pb-msg-box { display:block !important; padding:14px 18px !important; border-radius:var(--r-md) !important; font-size:.88rem !important; font-weight:500 !important; margin-bottom:16px !important; margin-top:0 !important; }
#pb-booking-root .pb-msg-ok  { background:#e6f4ea !important; color:#276749 !important; border:1.5px solid #b7e4c7 !important; }
#pb-booking-root .pb-msg-err { background:#fff5f5 !important; color:#c53030 !important; border:1.5px solid #fed7d7 !important; }

/* ── Submit ── */
#pb-booking-root .pb-submit-btn {
  display:            flex !important;
  align-items:        center !important;
  justify-content:    center !important;
  gap:                10px !important;
  width:              100% !important;
  padding:            16px 24px !important;
  margin:             0 !important;
  background:         var(--c-primary) !important;
  color:              #fff !important;
  border:             none !important;
  border-radius:      var(--r-md) !important;
  font-family:        inherit !important;
  font-size:          1rem !important;
  font-weight:        700 !important;
  cursor:             pointer !important;
  text-decoration:    none !important;
  line-height:        1.5 !important;
  height:             auto !important;
  box-shadow:         0 4px 16px rgba(45,110,110,.30) !important;
  -webkit-appearance: none !important;
  appearance:         none !important;
  transition:         background var(--t), transform var(--t), box-shadow var(--t) !important;
}
#pb-booking-root .pb-submit-btn:hover    { background:var(--c-hover) !important; box-shadow:0 6px 20px rgba(45,110,110,.40) !important; color:#fff !important; }
#pb-booking-root .pb-submit-btn:active   { transform:scale(.98) !important; }
#pb-booking-root .pb-submit-btn:disabled { opacity:.65 !important; cursor:not-allowed !important; transform:none !important; }
#pb-booking-root .pb-spin { display:none !important; width:18px !important; height:18px !important; min-width:18px !important; border:2.5px solid rgba(255,255,255,.4) !important; border-top-color:#fff !important; border-radius:50% !important; flex-shrink:0 !important; margin:0 !important; padding:0 !important; background:none !important; }
#pb-booking-root .pb-submit-btn.pb-loading .pb-spin { display:block !important; animation:pb-spin 600ms linear infinite !important; }
@keyframes pb-spin { to { transform: rotate(360deg); } }

/* ══ Responsive ════════════════════════════════ */
@media (max-width: 600px) {
  #pb-booking-root .pb-cards-grid          { grid-template-columns: repeat(3,1fr) !important; gap:7px !important; }
  #pb-booking-root .pb-card               { padding:12px 6px !important; gap:6px !important; }
  #pb-booking-root .pb-card-icon          { width:28px !important; height:28px !important; }
  #pb-booking-root .pb-card-icon img      { width:22px !important; height:22px !important; }
  #pb-booking-root .pb-card-label         { font-size:.72rem !important; }
  #pb-booking-root .pb-time-chips .pb-chip { flex:0 0 calc(33.333% - 6px) !important; }
  #pb-booking-root .pb-two-col            { grid-template-columns:1fr !important; gap:20px !important; }
  #pb-booking-root .pb-age-display #pb-age-val { font-size:1.8rem !important; }
  #pb-booking-root .pb-cal-day            { height:32px !important; font-size:.78rem !important; }
  #pb-booking-root .pb-cal-nav            { font-size:.72rem !important; padding:4px 10px !important; }
}
@media (max-width: 380px) {
  #pb-booking-root .pb-cards-grid          { grid-template-columns: 1fr 1fr !important; }
  #pb-booking-root .pb-time-chips .pb-chip { flex:0 0 calc(50% - 4px) !important; }
}

/* ══ ADMIN ══════════════════════════════════════ */
.pba-wrap {
  direction:   rtl;
  font-family: 'IRANSansX','IRANSans',Tahoma,Arial,sans-serif;
}
.pba-tab-body   { background:#fff; border:1px solid #c3c4c7; border-top:none; padding:24px; }
.pba-toolbar    { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:16px; }
.pba-search     { display:flex; gap:6px; align-items:center; }
.pba-search input[type="search"] { width:260px; }
.pba-card       { background:#fff; border:1px solid #e2e4e7; border-radius:6px; padding:20px 24px; margin-bottom:20px; }
.pba-card-title { font-size:14px; font-weight:600; color:#1d2327; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid #f0f0f1; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pba-card-title .dashicons { color:#2d6e6e; font-size:18px; width:18px; height:18px; }
.pba-card-title small { font-weight:400; font-size:12px; color:#888; }
.pba-sortable   { min-height:40px; }

/* ── Specialist row ── */
.pba-spec-row   { flex-direction:column !important; align-items:stretch !important; padding:0 !important; background:#f9f9f9; border:1px solid #e2e4e7; border-radius:4px; margin-bottom:8px; overflow:hidden; }
.pba-spec-head  { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 12px; }
.pba-spec-body  { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px; border-top:1px solid #ebebeb; background:#fff; }
.pba-spec-label { font-size:12px; font-weight:600; color:#444; display:block; margin-bottom:6px; }

/* Days checkboxes */
.pba-days-wrap  { display:flex; flex-wrap:wrap; gap:6px; }
.pba-day-cb     { display:inline-flex; align-items:center; gap:4px; font-size:12px; cursor:pointer; background:#f0f0f0; border:1px solid #ddd; border-radius:4px; padding:4px 8px; transition:background 150ms,border-color 150ms; user-select:none; }
.pba-day-cb input[type="checkbox"] { margin:0; }
.pba-day-cb:has(input:checked) { background:#e8f4f4; border-color:#2d6e6e; color:#2d6e6e; font-weight:600; }

/* Slots textarea */
.pba-slots-ta   { font-family:monospace !important; font-size:12px !important; direction:ltr !important; text-align:left !important; }

/* ── Generic rows ── */
.pba-row        { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#f9f9f9; border:1px solid #e2e4e7; border-radius:4px; margin-bottom:6px; flex-wrap:wrap; }
.pba-field-row  { flex-direction:column; align-items:stretch; }
.pba-field-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; width:100%; }
.pba-field-body { width:100%; padding-top:10px; }
.pba-field-grid { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; }
.pba-handle     { cursor:grab; color:#aaa; flex-shrink:0; }
.pba-handle:active { cursor:grabbing; }
.pba-toggle     { display:flex; align-items:center; gap:4px; font-size:12px; color:#555; cursor:pointer; white-space:nowrap; flex-shrink:0; }
.pba-badge      { background:#2d6e6e; color:#fff; font-size:10px; padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; }
.pba-key-label  { font-size:11px; color:#888; font-family:monospace; background:#f0f0f0; padding:2px 6px; border-radius:3px; }
.pba-dur-label  { font-size:12px; color:#555; display:flex; align-items:center; gap:6px; white-space:nowrap; }
.pba-meta       { display:flex; flex-direction:column; gap:4px; }
.pba-meta label { font-size:11px; color:#666; }
.pba-meta-check { justify-content:flex-end; padding-bottom:4px; }
.pba-meta-check label { display:flex; align-items:center; gap:4px; cursor:pointer; }
.pba-opts       { margin-top:10px; }
.pba-opts label { font-size:11px; color:#666; display:block; margin-bottom:4px; }
.pba-opts textarea { width:100%; resize:vertical; }
.pba-icon-preview { width:32px; height:32px; object-fit:contain; border-radius:4px; flex-shrink:0; background:#f5f5f5; padding:3px; display:inline-block; }
.pba-icon-empty   { display:inline-block; width:32px; height:32px; background:#f5f5f5; border:1px dashed #ccc; border-radius:4px; flex-shrink:0; }
.pba-inp { border:1px solid #d0d5dd !important; border-radius:4px !important; padding:5px 8px !important; font-size:13px !important; font-family:inherit !important; background:#fff !important; color:#1d2327 !important; outline:none !important; line-height:1.4 !important; }
.pba-inp:focus { border-color:#2d6e6e !important; box-shadow:0 0 0 2px rgba(45,110,110,.12) !important; }
.pba-grow { flex:1 1 auto; min-width:120px; }
.pba-del  { color:#cc1818 !important; font-size:14px !important; background:none !important; border:none !important; padding:2px 4px !important; cursor:pointer; flex-shrink:0; opacity:.65; transition:opacity 150ms; line-height:1 !important; box-shadow:none !important; }
.pba-del:hover { opacity:1 !important; }
.pba-wrap .wp-list-table th,
.pba-wrap .wp-list-table td { text-align:right !important; }

@media (max-width:782px) {
  .pba-spec-body  { grid-template-columns:1fr; }
  .pba-field-grid { grid-template-columns:1fr; }
  .pba-tab-body   { padding:16px; }
  .pba-card       { padding:16px; }
  .pba-search input[type="search"] { width:180px; }
}