/* =========================
   WPN Monthly Readiness Panel
   ========================= */

#wpn-readiness.wpn-card{
  background:#1f1f1f;
  border:1px solid #2f2f2f;
  border-radius:18px;
  padding:18px;
  color:#fff;
  max-width:1100px;
  margin: 18px auto;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.wpn-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.wpn-title{ margin:0; font-size:1.35rem; letter-spacing:.2px; }
.wpn-sub{ margin:6px 0 0; color:#cfcfcf; font-size:.95rem; line-height:1.35; }

.wpn-controls{
  display:flex;
  align-items:center;
  gap:10px;
  background:#161616;
  border:1px solid #2b2b2b;
  border-radius:14px;
  padding:8px 10px;
  min-width: 190px;
  justify-content:space-between;
}

.wpn-month{ font-weight:700; }

.wpn-btn{
  background:#2a2a2a;
  border:1px solid #3a3a3a;
  color:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  user-select:none;
}

.wpn-btn:hover{ background:#333; }
.wpn-btn:active{ transform: translateY(1px); }

.wpn-btn-ghost{
  background:transparent;
  border-color:#3a3a3a;
  color:#dcdcdc;
}

.wpn-row{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:14px;
}

@media (max-width: 900px){
  .wpn-row{ grid-template-columns: 1fr; }
  .wpn-controls{ width:100%; }
  .wpn-head{ flex-direction:column; }
}

.wpn-panel{
  background:#171717;
  border:1px solid #2b2b2b;
  border-radius:16px;
  padding:14px;
}

.wpn-h3{ margin:0 0 10px; font-size:1.05rem; }

.wpn-bullets{
  margin:0;
  padding-left:18px;
  color:#eaeaea;
  line-height:1.5;
}

.wpn-mini{
  margin-top:12px;
  background:#131313;
  border:1px dashed #343434;
  border-radius:14px;
  padding:12px;
}

.wpn-mini-title{ font-weight:700; margin-bottom:8px; color:#f0f0f0; }

.wpn-mini-list{
  margin:0;
  padding-left:18px;
  color:#d8d8d8;
  line-height:1.5;
}

.wpn-checklist-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}

.wpn-checklist-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.wpn-progress{
  color:#cfcfcf;
  font-size:.9rem;
  padding:6px 10px;
  background:#111;
  border:1px solid #2b2b2b;
  border-radius:12px;
}

/* Collapsible sections */
.wpn-accordion details{
  background:#121212;
  border:1px solid #2b2b2b;
  border-radius:14px;
  padding:10px 12px;
  margin-bottom:10px;
}

.wpn-accordion summary{
  cursor:pointer;
  font-weight:700;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.wpn-accordion summary::-webkit-details-marker{ display:none; }

.wpn-accordion summary .wpn-count{
  font-weight:600;
  color:#cfcfcf;
  font-size:.9rem;
  background:#0f0f0f;
  border:1px solid #2b2b2b;
  padding:4px 8px;
  border-radius:999px;
}

.wpn-items{
  margin-top:10px;
  display:grid;
  gap:8px;
}

.wpn-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:#101010;
  border:1px solid #272727;
  border-radius:12px;
  padding:9px 10px;
}

.wpn-item input[type="checkbox"]{
  margin-top:3px;
  transform: scale(1.15);
}

.wpn-item label{
  cursor:pointer;
  line-height:1.35;
}

.wpn-item .wpn-note{
  display:block;
  color:#bdbdbd;
  font-size:.88rem;
  margin-top:2px;
}

.wpn-foot{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #2b2b2b;
}

.wpn-muted{ color:#bdbdbd; font-size:.9rem; }

/* ===== Small Weather Widget ===== */
.wpn-weather{
  margin-top:12px;
  background:#131313;
  border:1px solid #2b2b2b;
  border-radius:14px;
  padding:12px;
}

.wpn-weather-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
  margin-bottom:10px;
}

.wpn-weather-title{
  font-weight:800;
  letter-spacing:.2px;
}

.wpn-weather-loc{
  color:#cfcfcf;
  font-size:.9rem;
}

.wpn-weather-now{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}

.wpn-weather-big{
  font-size:2.1rem;
  font-weight:900;
  line-height:1;
  padding:6px 10px;
  background:#0f0f0f;
  border:1px solid #2b2b2b;
  border-radius:12px;
  min-width:88px;
  text-align:center;
}

.wpn-weather-meta{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.wpn-weather-small{
  color:#cfcfcf;
  font-size:.9rem;
}

.wpn-weather-7day{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:8px;
}

@media (max-width: 900px){
  .wpn-weather-7day{ grid-template-columns: repeat(4, 1fr); }
}

.wpn-day{
  background:#101010;
  border:1px solid #272727;
  border-radius:12px;
  padding:8px 8px;
  text-align:center;
}

.wpn-day .d{
  font-weight:800;
  font-size:.85rem;
  margin-bottom:4px;
}

.wpn-day .t{
  font-size:.9rem;
  color:#eaeaea;
}

.wpn-day .s{
  font-size:.78rem;
  color:#bdbdbd;
  margin-top:2px;
}

/* Weather: button row */
.wpn-weather-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin: 0 0 10px;
}
.wpn-weather-status{
  color:#bdbdbd;
  font-size:.85rem;
}

