/*
Theme Name: PHS Surveillance
Theme URI: https://phs.janelkart.com/
Author: Janel Kart
Description: Public Health Surveillance dashboard theme with UDSP Google Sheets API integration.
Version: 1.3.2
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: phs-surveillance
*/

:root{--phs-primary:#0f4f49;--phs-secondary:#14766e;--phs-bg:#f3f6f8;--phs-card:#fff;--phs-text:#172033;--phs-muted:#64748b;--phs-success:#16a34a;--phs-danger:#dc2626;--phs-warning:#f59e0b;--phs-info:#2563eb;--phs-border:#e5e7eb}
*{box-sizing:border-box}body{margin:0;background:var(--phs-bg);color:var(--phs-text);font-family:Arial,Helvetica,sans-serif}a{color:inherit}
.phs-btn{display:inline-block;background:var(--phs-primary);color:#fff;text-decoration:none;border-radius:10px;padding:11px 17px;font-weight:700;border:0;cursor:pointer}.phs-btn.secondary{background:#334155}.phs-btn.small{padding:8px 11px;font-size:13px}
.phs-app{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.phs-sidebar{background:var(--phs-primary);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh}.phs-brand h1{font-size:22px;margin:0}.phs-brand span{font-size:13px;opacity:.85}.phs-nav{margin-top:26px}.phs-nav a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none;margin-bottom:6px;font-weight:700}.phs-nav a:hover,.phs-nav a.active{background:rgba(255,255,255,.14)}
.phs-main{min-width:0}.phs-topbar{background:#fff;border-bottom:1px solid var(--phs-border);padding:16px 26px;display:flex;justify-content:space-between;align-items:center;gap:15px}.phs-topbar h2{margin:0;color:var(--phs-primary);font-size:22px}.phs-user{font-size:14px;color:var(--phs-muted)}
.phs-content{max-width:1280px;margin:24px auto;padding:0 20px}.phs-hero,.phs-panel,.phs-card{background:#fff;border-radius:16px;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.phs-hero{padding:22px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.phs-hero h2{margin:0;color:var(--phs-primary)}.phs-hero p{margin:7px 0 0;color:var(--phs-muted)}.phs-hero-meta{text-align:right;color:var(--phs-muted);font-size:13px;line-height:1.7}
.phs-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.phs-card{padding:18px;border-left:6px solid var(--phs-primary)}.phs-card.success{border-color:var(--phs-success)}.phs-card.danger{border-color:var(--phs-danger)}.phs-card.warning{border-color:var(--phs-warning)}.phs-card.info{border-color:var(--phs-info)}.phs-card span{display:block;color:var(--phs-muted);font-size:13px;font-weight:700;margin-bottom:9px}.phs-card strong{font-size:30px;line-height:1.1}.phs-card small{display:block;margin-top:8px;color:var(--phs-muted)}
.phs-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.phs-grid-3{display:grid;grid-template-columns:1.3fr .9fr .9fr;gap:18px}.phs-panel{padding:18px;margin-bottom:18px;overflow:hidden}.phs-panel h3{margin:0 0 14px;color:var(--phs-primary)}
.phs-table-wrap{overflow:auto}.phs-table{width:100%;border-collapse:collapse;background:#fff}.phs-table th{background:var(--phs-secondary);color:#fff;text-align:left;padding:10px;font-size:14px;white-space:nowrap}.phs-table td{border-bottom:1px solid var(--phs-border);padding:9px;font-size:14px}.phs-table tr:nth-child(even) td{background:#f8fafc}
.phs-alert{padding:14px;border-radius:12px;margin-bottom:18px}.phs-alert.error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.phs-alert.info{background:#dbeafe;color:#1e3a8a;border:1px solid #60a5fa}
.phs-summary-box{background:#f8fafc;border:1px solid var(--phs-border);border-radius:14px;padding:16px;line-height:1.7;color:#334155}
.phs-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.phs-badge.green{background:#dcfce7;color:#166534}.phs-badge.red{background:#fee2e2;color:#991b1b}.phs-badge.yellow{background:#fef3c7;color:#92400e}.phs-badge.orange{background:#ffedd5;color:#9a3412}.phs-badge.gray{background:#e5e7eb;color:#374151}
.phs-footer{text-align:center;color:var(--phs-muted);font-size:13px;padding:30px}.phs-progress{height:10px;background:#e5e7eb;border-radius:99px;overflow:hidden;min-width:120px}.phs-progress span{display:block;height:100%;background:var(--phs-secondary);border-radius:99px}.phs-critical-list{list-style:none;margin:0;padding:0}.phs-critical-list li{padding:10px 0;border-bottom:1px solid var(--phs-border);display:flex;justify-content:space-between;gap:10px}
.phs-filter-form{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:12px;align-items:end;margin-bottom:0}.phs-filter-form label{font-weight:700;color:var(--phs-primary);display:block;margin-bottom:6px}.phs-filter-form select,.phs-filter-form input{padding:10px 12px;border:1px solid var(--phs-border);border-radius:10px;width:100%;background:#fff}
.phs-nr-hero{background:linear-gradient(90deg,#fff7ed,#fff);border:1px solid #fed7aa}.phs-nr-count{display:flex;align-items:center;gap:18px;text-align:left}.phs-nr-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#dc2626;font-size:28px;font-weight:900}.phs-nr-count strong{display:block;font-size:42px;color:#dc2626;line-height:1}.phs-nr-count span{display:block;color:#334155;font-weight:700}.phs-nr-date{text-align:right;border-left:1px solid #fed7aa;padding-left:35px}.phs-nr-date strong{display:block;color:#0f4f49;font-size:15px}.phs-nr-date span{display:block;font-size:22px;color:#dc2626;font-weight:800;margin-top:5px}
.phs-table-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.phs-table-actions{display:flex;gap:8px;flex-wrap:wrap}.phs-muted{color:var(--phs-muted);font-size:13px}.phs-debug-map{font-size:12px;color:#64748b;margin-top:8px}
.phs-pagination{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}.phs-pagination a,.phs-pagination span{padding:7px 11px;border:1px solid var(--phs-border);border-radius:8px;text-decoration:none;background:#fff}.phs-pagination .current{background:var(--phs-primary);color:#fff}
@media(max-width:1100px){.phs-app{grid-template-columns:1fr}.phs-sidebar{height:auto;position:relative}.phs-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.phs-cards{grid-template-columns:repeat(2,1fr)}.phs-grid-2,.phs-grid-3{grid-template-columns:1fr}.phs-filter-form{grid-template-columns:1fr 1fr}.phs-hero{display:block}.phs-nr-date{border-left:0;padding-left:0;margin-top:18px;text-align:left}}
@media(max-width:580px){.phs-hero-meta{text-align:left;margin-top:12px}.phs-topbar{align-items:flex-start;flex-direction:column}.phs-nav{grid-template-columns:1fr}.phs-cards{grid-template-columns:1fr}.phs-filter-form{grid-template-columns:1fr}.phs-card strong{font-size:26px}.phs-nr-count strong{font-size:34px}}
@media print{.phs-sidebar,.phs-topbar,.phs-filter-form,.phs-table-actions,.phs-footer,.phs-pagination{display:none!important}.phs-app{display:block}.phs-content{max-width:100%;margin:0}.phs-panel,.phs-hero{box-shadow:none;border:1px solid #ddd}}


/* v1.3.0 Executive Intelligence Dashboard */
.phs-cards.six{grid-template-columns:repeat(6,1fr)}
.phs-card-link{text-decoration:none;display:block;color:inherit}
.phs-card.phs-clickable{position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.phs-card.phs-clickable:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.10)}
.phs-card.phs-clickable:after{content:"Open";position:absolute;right:14px;top:14px;font-size:11px;font-weight:800;color:var(--phs-muted);opacity:.75}
.phs-card.excellent{border-color:#16a34a;background:linear-gradient(180deg,#fff,#f0fdf4)}
.phs-card.good{border-color:#2563eb;background:linear-gradient(180deg,#fff,#eff6ff)}
.phs-card.warning{border-color:#f59e0b;background:linear-gradient(180deg,#fff,#fffbeb)}
.phs-card.critical{border-color:#dc2626;background:linear-gradient(180deg,#fff,#fff1f2)}
.phs-card.neutral{border-color:var(--phs-primary)}
.phs-intel-hero{background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 100%);border:1px solid #ccfbf1}
.phs-intel-hero h2{font-size:26px}
.phs-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.phs-action{border:1px solid var(--phs-border);background:#fff;border-radius:14px;padding:16px;text-decoration:none;display:block;transition:all .18s ease}
.phs-action:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.08)}
.phs-action strong{display:block;color:var(--phs-primary);font-size:17px;margin-bottom:7px}
.phs-action span{color:var(--phs-muted);font-size:13px;line-height:1.5}
.phs-status-chip{display:inline-block;margin-top:10px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}
.phs-status-chip.excellent{background:#dcfce7;color:#166534}.phs-status-chip.good{background:#dbeafe;color:#1e40af}.phs-status-chip.warning{background:#fef3c7;color:#92400e}.phs-status-chip.critical{background:#fee2e2;color:#991b1b}
.phs-mini-metric{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--phs-border)}
.phs-mini-metric:last-child{border-bottom:0}
.phs-mini-metric b{color:var(--phs-primary)}
@media(max-width:1250px){.phs-cards.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.phs-cards.six,.phs-action-grid{grid-template-columns:1fr}}


/* v1.3.1 Data integrity and no page title */
.phs-topbar-clean{min-height:58px}
.phs-card.phs-clickable:after{content:"›";font-size:28px;line-height:1;color:var(--phs-primary);right:16px;top:10px;opacity:.65}
.phs-card span:before{display:inline-block;margin-right:6px}
.phs-card span{padding-right:22px}
.phs-card-link:nth-child(1) .phs-card span:before{content:"🏥"}
.phs-card-link:nth-child(2) .phs-card span:before{content:"📄"}
.phs-card-link:nth-child(3) .phs-card span:before{content:"❌"}
.phs-card-link:nth-child(4) .phs-card span:before{content:"📈"}
.phs-card-link:nth-child(5) .phs-card span:before{content:"📅"}
.phs-card-link:nth-child(6) .phs-card span:before{content:"⚠️"}


/* v1.3.2 UDSP dashboard header polish */
.phs-info-panel{
  min-width:260px;
  background:#ffffff;
  border:1px solid var(--phs-border);
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 4px 14px rgba(15,79,73,.06);
}
.phs-info-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:5px 0;
  border-bottom:1px dashed #e2e8f0;
  text-align:left;
}
.phs-info-row:last-child{border-bottom:0}
.phs-info-row span{
  color:#475569;
  font-size:13px;
  font-weight:700;
}
.phs-info-row strong{
  color:var(--phs-primary);
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.phs-intel-hero h2,.phs-monthly-hero h2{font-size:27px}
.phs-intel-hero,.phs-monthly-hero{align-items:center}
@media(max-width:780px){
  .phs-info-panel{min-width:0;width:100%;margin-top:14px}
}
