.dtarot-wrap,
#dtarot-content-panel,
#dtarot-settings-panel{
  --dtarot-admin-ink: #2f241b;
  --dtarot-admin-muted: #6d5a4a;
  --dtarot-admin-line: #e8d9c7;
  --dtarot-admin-line-strong: #d8c1a5;
  --dtarot-admin-panel: #fffdfa;
  --dtarot-admin-panel-soft: #faf3ea;
  --dtarot-admin-accent: #8c5c2d;
  --dtarot-admin-accent-strong: #6d431e;
  --dtarot-admin-success-soft: #eef8f0;
  --dtarot-admin-shadow: 0 18px 40px rgba(31, 22, 16, 0.08);
}

.dtarot-wrap .dtarot-card {
  background: linear-gradient(180deg, #fffdfa 0%, #fdf8f2 100%);
  border:1px solid var(--dtarot-admin-line);
  border-radius:16px;
  box-shadow: var(--dtarot-admin-shadow);
  padding:16px;
  margin:14px 0;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.dtarot-wrap .dtarot-card:hover{
  border-color: var(--dtarot-admin-line-strong);
  box-shadow: 0 24px 50px rgba(31, 22, 16, 0.1);
}

.dtarot-wrap .button,
.dtarot-wrap .button:visited{
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(140,92,45,.16);
  background: rgba(255,255,255,.82);
  color: var(--dtarot-admin-ink);
  box-shadow: 0 8px 18px rgba(31,22,16,.05);
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 140ms ease;
}

.dtarot-wrap .button:hover,
.dtarot-wrap .button:focus{
  background:#fff;
  border-color: var(--dtarot-admin-line-strong);
  box-shadow: 0 12px 24px rgba(31,22,16,.08);
  outline:none;
  transform: translateY(-1px);
}

.dtarot-wrap .button.button-primary,
.dtarot-wrap .button.button-primary:visited{
  color:#fff;
  border-color: transparent;
  background: linear-gradient(135deg, #4060f1 0%, #2749d8 100%);
  box-shadow: 0 10px 24px rgba(45,100,241,.22);
}

.dtarot-wrap .button.button-primary:hover,
.dtarot-wrap .button.button-primary:focus{
  background: linear-gradient(135deg, #3556ec 0%, #2141ca 100%);
  box-shadow: 0 14px 28px rgba(45,100,241,.28);
}

.dtarot-wrap .button.button-secondary,
.dtarot-wrap .button.button-secondary:visited{
  background: linear-gradient(180deg, #fffefc 0%, #f8f1e8 100%);
}

/* Content tabs */
.dtarot-wrap .nav-tab-wrapper{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom: 10px;
  border-bottom-color: var(--dtarot-admin-line);
}

#dtarot-content-panel.dtarot-loading {
  opacity: 0.65;
  pointer-events: none;
  position: relative;
}

#dtarot-settings-panel.dtarot-loading {
  opacity: 0.65;
  pointer-events: none;
  position: relative;
}

#dtarot-content-panel.dtarot-loading::after,
#dtarot-settings-panel.dtarot-loading::after{
  content:'';
  position:absolute;
  top:18px;
  right:18px;
  width:20px;
  height:20px;
  border-radius:50%;
  border:2px solid rgba(140,92,45,.18);
  border-top-color: var(--dtarot-admin-accent);
  animation: dtarot-spin 0.8s linear infinite;
}

.dtarot-wrap .nav-tab{
  border-radius:12px 12px 0 0;
  border-color: var(--dtarot-admin-line);
  background: #fff8ef;
  color: var(--dtarot-admin-muted);
}

.dtarot-wrap .nav-tab.nav-tab-active{
  background: #fffdf9;
  color: var(--dtarot-admin-ink);
  border-bottom-color: #fffdf9;
}

/* Meaning pack editor (inline fields) */
.post-type-dt_meaning_pack #titlediv{
  display:none;
}

.dtarot-meaning-pack-topbar{
  display:flex;
  gap:10px;
  align-items:center;
  margin: 12px 0;
}

.dtarot-meaning-pack-topbar .dtarot-pack-switch select{
  min-width: 260px;
}

.dtarot-meaning-editors{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin: 10px 0 14px;
}

.dtarot-meaning-editor-label{
  font-weight:600;
  margin-bottom:6px;
}

.dtarot-meaning-optional{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top: 12px;
}

.dtarot-inline-toggle{
  width:100%;
  text-align:left;
  border:1px solid #dcdcde;
  background:#f6f7f7;
  border-radius:10px;
  padding:10px 12px;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dtarot-inline-toggle:hover{
  background:#fff;
}

.dtarot-inline-label{
  font-weight:600;
  flex: 0 0 auto;
}

.dtarot-inline-preview{
  color:#646970;
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dtarot-inline-body{
  margin-top:8px;
  border-left:3px solid var(--wp-admin-theme-color, #2271b1);
  padding-left:12px;
}

.dtarot-meaning-table .dtarot-meaning-row{
  cursor:pointer;
}

.dtarot-meaning-table .dtarot-meaning-row .dtarot-meaning-edit-btn{
  cursor:pointer;
}

/* Meaning pack list progress bar */
.dtarot-pack-progressbar{
  height:10px;
  border-radius:999px;
  background:#dcdcde;
  overflow:hidden;
  position:relative;
  max-width: 280px;
}

.dtarot-pack-progressbar-fill{
  height:100%;
  background: var(--wp-admin-theme-color, #2271b1);
  width:0;
}

.dtarot-pack-progressbar-meta{
  margin-top:6px;
  color:#646970;
  font-size:12px;
}

/* Dashboard */
.dtarot-dashboard-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin: 10px 0 14px;
  padding: 22px 24px;
  border-radius: 22px;
  border: 1px solid var(--dtarot-admin-line);
  background: linear-gradient(135deg, #fff8ef 0%, #f7eddf 52%, #f2f6ff 100%);
  box-shadow: var(--dtarot-admin-shadow);
}

.dtarot-dashboard-hero-copy{
  min-width: 0;
  flex: 1 1 auto;
  text-align: center;
}

.dtarot-dashboard-kicker{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(140,92,45,.14);
  color:var(--dtarot-admin-accent-strong);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.dtarot-dashboard-hero-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.dtarot-dashboard-hero-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  color:var(--dtarot-admin-ink);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(140,92,45,.14);
  box-shadow: 0 8px 18px rgba(31,22,16,.06);
}

.dtarot-dashboard-hero-link:hover{
  border-color: var(--dtarot-admin-line-strong);
  box-shadow: 0 12px 26px rgba(31,22,16,.09);
}

.dtarot-dashboard-hero-link.is-primary{
  color:#fff;
  background: linear-gradient(135deg, #4060f1 0%, #2749d8 100%);
  border-color: transparent;
}

.dtarot-dashboard-title{
  margin:0;
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--dtarot-admin-ink);
}

.dtarot-dashboard-subtitle{
  margin: 6px 0 0;
  color: var(--dtarot-admin-muted);
  max-width: 62ch;
  margin-left:auto;
  margin-right:auto;
}

.dtarot-dashboard-hero-new{
  padding: 6px 0 2px;
}

.dtarot-onboard-card .dtarot-actions .button-link{
  background: none;
  border: none;
  color: #6b5b4b;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}

.dtarot-onboard-checklist{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.dtarot-onboard-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid #e6d8c7;
  background:#fffdf9;
}

.dtarot-onboard-item.is-done{
  background:var(--dtarot-admin-success-soft);
  border-color:#c6e3d0;
}

.dtarot-onboard-dot{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#f4e5d2;
  color:#6b5b4b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
}

.dtarot-onboard-item.is-done .dtarot-onboard-dot{
  background:#cfe9d7;
  color:#1f5b34;
}

.dtarot-onboard-text{
  flex:1 1 auto;
}

.dtarot-onboard-link{
  font-size:12px;
  text-decoration:none;
}

.dtarot-onboard-meta{
  font-size:12px;
  color:#6b5b4b;
}

.dtarot-onboard-tour-overlay{
  position:fixed;
  inset:0;
  background:rgba(20,18,16,0.45);
  z-index: 99998;
  opacity:0;
  pointer-events:none;
  transition: opacity 120ms ease;
}

.dtarot-onboard-tour-overlay.is-active{
  opacity:1;
  pointer-events:auto;
}

.dtarot-onboard-tour{
  position:fixed;
  z-index: 99999;
  width: min(360px, 90vw);
  background:#fff;
  border-radius:12px;
  border:1px solid #e6d8c7;
  box-shadow: 0 18px 40px rgba(0,0,0,.2);
  padding:14px 16px;
  opacity:0;
  pointer-events:none;
  transition: opacity 120ms ease;
}

.dtarot-onboard-tour.is-active{
  opacity:1;
  pointer-events:auto;
}

.dtarot-onboard-tour-title{
  font-weight:600;
  margin-bottom:6px;
  color:#3a2f26;
}

.dtarot-onboard-tour-text{
  font-size:13px;
  color:#5b4a3a;
  margin-bottom:10px;
}

.dtarot-onboard-tour-actions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.dtarot-onboard-highlight{
  position:relative;
  z-index: 99997;
  box-shadow: 0 0 0 3px rgba(214,180,129,0.8);
  border-radius:12px;
}

.dtarot-dashboard-layout{
  display:grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
  gap:18px;
  margin-top:16px;
}

.dtarot-dashboard-left,
.dtarot-dashboard-right{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.dtarot-card-header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.dtarot-card-title{
  font-size:16px;
  font-weight:700;
  color:var(--dtarot-admin-ink);
}

.dtarot-card-meta{
  font-size:12px;
  color:var(--dtarot-admin-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dtarot-today-body{
  display:flex;
  gap:18px;
  align-items:flex-start;
  flex-wrap:nowrap;
}

.dtarot-today-media img{
  width: 220px;
  max-width:100%;
  border-radius:12px;
  border:1px solid #e3d6c7;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
}

.dtarot-today-media-empty{
  width: 220px;
  height: 320px;
  border-radius:12px;
  border:1px solid #e3d6c7;
  background:#f3eadf;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#9c7b55;
  font-size:24px;
}

.dtarot-today-content{
  flex:1 1 auto;
  min-width: 220px;
}

.dtarot-today-title{
  margin:0 0 6px;
  font-size:26px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--dtarot-admin-ink);
}

.dtarot-today-sub{
  color:#6b5b4b;
  margin-bottom:6px;
}

.dtarot-today-status{
  font-size:13px;
  color:#6b5b4b;
  margin-bottom:10px;
}

.dtarot-today-warn{
  display:inline-block;
  margin-left:8px;
  padding:2px 6px;
  border-radius:999px;
  background:#fff4e5;
  color:#6b4e00;
  border:1px solid #f1d2a6;
}

.dtarot-today-excerpt{
  background: linear-gradient(180deg, #fffdfa 0%, #f8f0e7 100%);
  border:1px solid var(--dtarot-admin-line);
  border-radius:12px;
  padding:10px 12px;
  color:var(--dtarot-admin-ink);
  line-height:1.5;
  margin-bottom:10px;
}

.dtarot-schedule-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.dtarot-schedule-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid var(--dtarot-admin-line);
  border-radius:999px;
  background:#fffaf3;
  color:var(--dtarot-admin-ink);
  text-decoration:none;
  font-weight:500;
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.dtarot-schedule-pill:hover{
  transform: translateY(-1px);
  border-color:var(--dtarot-admin-line-strong);
  background:#fff2e4;
  box-shadow: 0 14px 28px rgba(31, 22, 16, 0.08);
}

.dtarot-attention-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}

.dtarot-attention-item{
  padding:8px 10px;
  border-radius:10px;
  background:#fff4e5;
  border:1px solid #f1d2a6;
  color:#5b3f1c;
}

.dtarot-attention-ok{
  background:#eff8f0;
  border-color:#bde0c4;
  color:#245434;
}

.dtarot-pro-card{
  max-width:1100px;
  margin-top:14px;
}

@media (max-width: 1200px){
  .dtarot-dashboard-layout{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px){
  .dtarot-today-body{
    flex-direction:column;
  }
  .dtarot-today-media img,
  .dtarot-today-media-empty{
    width: 100%;
    max-width: 320px;
  }
}

.dtarot-badge{
  display:inline-flex;
  align-items:center;
  font-size:12px;
  line-height:1;
  padding:4px 8px;
  border-radius:999px;
  margin-left:8px;
  vertical-align:middle;
}

.dtarot-badge-experimental{
  background:#fff3cd;
  color:#6b4e00;
  border:1px solid #f2c97d;
}

.dtarot-ai-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
  margin-top:16px;
}

.dtarot-ai-card{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:14px;
}

.dtarot-ai-upgrade{
  margin-top:16px;
}

.dtarot-ai-upgrade-hero{
  display:grid;
  grid-template-columns: 1.4fr 1fr;
  gap:18px;
  padding:18px;
  border-radius:14px;
  background: linear-gradient(135deg, #fff7e6 0%, #fff 55%, #f4f7ff 100%);
  border:1px solid #e2e6f2;
}

.dtarot-ai-upgrade-tag{
  display:inline-block;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:700;
  color:#6b4e00;
  background:#fff3cd;
  border:1px solid #f2c97d;
  padding:4px 8px;
  border-radius:999px;
  margin:0 0 10px 0;
}

.dtarot-ai-upgrade-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.dtarot-ai-upgrade-panel{
  background:#ffffff;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:14px;
}

.dtarot-ai-upgrade-teaser{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
}

.dtarot-ai-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#1e3a8a;
}

.dtarot-ai-upgrade-panel ul{
  margin:10px 0 0 18px;
}

@media (max-width: 900px){
  .dtarot-ai-upgrade-hero{
    grid-template-columns: 1fr;
  }
}

.dtarot-dashboard-metrics{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}

.dtarot-metric-card{
  margin: 0;
}

.dtarot-metric-kicker{
  font-size:12px;
  opacity:.8;
  margin-bottom:6px;
}

.dtarot-metric-title{
  font-size:18px;
  font-weight:700;
  line-height:1.2;
}

.dtarot-metric-big{
  font-size:38px;
  font-weight:800;
  line-height:1;
  margin-top:4px;
}

.dtarot-metric-sub{
  font-size:13px;
  opacity:.85;
}

.dtarot-metric-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dtarot-metric-media{
  width: 64px;
  height: 96px;
  border: 1px solid #dcdcde;
  border-radius: 10px;
  background: #f6f7f7;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.dtarot-metric-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.dtarot-metric-media-empty{
  font-size:16px;
  opacity:.6;
}

.dtarot-metric-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

/* Readme tab */
.dtarot-help-center{
  max-width: 1240px;
}

.dtarot-help-hero{
  display:grid;
  grid-template-columns: 1.4fr 1fr;
  gap:18px;
  align-items:start;
  padding:18px 20px;
  border:1px solid #dcdcde;
  border-radius:16px;
  background: linear-gradient(135deg, #fff9f0 0%, #fff 58%, #f4f7ff 100%);
  margin: 8px 0 16px;
}

.dtarot-help-kicker{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b4e00;
  margin-bottom:8px;
}

.dtarot-help-hero h2{
  margin:0 0 8px;
}

.dtarot-help-hero p{
  margin:0;
  color:var(--dtarot-admin-muted);
  max-width: 64ch;
}

.dtarot-help-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.dtarot-help-overview-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
  margin: 0 0 18px;
}

.dtarot-help-card,
.dtarot-help-sidebar-card{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:14px;
  padding:16px 18px;
}

.dtarot-help-card h3,
.dtarot-help-sidebar-card h3{
  margin:0 0 10px;
}

.dtarot-help-card p,
.dtarot-help-sidebar-card p,
.dtarot-help-card li,
.dtarot-help-sidebar-card li{
  color:var(--dtarot-admin-muted);
}

.dtarot-help-anchor-list,
.dtarot-help-link-list{
  margin:0;
  padding-left:18px;
}

.dtarot-help-anchor-list li,
.dtarot-help-link-list li{
  margin: 8px 0;
}

.dtarot-help-anchor-list a,
.dtarot-help-link-list a{
  text-decoration:none;
}

.dtarot-help-anchor-list a:hover,
.dtarot-help-link-list a:hover{
  text-decoration:underline;
}

.dtarot-help-layout{
  display:grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap:18px;
  align-items:start;
}

.dtarot-help-sidebar{
  display:flex;
  flex-direction:column;
  gap:14px;
  position:sticky;
  top:16px;
}

.dtarot-readme{
  max-width: 1200px;
  width: 100%;
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:14px;
  padding:18px 22px;
}

.dtarot-readme-intro{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:14px;
  padding:16px 18px;
  margin: 10px 0 18px;
}

.dtarot-readme h2,
.dtarot-readme h3,
.dtarot-readme h4{
  margin-top: 18px;
}

.dtarot-readme ul{
  margin: 8px 0 16px 20px;
}

.dtarot-readme ol{
  margin: 8px 0 16px 20px;
}

.dtarot-readme-code{
  background:#f6f7f7;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:12px;
  overflow:auto;
}

@media (max-width: 1100px){
  .dtarot-help-overview-grid{ grid-template-columns: 1fr; }
  .dtarot-help-layout{ grid-template-columns: 1fr; }
  .dtarot-help-sidebar{ position:static; }
}

@media (max-width: 900px){
  .dtarot-help-hero{ grid-template-columns: 1fr; }
  .dtarot-help-actions{ justify-content:flex-start; }
  .dtarot-schedule-actions{ grid-template-columns: 1fr; }
}

.dtarot-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 10px;
  border-radius:999px;
  border:1px solid #dcdcde;
  background:#f6f7f7;
  font-size:12px;
}

.dtarot-pill-ok{
  border-color: var(--wp-admin-theme-color, #2271b1);
}

.dtarot-pill-warn{
  border-color: var(--wp-admin-border-color, #c3c4c7);
}

.dtarot-dashboard-main{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:14px;
  align-items:start;
  margin-top:14px;
}

/* Analytics */
.dtarot-analytics-hero-actions{
  display:flex;
  align-items:center;
}

.dtarot-analytics-hero-actions form{
  margin:0;
}

.dtarot-analytics-kpi-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
  margin: 12px 0;
}

.dtarot-analytics-kpi-card,
.dtarot-analytics-period-card,
.dtarot-analytics-highlight,
.dtarot-analytics-compact-panel{
  background:#fff;
  border:1px solid #e3e5e7;
  border-radius:14px;
  padding:14px 16px;
}

.dtarot-analytics-kpi-label,
.dtarot-analytics-period-label,
.dtarot-analytics-highlight-label,
.dtarot-analytics-compact-title{
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#6d5a4a;
  margin-bottom:8px;
}

.dtarot-analytics-kpi-value{
  font-size:32px;
  line-height:1;
  font-weight:800;
  color:#2f241b;
}

.dtarot-analytics-kpi-note,
.dtarot-analytics-highlight-note{
  margin-top:6px;
  font-size:13px;
  color:#6d5a4a;
}

.dtarot-analytics-highlight-row,
.dtarot-analytics-compact-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
  margin: 12px 0;
}

.dtarot-analytics-snapshot-bar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 12px 0 16px;
}

.dtarot-analytics-snapshot-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #e3e5e7;
  border-radius:999px;
}

.dtarot-analytics-snapshot-label{
  font-size:12px;
  font-weight:700;
  color:#2f241b;
}

.dtarot-analytics-snapshot-text{
  font-size:12px;
  color:#6d5a4a;
}

.dtarot-analytics-highlight-value{
  font-size:20px;
  line-height:1.2;
  font-weight:700;
  color:#2f241b;
}

.dtarot-analytics-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:14px;
  align-items:start;
  margin-top:14px;
}

.dtarot-analytics-side-rail{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.dtarot-analytics-primary-card,
.dtarot-analytics-compact-card{
  border-radius:16px;
}

.dtarot-analytics-chart-wrap{
  margin: 12px 0;
}

.dtarot-analytics-chart-title{
  font-weight:600;
  margin-bottom:8px;
}

.dtarot-analytics-chart{
  display:grid;
  grid-auto-flow:column;
  gap:6px;
  align-items:end;
  height:160px;
  padding:12px;
  background:#f6f7f7;
  border-radius:10px;
  border:1px solid #dcdcde;
}

.dtarot-analytics-bar{
  height: calc(var(--dtarot-bar-h, 0) * 1%);
  background: var(--wp-admin-theme-color, #2271b1);
  border-radius:4px 4px 0 0;
  opacity:.45;
}

.dtarot-analytics-bar.has-data{
  opacity:.9;
}

.dtarot-analytics-dual-chart{
  display:grid;
  grid-auto-flow:column;
  gap:6px;
  align-items:end;
  height:160px;
  padding:12px;
  background:#f6f7f7;
  border-radius:10px;
  border:1px solid #dcdcde;
}

.dtarot-analytics-dual-day{
  display:grid;
  grid-template-rows: 1fr 1fr;
  gap:3px;
  align-items:end;
}

.dtarot-analytics-dual-bar{
  height: calc(var(--dtarot-bar-h, 0) * 1%);
  border-radius:3px 3px 0 0;
  opacity:.85;
}

.dtarot-analytics-dual-bar.is-unique{
  background: #2271b1;
}

.dtarot-analytics-dual-bar.is-views{
  background: #9ca3af;
}

.dtarot-analytics-dual-legend{
  display:flex;
  gap:12px;
  align-items:center;
  font-size:12px;
  color:#646970;
  margin-top:6px;
}

.dtarot-analytics-dual-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  margin-right:6px;
  background:#9ca3af;
}

.dtarot-analytics-dual-dot.is-unique{ background:#2271b1; }
.dtarot-analytics-dual-dot.is-views{ background:#9ca3af; }

.dtarot-analytics-chart-legend{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:#646970;
  margin-top:6px;
}

.dtarot-analytics-table{
  margin-top:12px;
}

.dtarot-analytics-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin: 10px 0 14px;
  background:#f6f7f7;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:10px 12px;
}

.dtarot-analytics-filters label{
  font-size:12px;
  font-weight:600;
}

.dtarot-analytics-filters select,
.dtarot-analytics-filters input[type=\"date\"]{
  min-width: 140px;
}

.dtarot-analytics-date{
  margin-left:6px;
}

.dtarot-analytics-header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.dtarot-analytics-toggle{
  display:inline-flex;
  gap:6px;
  background:#f6f7f7;
  border:1px solid #dcdcde;
  border-radius:999px;
  padding:3px;
}

.dtarot-analytics-toggle-btn{
  border:none;
  background:transparent;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  cursor:pointer;
}

.dtarot-analytics-toggle-btn.is-active{
  background:#fff;
  box-shadow: 0 0 0 1px #dcdcde inset;
  font-weight:600;
}

.dtarot-analytics-toggle-panel{
  display:none;
}

.dtarot-analytics-toggle-panel.is-active{
  display:block;
}

.dtarot-analytics-list{
  margin:0;
  padding:0;
  list-style:none;
}

.dtarot-analytics-list li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid #f0f0f1;
}

.dtarot-analytics-list li:last-child{
  border-bottom:none;
}

.dtarot-analytics-item-label{
  font-weight:600;
}

.dtarot-analytics-tabset{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.dtarot-analytics-compact-list{
  margin:0;
  padding:0;
  list-style:none;
}

.dtarot-analytics-compact-list li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid #f0f0f1;
}

.dtarot-analytics-compact-list li:last-child{
  border-bottom:none;
}

.dtarot-analytics-item-link{
  font-weight:600;
  text-decoration:none;
}

.dtarot-analytics-item-link:hover{
  text-decoration:underline;
}

.dtarot-analytics-item-count{
  opacity:.75;
}

.dtarot-analytics-muted{
  margin:0;
  opacity:.7;
  font-size:12px;
}

.dtarot-analytics-funnel{
  display:grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:start;
}

.dtarot-analytics-funnel-col{
  background:#f6f7f7;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:10px;
}

.dtarot-analytics-funnel-label{
  font-size:12px;
  font-weight:600;
  margin-bottom:6px;
}

.dtarot-analytics-funnel-arrow{
  font-size:18px;
  font-weight:700;
  color:#646970;
  align-self:center;
}

.dtarot-analytics-mini-list{
  margin:0;
  padding:0;
  list-style:none;
}

.dtarot-analytics-mini-list li{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:4px 0;
}

.dtarot-analytics-heatmap{
  display:grid;
  gap:4px;
}

.dtarot-heatmap-row{
  display:grid;
  grid-template-columns: 30px repeat(var(--dtarot-heatmap-weeks, 8), 34px);
  gap:6px;
  align-items:center;
}

.dtarot-heatmap-label{
  font-size:12px;
  color:#646970;
  text-align: right;
  padding-right: 4px;
}

.dtarot-heatmap-cell{
  width:34px;
  height:34px;
  border-radius:6px;
  background:#f0f0f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: rgba(0,0,0,0.6);
  font-weight: 600;
  box-sizing: border-box;
}

.dtarot-heatmap-cell.is-today{
  border: 2px solid #1e1e1e;
  box-shadow: 0 0 0 2px rgba(30,30,30,0.1);
  transform: scale(1.05);
}

.dtarot-heatmap-cell.level-1{ background:#dbeafe; }
.dtarot-heatmap-cell.level-2{ background:#93c5fd; }
.dtarot-heatmap-cell.level-3{ background:#60a5fa; color: rgba(255,255,255,0.9); }
.dtarot-heatmap-cell.level-4{ background:#2563eb; color: #fff; }

.dtarot-dashboard-side{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.dtarot-dashboard-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}

.dtarot-dashboard-list-item{
  padding:10px 12px;
  border:1px solid rgba(140,92,45,.12);
  border-radius:12px;
  background:linear-gradient(180deg, #fffefb 0%, #fbf5ec 100%);
  box-shadow: 0 10px 22px rgba(31, 22, 16, 0.05);
}

.dtarot-schedule-actions{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}

.dtarot-schedule-pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(140,92,45,.12);
  background:linear-gradient(180deg, #fffefb 0%, #fbf5ec 100%);
  text-decoration:none;
  color:var(--dtarot-admin-ink);
  font-weight:600;
}

.dtarot-schedule-pill:hover,
.dtarot-schedule-pill:focus{
  border-color: var(--dtarot-admin-line-strong);
  background:#fff;
  outline:none;
}

.dtarot-dashboard-list-title{
  font-weight:600;
  color: var(--dtarot-admin-ink);
}

.dtarot-dashboard-list-meta{
  font-size:12px;
  color:var(--dtarot-admin-muted);
  margin-top:2px;
}

.dtarot-dashboard-list-link{
  margin-top:6px;
  font-size:12px;
}

/* Spreads page */
.dtarot-spread-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-top:14px;
  align-items:stretch;
  align-content:start;
  grid-auto-rows: 1fr;
  justify-content:start;
}

@media (max-width: 1200px){
  .dtarot-spread-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px){
  .dtarot-spread-grid{
    grid-template-columns: 1fr;
  }
}

.dtarot-spread-grid .dtarot-card{
  margin:0;
  padding:10px;
  min-height: 140px;
  display:flex;
  flex-direction:column;
}

.dtarot-spread-card-item{
  display:flex;
  flex-direction:column;
  gap:6px;
  height:100%;
}

.dtarot-spread-card-item .dtarot-spread-config-btn{
  margin-top:auto;
  width:100%;
}

.dtarot-spread-card-title{
  font-weight:700;
}

.dtarot-spread-card-meta{
  font-size:12px;
  opacity:.8;
}

.dtarot-spread-card-link a{
  font-size:12px;
}

.dtarot-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100000;
}

.dtarot-modal.is-open{
  display:flex;
}

.dtarot-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
}

.dtarot-modal-panel{
  position:relative;
  background:#fff;
  border-radius:12px;
  padding:16px;
  width:min(760px, 96vw);
  max-height: 90vh;
  overflow:auto;
  box-shadow: 0 12px 30px rgba(0,0,0,.2);
}

.dtarot-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.dtarot-modal-close{
  border:none;
  background:transparent;
  font-size:22px;
  cursor:pointer;
}

.dtarot-modal-preview{
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:10px;
  margin: 12px 0;
  background:#f6f7f7;
}

.dtarot-modal-preview .dtarot-spread{
  max-width: 560px;
  margin: 0 auto;
}

.dtarot-modal-preview .dtarot-spread-grid{
  gap:10px;
}

.dtarot-modal-preview .dtarot-spread-card img{
  max-width: 160px;
  margin: 0 auto;
}

.dtarot-modal-preview-title{
  font-weight:600;
  margin-bottom:6px;
}

.dtarot-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.dtarot-spread-editor{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.dtarot-spread-editor-preset{
  display:none;
  flex-direction:column;
  gap:10px;
}

.dtarot-spread-editor-preset.is-active{
  display:flex;
}

.dtarot-spread-editor-label{
  display:block;
  font-weight:600;
  margin-bottom:4px;
}

.dtarot-spread-editor textarea{
  width:100%;
  max-width: 720px;
}

.dtarot-dashboard-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dtarot-dashboard-layout .cov-widget{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.dtarot-dashboard-layout .cov-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.dtarot-dashboard-layout .cov-header-copy{
  display:flex;
  align-items:center;
  gap:16px;
}

.dtarot-dashboard-layout .cov-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #f7faff 0%, #eef4ff 100%);
  color:#2d64f1;
  border:1px solid #d9e3ff;
}

.dtarot-dashboard-layout .cov-icon .dashicons{
  width:24px;
  height:24px;
  font-size:24px;
}

.dtarot-dashboard-layout .cov-title{
  margin:0;
  font-size:20px;
  line-height:1.2;
}

.dtarot-dashboard-layout .cov-subtitle{
  margin:6px 0 0;
  color:var(--dtarot-admin-muted);
}

.dtarot-dashboard-layout .cov-open-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid #9eb7ff;
  background:#f8fbff;
  color:#2d64f1;
  font-weight:600;
  text-decoration:none;
}

.dtarot-dashboard-layout .cov-open-link:hover,
.dtarot-dashboard-layout .cov-open-link:focus{
  background:#eef4ff;
  box-shadow:0 0 0 2px rgba(45,100,241,.14);
  outline:none;
}

.dtarot-dashboard-layout .cov-body{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap:16px;
  align-items:start;
}

.dtarot-dashboard-layout .cov-calendar-card,
.dtarot-dashboard-layout .cov-side-card{
  background:#fff;
  border:1px solid var(--dtarot-admin-line);
  border-radius:18px;
  box-shadow: var(--dtarot-admin-shadow);
}

.dtarot-dashboard-layout .cov-calendar-card{
  overflow:hidden;
}

.dtarot-dashboard-layout .cov-month-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-bottom:1px solid #e6ebf2;
  background:linear-gradient(180deg, #fffdfb 0%, #fbf7f2 100%);
}

.dtarot-dashboard-layout .cov-month-title-row{
  display:flex;
  align-items:center;
  gap:12px;
}

.dtarot-dashboard-layout .cov-month-title{
  font-size:18px;
  font-weight:700;
  color:var(--dtarot-admin-ink);
}

.dtarot-dashboard-layout .cov-month-nav{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid #e6ebf2;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--dtarot-admin-ink);
  font-size:24px;
  line-height:1;
}

.dtarot-dashboard-layout .cov-month-nav:hover,
.dtarot-dashboard-layout .cov-month-nav:focus{
  background:#f7faff;
  border-color:#d9e3ff;
  outline:none;
  box-shadow:0 0 0 2px rgba(45,100,241,.12);
}

.dtarot-dashboard-layout .cov-month-summary{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}

.dtarot-dashboard-layout .cov-summary-pill,
.dtarot-dashboard-layout .cov-stat-label,
.dtarot-dashboard-layout .cov-guide-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.dtarot-dashboard-layout .cov-summary-pill{
  font-weight:600;
  color:var(--dtarot-admin-ink);
}

.dtarot-dashboard-layout .cov-summary-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  flex:0 0 auto;
}

.dtarot-dashboard-layout .cov-summary-dot,
.dtarot-dashboard-layout .cov-day-dot{ background:#d5d9df; }
.dtarot-dashboard-layout .cov-summary-dot.is-ready,
.dtarot-dashboard-layout .cov-day.is-ready .cov-day-dot{ background:#2f9e5b; }
.dtarot-dashboard-layout .cov-summary-dot.is-draft,
.dtarot-dashboard-layout .cov-day.is-draft .cov-day-dot{ background:#2d64f1; }
.dtarot-dashboard-layout .cov-summary-dot.is-missing,
.dtarot-dashboard-layout .cov-day.is-missing .cov-day-dot{ background:#ff8a1f; }

.dtarot-dashboard-layout .cov-weekdays,
.dtarot-dashboard-layout .cov-grid{
  display:grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.dtarot-dashboard-layout .cov-weekdays{
  border-bottom:1px solid #e6ebf2;
  background:#fbfcfe;
}

.dtarot-dashboard-layout .cov-weekdays > div{
  padding:10px 8px;
  text-align:center;
  font-size:12px;
  font-weight:600;
  color:#667085;
}

.dtarot-dashboard-layout .cov-day{
  min-height:60px;
  padding:10px 10px 8px;
  border-right:1px solid #e6ebf2;
  border-bottom:1px solid #e6ebf2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  text-decoration:none;
  color:var(--dtarot-admin-ink);
  background:linear-gradient(225deg, #ffffff 0%, #fcfcfd 100%);
  position:relative;
}

.dtarot-dashboard-layout .cov-day:nth-child(7n){
  border-right:none;
}

.dtarot-dashboard-layout .cov-day.is-empty{
  background:linear-gradient(225deg, #fff8f8 0%, #ffdede 100%);
}

.dtarot-dashboard-layout .cov-grid > div.cov-day.is-empty{
  background:linear-gradient(225deg, #fbfbfc 0%, #eceff3 100%);
}

.dtarot-dashboard-layout .cov-day.is-ready{
  background:linear-gradient(225deg, #f7fff9 0%, #d9f3e2 100%);
}

.dtarot-dashboard-layout .cov-day.is-draft{
  background:linear-gradient(225deg, #f9fbff 0%, #dde8ff 100%);
}

.dtarot-dashboard-layout .cov-day.is-missing{
  background:linear-gradient(225deg, #fffaf6 0%, #ffdcbf 100%);
  border-color:#f6bf93;
  box-shadow: inset 0 0 0 1px rgba(255,138,31,.28);
}

.dtarot-dashboard-layout .cov-day.is-today{
  box-shadow: inset 0 0 0 2px rgba(45,100,241,.42);
  z-index:1;
}

.dtarot-dashboard-layout .cov-day.is-missing.is-today{
  box-shadow: inset 0 0 0 2px rgba(255,138,31,.62);
}

.dtarot-dashboard-layout a.cov-day:hover,
.dtarot-dashboard-layout a.cov-day:focus{
  text-decoration:none;
  filter:brightness(.99);
  outline:none;
  z-index:2;
}

.dtarot-dashboard-layout a.cov-day:focus{
  box-shadow: inset 0 0 0 2px rgba(45,100,241,.62), 0 0 0 2px rgba(45,100,241,.16);
}

.dtarot-dashboard-layout .cov-day.is-missing:focus{
  box-shadow: inset 0 0 0 2px rgba(255,138,31,.72), 0 0 0 2px rgba(255,138,31,.14);
}

.dtarot-dashboard-layout .cov-day-number{
  font-size:14px;
  font-weight:700;
  line-height:1;
}

.dtarot-dashboard-layout .cov-day-label{
  font-size:11px;
  font-weight:700;
  line-height:1.1;
}

.dtarot-dashboard-layout .cov-day.is-ready .cov-day-number,
.dtarot-dashboard-layout .cov-day.is-ready .cov-day-label{ color:#2f9e5b; }

.dtarot-dashboard-layout .cov-day.is-draft .cov-day-label,
.dtarot-dashboard-layout .cov-day.is-draft .cov-day-number{ color:#2d64f1; }
.dtarot-dashboard-layout .cov-day.is-missing .cov-day-number,
.dtarot-dashboard-layout .cov-day.is-missing .cov-day-label{ color:#dd6b20; }

.dtarot-dashboard-layout .cov-sidebar{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.dtarot-dashboard-layout .cov-side-card{
  padding:18px 20px;
}

.dtarot-dashboard-layout .cov-side-title{
  font-size:14px;
  font-weight:700;
  margin-bottom:14px;
}

.dtarot-dashboard-layout .cov-stat-list,
.dtarot-dashboard-layout .cov-guide-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.dtarot-dashboard-layout .cov-stat-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.dtarot-dashboard-layout .cov-warning-card{
  border-color:#ffd6b1;
  background:linear-gradient(180deg, #fff9f4 0%, #fff4ea 100%);
}

.dtarot-dashboard-layout .cov-warning-title{
  font-size:14px;
  font-weight:700;
  margin-bottom:8px;
  color:#8a3d10;
}

.dtarot-dashboard-layout .cov-warning-text{
  color:var(--dtarot-admin-muted);
  margin-bottom:14px;
}

.dtarot-dashboard-layout .cov-warning-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border-radius:10px;
  border:1px solid #ffb37b;
  color:#dd6b20;
  text-decoration:none;
  font-weight:600;
  background:#fff;
}

.dtarot-dashboard-layout .cov-warning-link:hover,
.dtarot-dashboard-layout .cov-warning-link:focus{
  background:#fff7f2;
  outline:none;
  box-shadow:0 0 0 2px rgba(255,138,31,.12);
}

@media (max-width: 1100px){
  .dtarot-dashboard-layout .cov-body{ grid-template-columns: 1fr; }
}

@media (max-width: 782px){
  .dtarot-dashboard-layout .cov-header{
    flex-direction:column;
    align-items:flex-start;
  }

  .dtarot-dashboard-layout .cov-month-bar{
    flex-direction:column;
    align-items:flex-start;
  }

  .dtarot-dashboard-layout .cov-month-summary{
    gap:10px;
  }

  .dtarot-dashboard-layout .cov-day{
    min-height:52px;
    padding:8px 6px;
  }

  .dtarot-dashboard-layout .cov-weekdays > div{
    font-size:11px;
    padding:8px 4px;
  }
}

@media (max-width: 1100px){
  .dtarot-analytics-kpi-grid,
  .dtarot-analytics-highlight-row,
  .dtarot-analytics-compact-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dtarot-dashboard-metrics{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dtarot-dashboard-main{ grid-template-columns: 1fr; }
  .dtarot-analytics-grid{ grid-template-columns: 1fr; }
  .dtarot-analytics-funnel{ grid-template-columns: 1fr; }
  .dtarot-analytics-funnel-arrow{ display:none; }
}

@media (max-width: 900px){
  .dtarot-dashboard-hero{ align-items:flex-start; flex-direction:column; }
  .dtarot-dashboard-hero-actions{ justify-content:flex-start; }
  .dtarot-dashboard-hero-copy{ text-align:left; }
  .dtarot-dashboard-subtitle{ margin-left:0; margin-right:0; }
  .dtarot-dashboard-metrics{ grid-template-columns: 1fr; }
}

@media (max-width: 782px){
  .dtarot-analytics-kpi-grid,
  .dtarot-analytics-highlight-row,
  .dtarot-analytics-compact-grid{ grid-template-columns: 1fr; }
  .dtarot-analytics-chart{ height:140px; }
  .dtarot-analytics-snapshot-item{ width:100%; justify-content:space-between; }
}

.dtarot-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.dtarot-wrap .button.button-primary,
.dtarot-wrap .button.button-secondary,
.dtarot-wrap .button{
  border-radius: 999px;
}

@keyframes dtarot-spin{
  to { transform: rotate(360deg); }
}

.dtarot-dashboard-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:start;
}

@media (max-width: 900px){
  .dtarot-dashboard-grid{ grid-template-columns: 1fr; }
}

/* Toggle switch (Settings → Diagnostics → Admin UI) */
.dtarot-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  user-select: none;
}

.dtarot-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.dtarot-switch input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.dtarot-switch-ui {
  display: inline-block;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: var(--wp-admin-border-color, #c3c4c7);
  position: relative;
  transition: background-color 160ms ease;
}

.dtarot-switch-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15);
  transition: transform 160ms ease;
}

.dtarot-switch input[type="checkbox"]:checked + .dtarot-switch-ui {
  background: var(--wp-admin-theme-color, #2271b1);
}

.dtarot-switch input[type="checkbox"]:checked + .dtarot-switch-ui::after {
  transform: translateX(20px);
}

.dtarot-switch input[type="checkbox"]:focus-visible + .dtarot-switch-ui {
  outline: 2px solid var(--wp-admin-theme-color, #2271b1);
  outline-offset: 2px;
}

.dtarot-row {
  display:flex;
  gap:8px;
  align-items:center;
}

.dtarot-row input[type="text"]{
  flex:1;
  min-width: 240px;
}

.dtarot-cal-nav{
  display:flex;
  align-items:center;
  gap:12px;
  margin: 12px 0 16px;
}

.dtarot-calendar{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:12px;
}



.dtarot-day{
  background:#fff;
  border:1px solid #dcdcde;
.dtarot-day .dtarot-card-name{
  margin-top:6px;
  font-size:12px;
  line-height:1.2;
  color:#333;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
  border-radius:12px;
  padding:10px;
  padding-right:90px;
  cursor:pointer;
  min-height:88px;
  position:relative;
}

.dtarot-status{
  display:inline-block;
  margin-top:6px;
  padding:2px 8px;
  border-radius:999px;
  background:#f0f0f1;
  font-size:12px;
}

.dtarot-status::before{
  content:'+';
  display:inline-block;
  margin-right:6px;
  font-weight:700;
}

.dtarot-publish-time-badge{
  position:absolute;
  top:10px;
  right:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 8px;
  border-radius:999px;
  background:#f0f0f1;
  border:1px solid #dcdcde;
  font-size:12px;
  line-height:1.2;
  color:#333;
}

.dtarot-is-set .dtarot-status::before{
  content:'✓';
}

.dtarot-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100000;
}

.dtarot-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}

.dtarot-modal-panel{
  position:relative;
  width: min(920px, calc(100% - 24px));
  max-height: calc(100vh - 48px);
  overflow:auto;
  margin:24px auto;
  background:#fff;
  border-radius:12px;
  padding:14px;
  box-shadow:0 15px 50px rgba(0,0,0,.2);
}

.dtarot-modal-layout{
  display:grid;
  grid-template-columns: 1fr 340px;
  gap:14px;
  align-items:start;
}

@media (max-width: 900px){
  .dtarot-modal-layout{ grid-template-columns: 1fr; }
}

.dtarot-form-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:10px;
}

.dtarot-form-stack p{
  margin:0;
}

.dtarot-form-stack select{
  width:100%;
  max-width:none;
}

.dtarot-modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}

.dtarot-editor-field{
  margin-top: 14px;
}

.dtarot-modal-section{
  border: 1px solid var(--dtarot-admin-line, #e8d9c7);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  padding: 14px;
  margin-top: 14px;
  box-shadow: 0 12px 24px rgba(31, 22, 16, 0.04);
}

.dtarot-modal-section:first-child{
  margin-top: 0;
}

.dtarot-modal-section-compact{
  padding: 12px 14px;
}

.dtarot-modal-section-head{
  margin-bottom: 10px;
}

.dtarot-modal-section-title{
  font-size: 14px;
  font-weight: 700;
  color: var(--dtarot-admin-ink, #2f241b);
}

.dtarot-modal-section-note{
  font-size: 12px;
  color: var(--dtarot-admin-muted, #6d5a4a);
  margin-top: 4px;
  line-height: 1.45;
}

.dtarot-modal-checklist{
  margin: 0;
  padding-left: 18px;
  color: var(--dtarot-admin-muted, #6d5a4a);
}

.dtarot-modal-checklist li{
  margin: 6px 0;
  line-height: 1.45;
}

.dtarot-field-label{
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 6px;
}

.dtarot-modal-footer{
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #dcdcde;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.dtarot-ready-note{
  font-size: 12px;
  opacity: .85;
}

.dtarot-ready-ok{
  color: #166534;
}

.dtarot-ready-warn{
  color: #b45309;
}

.dtarot-modal-close{
  border:1px solid #dcdcde;
  border-radius:8px;
  width:32px;
  height:32px;
  cursor:pointer;
  background:#fff;
}

.dtarot-help-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.dtarot-help-btn .dashicons{
  font-size:18px;
  line-height:1;
  width:18px;
  height:18px;
}

.dtarot-form-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}

.dtarot-form-grid select{
  width:100%;
  max-width:none;
}

.dtarot-day-preview{
  margin:0;
}

.dtarot-modal-right{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.dtarot-day-link-helper{
  border: 1px solid #dcdcde;
  border-radius: 12px;
  background: #fff;
  padding: 10px;
  position: sticky;
  bottom: 10px;
}

.dtarot-day-link-helper-controls{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.dtarot-day-link-helper-controls select{
  flex: 1 1 auto;
  min-width: 180px;
}

.dtarot-day-link-list{
  margin-top: 8px;
}

.dtarot-day-link-list ul{
  margin: 8px 0 0;
  padding-left: 18px;
}

.dtarot-day-link-list li{
  margin: 8px 0;
}

.dtarot-day-link-actions{
  display:inline-flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  margin-left: 6px;
}

.dtarot-day-preview-box{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dcdcde;
  border-radius:12px;
  background:#f0f0f1;
  min-height:240px;
  padding:10px;
  position:sticky;
  top:10px;
}

#dtarot-day-preview-img{
  max-width:100%;
  max-height:420px;
  width:auto;
  height:auto;
  object-fit:contain;
}

@media (max-width: 782px){
  .dtarot-form-grid{ grid-template-columns: 1fr; }
}

.dtarot-filled{
  border-color:#22c55e;
  box-shadow:0 0 0 2px rgba(34,197,94,.25);
}

.dtarot-thumb{
  position:absolute;
  top:10px;
  right:10px;
  bottom:10px;
  width:70px;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#f0f0f1;
  overflow:hidden;
}

.dtarot-thumb img{
  width:auto;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:8px;
}

.dtarot-today{
  border-color:#2271b1;
  box-shadow:0 0 0 2px rgba(34,113,177,.25);
}

.dtarot-day-cell.dtarot-locked{
  opacity:.55;
  cursor:not-allowed;
}

/* Shared toolbar/search */
.dtarot-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin: 12px 0;
}

.dtarot-search{
  display:flex;
  align-items:center;
  gap:8px;
}

.dtarot-search input[type="search"]{
  width: min(360px, 60vw);
}

/* Cards: thumbnail preview */
.dtarot-card-preview{
  width: 72px;
  height: 96px;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#f0f0f1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.dtarot-card-preview-img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

.dtarot-card-preview-empty{
  opacity:.7;
}

/* Row message states */
.dtarot-row-msg.dtarot-msg-ok{
  color: #0f5132;
}

.dtarot-row-msg.dtarot-msg-err{
  color: #b32d2e;
}

/* Bulk map (Content -> Cards) */
#dtarot-bulk-map-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.dtarot-bulk-map-item{
  display:grid;
  grid-template-columns: 92px 1fr;
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid #dcdcde;
  border-radius:12px;
  background:#fff;
}

@media (max-width: 782px){
  .dtarot-bulk-map-item{ grid-template-columns: 1fr; }
}

.dtarot-bulk-map-meta select{
  width:100%;
  max-width:none;
}

.dtarot-bulk-map-filename{
  margin-top:6px;
  opacity:.75;
}

/* Bulk mapping: allow click-to-zoom */
.dtarot-bulk-map-item .dtarot-card-preview-img{
  cursor: zoom-in;
}

/* Bulk mapping: 2x hover preview */
#dtarot-bulk-hover-zoom{
  position: fixed;
  z-index: 100001;
  display:none;
  padding:8px;
  border:1px solid #dcdcde;
  border-radius:12px;
  background:#fff;
  box-shadow:0 15px 50px rgba(0,0,0,.2);
}

#dtarot-bulk-hover-zoom img{
  display:block;
  width: 288px;
  height: 384px;
  object-fit:contain;
}

/* Calendar save note */
.dtarot-save-note{
  margin-left: 10px;
}

.dtarot-save-note.dtarot-msg-ok{
  color: #0f5132;
}

.dtarot-save-note.dtarot-msg-err{
  color: #b32d2e;
}

/* Meaning pack editor layout */
.dtarot-meaning-layout{
  display:grid;
  grid-template-columns: 1fr 740px;
  gap: 14px;
  align-items:start;
}

@media (max-width: 1180px){
  .dtarot-meaning-layout{ grid-template-columns: 1fr; }
}

.dtarot-meaning-editor{
  position: sticky;
  top: 10px;
  border: 1px solid #dcdcde;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.dtarot-lenormand-meta-box{
  margin: 10px 0 14px;
  padding: 10px;
  border: 1px solid #dcdcde;
  border-radius: 10px;
  background: #f6f7f7;
}

.dtarot-lenormand-meta-title{
  margin: 0 0 8px;
}

.dtarot-lenormand-meta-row{
  margin: 4px 0;
}

.dtarot-lenormand-meta-label{
  font-weight: 600;
}

.dtarot-meaning-active{
  outline: 2px solid rgba(34,113,177,.25);
  outline-offset: -2px;
}

/* Meaning pack table: slightly more compact */
.dtarot-meaning-table.widefat th,
.dtarot-meaning-table.widefat td{
  padding: 5px 6px;
  font-size: 11px;
}

.dtarot-meaning-table code{
  font-size: 10px;
}

.dtarot-meaning-table .button.button-small{
  min-height: 24px;
  line-height: 22px;
  padding: 0 8px;
  font-size: 11px;
}

.dtarot-bookings-wrap .nav-tab-wrapper{
  margin-bottom: 12px;
}

.dtarot-bookings-summary{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin: 8px 0 16px;
}

.dtarot-bookings-card{
  flex:1 1 260px;
  padding:14px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px;
  background:#fff;
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
}

.dtarot-bookings-card-title{
  font-weight:700;
  margin-bottom:6px;
}

.dtarot-bookings-card-text{
  color: #4c4c4c;
  font-size:13px;
  line-height:1.5;
}

.dtarot-bookings-help{
  margin: 8px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: #fff;
}
