:root{
  --plz-bg:#f3f7ff;
  --plz-card:#eef4ff;
  --plz-muted:#475569;
  --plz-text:#0f172a;
  --plz-border:rgba(15,23,42,.10);
  --plz-ok:#22c55e;
  --plz-warn:#f59e0b;
  --plz-bad:#ef4444;
  --plz-accent:#2563eb;
  --plz-h1-color:var(--plz-text);
  --plz-h2-color:var(--plz-text);
}

.plz-card{
  max-width:1100px;
  margin:20px auto;
  padding:18px;
  border:1px solid var(--plz-border);
  border-radius:16px;
  background:radial-gradient(800px 280px at 50% -60px, rgba(37,99,235,.18), rgba(255,255,255,0)), var(--plz-card);
  color:var(--plz-text);
  box-shadow:0 12px 28px rgba(15,23,42,.12);
}

.plz-header{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:14px;
}

.plz-header-centered{
  flex-direction:column;
  gap:6px;
  text-align:center;
  align-items:center;
}

.plz-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(56,189,248,.12);
  color:var(--plz-accent);
  font-size:26px;
}

.plz-title{
  margin:0;
  font-size:clamp(26px, 3.8vw, 40px);
  line-height:1.2;
}

.plz-title{
  font-weight:950;
  width:100%;
  color:var(--plz-h1-color);
}

.plz-h1-icon.dashicons{
  display:inline-block;
  vertical-align:-6px;
  margin-right:10px;
  font-size:34px;
  width:34px;
  height:34px;
  color:#f59e0b;
  filter:drop-shadow(0 10px 16px rgba(245,158,11,.25));
}

.plz-title-icon{
  display:block;
  margin:0 0 6px;
  font-size:56px;
  width:56px;
  height:56px;
  color:#facc15;
  filter:drop-shadow(0 10px 14px rgba(250,204,21,.25));
}

.plz-date{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:clamp(18px, 2.8vw, 28px);
  font-weight:950;
  color:var(--plz-text);
  padding:8px 14px;
  border-radius:999px;
  background:rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
}

.plz-date .dashicons{
  font-size:26px;
  width:26px;
  height:26px;
  color:var(--plz-accent);
}

.plz-subtitle{
  color:var(--plz-muted);
  font-size:13px;
  margin-top:3px;
}

.plz-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin:14px 0 16px;
}

.plz-summary-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin:14px 0 18px;
}

.plz-section-title{
  margin:18px 0 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
}

.plz-section-icon.dashicons{
  font-size:46px;
  width:46px;
  height:46px;
  color:var(--plz-accent);
  opacity:.95;
}

.plz-section-icon.dashicons{
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  filter:drop-shadow(0 12px 16px rgba(37,99,235,.18));
}

.plz-section-text{
  font-size:clamp(22px, 3.2vw, 34px);
  font-weight:900;
  letter-spacing:-.2px;
  color:var(--plz-h2-color);
}

.plz-section-text{
  margin:0;
  width:100%;
}

.plz-tips-title{
  margin:14px 0 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
}

.plz-tips-title-icon.dashicons{
  font-size:48px;
  width:48px;
  height:48px;
  color:#7c3aed;
  opacity:.95;
}

.plz-tips-title-icon.dashicons{
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  filter:drop-shadow(0 12px 16px rgba(124,58,237,.18));
}

.plz-tips-title-text{
  font-size:clamp(22px, 3.2vw, 34px);
  font-weight:950;
  letter-spacing:-.2px;
  color:var(--plz-h2-color);
}

.plz-tips-title-text{
  margin:0;
  width:100%;
}

.plz-tips-cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.plz-tip-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.70));
  border:1px solid rgba(15, 23, 42, .10);
  box-shadow:0 16px 34px rgba(15, 23, 42, .14);
  padding:16px 14px 16px;
  text-align:center;
  transition:transform .16s ease, box-shadow .16s ease;
  will-change:transform;
}

.plz-tip-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(520px 220px at 50% -40px, rgba(255,255,255,.80), rgba(255,255,255,0)),
    linear-gradient(135deg, rgba(37,99,235,.10), rgba(34,197,94,.06));
  opacity:1;
}

