/* ═══════════════════════════════════════════════════════════════════
   CALENDAR TAB — HOME/INPUT PREMIUM THEME
   Warm white + gold/midnight — shadows, polish, rounded corners.
   Matches nexora-theme05 (Home) and dinput-redesign (Input).
   Loads last; adds premium visual polish without changing layout.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Theme variables ── */
#tp-calendar {
  --cal-navy: #0F1B2E !important;
  --cal-navy-2: #0A1423 !important;
  --cal-gold: #24B47E !important;
  --cal-gold-2: #1EA372 !important;
  --cal-ink: #1A1D21 !important;
  --cal-muted: #6B7580 !important;
  --cal-line: rgba(15, 27, 46, .14) !important;
  --cal-soft: #F3E9DA !important;
  --cal-white: #FFFDF8 !important;
  background: var(--cal-soft) !important;
  color: var(--cal-ink) !important;
}

/* ── Shell ── */
#tp-calendar .pcal-editor,
#tp-calendar .pcal-list-col {
  box-shadow: 0 12px 34px rgba(15, 27, 46, .07) !important;
  background: var(--cal-white) !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-editor {
  border-radius: 16px !important;
}

#tp-calendar .pcal-list-col {
  border-radius: 14px !important;
}

/* ── Sidebar ── */
#tp-calendar .pcal-list-hdr {
  background: transparent !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-list-hdr > span {
  color: var(--cal-navy) !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
}

#tp-calendar .pcal-list-hdr .pcal-new-btn {
  background: var(--cal-gold) !important;
  border-color: var(--cal-gold) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 12px rgba(36, 180, 126, .28) !important;
  transition: all .18s ease !important;
}

#tp-calendar .pcal-list-hdr .pcal-new-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(36, 180, 126, .35) !important;
}

#tp-calendar .pcal-item {
  background: rgba(15, 27, 46, .03) !important;
  border-color: transparent !important;
  border-radius: 10px !important;
  transition: all .16s ease !important;
}

#tp-calendar .pcal-item:hover {
  background: rgba(15, 27, 46, .05) !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-item.active {
  background: rgba(36, 180, 126, .07) !important;
  border-color: var(--cal-gold) !important;
}

#tp-calendar .pcal-item-ico {
  background: rgba(36, 180, 126, .1) !important;
  border-color: rgba(36, 180, 126, .2) !important;
  color: var(--cal-gold) !important;
  border-radius: 9px !important;
  transition: all .16s ease !important;
}

#tp-calendar .pcal-item.active .pcal-item-ico {
  background: var(--cal-gold) !important;
  border-color: var(--cal-gold) !important;
  color: #fff !important;
}

#tp-calendar .pcal-item-name {
  color: var(--cal-navy) !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-item-meta {
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
}

#tp-calendar .pcal-item-badge {
  font-weight: 850 !important;
  border-radius: 999px !important;
}

#tp-calendar .pcal-item-badge.default {
  background: rgba(36, 180, 126, .12) !important;
  color: var(--cal-gold-2) !important;
  border-color: rgba(36, 180, 126, .25) !important;
}

#tp-calendar .pcal-item-badge.custom {
  background: rgba(15, 27, 46, .06) !important;
  color: var(--cal-muted) !important;
  border-color: var(--cal-line) !important;
}

/* ── Editor header ── */
#tp-calendar .pcal-editor-hdr {
  background: var(--cal-white) !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-name-inp {
  color: var(--cal-navy) !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
}

#tp-calendar .pcal-editor-meta {
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
}

/* ── Global buttons — gold gradient + shadow + hover lift ── */
#tp-calendar .hbtn.primary,
#tp-calendar .pcal-save-btn,
#tp-calendar .pcal-add-manual-btn,
#tp-calendar .pcal-add-years-btn,
#tp-calendar .pcal-open-planner-btn {
  background: linear-gradient(160deg, var(--cal-gold), var(--cal-gold-2)) !important;
  border-color: var(--cal-gold-2) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(36, 180, 126, .28) !important;
  transition: all .18s ease !important;
}

#tp-calendar .hbtn.primary:hover,
#tp-calendar .pcal-save-btn:hover,
#tp-calendar .pcal-add-manual-btn:hover,
#tp-calendar .pcal-add-years-btn:hover,
#tp-calendar .pcal-open-planner-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(36, 180, 126, .38) !important;
  filter: brightness(1.04);
}

