/*
 * Celestial Night Sky Planner
 * Typography is deliberately scoped to .cnsp so WordPress theme fonts do not
 * make the planner controls and results difficult to read.
 */
.cnsp{
  --navy:#15324a;
  --gold:#a87319;
  --ink:#172b3a;
  --muted:#526777;
  --line:#d5e0e7;
  --surface:#ffffff;
  --surface-soft:#f4f7f9;
  max-width:1240px;
  margin:0 auto 60px;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-style:normal!important;
  font-stretch:normal!important;
  letter-spacing:normal;
  text-transform:none;
}
.cnsp *,
.cnsp *::before,
.cnsp *::after{box-sizing:border-box}
.cnsp :where(p,span,small,strong,label,input,select,button,textarea,option,dt,dd,li){
  font-family:inherit!important;
  font-style:normal!important;
  font-stretch:normal!important;
  letter-spacing:normal;
}
.cnsp__intro{padding:30px 0 20px;border-bottom:1px solid var(--line)}
.cnsp__eyebrow{text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.78rem!important;font-weight:700!important;color:var(--gold);margin:0 0 8px}
.cnsp h2,.cnsp h3,.cnsp h4{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-style:normal!important;
  font-stretch:normal!important;
  text-transform:none!important;
  color:var(--navy);
  font-weight:700!important;
  letter-spacing:-.015em!important;
}
.cnsp h2{font-size:clamp(2rem,5vw,3.5rem)!important;line-height:1.08!important;margin:0 0 12px}
.cnsp h3{font-size:1.35rem!important;line-height:1.25!important}
.cnsp h4{font-size:1.08rem!important;line-height:1.3!important}
.cnsp__intro>p:last-child{font-size:1.08rem!important;line-height:1.6!important;max-width:760px;color:var(--muted)}
.cnsp__layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.35fr);gap:24px;margin-top:28px;align-items:start}
.cnsp__panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:24px}
.cnsp__input-panel{background:var(--surface-soft);position:sticky;top:24px}
.cnsp__panel>h3,.cnsp__results-heading h3{margin:0 0 18px;color:var(--navy)}
.cnsp__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cnsp__span-2{grid-column:1/-1}
.cnsp label{display:flex;flex-direction:column;gap:7px;color:#20394c;font-size:.9rem!important;line-height:1.4!important;font-weight:650!important;text-transform:none!important}
.cnsp label>span{font-size:inherit!important;font-weight:inherit!important;color:inherit!important}
.cnsp label small{font-size:.79rem!important;line-height:1.45!important;font-weight:400!important;color:var(--muted)}
.cnsp input,.cnsp select,.cnsp textarea{
  width:100%;min-height:46px;padding:10px 12px;border:1px solid #b8c7d1;border-radius:7px;background:#fff;color:var(--ink);
  font-family:inherit!important;font-size:1rem!important;line-height:1.35!important;font-weight:500!important;text-transform:none!important;letter-spacing:normal!important
}
.cnsp input:focus,.cnsp select:focus,.cnsp textarea:focus{outline:3px solid rgba(21,50,74,.15);outline-offset:1px;border-color:var(--navy)}
.cnsp__location-wrap{position:relative}
.cnsp__suggestions{position:absolute;z-index:15;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.12);max-height:280px;overflow:auto}
.cnsp__suggestions button{width:100%;display:flex;flex-direction:column;text-align:left;border:0;border-bottom:1px solid #edf1f3;background:#fff;padding:11px 12px}
.cnsp__suggestions span{font-size:.82rem!important;line-height:1.4!important;color:var(--muted)}
.cnsp__actions{display:flex;gap:10px;margin-top:20px}
.cnsp button{border:0;border-radius:6px;padding:12px 17px;font-family:inherit!important;font-size:1rem!important;line-height:1.25!important;font-weight:700!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer}
.cnsp__primary{background:var(--navy);color:#fff}
.cnsp__secondary,.cnsp__result-actions button{background:#e5edf2;color:var(--navy)}
.cnsp__status{margin-top:12px;color:#8a4b18;font-size:1rem!important;line-height:1.45!important;font-weight:650!important}
.cnsp__results-heading{display:flex;justify-content:space-between;align-items:center}
.cnsp__tier{padding:5px 10px;border-radius:999px;background:#eaf0f4;color:var(--navy);font-size:.8rem!important;font-weight:700!important}
.cnsp__placeholder,.cnsp__empty{padding:24px;background:#f7f9fa;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:1rem!important;line-height:1.55!important}
.cnsp__result-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:16px}
.cnsp__agenda-summary,.cnsp__notes{border:1px solid var(--line);border-radius:9px;padding:18px;margin-bottom:18px;background:#fff}
.cnsp__agenda-summary h4,.cnsp__notes h4,.cnsp__section-title{margin:0 0 14px;color:var(--navy)}
.cnsp__summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cnsp__summary-item{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:9px 0;border-bottom:1px solid #edf1f3;font-size:.95rem!important;line-height:1.45!important}
.cnsp__summary-item span{color:var(--muted);font-weight:400!important}
.cnsp__summary-item strong{text-align:right;color:var(--ink);font-weight:700!important}
.cnsp__pills,.cnsp__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.cnsp__pills span,.cnsp__meta span{padding:6px 10px;border-radius:999px;background:#eef3f6;font-size:.8rem!important;line-height:1.35!important;color:#334c5e}
.cnsp__planet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cnsp__planet-list>div{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:7px;padding:9px 8px;border-bottom:1px solid #edf1f3;font-size:.9rem!important;line-height:1.4!important}
.cnsp__targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}
.cnsp__target{border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:8px;padding:18px;background:#fff;break-inside:avoid}
.cnsp__target--bonus{border-top-color:#688aa2}
.cnsp__target-head{display:flex;justify-content:space-between;gap:12px}
.cnsp__target h4{margin:0;color:var(--navy)}
.cnsp__target-head p{margin:4px 0 0;color:var(--muted);font-size:1rem!important;line-height:1.4!important}
.cnsp__target-head>span{text-transform:uppercase!important;font-size:.74rem!important;line-height:1.3!important;letter-spacing:.06em!important;color:var(--muted)}
.cnsp__target dl{margin:12px 0 0}
.cnsp__target .cnsp__summary-item{font-size:.9rem!important}
.cnsp__notes,.cnsp__notes li{font-size:.95rem!important;line-height:1.55!important}
.cnsp__notes ul{margin-bottom:0}
@media(max-width:980px){.cnsp__layout{grid-template-columns:1fr}.cnsp__input-panel{position:static}.cnsp__targets{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.cnsp__grid,.cnsp__summary-grid,.cnsp__targets,.cnsp__planet-list{grid-template-columns:1fr}.cnsp__panel{padding:17px}.cnsp__actions,.cnsp__result-actions{flex-wrap:wrap}.cnsp__planet-list>div{grid-template-columns:1fr 1fr}.cnsp button{width:100%}.cnsp__summary-item{gap:10px}}
@media print{body *{visibility:hidden!important}.cnsp,.cnsp *{visibility:visible!important}.cnsp{position:absolute;left:0;top:0;width:100%;max-width:none}.cnsp__intro,.cnsp__input-panel,.cnsp__results-heading,.cnsp__result-actions{display:none!important}.cnsp__layout{display:block}.cnsp__results-panel{border:0;padding:0}.cnsp__targets{grid-template-columns:1fr 1fr}.cnsp__target{box-shadow:none}.cnsp[data-print="checklist"] .cnsp__target dl,.cnsp[data-print="checklist"] .cnsp__meta,.cnsp[data-print="checklist"] .cnsp__agenda-summary,.cnsp[data-print="checklist"] .cnsp__notes{display:none!important}.cnsp[data-print="checklist"] .cnsp__target:before{content:'☐ ';font-size:18px}}