.plz-tip-card:after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg, var(--plz-tone), rgba(255,255,255,0));
  opacity:.95;
}

.plz-tip-card{
  --plz-tip-title:var(--plz-tone);
  --plz-tip-bg:linear-gradient(135deg, rgba(37,99,235,.10), rgba(34,197,94,.06));
}

.plz-tip-card.plz-ok{
  --plz-tip-title:#16a34a;
  --plz-tip-bg:linear-gradient(135deg, rgba(34,197,94,.18), rgba(16,185,129,.08));
}

.plz-tip-card.plz-warn{
  --plz-tip-title:#d97706;
  --plz-tip-bg:linear-gradient(135deg, rgba(245,158,11,.18), rgba(249,115,22,.08));
}

.plz-tip-card.plz-bad{
  --plz-tip-title:#dc2626;
  --plz-tip-bg:linear-gradient(135deg, rgba(239,68,68,.16), rgba(244,63,94,.08));
}

.plz-tip-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px rgba(15, 23, 42, .14);
}

.plz-tip-card:active{
  transform:translateY(-1px) scale(.99);
}

.plz-tip-icon{
  position:relative;
  z-index:1;
  width:84px;
  height:84px;
  border-radius:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--plz-tip-bg);
  border:1px solid rgba(15, 23, 42, .08);
  margin:0 auto 12px;
  box-shadow:0 16px 26px rgba(15, 23, 42, .10);
}

.plz-tip-icon .dashicons{
  font-size:46px;
  width:46px;
  height:46px;
  color:var(--plz-tip-title);
  filter:drop-shadow(0 10px 16px rgba(15, 23, 42, .14));
}

.plz-tip-title{
  position:relative;
  z-index:1;
  font-weight:950;
  font-size:18px;
  letter-spacing:-.2px;
  color:var(--plz-tip-title);
}

.plz-tip-text{
  position:relative;
  z-index:1;
  margin-top:10px;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
  color:#0f172a;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(15, 23, 42, .08);
  border-radius:16px;
  padding:10px 12px;
  box-shadow:0 10px 18px rgba(15, 23, 42, .10);
}

.plz-metric{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#ffffff;
  color:#0f172a;
  box-shadow:0 10px 22px rgba(15, 23, 42, .12);
  padding:16px 16px 18px;
  border:1px solid rgba(15, 23, 42, .08);
  transition:transform .16s ease, box-shadow .16s ease;
  will-change:transform;
}

.plz-metric:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px rgba(15, 23, 42, .16);
}

.plz-metric:active{
  transform:translateY(-1px) scale(.99);
}

.plz-metric:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:var(--plz-tone);
}

.plz-metric-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  margin:2px auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15, 23, 42, .06);
}

.plz-metric-icon .dashicons{
  font-size:36px;
  width:36px;
  height:36px;
  color:var(--plz-tone);
}

.plz-metric-pill{
  width:fit-content;
  margin:0 auto 10px;
  padding:10px 16px;
  border-radius:14px;
  font-weight:800;
  font-size:16px;
  line-height:1;
  letter-spacing:.2px;
  background:linear-gradient(180deg, #0ea5e9, #075985);
  color:#f8fafc;
  box-shadow:0 10px 18px rgba(14,165,233,.18);
}

.plz-metric.plz-ok .plz-metric-pill{
  border-radius:16px;
  background:linear-gradient(135deg, rgba(34,197,94,.95), rgba(16,185,129,.80));
  box-shadow:0 12px 22px rgba(34,197,94,.22);
}

.plz-metric.plz-warn .plz-metric-pill{
  border-radius:16px;
  background:linear-gradient(135deg, rgba(245,158,11,.95), rgba(249,115,22,.80));
  box-shadow:0 12px 22px rgba(245,158,11,.22);
}

.plz-metric.plz-bad .plz-metric-pill{
  border-radius:16px;
  background:linear-gradient(135deg, rgba(239,68,68,.95), rgba(244,63,94,.80));
  box-shadow:0 12px 22px rgba(239,68,68,.22);
}

.plz-metric-value{
  text-align:center;
  font-weight:900;
  font-size:28px;
  letter-spacing:-.3px;
}

.plz-metric-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:16px;
  border:1px solid rgba(15, 23, 42, .08);
  background:linear-gradient(180deg, rgba(37,99,235,.12), rgba(255,255,255,.85));
  color:var(--plz-tone);
  box-shadow:0 14px 22px rgba(15, 23, 42, .10);
}

