
.poma-weather-app{max-width:1180px;margin:20px auto;font-family:inherit}
.poma-weather-selector{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.poma-weather-selector label{font-weight:700;font-size:.8rem}
.poma-weather-selector select,.poma-weather-selector button{width:100%;min-height:40px;margin-top:5px;border:1px solid #cbd5e1;border-radius:8px;padding:8px;background:#fff}
.poma-weather-selector button{background:#172033;color:#fff;font-weight:800;cursor:pointer}
.poma-weather-current{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.poma-weather-current>div{padding:14px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}
.poma-weather-current span,.poma-weather-current small{display:block;color:#64748b}.poma-weather-current span{font-size:.65rem;font-weight:900;text-transform:uppercase}.poma-weather-current strong{display:block;margin:4px 0;font-size:1.2rem}
.poma-weather-score{display:grid;grid-template-columns:220px 1fr;gap:18px;margin-top:12px;padding:16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}
.poma-weather-score strong{display:block;font-size:1.8rem}.poma-weather-score b{display:block}.poma-weather-score ul{margin:0;padding-left:20px}.poma-weather-score.is-warning{background:#fff8e6}.poma-weather-score.is-critical{background:#fff0f0}
.poma-weather-section{margin-top:16px;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.poma-weather-section h3{margin:0 0 12px}
.poma-weather-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.poma-weather-day{padding:10px;border-radius:9px;background:#f8fafc}.poma-weather-day>*{display:block;margin-bottom:4px}.poma-weather-day span,.poma-weather-day small{color:#64748b;font-size:.7rem}
.poma-weather-sub-grid{display:grid;grid-template-columns:2fr 2fr 1.5fr;gap:16px}.poma-weather-sub-grid>div{padding:12px;border:1px solid #edf1f5;border-radius:9px}.poma-weather-sub-grid label{display:block;margin:7px 0;font-size:.78rem}.poma-weather-sub-grid select{width:100%;min-height:36px;margin-top:4px}
.poma-weather-save{margin-top:12px;min-height:38px;padding:8px 14px;border:0;border-radius:8px;background:#172033;color:#fff;font-weight:800;cursor:pointer}.poma-weather-saved{margin-bottom:10px;padding:8px;border-radius:8px;background:#e9f8ee;color:#176b35}
.poma-weather-login-note,.poma-weather-error{margin-top:14px;padding:12px;border-radius:9px;background:#f8fafc;color:#64748b}
.poma-weather-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1100px}.poma-weather-admin-card{padding:14px;border:1px solid #dcdcde;border-radius:10px;background:#fff}.poma-weather-admin-card h2{margin-top:0}
@media(max-width:900px){.poma-weather-current{grid-template-columns:1fr 1fr}.poma-weather-days{grid-template-columns:repeat(4,1fr)}.poma-weather-sub-grid{grid-template-columns:1fr}.poma-weather-admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.poma-weather-selector{grid-template-columns:1fr}.poma-weather-current{grid-template-columns:1fr}.poma-weather-score{grid-template-columns:1fr}.poma-weather-days{grid-template-columns:1fr 1fr}.poma-weather-admin-grid{grid-template-columns:1fr}}

/* POMA Weather v1.1 — Registered City + Staged Alerts */
.poma-weather-registered-city{
  padding:12px;
  border:1px solid #d8e0ea;
  border-radius:9px;
  background:#f8fafc;
}
.poma-weather-registered-city b,
.poma-weather-registered-city span,
.poma-weather-registered-city small{
  display:block;
}
.poma-weather-registered-city b{
  font-size:1rem;
}
.poma-weather-registered-city span{
  margin-top:2px;
  color:#475569;
}
.poma-weather-registered-city small{
  margin-top:7px;
  color:#64748b;
  line-height:1.35;
}
.poma-weather-admin-city-users{
  margin-top:24px;
  padding-top:12px;
  border-top:1px solid #dcdcde;
}

/* POMA Weather v1.2 — City Directory Admin */
.poma-weather-city-layout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:18px;
  align-items:start;
  max-width:1250px;
}
.poma-weather-city-add{
  position:sticky;
  top:42px;
  padding:16px;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#fff;
}
.poma-weather-city-add h2{margin-top:0}
.poma-weather-city-add label{
  display:block;
  margin-bottom:12px;
  font-weight:700;
}
.poma-weather-city-add input{
  width:100%;
  box-sizing:border-box;
  margin-top:5px;
}
.poma-weather-coord-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.poma-weather-region-block{
  margin-bottom:14px;
  padding:14px;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#fff;
}
.poma-weather-region-block h2{
  margin:0 0 10px;
}
.poma-weather-region-block h2 small{
  color:#646970;
  font-size:12px;
  font-weight:400;
}
.poma-weather-city-table-wrap{overflow:auto}
.poma-weather-city-reset{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #dcdcde;
}
@media(max-width:900px){
  .poma-weather-city-layout{grid-template-columns:1fr}
  .poma-weather-city-add{position:static}
}

/* POMA Weather v1.3 — Main Menu Weather */
.poma-weather-menu-item{position:relative;display:flex;align-items:center}
.poma-weather-menu-trigger{display:flex;align-items:center;gap:5px;min-height:38px;padding:6px 9px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.poma-weather-menu-trigger strong{font-size:.78rem;white-space:nowrap}
.poma-weather-menu-trigger>span:not(.poma-weather-menu-icon){font-size:.72rem;white-space:nowrap}
.poma-weather-menu-trigger small{padding:3px 5px;border-radius:999px;background:#f1f5f9;font-size:.58rem;font-weight:800;white-space:nowrap}
.poma-weather-menu-trigger small.is-warning{background:#fff3d7;color:#8a5200}
.poma-weather-menu-trigger small.is-critical{background:#feeceb;color:#a5221c}
.poma-weather-menu-trigger small.is-normal{background:#e9f8ee;color:#176b35}
.poma-weather-menu-icon{font-size:1rem}
.poma-weather-menu-popover{position:absolute;z-index:99999;top:calc(100% + 8px);right:0;width:290px;padding:13px;border:1px solid #d8e0ea;border-radius:12px;background:#fff;color:#172033;box-shadow:0 16px 38px rgba(15,23,42,.18)}
.poma-weather-menu-popover[hidden]{display:none!important}
.poma-weather-menu-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #edf1f5}
.poma-weather-menu-popover-head strong,.poma-weather-menu-popover-head span{display:block}
.poma-weather-menu-popover-head span{margin-top:2px;color:#64748b;font-size:.7rem}
.poma-weather-menu-popover-head>b{font-size:1.25rem}
.poma-weather-menu-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.poma-weather-menu-metrics span{padding:7px;border-radius:7px;background:#f8fafc}
.poma-weather-menu-metrics strong,.poma-weather-menu-metrics b{display:block}
.poma-weather-menu-metrics strong{color:#64748b;font-size:.58rem;text-transform:uppercase}
.poma-weather-menu-metrics b{margin-top:2px;font-size:.74rem}
.poma-weather-menu-risk{margin-top:9px;padding:8px;border-radius:8px;background:#eef2f7}
.poma-weather-menu-risk span,.poma-weather-menu-risk strong{display:block}
.poma-weather-menu-risk span{color:#64748b;font-size:.6rem;text-transform:uppercase}
.poma-weather-menu-risk strong{margin-top:2px;font-size:.8rem}
.poma-weather-menu-dashboard-link{display:flex;align-items:center;justify-content:center;min-height:34px;margin-top:9px;border-radius:7px;background:#172033;color:#fff!important;text-decoration:none!important;font-size:.7rem;font-weight:800}
.poma-weather-menu-shortcode{display:inline-flex;margin:0;padding:0;list-style:none}
@media(max-width:700px){
  .poma-weather-menu-trigger small{display:none}
  .poma-weather-menu-popover{position:fixed;left:12px;right:12px;top:auto;bottom:14px;width:auto}
}

/* POMA Weather v1.4 — Test Alert */
.poma-weather-test-card{
  max-width:760px;
  margin-top:16px;
  padding:18px;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#fff;
}
.poma-weather-test-card label{
  display:block;
  margin-bottom:14px;
  font-weight:700;
}
.poma-weather-test-card select{
  width:100%;
  max-width:100%;
  margin-top:5px;
}
.poma-weather-test-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.poma-weather-test-note{
  max-width:760px;
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #dcdcde;
  border-radius:9px;
  background:#f8fafc;
}
@media(max-width:800px){
  .poma-weather-test-grid{
    grid-template-columns:1fr;
  }
}

/* POMA Weather v2.0 — Intelligence Dashboard & Logs */
.poma-weather-live-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  max-width:1250px;
  margin-top:16px;
}
.poma-weather-live-card{
  padding:15px;
  border:1px solid #dcdcde;
  border-radius:11px;
  background:#fff;
}
.poma-weather-live-card.is-warning{border-color:#dba617}
.poma-weather-live-card.is-critical{border-color:#d63638}
.poma-weather-live-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.poma-weather-live-card-head h2{margin:0}
.poma-weather-live-card-head span{color:#646970;font-size:12px}
.poma-weather-live-card-head>strong{font-size:18px}
.poma-weather-live-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:12px;
}
.poma-weather-live-metrics span{
  padding:8px;
  border-radius:8px;
  background:#f6f7f7;
  font-size:11px;
}
.poma-weather-live-metrics b{
  display:block;
  font-size:15px;
}
.poma-weather-live-event{
  margin-top:12px;
  padding:10px;
  border-radius:9px;
  background:#fff8e6;
}
.poma-weather-live-card.is-critical .poma-weather-live-event{background:#fff0f0}
.poma-weather-live-event.is-normal{background:#eef9f1}
.poma-weather-live-event strong,
.poma-weather-live-event span,
.poma-weather-live-event small{display:block}
.poma-weather-live-event span{margin-top:2px;font-size:11px;font-weight:800}
.poma-weather-live-event p{margin:6px 0}
.poma-weather-log-status{
  display:inline-block;
  padding:3px 7px;
  border-radius:999px;
  background:#f1f5f9;
  font-size:11px;
  font-weight:800;
}
.poma-weather-log-status.is-sent{background:#e9f8ee;color:#176b35}
.poma-weather-log-status.is-failed{background:#feeceb;color:#a5221c}
.poma-weather-preview-form{
  max-width:1000px;
  padding:16px;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#fff;
}
.poma-weather-email-preview{
  max-width:900px;
  white-space:pre-wrap;
  padding:16px;
  border:1px solid #dcdcde;
  border-radius:10px;
  background:#fff;
  font-family:monospace;
  line-height:1.5;
}
@media(max-width:1000px){
  .poma-weather-live-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .poma-weather-live-grid{grid-template-columns:1fr}
  .poma-weather-live-metrics{grid-template-columns:1fr}
}

/* POMA Weather v2.1 — Mobile Menu Weather Visibility */
@media(max-width:900px){
  .poma-weather-menu-item{
    display:flex!important;
    width:100%!important;
    max-width:100%;
    flex:0 0 auto;
  }

  .poma-weather-menu-trigger{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
    min-height:42px!important;
    padding:8px 10px!important;
    box-sizing:border-box;
    visibility:visible!important;
    opacity:1!important;
  }

  .poma-weather-menu-trigger strong,
  .poma-weather-menu-trigger>span:not(.poma-weather-menu-icon){
    display:inline!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .poma-weather-menu-icon{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .poma-weather-menu-popover{
    position:fixed!important;
    z-index:2147483000!important;
    left:10px!important;
    right:10px!important;
    bottom:12px!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    box-sizing:border-box;
  }
}

@media(max-width:560px){
  .poma-weather-menu-trigger{
    flex-wrap:wrap;
  }

  .poma-weather-menu-trigger small{
    display:inline-flex!important;
    order:4;
    margin-left:24px;
  }

  .poma-weather-menu-popover{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    max-height:75vh;
    overflow:auto;
  }
}

/* v2.3 compact alert preview */
.poma-weather-email-preview{
  max-width:760px!important;
  padding:0!important;
  margin:12px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  white-space:normal!important;
  font-family:inherit!important;
  line-height:normal!important;
}
.poma-weather-email-preview p{min-height:0!important;}

/* POMA Weather v2.5 — Cron Health */
.poma-weather-cron-status{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  max-width:1100px;
  margin:16px 0;
  padding:14px;
  border:2px solid #dcdcde;
  border-radius:10px;
  background:#fff;
}
.poma-weather-cron-status.is-healthy{border-color:#46b450}
.poma-weather-cron-status.is-delayed{border-color:#dba617}
.poma-weather-cron-status.is-critical,
.poma-weather-cron-status.is-not-run{border-color:#d63638}
.poma-weather-cron-status>div{
  padding:10px;
  border-radius:8px;
  background:#f6f7f7;
}
.poma-weather-cron-status span,
.poma-weather-cron-status strong{
  display:block;
}
.poma-weather-cron-status span{
  color:#646970;
  font-size:11px;
  text-transform:uppercase;
}
.poma-weather-cron-status strong{
  margin-top:4px;
}
.poma-weather-cron-table{
  max-width:900px;
}
.poma-weather-cron-command{
  max-width:900px;
  padding:14px;
  border:1px solid #dcdcde;
  border-radius:9px;
  background:#fff;
}
.poma-weather-cron-command strong,
.poma-weather-cron-command code,
.poma-weather-cron-command textarea{
  display:block;
}
.poma-weather-cron-command code{
  margin:5px 0 12px;
  padding:8px;
  background:#f6f7f7;
}
.poma-weather-cron-command textarea{
  width:100%;
  box-sizing:border-box;
  font-family:monospace;
}
.poma-weather-cron-url{
  display:block;
  max-width:900px;
  overflow:auto;
  margin-top:8px;
  padding:10px;
  background:#fff;
}
.poma-weather-cron-steps{
  max-width:900px;
}
@media(max-width:900px){
  .poma-weather-cron-status{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .poma-weather-cron-status{
    grid-template-columns:1fr;
  }
}

/* ==========================================================
 * POMA Weather v2.6 — Android / Mobile Weather Dock
 * ========================================================== */
.poma-weather-mobile-dock{
  display:none;
}

@media(max-width:900px){
  /*
   * Hide the duplicate copy inside collapsed navigation.
   * The mobile dock below remains permanently accessible.
   */
  nav .poma-weather-menu-item,
  .menu .poma-weather-menu-item{
    display:none!important;
  }

  .poma-weather-mobile-dock{
    position:fixed;
    z-index:2147482500;
    right:12px;
    bottom:14px;
    display:block!important;
    max-width:calc(100vw - 24px);
  }

  .poma-weather-mobile-trigger{
    width:auto!important;
    min-width:0!important;
    min-height:44px!important;
    padding:7px 11px!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    border:1px solid rgba(15,23,42,.12)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#172033!important;
    box-shadow:0 8px 28px rgba(15,23,42,.18)!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .poma-weather-mobile-trigger .poma-weather-menu-icon,
  .poma-weather-mobile-trigger strong,
  .poma-weather-mobile-trigger>span:not(.poma-weather-menu-icon){
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    white-space:nowrap!important;
  }

  .poma-weather-mobile-trigger small{
    display:inline-flex!important;
    margin:0!important;
    order:initial!important;
  }

  .poma-weather-mobile-popover{
    position:absolute!important;
    right:0!important;
    left:auto!important;
    bottom:calc(100% + 8px)!important;
    top:auto!important;
    width:min(310px,calc(100vw - 24px))!important;
    max-height:70vh!important;
    overflow:auto!important;
    z-index:2147483000!important;
  }
}

@media(max-width:480px){
  .poma-weather-mobile-dock{
    right:8px;
    bottom:10px;
    max-width:calc(100vw - 16px);
  }

  .poma-weather-mobile-trigger{
    max-width:calc(100vw - 16px)!important;
    padding:7px 10px!important;
  }

  .poma-weather-mobile-trigger small{
    display:none!important;
  }

  .poma-weather-mobile-popover{
    width:calc(100vw - 16px)!important;
  }
}

/* v2.7 — canonical POMA brand + stale-data notice */
.poma-weather-admin-brand{display:flex;align-items:center;gap:16px;margin:16px 0}.poma-weather-admin-brand img{width:175px;height:auto}.poma-weather-stale{padding:8px 12px;border-left:4px solid #dba617;background:#fff8e5;margin:8px 0;font-weight:600}

/* v2.9 mandatory campaign-weather protection */
.poma-weather-mandatory-banner{position:sticky;top:0;z-index:99990;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:14px 48px 14px 18px;border-bottom:3px solid #c98200;background:#fff7df;color:#172033;box-shadow:0 3px 14px rgba(15,23,42,.18)}
.poma-weather-mandatory-banner.is-critical{background:#fff0f0;border-bottom-color:#b42318}.poma-weather-mandatory-banner strong,.poma-weather-mandatory-banner span,.poma-weather-mandatory-banner small{display:block}.poma-weather-mandatory-banner strong{font-size:14px;margin-bottom:3px}.poma-weather-mandatory-banner span{font-weight:700}.poma-weather-mandatory-banner small{margin-top:3px;line-height:1.45}.poma-weather-banner-ur{border-left:1px solid rgba(15,23,42,.15);padding-left:18px;font-family:Tahoma,Arial,sans-serif;line-height:1.7}.poma-weather-banner-close{position:absolute;right:12px;top:9px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#475569}.poma-weather-mandatory-note,.poma-weather-campaign-cities{padding:12px 14px;border:1px solid #cbd5e1;border-left:4px solid #2563eb;border-radius:6px;background:#f8fafc;line-height:1.55}.poma-weather-campaign-cities{margin:0 0 16px}.poma-weather-campaign-cities [dir=rtl]{display:block;margin-top:8px}
@media(max-width:760px){.poma-weather-mandatory-banner{grid-template-columns:1fr;padding-right:44px}.poma-weather-banner-ur{border-left:0;border-top:1px solid rgba(15,23,42,.15);padding:10px 0 0}}
.poma-weather-city-required{position:fixed;left:16px;right:16px;bottom:16px;z-index:99995;display:flex;justify-content:center}.poma-weather-city-required>div{width:min(760px,100%);background:#0f172a;color:#fff;border:1px solid #334155;border-radius:12px;padding:16px 18px;box-shadow:0 12px 36px rgba(0,0,0,.3)}.poma-weather-city-required strong,.poma-weather-city-required span,.poma-weather-city-required small{display:block}.poma-weather-city-required span{margin-top:4px;font-family:Tahoma,Arial,sans-serif}.poma-weather-city-required form{display:flex;gap:8px;margin:12px 0 8px}.poma-weather-city-required select{flex:1;min-width:0;padding:9px;border-radius:6px}.poma-weather-city-required button{border:0;border-radius:6px;padding:9px 14px;background:#dc2626;color:white;font-weight:700;cursor:pointer}@media(max-width:620px){.poma-weather-city-required form{flex-direction:column}}


/* v2.9.1 Easy Setup */
.poma-weather-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.poma-weather-risk-reason{margin-top:8px;color:#50575e;font-size:12px}
.poma-weather-easy-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;max-width:1050px;background:#fff;border:1px solid #dcdcde;border-left:4px solid #2271b1;border-radius:8px;padding:20px 22px;margin:16px 0}
.poma-weather-easy-card h2{margin:0 0 6px}
.poma-weather-easy-card p{margin:6px 0}
.poma-weather-preset-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.poma-weather-profile-ok{display:inline-block;background:#edfaef;color:#116329;border-radius:999px;padding:3px 9px}
.poma-weather-profile-custom{display:inline-block;background:#fff8e5;color:#6e4b00;border-radius:999px;padding:3px 9px}
.poma-weather-advanced-settings{max-width:1050px;background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:0 18px;margin:18px 0}
.poma-weather-advanced-settings>summary{cursor:pointer;padding:16px 0;font-size:14px}
@media (max-width:782px){.poma-weather-easy-card{grid-template-columns:1fr}.poma-weather-preset-actions{align-items:flex-start}}