#tp-calendar .hbtn,
#tp-calendar .pcal-preset,
#tp-calendar .pcal-nav-sm {
  border-radius: 8px !important;
  border-color: var(--cal-line) !important;
  background: var(--cal-white) !important;
  color: var(--cal-ink) !important;
  font-weight: 700 !important;
  transition: all .15s ease !important;
}

#tp-calendar .hbtn:hover {
  border-color: #C5C9CE !important;
  background: rgba(15, 27, 46, .04) !important;
}

#tp-calendar .pcal-preset.applied {
  background: linear-gradient(160deg, var(--cal-gold), var(--cal-gold-2)) !important;
  border-color: var(--cal-gold-2) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(36, 180, 126, .2) !important;
}

/* ── Section headers ── */
#tp-calendar .pcal-section-title {
  background: var(--cal-navy) !important;
  border-bottom-color: rgba(36, 180, 126, .4) !important;
  color: #fffdf8 !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  transition: background .2s ease;
}

#tp-calendar .pcal-section-title:hover {
  background: #15243D !important;
}

#tp-calendar .pcal-section-title .tbadge {
  background: rgba(36, 180, 126, .18) !important;
  border-color: rgba(36, 180, 126, .4) !important;
  color: #c8f0d0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-section-title .hbtn {
  background: rgba(255, 255, 255, .15) !important;
  border-color: rgba(255, 255, 255, .2) !important;
  color: #fffdf8 !important;
  border-radius: 7px !important;
}

#tp-calendar .pcal-section-title .hbtn:hover {
  background: rgba(255, 255, 255, .25) !important;
}

/* ── Stats strip ── */
#tp-calendar .pcal-stats-strip {
  background: var(--cal-white) !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-stat-card {
  border-color: var(--cal-line) !important;
  transition: background .15s ease;
}

#tp-calendar .pcal-stat-card:hover {
  background: rgba(15, 27, 46, .02) !important;
}

#tp-calendar .pcal-stat-icon {
  background: rgba(36, 180, 126, .08) !important;
  border-color: rgba(36, 180, 126, .18) !important;
  color: var(--cal-gold) !important;
  border-radius: 50% !important;
  width: 38px !important;
  height: 38px !important;
  transition: all .2s ease;
}

#tp-calendar .pcal-stat-card:hover .pcal-stat-icon {
  background: rgba(36, 180, 126, .14) !important;
  transform: scale(1.05);
}

#tp-calendar .pcal-sum-val {
  color: var(--cal-navy) !important;
  font-weight: 850 !important;
  letter-spacing: -.03em;
}

#tp-calendar .pcal-sum-lbl {
  color: var(--cal-muted) !important;
  font-weight: 750 !important;
}

/* ── Day buttons ── */
#tp-calendar .pcal-day-btn {
  border-color: #D9DCE1 !important;
  background: #F8FAFB !important;
  color: var(--cal-muted) !important;
  border-radius: 9px !important;
  font-weight: 800 !important;
  transition: all .18s ease !important;
}

#tp-calendar .pcal-day-btn:hover {
  border-color: #C5C9CE !important;
  background: #F0F2F4 !important;
  color: var(--cal-ink) !important;
}

#tp-calendar .pcal-day-btn.on {
  background: linear-gradient(160deg, var(--cal-gold), var(--cal-gold-2)) !important;
  border-color: var(--cal-gold-2) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(36, 180, 126, .22) !important;
}

#tp-calendar .pcal-day-btn.weekend-day.on {
  background: linear-gradient(160deg, #B45309, #92400E) !important;
  border-color: #92400E !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(180, 83, 9, .22) !important;
}

/* ── Inputs — polished (matches Input tab style) ── */
#tp-calendar .inp,
#tp-calendar input:not(.pcal-name-inp),
#tp-calendar select {
  border-color: #D9DCE1 !important;
  background: #F8FAFB !important;
  color: var(--cal-ink) !important;
  border-radius: 9px !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

#tp-calendar .inp:hover,
#tp-calendar input:not(.pcal-name-inp):hover,
#tp-calendar select:hover {
  border-color: #C5C9CE !important;
  background: #fff !important;
}

#tp-calendar .inp:focus,
#tp-calendar input:not(.pcal-name-inp):focus,
#tp-calendar select:focus {
  border-color: var(--cal-gold) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(36, 180, 126, .1) !important;
}

#tp-calendar .pcal-days-label,
#tp-calendar .pcal-field-label,
#tp-calendar label,
#tp-calendar .lbl,
#tp-calendar .pcal-preset-label {
  color: var(--cal-navy) !important;
  font-weight: 800 !important;
}