.plz-metric.plz-ok .plz-metric-price{
  background:linear-gradient(180deg, rgba(34,197,94,.26), rgba(255,255,255,.88));
  border-color:rgba(34,197,94,.25);
}

.plz-metric.plz-warn .plz-metric-price{
  background:linear-gradient(180deg, rgba(245,158,11,.26), rgba(255,255,255,.88));
  border-color:rgba(245,158,11,.25);
}

.plz-metric.plz-bad .plz-metric-price{
  background:linear-gradient(180deg, rgba(239,68,68,.24), rgba(255,255,255,.88));
  border-color:rgba(239,68,68,.25);
}

.plz-metric-time{
  width:fit-content;
  margin:12px auto 0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(15, 23, 42, .08);
  box-shadow:0 10px 18px rgba(15, 23, 42, .10);
}

.plz-metric-time{
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72)), rgba(255,255,255,.70);
}

.plz-metric.plz-ok .plz-metric-time{
  background:linear-gradient(180deg, rgba(34,197,94,.20), rgba(255,255,255,.78));
  border-color:rgba(34,197,94,.25);
}

.plz-metric.plz-warn .plz-metric-time{
  background:linear-gradient(180deg, rgba(245,158,11,.22), rgba(255,255,255,.78));
  border-color:rgba(245,158,11,.25);
}

.plz-metric.plz-bad .plz-metric-time{
  background:linear-gradient(180deg, rgba(239,68,68,.20), rgba(255,255,255,.78));
  border-color:rgba(239,68,68,.25);
}

.plz-metric-time .dashicons{
  font-size:20px;
  width:20px;
  height:20px;
  color:var(--plz-tone);
}

.plz-metric-time-text{
  font-weight:950;
  font-size:16px;
  letter-spacing:-.2px;
  color:#0f172a;
}

@media (max-width: 600px){
  .plz-metric-price{
    padding:10px 14px;
    border-radius:18px;
  }

  .plz-metric-time{
    margin-top:14px;
    padding:10px 14px;
    gap:10px;
  }

  .plz-metric-time .dashicons{
    font-size:22px;
    width:22px;
    height:22px;
  }

  .plz-metric-time-text{
    font-size:18px;
  }
}

.plz-unit{
  font-size:14px;
  font-weight:800;
  color:#334155;
}

.plz-chip{
  border:1px solid var(--plz-border);
  border-radius:14px;
  padding:12px;
  background:rgba(2,6,23,.35);
}

.plz-chip-label{
  color:var(--plz-muted);
  font-size:12px;
}

.plz-chip-value{
  margin-top:6px;
  font-weight:700;
  font-size:14px;
}

.plz-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:10px;
}

.plz-hourly-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.plz-reco-cards{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.plz-reco-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#ffffff;
  color:#0f172a;
  border:1px solid rgba(15, 23, 42, .08);
  box-shadow:0 10px 22px rgba(15, 23, 42, .10);
  padding:14px;
  transition:transform .16s ease, box-shadow .16s ease;
  will-change:transform;
}

.plz-reco-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:var(--plz-tone);
}

.plz-reco-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px rgba(15, 23, 42, .14);
}

.plz-reco-card:active{
  transform:translateY(-1px) scale(.99);
}

.plz-reco-head{
  display:flex;
  gap:10px;
  align-items:center;
}

.plz-reco-head-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15, 23, 42, .06);
}

.plz-reco-head-icon .dashicons{
  font-size:26px;
  width:26px;
  height:26px;
  color:var(--plz-tone);
}

.plz-reco-title{
  font-weight:950;
  font-size:16px;
  color:#0f172a;
}

.plz-reco-subtitle{
  margin-top:2px;
  font-size:13px;
  font-weight:700;
  color:#64748b;
}

