/* ============================================================
   Villa Plumbing Field Portal — Weather + Schedule Alerts v6
   Layered patch loaded after scheduling_v4 + villa_cleanup_v5.
   Adds:
     • Weather chip on every scheduled card
     • Detailed forecast block in the card editor slide-over
     • Red conflict icon override (visible even on green cards)
     • Schedule Alerts panel below the schedule board
     • Notification-policy helper card
   ============================================================ */

/* ---------- Compact weather chip on card ---------- */
.sv6-wx-chip{
  display:inline-flex;align-items:center;gap:4px;
  background:#eaf3fb;border:1px solid #b9d4ec;color:#141310;
  padding:2px 7px;border-radius:999px;
  font-size:11px;font-weight:600;line-height:1.2;
  margin-top:4px;
}
.sv6-wx-chip .sv6-wx-icon{font-size:12px;line-height:1}
.sv6-wx-chip.is-rain{background:#e6efff;border-color:#9bb6e2;color:#0a2e6b}
.sv6-wx-chip.is-storm{background:#ffe2d5;border-color:#e76f51;color:#a23c1f}
.sv6-wx-chip.is-snow{background:#eef6fb;border-color:#bdd6e8;color:#23496e}
.sv6-wx-chip.is-clear{background:#fff7d8;border-color:#e9c46a;color:#7a5400}
.sv6-wx-chip.is-cloud{background:#eef0f3;border-color:#c0c8d2;color:#39485a}
.sv6-wx-chip.is-wind{background:#f3eaff;border-color:#c9b5e7;color:#4f1d8c}
.sv6-wx-loc{
  display:block;font-size:10.5px;color:#4a6b65;
  margin-top:2px;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}

/* Make sure red conflict icon stands out even on green cards */
.sv6-conflict-icon{
  display:inline-flex;align-items:center;justify-content:center;
  background:#cc2b2b;color:#fff;
  width:18px;height:18px;border-radius:50%;
  font-size:11px;font-weight:800;line-height:1;
  margin-right:5px;
  box-shadow:0 0 0 2px #ffe2d5;
}
.sv4-card .sv4-flag-conflict{
  background:#ffe2d5 !important;
  color:#a23c1f !important;
  border:1px solid #cc2b2b !important;
  font-weight:700 !important;
}
/* Red corner badge so the conflict is unmistakable */
.sv4-card.has-conflict{position:relative}
.sv4-card.has-conflict::after{
  content:"!";
  position:absolute;top:-7px;right:-7px;
  width:20px;height:20px;border-radius:50%;
  background:#cc2b2b;color:#fff;
  font-weight:800;font-size:13px;line-height:20px;text-align:center;
  box-shadow:0 0 0 2px #fff, 0 1px 4px rgba(204,43,43,.45);
  z-index:2;
}

/* ---------- Editor: detailed forecast block ---------- */
.sv6-wx-editor{
  background:#f6fbfa;border:1px solid #cfe6e1;border-radius:10px;
  padding:12px 14px;margin-top:8px;
}
.sv6-wx-editor h5{
  margin:0 0 6px;font-family:'Barlow Condensed',sans-serif;
  font-size:14px;font-weight:700;color:#141310;
  letter-spacing:.4px;text-transform:uppercase;
}
.sv6-wx-editor .sv6-wx-addr{font-size:12px;color:#4a6b65;margin-bottom:8px}
.sv6-wx-today{
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid #d8e8e5;border-radius:8px;
  padding:8px 10px;margin-bottom:8px;
}
.sv6-wx-today .big-icon{font-size:24px;line-height:1}
.sv6-wx-today .temp{font-size:18px;font-weight:700;color:#141310}
.sv6-wx-today .cond{font-size:12px;color:#4a6b65}
.sv6-wx-today .extras{margin-left:auto;font-size:11px;color:#4a6b65;text-align:right}
.sv6-wx-strip{
  display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;
}
.sv6-wx-day{
  background:#fff;border:1px solid #d8e8e5;border-radius:6px;
  padding:6px 4px;text-align:center;font-size:10.5px;
}
.sv6-wx-day .d{font-weight:700;color:#141310}
.sv6-wx-day .ico{font-size:14px;margin:1px 0}
.sv6-wx-day .hi{font-weight:700}
.sv6-wx-day .lo{color:#7a8a85}
.sv6-wx-day.risk{background:#ffe8e6;border-color:#e76f51;color:#a23c1f}
.sv6-wx-source{font-size:11px;color:#7a8a85;margin-top:6px;font-style:italic}
.sv6-wx-risk-line{
  display:flex;gap:6px;align-items:flex-start;
  background:#fff4dc;border:1px solid #e9c46a;border-radius:6px;
  padding:6px 8px;margin-top:8px;font-size:12px;color:#7a5400;
}
.sv6-wx-risk-line.danger{background:#ffe2d5;border-color:#e76f51;color:#a23c1f}
.sv6-wx-risk-line.ok{background:#eef9f7;border-color:#FFD4B0;color:#1a4f48}
.sv6-wx-risk-line strong{font-weight:700}

/* ---------- Schedule Alerts panel ---------- */
#sv6AlertsPanel{
  background:#fff;border:1px solid #d8e8e5;border-radius:14px;
  margin:14px 6px 18px;padding:14px 16px;
  box-shadow:0 1px 3px rgba(20,19,16,.05);
}
#sv6AlertsPanel .sv6-alerts-hdr{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:10px;
}
#sv6AlertsPanel .sv6-alerts-hdr h3{
  margin:0;font-family:'Barlow Condensed',sans-serif;
  font-size:18px;font-weight:700;color:#141310;
  letter-spacing:.4px;text-transform:uppercase;
}
#sv6AlertsPanel .sv6-alerts-count{
  background:#cc2b2b;color:#fff;font-weight:700;font-size:11px;
  padding:2px 8px;border-radius:999px;
}
#sv6AlertsPanel .sv6-alerts-count.zero{background:#FF6B00}
#sv6AlertsPanel .sv6-alerts-sub{
  font-size:12px;color:#4a6b65;margin-left:auto;
}
.sv6-alert{
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:flex-start;
  border:1px solid #f3c7c1;background:#fff8f6;border-left:4px solid #cc2b2b;
  border-radius:10px;padding:10px 12px;margin-bottom:8px;
}
.sv6-alert.sev-medium{border-color:#e9c46a;background:#fff8e9;border-left-color:#cda23a}
.sv6-alert.sev-low{border-color:#bdd6e8;background:#f3f8fc;border-left-color:#5c89bf}
.sv6-alert.is-resolved{opacity:.6;border-style:dashed;background:#eef9f7;border-left-color:#FF6B00}
.sv6-alert.is-snoozed{opacity:.7;border-style:dashed;background:#f8f5ff;border-left-color:#7a3ea7}
.sv6-alert .sv6-sev{
  font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;
  background:#cc2b2b;color:#fff;padding:3px 7px;border-radius:6px;white-space:nowrap;
}
.sv6-alert.sev-medium .sv6-sev{background:#cda23a}
.sv6-alert.sev-low .sv6-sev{background:#5c89bf}
.sv6-alert.is-resolved .sv6-sev{background:#FF6B00}
.sv6-alert.is-snoozed .sv6-sev{background:#7a3ea7}
.sv6-alert .sv6-text{font-size:13px;color:#141310;line-height:1.4}
.sv6-alert .sv6-text .sv6-title{font-weight:700;margin-right:6px}
.sv6-alert .sv6-text .sv6-meta{display:block;font-size:11.5px;color:#4a6b65;margin-top:2px}
.sv6-alert .sv6-text .sv6-suggest{
  display:block;font-size:11.5px;color:#1a4f48;margin-top:4px;font-style:italic;
}
.sv6-alert .sv6-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.sv6-alert .sv6-actions button{
  border:1px solid #cfe6e1;background:#fff;color:#141310;
  padding:5px 10px;border-radius:7px;font-size:11.5px;font-weight:650;cursor:pointer;
  transition:.15s;
}
.sv6-alert .sv6-actions button:hover{background:#eef9f7;border-color:#FF6B00}
.sv6-alert .sv6-actions .sv6-btn-resolve{background:#FF6B00;color:#fff;border-color:#D95A00}
.sv6-alert .sv6-actions .sv6-btn-resolve:hover{background:#D95A00}
.sv6-alert .sv6-actions .sv6-btn-notify{background:#141310;color:#fff;border-color:#141310}
.sv6-alert .sv6-actions .sv6-btn-notify:hover{background:#1A1916}
.sv6-alert .sv6-note{
  grid-column:1 / -1;font-size:11.5px;color:#4a6b65;
  background:#fff;border:1px dashed #d8e8e5;border-radius:6px;
  padding:5px 8px;margin-top:6px;line-height:1.35;
}
.sv6-alerts-empty{
  font-size:13px;color:#1a4f48;background:#eef9f7;
  border:1px solid #FFD4B0;border-radius:8px;padding:10px 12px;
}

/* ---------- Notification policy helper ---------- */
#sv6PolicyHelper{
  background:#f8f5ff;border:1px solid #d6c7ee;border-radius:10px;
  padding:10px 12px;margin-top:10px;font-size:12px;color:#3b1d6e;line-height:1.45;
}
#sv6PolicyHelper h4{
  margin:0 0 4px;font-family:'Barlow Condensed',sans-serif;
  font-size:13.5px;font-weight:700;color:#3b1d6e;
  letter-spacing:.3px;text-transform:uppercase;
}
#sv6PolicyHelper ul{margin:4px 0 0 16px;padding:0}
#sv6PolicyHelper li{margin-bottom:2px}
#sv6PolicyHelper .sv6-pol-tag{
  display:inline-block;background:#fff;border:1px solid #c9b5e7;
  border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:700;
  color:#3b1d6e;margin-right:4px;
}

/* ---------- Mobile / responsive ---------- */
@media (max-width: 720px){
  .sv6-wx-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
  .sv6-alert{grid-template-columns:1fr;gap:6px}
  .sv6-alert .sv6-actions{justify-content:flex-start}
  #sv6AlertsPanel{margin-left:6px;margin-right:6px}
}