/* ── Holiday presets / manual — soft warm bg ── */
#tp-calendar .pcal-holiday-manual,
#tp-calendar .pcal-holiday-presets,
#tp-calendar .pcal-override-form {
  background: var(--cal-soft) !important;
  border-color: var(--cal-line) !important;
  border-radius: 12px !important;
}

/* ── Exception items ── */
#tp-calendar .pcal-exc-item {
  background: rgba(245, 158, 11, .05) !important;
  border-color: rgba(245, 158, 11, .18) !important;
  border-radius: 9px !important;
}

#tp-calendar .pcal-exc-date {
  color: #B45309 !important;
  font-weight: 750 !important;
}

#tp-calendar .pcal-exc-desc {
  color: var(--cal-ink) !important;
}

/* ── Month cards ── */
#tp-calendar .pcal-month-card {
  box-shadow: 0 2px 10px rgba(15, 27, 46, .045) !important;
  border-color: var(--cal-line) !important;
  border-radius: 10px !important;
  background: var(--cal-white) !important;
  transition: box-shadow .2s ease;
}

#tp-calendar .pcal-month-card:hover {
  box-shadow: 0 6px 18px rgba(15, 27, 46, .07) !important;
}

#tp-calendar .pcal-month-card-hdr {
  background: var(--cal-soft) !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-month-card-hdr .mhdr-name {
  color: var(--cal-navy) !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-month-card-hdr .mhdr-stats {
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
}

#tp-calendar .pcal-month-dow span {
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
}

#tp-calendar .pcal-mday.work {
  background: rgba(36, 180, 126, .08) !important;
  color: var(--cal-gold-2) !important;
  font-weight: 600;
}

#tp-calendar .pcal-mday.off {
  background: rgba(15, 27, 46, .04) !important;
  color: var(--cal-muted) !important;
}

#tp-calendar .pcal-mday.holiday {
  background: rgba(245, 158, 11, .12) !important;
  color: #B45309 !important;
  font-weight: 700 !important;
}

#tp-calendar .pcal-mday.today-d,
#tp-calendar .pcal-mday.today {
  background: rgba(36, 180, 126, .15) !important;
  color: var(--cal-navy) !important;
  font-weight: 800 !important;
  outline: 2px solid rgba(36, 180, 126, .4) !important;
  border-radius: 50% !important;
}

#tp-calendar .pcal-legend {
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-leg-item {
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
}

/* ── Premium Data Panel (injected by 153-calendar-premium-ui.js) ── */
#tp-calendar .pcal-prem-data {
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-prem-head {
  background: var(--cal-white) !important;
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-prem-kicker {
  color: var(--cal-gold) !important;
  font-weight: 850 !important;
  letter-spacing: .1em !important;
}

#tp-calendar .pcal-prem-title {
  color: var(--cal-navy) !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
}

#tp-calendar .pcal-prem-desc {
  color: var(--cal-muted) !important;
}

#tp-calendar .pcal-prem-chip {
  background: var(--cal-soft) !important;
  border-color: var(--cal-line) !important;
  color: var(--cal-muted) !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-prem-layout {
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-prem-label {
  color: var(--cal-muted) !important;
  font-weight: 850 !important;
  letter-spacing: .06em !important;
}

#tp-calendar .pcal-prem-value {
  color: var(--tone, var(--cal-navy)) !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-prem-week-wrap,
#tp-calendar .pcal-prem-holiday-strip,
#tp-calendar .pcal-prem-side {
  background: var(--cal-soft) !important;
  border-color: var(--cal-line) !important;
  border-radius: 10px !important;
}

#tp-calendar .pcal-prem-day {
  border-color: var(--cal-line) !important;
  background: var(--cal-white) !important;
  color: var(--cal-muted) !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-prem-day.on {
  background: linear-gradient(160deg, var(--cal-gold), var(--cal-gold-2)) !important;
  border-color: var(--cal-gold-2) !important;
  color: #fff !important;
}

#tp-calendar .pcal-prem-holiday {
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-prem-holiday b {
  color: var(--cal-gold-2) !important;
}

#tp-calendar .pcal-prem-rail-row {
  border-color: var(--cal-line) !important;
}

#tp-calendar .pcal-prem-rail-row b {
  color: var(--tone, var(--cal-navy)) !important;
}

#tp-calendar .pcal-prem-metric {
  border-color: var(--cal-line) !important;
  background: var(--cal-white) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(15, 27, 46, .04) !important;
}