.plz-reco-hours{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.plz-reco-hour{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-radius:14px;
  padding:10px 12px;
  background:rgba(15, 23, 42, .04);
}

.plz-reco-hour .dashicons{
  font-size:20px;
  width:20px;
  height:20px;
  color:#64748b;
}

.plz-reco-hour-time{
  font-weight:950;
  color:#0f172a;
}

.plz-reco-hour-price{
  font-weight:900;
  color:#1e293b;
}

.plz-hour-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#ffffff;
  color:#0f172a;
  border:1px solid rgba(15, 23, 42, .08);
  box-shadow:0 10px 22px rgba(15, 23, 42, .10);
  padding:14px 14px 16px;
  text-align:center;
  transition:transform .16s ease, box-shadow .16s ease;
  will-change:transform;
}

.plz-hour-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px rgba(15, 23, 42, .14);
}

.plz-hour-card:active{
  transform:translateY(-1px) scale(.99);
}

.plz-hour-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:4px;
  background:var(--plz-tone);
}

.plz-hour-top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:2px;
}

.plz-hour-card .plz-hour-clock.dashicons{
  font-size:22px;
  width:22px;
  height:22px;
  color:#64748b;
}

.plz-hour-card .plz-hour-time{
  font-weight:900;
  font-size:20px;
  color:#0f172a;
}

.plz-hour-card .plz-hour-price{
  margin-top:10px;
  font-weight:950;
  font-size:28px;
  letter-spacing:-.3px;
  color:#0f172a;
}

.plz-price-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:14px;
  border:1px solid rgba(15, 23, 42, .08);
  background:linear-gradient(180deg, rgba(37,99,235,.12), rgba(34,197,94,.10));
  color:var(--plz-tone);
  box-shadow:0 10px 18px rgba(37, 99, 235, .10);
}

.plz-hour-state{
  margin-top:10px;
}

.plz-hour-state .dashicons{
  font-size:34px;
  width:34px;
  height:34px;
  color:var(--plz-tone);
}

.plz-hour{
  border:1px solid var(--plz-border);
  border-radius:14px;
  padding:10px;
  background:rgba(2,6,23,.35);
  min-height:86px;
}

.plz-hour-time{
  font-weight:700;
  font-size:13px;
}

.plz-hour-price{
  margin-top:6px;
  font-size:13px;
}

.plz-hour-badge{
  margin-top:8px;
  display:inline-flex;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid var(--plz-border);
  color:var(--plz-muted);
}

.plz-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.plz-btn{
  appearance:none;
  border:1px solid var(--plz-border);
  background:rgba(255,255,255,.7);
  color:var(--plz-text);
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
}

.plz-btn .dashicons{
  font-size:20px;
  width:20px;
  height:20px;
  margin-right:8px;
  vertical-align:-4px;
}

@media (max-width: 600px){
  .plz-card{
    margin:10px 10px;
    padding:14px;
    border-radius:18px;
  }

  .plz-days{
    grid-template-columns:1fr;
  }

  .plz-header{
    margin-bottom:12px;
  }

  .plz-summary-cards{
    grid-template-columns:1fr;
    gap:12px;
    margin:12px 0 14px;
  }

  .plz-section-title{
    margin:16px 0 10px;
    gap:8px;
  }

  .plz-hourly-cards{
    gap:12px;
  }

  .plz-reco-cards{
    gap:12px;
  }

  .plz-tips-cards{
    grid-template-columns:1fr;
    gap:12px;
  }

  .plz-actions{
    gap:12px;
  }

  .plz-btn{
    width:100%;
    padding:14px 16px;
    font-size:16px;
    border-radius:14px;
  }

  .plz-title-icon{
    font-size:64px;
    width:64px;
    height:64px;
  }
}

.plz-btn:hover{
  border-color:rgba(37,99,235,.45);
}

.plz-btn-primary{
  background:linear-gradient(90deg, rgba(37,99,235,.92), rgba(34,197,94,.75));
  border:none;
  color:#ffffff;
}

.plz-info{
  margin:12px 0;
  padding:12px;
  border-radius:14px;
  border:1px dashed rgba(245,158,11,.35);
  color:var(--plz-text);
  background:rgba(245,158,11,.08);
}

.plz-alert{
  margin:12px 0;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(239,68,68,.25);
  background:radial-gradient(520px 220px at 50% -60px, rgba(239,68,68,.25), rgba(255,255,255,0)), linear-gradient(180deg, rgba(239,68,68,.14), rgba(255,255,255,.78));
  box-shadow:0 18px 34px rgba(15, 23, 42, .14);
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.plz-alert:hover{
  box-shadow:0 22px 40px rgba(15, 23, 42, .16);
}

.plz-alert-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(239,68,68,.18);
  border:1px solid rgba(239,68,68,.22);
  flex:0 0 auto;
}

.plz-alert-icon .dashicons{
  font-size:30px;
  width:30px;
  height:30px;
  color:#dc2626;
  filter:drop-shadow(0 10px 16px rgba(239,68,68,.18));
}

.plz-alert-title{
  font-weight:950;
  font-size:16px;
  letter-spacing:-.2px;
  color:#7f1d1d;
}

.plz-alert-text{
  margin-top:6px;
  font-weight:800;
  font-size:14px;
  line-height:1.45;
  color:#0f172a;
}

.plz-alert-actions{
  margin-top:12px;
}

.plz-alert .plz-btn{
  width:fit-content;
  padding:12px 14px;
  border-radius:14px;
}

.plz-alert .plz-btn.plz-btn-primary{
  background:linear-gradient(90deg, rgba(239,68,68,.96), rgba(249,115,22,.86));
  color:#ffffff;
  border:none;
  box-shadow:0 14px 22px rgba(239,68,68,.20);
}

.plz-alert .plz-btn.plz-btn-primary:hover{
  filter:saturate(1.05);
  box-shadow:0 18px 28px rgba(239,68,68,.24);
}

.plz-alert .plz-btn.plz-btn-primary:active{
  transform:translateY(1px) scale(.99);
}

.plz-toast{
  position:fixed;
  left:50%;
  bottom:16px;
  transform:translateX(-50%) translateY(14px);
  opacity:0;
  z-index:999999;
  max-width:min(520px, calc(100vw - 24px));
  width:fit-content;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(15, 23, 42, .12);
  background:rgba(15, 23, 42, .92);
  color:#ffffff;
  font-weight:800;
  font-size:14px;
  line-height:1.35;
  box-shadow:0 18px 34px rgba(15, 23, 42, .22);
  transition:opacity .18s ease, transform .18s ease;
  pointer-events:none;
}

.plz-toast.plz-toast-show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.plz-toast.plz-toast-warn{
  background:linear-gradient(90deg, rgba(245,158,11,.96), rgba(249,115,22,.86));
  border-color:rgba(245,158,11,.25);
}

.plz-toast.plz-toast-error{
  background:linear-gradient(90deg, rgba(239,68,68,.96), rgba(244,63,94,.86));
  border-color:rgba(239,68,68,.25);
}

.plz-habitos-card{
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
  box-shadow:0 16px 30px rgba(15, 23, 42, .10);
}

.plz-alertas-card{
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
  box-shadow:0 16px 30px rgba(15, 23, 42, .10);
}

.plz-alertas-best-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.plz-alertas-best-item{
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76));
  box-shadow:0 16px 26px rgba(15, 23, 42, .08);
  display:grid;
  gap:10px;
}

.plz-alertas-best-hour{
  font-weight:1000;
  color:#0f172a;
  display:flex;
  align-items:center;
  gap:10px;
}

.plz-alertas-best-hour .dashicons{
  color:var(--plz-accent);
}

.plz-alertas-best-price{
  font-weight:950;
  color:rgba(15, 23, 42, .85);
}

.plz-alertas-threshold{
  margin-top:12px;
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76));
  box-shadow:0 16px 26px rgba(15, 23, 42, .08);
}

.plz-alertas-input-wrap{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:8px;
}

.plz-alertas-actions{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.plz-alertas-matches{
  margin-top:12px;
}

.plz-alertas-matches-title{
  font-weight:1000;
  color:#0f172a;
  margin:0 0 10px;
}

.plz-alertas-matches-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.plz-alertas-match{
  border-radius:16px;
  padding:12px;
  border:1px solid rgba(245,158,11,.22);
  background:linear-gradient(180deg, rgba(245,158,11,.16), rgba(255,255,255,.86));
}

.plz-habitos-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
}