/* ── Sync bar ── */
#tp-calendar .pcal-sync-bar {
  background: rgba(36, 180, 126, .06) !important;
  border-color: rgba(36, 180, 126, .15) !important;
  color: var(--cal-gold-2) !important;
}

/* ── Delete buttons ── */
#tp-calendar .pcal-delete-btn,
#tp-calendar .pcal-clear-btn,
#tp-calendar .pcal-del-all-btn {
  background: rgba(220, 38, 38, .04) !important;
  border-color: rgba(220, 38, 38, .25) !important;
  color: #DC2626 !important;
  border-radius: 8px !important;
}

#tp-calendar .pcal-delete-btn:hover,
#tp-calendar .pcal-clear-btn:hover,
#tp-calendar .pcal-del-all-btn:hover {
  background: rgba(220, 38, 38, .08) !important;
  border-color: rgba(220, 38, 38, .45) !important;
}

#tp-calendar .pcal-exc-del {
  border-color: rgba(220, 38, 38, .2) !important;
  color: #DC2626 !important;
  border-radius: 6px !important;
}

/* ── Override items ── */
#tp-calendar .pcal-act-ov-item {
  background: rgba(15, 27, 46, .03) !important;
  border-color: var(--cal-line) !important;
  border-radius: 9px !important;
}

#tp-calendar .pcal-act-ov-ico {
  background: rgba(36, 180, 126, .1) !important;
  color: var(--cal-gold) !important;
  border-radius: 7px !important;
}

#tp-calendar .pcal-act-ov-name {
  color: var(--cal-navy) !important;
}

#tp-calendar .pcal-act-ov-meta {
  color: var(--cal-muted) !important;
}

#tp-calendar .pcal-override-details summary {
  color: var(--cal-navy) !important;
  font-weight: 700 !important;
}

/* ── Chips ── */
#tp-calendar .pcal-year-chip {
  border-color: rgba(36, 180, 126, .25) !important;
  background: rgba(36, 180, 126, .06) !important;
  color: var(--cal-gold-2) !important;
  border-radius: 999px !important;
}

#tp-calendar .pcal-applied-years-label {
  color: var(--cal-muted) !important;
}

/* ── Ghost icon ── */
#tp-calendar .pcal-ghost-icon {
  color: var(--cal-muted) !important;
}

/* ── Presets row ── */
#tp-calendar .pcal-presets-row {
  background: transparent !important;
  border: 0 !important;
}

#tp-calendar .pcal-preset {
  border-radius: 999px !important;
}

/* ── Islamic buttons ── */
#tp-calendar .pcal-islamic-btn {
  border-radius: 999px !important;
  border-color: #D9DCE1 !important;
  background: var(--cal-white) !important;
  color: var(--cal-ink) !important;
  transition: all .14s ease !important;
}

#tp-calendar .pcal-islamic-btn:hover {
  border-color: #C5C9CE !important;
  background: #F0F2F4 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE: ≤640px
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  #tp-calendar .pcal-section {
    border-bottom-color: var(--cal-soft) !important;
  }

  #tp-calendar [data-section] .pcal-section-title {
    background: var(--cal-navy) !important;
    border-bottom-color: rgba(36, 180, 126, .4) !important;
    color: #fffdf8 !important;
  }

  #tp-calendar [data-section] .pcal-acc-summary {
    color: rgba(255, 255, 255, .6) !important;
  }

  #tp-calendar [data-section] .pcal-acc-arrow {
    color: rgba(255, 255, 255, .6) !important;
  }

  #tp-calendar [data-section] .pcal-day-btn.on {
    background: linear-gradient(160deg, var(--cal-gold), var(--cal-gold-2)) !important;
    border-color: var(--cal-gold-2) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(36, 180, 126, .22) !important;
  }

  #tp-calendar [data-section] .pcal-holiday-manual,
  #tp-calendar [data-section] .pcal-holiday-presets,
  #tp-calendar [data-section] .pcal-override-form {
    background: var(--cal-soft) !important;
    border-color: var(--cal-line) !important;
    border-radius: 10px !important;
  }

  #tp-calendar [data-section] .pcal-exc-item {
    background: rgba(245, 158, 11, .05) !important;
    border-color: rgba(245, 158, 11, .18) !important;
  }

  #tp-calendar [data-section] .pcal-month-card-hdr {
    background: var(--cal-soft) !important;
    border-color: var(--cal-line) !important;
  }

  #tp-calendar [data-section] .pcal-month-card {
    box-shadow: 0 1px 6px rgba(15, 27, 46, .04) !important;
  }
}