.plz-habitos-label{
  font-weight:900;
  color:#0f172a;
}

.plz-habitos-select{
  appearance:none;
  border:1px solid rgba(15, 23, 42, .14);
  background:rgba(255,255,255,.8);
  padding:10px 12px;
  border-radius:14px;
  font-weight:800;
  color:#0f172a;
  width:min(320px, 60vw);
}

.plz-habitos-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.plz-habit{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(15, 23, 42, .10);
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 22px rgba(15, 23, 42, .08);
}

.plz-habit-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(26px 26px at 50% 35%, rgba(37,99,235,.25), rgba(255,255,255,.92));
  border:1px solid rgba(37,99,235,.18);
  flex:0 0 auto;
}

.plz-habit-icon .dashicons{
  font-size:26px;
  width:26px;
  height:26px;
  color:var(--plz-accent);
}

.plz-habit-title{
  font-weight:950;
  letter-spacing:-.2px;
  color:#0f172a;
}

.plz-habit-field{
  margin-top:8px;
  display:flex;
  gap:10px;
  align-items:center;
}

.plz-habit-meta{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.plz-habit-meta-item{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.plz-habit-meta-label{
  font-weight:900;
  font-size:12px;
  color:rgba(15, 23, 42, .70);
}

.plz-habit-meta-select{
  appearance:none;
  border:1px solid rgba(15, 23, 42, .14);
  background:rgba(255,255,255,.92);
  padding:10px 12px;
  border-radius:14px;
  font-weight:900;
  color:#0f172a;
}

.plz-habit-input{
  width:120px;
  max-width:40vw;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15, 23, 42, .14);
  background:rgba(255,255,255,.9);
  font-weight:900;
  color:#0f172a;
}

.plz-habit-unit{
  font-weight:900;
  color:rgba(15, 23, 42, .7);
}

.plz-habitos-actions{
  margin-top:14px;
  display:flex;
  justify-content:center;
}

.plz-habitos-results{
  margin-top:18px;
}

.plz-habitos-summary{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.plz-habitos-summary-card{
  position:relative;
  overflow:hidden;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76));
  box-shadow:0 16px 26px rgba(15, 23, 42, .10);
  text-align:center;
}

.plz-habitos-summary-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:6px;
  background:var(--plz-tone);
  opacity:.95;
}

.plz-habitos-summary-title{
  font-weight:950;
  color:#0f172a;
}

.plz-habitos-summary-value{
  margin-top:8px;
  font-weight:950;
  font-size:16px;
  color:#0f172a;
}

.plz-habitos-savings{
  margin-top:14px;
}

.plz-habitos-savings-card{
  border-radius:22px;
  padding:16px;
  border:1px solid rgba(34,197,94,.22);
  background:radial-gradient(520px 220px at 50% -70px, rgba(34,197,94,.22), rgba(255,255,255,0)), linear-gradient(180deg, rgba(34,197,94,.14), rgba(255,255,255,.82));
  box-shadow:0 18px 34px rgba(15, 23, 42, .12);
}

.plz-habitos-savings-title{
  font-weight:950;
  color:#0f172a;
}

.plz-habitos-savings-value{
  margin-top:10px;
  font-size:28px;
  font-weight:1000;
  color:#0f172a;
}

.plz-habitos-savings-note{
  margin-top:8px;
  font-weight:800;
  color:rgba(15, 23, 42, .75);
  line-height:1.35;
}

.plz-habitos-breakdown{
  margin-top:14px;
  display:grid;
  gap:12px;
}

.plz-habitos-break-item{
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76));
  box-shadow:0 16px 26px rgba(15, 23, 42, .08);
}

.plz-habitos-break-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.plz-habitos-break-title{
  font-weight:1000;
  color:#0f172a;
}

.plz-habitos-break-savings{
  font-weight:1000;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(34,197,94,.14);
  border:1px solid rgba(34,197,94,.20);
  color:#0f172a;
  white-space:nowrap;
}

.plz-habitos-break-sub{
  margin-top:10px;
  font-weight:850;
  color:rgba(15, 23, 42, .75);
  line-height:1.35;
}

@media (max-width: 600px){
  .plz-toast{
    bottom:12px;
    padding:14px 16px;
    border-radius:18px;
    font-size:15px;
  }

  .plz-habitos-grid{
    grid-template-columns:1fr;
  }

  .plz-alertas-best-grid{
    grid-template-columns:1fr;
  }

  .plz-alertas-matches-grid{
    grid-template-columns:1fr;
  }

  .plz-habitos-row{
    flex-direction:column;
    align-items:stretch;
  }

  .plz-habitos-select{
    width:100%;
  }

  .plz-habitos-summary{
    grid-template-columns:1fr;
  }

  .plz-habitos-savings-value{
    font-size:30px;
  }

  .plz-habit-meta{
    grid-template-columns:1fr;
  }
}

@media (max-width: 600px){
  .plz-alert{
    padding:16px;
    border-radius:20px;
  }

  .plz-alert .plz-btn{
    width:100%;
  }

  .plz-alert-icon{
    width:58px;
    height:58px;
    border-radius:18px;
  }

  .plz-alert-icon .dashicons{
    font-size:34px;
    width:34px;
    height:34px;
  }

  .plz-alert-title{
    font-size:18px;
  }

  .plz-alert-text{
    font-size:15px;
  }
}

.plz-reco{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--plz-border);
}

.plz-reco-title{
  margin:0 0 10px;
  font-size:16px;
  display:flex;
  align-items:center;
  gap:8px;
}

.plz-reco-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}

.plz-reco-box{
  border:1px solid var(--plz-border);
  border-radius:14px;
  padding:12px;
  background:rgba(2,6,23,.35);
}

.plz-reco-box-title{
  font-weight:700;
  font-size:13px;
  margin-bottom:8px;
}

.plz-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.plz-tag{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--plz-border);
  font-size:12px;
}

.plz-tip-list{
  margin:8px 0 0;
  padding-left:18px;
}

.plz-tip-list li{
  color:var(--plz-text);
  margin:6px 0;
}

.plz-days{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}

.plz-day{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(15, 23, 42, .10);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  box-shadow:0 14px 28px rgba(15, 23, 42, .12);
}

.plz-day:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(520px 240px at 50% -80px, rgba(37,99,235,.14), rgba(255,255,255,0));
}

.plz-day:after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg, rgba(37,99,235,.95), rgba(34,197,94,.65));
  opacity:.95;
}

.plz-day > *{
  position:relative;
  z-index:1;
}

.plz-day-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  font-weight:950;
  font-size:16px;
  letter-spacing:-.2px;
  color:#0f172a;
}

.plz-day-title .dashicons{
  font-size:22px;
  width:22px;
  height:22px;
  color:var(--plz-accent);
}

.plz-day-metrics{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.plz-day-metric{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  padding:12px;
  border:1px solid rgba(15, 23, 42, .10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  box-shadow:0 12px 22px rgba(15, 23, 42, .10);
  text-align:center;
}

.plz-day-metric:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:5px;
  background:var(--plz-tone);
  opacity:.95;
}

.plz-day-metric-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  margin:2px auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(255,255,255,.85));
  border:1px solid rgba(15, 23, 42, .08);
}

.plz-day-metric.plz-ok .plz-day-metric-icon{
  background:linear-gradient(180deg, rgba(34,197,94,.18), rgba(255,255,255,.86));
}

.plz-day-metric.plz-warn .plz-day-metric-icon{
  background:linear-gradient(180deg, rgba(245,158,11,.18), rgba(255,255,255,.86));
}

.plz-day-metric.plz-bad .plz-day-metric-icon{
  background:linear-gradient(180deg, rgba(239,68,68,.16), rgba(255,255,255,.86));
}

.plz-day-metric-icon .dashicons{
  font-size:26px;
  width:26px;
  height:26px;
  color:var(--plz-tone);
  filter:drop-shadow(0 10px 16px rgba(15, 23, 42, .10));
}

.plz-day-metric-label{
  font-weight:950;
  font-size:13px;
  letter-spacing:-.1px;
  color:#0f172a;
}

.plz-day-metric-value{
  margin-top:8px;
  font-weight:950;
  font-size:14px;
  color:#0f172a;
}

@media (max-width: 600px){
  .plz-day-title{
    font-size:18px;
  }

  .plz-day-metrics{
    grid-template-columns:1fr;
  }

  .plz-day-metric{
    padding:14px;
  }

  .plz-day-metric-icon{
    width:54px;
    height:54px;
    border-radius:18px;
  }

  .plz-day-metric-icon .dashicons{
    font-size:30px;
    width:30px;
    height:30px;
  }

  .plz-day-metric-value{
    font-size:15px;
  }
}

.plz-bars{
  display:flex;
  align-items:flex-end;
  gap:2px;
  height:110px;
  margin-top:10px;
}

.plz-bar{
  flex:1;
  border-radius:8px 8px 3px 3px;
  background:rgba(148,163,184,.22);
  box-shadow:0 10px 16px rgba(15, 23, 42, .08);
  cursor:pointer;
  transition:transform .12s ease, filter .12s ease;
}

.plz-bar:active{
  transform:translateY(1px) scale(.99);
  filter:saturate(1.05);
}

.plz-bar.plz-ok{
  background:linear-gradient(180deg, rgba(34,197,94,.85), rgba(34,197,94,.25));
}

.plz-bar.plz-warn{
  background:linear-gradient(180deg, rgba(245,158,11,.85), rgba(245,158,11,.25));
}

.plz-bar.plz-bad{
  background:linear-gradient(180deg, rgba(239,68,68,.85), rgba(239,68,68,.25));
}

.plz-bar-empty{
  height:18px;
  opacity:.35;
  cursor:default;
}

.plz-ok{--plz-tone:var(--plz-ok);}
.plz-warn{--plz-tone:var(--plz-warn);}
.plz-bad{--plz-tone:var(--plz-bad);}

.plz-hour.plz-ok{border-color:rgba(34,197,94,.35);}
.plz-hour.plz-warn{border-color:rgba(245,158,11,.35);}
.plz-hour.plz-bad{border-color:rgba(239,68,68,.35);}

.plz-chip.plz-ok{border-color:rgba(34,197,94,.35);}
.plz-chip.plz-warn{border-color:rgba(245,158,11,.35);}
.plz-chip.plz-bad{border-color:rgba(239,68,68,.35);}

.plz-tag.plz-ok{border-color:rgba(34,197,94,.35);}
.plz-tag.plz-bad{border-color:rgba(239,68,68,.35);}

.plz-bar.plz-ok{background:rgba(34,197,94,.75);}
.plz-bar.plz-warn{background:rgba(245,158,11,.75);}
.plz-bar.plz-bad{background:rgba(239,68,68,.75);}

.plz-error{
  background:linear-gradient(180deg, rgba(239,68,68,.10), transparent 55%), var(--plz-card);
}

.plz-share-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:999999;
}

.plz-share-panel{
  width:min(520px, 92vw);
  margin:16px;
  padding:14px;
  border-radius:16px;
  background:var(--plz-card);
  border:1px solid var(--plz-border);
}

.plz-share-title{
  font-weight:800;
  font-size:15px;
  margin-bottom:10px;
}

.plz-share-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}

.plz-share-action{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--plz-text);
  background:rgba(2,6,23,.35);
  border:1px solid var(--plz-border);
}

.plz-share-action:hover{border-color:rgba(56,189,248,.55);}

.plz-share-close{
  margin-top:10px;
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--plz-border);
  background:transparent;
  color:var(--plz-text);
}

@media (max-width: 900px){
  .plz-grid{grid-template-columns:repeat(4, minmax(0,1fr));}
  .plz-days{grid-template-columns:1fr;}
}

@media (max-width: 520px){
  .plz-summary{grid-template-columns:1fr;}
  .plz-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .plz-reco-row{grid-template-columns:1fr;}

  .plz-summary-cards{grid-template-columns:1fr;}
  .plz-hourly-cards{grid-template-columns:1fr;}
  .plz-metric-value{font-size:30px;}
  .plz-hour-price{font-size:30px;}

  .plz-tips-cards{grid-template-columns:1fr;}
}

@media (max-width: 900px){
  .plz-summary-cards{grid-template-columns:1fr;}
  .plz-hourly-cards{grid-template-columns:1fr;}
}
