.emgp-form{max-width:720px;padding:24px;border:1px solid #dce5ea;border-radius:10px;background:#fff}.emgp-form label{font-weight:600;color:#122d40}.emgp-form input,.emgp-form textarea,.emgp-form select{width:100%;box-sizing:border-box;padding:11px;margin-top:6px;border:1px solid #cfd9df;border-radius:6px}.emgp-form button{background:#122d40;color:#fff;border:0;border-radius:6px;padding:12px 20px;font-weight:700;cursor:pointer}.emgp-success{max-width:720px;margin:0 0 18px;padding:16px 20px;border-left:4px solid #36777e;background:#f1f7f7;border-radius:6px;color:#122d40}.emgp-error{max-width:720px;padding:14px 18px;background:#fff1f1;border-left:4px solid #b42318;color:#7a1712}.emgp-tracking-page{max-width:900px}.emgp-tracking{padding:28px;border:1px solid #dce5ea;border-radius:12px;background:#fff;box-shadow:0 4px 18px rgba(18,45,64,.05)}.emgp-track-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.emgp-eyebrow{font-size:11px;letter-spacing:1.3px;font-weight:800;color:#36777e}.emgp-track-head h2{margin:5px 0}.emgp-status-badge{padding:8px 12px;border-radius:20px;background:#e8f2f3;color:#245e63;font-weight:700;white-space:nowrap}.emgp-progress-wrap{display:flex;gap:12px;align-items:center;margin:25px 0}.emgp-progress{height:12px;background:#e7eef2;border-radius:20px;overflow:hidden;flex:1}.emgp-progress span{display:block;height:100%;background:#36777e;border-radius:20px}.emgp-timeline{list-style:none;padding:0;margin:20px 0 30px;border-left:2px solid #d9e4e7}.emgp-timeline li{position:relative;padding:0 0 22px 28px}.emgp-timeline li:last-child{padding-bottom:0}.emgp-dot{position:absolute;left:-8px;top:1px;width:13px;height:13px;border-radius:50%;background:#d0dce0;border:3px solid #fff;box-shadow:0 0 0 1px #d0dce0}.emgp-timeline li.done .emgp-dot{background:#36777e;box-shadow:0 0 0 1px #36777e}.emgp-timeline li.current strong{color:#36777e}.emgp-timeline small{display:block;color:#71808a;margin-top:4px}.emgp-response{margin-top:26px;padding:20px;border-left:4px solid #36777e;background:#f5f8f9}.emgp-response h3{margin:5px 0 10px;color:#122d40}.emgp-response small{color:#71808a}.emgp-track-meta{display:flex;gap:40px;border-top:1px solid #e3eaed;margin-top:26px;padding-top:20px;color:#4f5d66}.emgp-refresh{display:inline-block;margin-top:24px;color:#245e63;font-weight:700;text-decoration:none}.emgp-refresh:hover{text-decoration:underline}

.emgp-security-note{margin-top:22px;padding:12px 15px;background:#f5f8f9;border-radius:6px;color:#53636d;font-size:13px}
/* e-MGP V0.6.2 — Public civic portal redesign / Elementor-safe */

/* Main public wrapper */
.emgp-public-page{
  width:100%!important;
  max-width:1400px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  color:#10233f!important;
  background:#fff!important;
  font-family:inherit;
}
.emgp-public-page *{box-sizing:border-box}

/* Hero */
.emgp-public-hero{
  position:relative!important;
  width:100%!important;
  max-width:1400px!important;
  min-height:265px!important;
  margin:0 auto 28px!important;
  padding:32px 24px 20px!important;
  background-image:url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=1800&q=85')!important;
  background-size:cover!important;
  background-position:center 55%!important;
  overflow:hidden!important;
  border-radius:0!important;
}
.emgp-hero-overlay{position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(5,35,67,.90),rgba(5,45,80,.42) 58%,rgba(3,25,50,.18))!important}
.emgp-hero-inner{
  position:relative!important;z-index:1!important;
  display:flex!important;justify-content:space-between!important;align-items:flex-start!important;
  width:100%!important;max-width:1340px!important;margin:0 auto!important;color:#fff!important;
}
.emgp-hero-kicker{font-size:12px!important;letter-spacing:2px!important;font-weight:800!important;opacity:.9!important}
.emgp-public-hero h1{font-size:38px!important;line-height:1.05!important;margin:8px 0 7px!important;color:#fff!important;font-weight:800!important}
.emgp-public-hero p{margin:0!important;font-size:16px!important;font-weight:600!important;color:#fff!important}
.emgp-hero-slogan{display:flex!important;flex-direction:column!important;align-items:flex-end!important;margin-top:8px!important;text-align:right!important;color:#fff!important}
.emgp-hero-slogan strong{font-size:43px!important;font-family:cursive!important;font-weight:500!important}
.emgp-hero-slogan span{font-size:14px!important;font-weight:700!important}

/* Four KPI cards */
.emgp-stat-grid{
  position:relative!important;z-index:2!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:1340px!important;
  margin:22px auto 0!important;
}
.emgp-stat{
  background:rgba(255,255,255,.98)!important;
  border-radius:10px!important;
  min-height:62px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:12px 16px!important;
  box-shadow:0 6px 18px rgba(0,20,50,.14)!important;
}
.emgp-stat-icon{
  flex:0 0 40px!important;width:40px!important;height:40px!important;
  border-radius:50%!important;display:grid!important;place-items:center!important;
  background:#e5f0ff!important;color:#1478ea!important;font-size:22px!important;font-weight:800!important;
}
.emgp-stat-icon.support{background:#e7f8ec!important;color:#16a34a!important}
.emgp-stat-icon.solved{background:#fff3dc!important;color:#f59e0b!important}
.emgp-stat-icon.service{background:#eee7ff!important;color:#7c3aed!important}
.emgp-stat strong{display:block!important;font-size:21px!important;line-height:1.1!important;color:#10233f!important}
.emgp-stat small{display:block!important;color:#5e6c7b!important;font-size:12px!important;margin-top:3px!important}

/* Content shell */
.emgp-public-shell{
  width:100%!important;
  max-width:1340px!important;
  margin:0 auto!important;
  padding:0 10px!important;
}

/* Search / filters */
.emgp-public-filters{
  display:grid!important;
  grid-template-columns:1.55fr 1fr 1fr 1fr .65fr!important;
  gap:10px!important;
  width:100%!important;
  background:#f1f5f9!important;
  border-radius:10px!important;
  padding:10px!important;
  margin-bottom:20px!important;
}
.emgp-public-filters input,.emgp-public-filters select,.emgp-public-filters button{
  width:100%!important;height:42px!important;
  border:1px solid #d8e0e8!important;border-radius:7px!important;
  background:#fff!important;padding:0 13px!important;
  color:#24354d!important;font:inherit!important;
}
.emgp-public-filters button{
  background:#07539b!important;color:#fff!important;border-color:#07539b!important;
  font-weight:700!important;cursor:pointer!important;
}
.emgp-search-field{
  display:flex!important;align-items:center!important;
  min-width:0!important;background:#fff!important;
  border:1px solid #d8e0e8!important;border-radius:7px!important;padding:0 12px!important;
}
.emgp-search-field span{font-size:22px!important;margin-right:7px!important}
.emgp-search-field input{border:0!important;outline:0!important;width:100%!important;padding:0!important}

/* Heading / tools */
.emgp-public-heading{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
  gap:20px!important;margin:14px 0 18px!important;
}
.emgp-public-heading h2{margin:0 0 4px!important;font-size:25px!important;color:#0d1d34!important}
.emgp-public-heading p{margin:0!important;color:#526176!important;font-size:14px!important}
.emgp-public-tools{display:flex!important;align-items:center!important;gap:7px!important}
.emgp-public-tools select{
  height:36px!important;border:1px solid #d7e0ea!important;border-radius:7px!important;
  padding:0 30px 0 12px!important;background:#fff!important;
}
.emgp-view-active,.emgp-view{
  width:34px!important;height:34px!important;border:1px solid #d7e0ea!important;
  border-radius:7px!important;display:grid!important;place-items:center!important;
}
.emgp-view-active{background:#0878ed!important;color:#fff!important;border-color:#0878ed!important}

/* 4-column complaint cards */
.emgp-public-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  align-items:stretch!important;
}
.emgp-public-card{
  display:flex!important;flex-direction:column!important;
  width:100%!important;min-width:0!important;
  border:1px solid #dce4ec!important;border-radius:10px!important;
  overflow:hidden!important;background:#fff!important;
  box-shadow:0 3px 10px rgba(15,35,60,.08)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.emgp-public-card:hover{transform:translateY(-2px)!important;box-shadow:0 9px 22px rgba(15,35,60,.13)!important}
.emgp-card-media{
  width:100%!important;height:122px!important;flex:0 0 122px!important;
  background-size:cover!important;background-position:center!important;position:relative!important;
}
.emgp-card-media:after{
  content:""!important;position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.05) 55%,rgba(0,0,0,.18))!important;
}
.emgp-card-status,.emgp-card-category{position:absolute!important;z-index:1!important;font-size:12px!important;font-weight:800!important}
.emgp-card-status{left:12px!important;top:12px!important;padding:7px 12px!important;border-radius:8px!important;background:#1385ee!important;color:#fff!important}
.emgp-card-status.resolved{background:#22c55e!important}
.emgp-card-status.in_progress,.emgp-card-status.waiting_information{background:#f59e0b!important}
.emgp-card-status.rejected{background:#ef4444!important}
.emgp-card-category{
  left:12px!important;bottom:-1px!important;background:#fff!important;color:#18283e!important;
  padding:8px 11px!important;border-radius:6px 6px 0 0!important;
  box-shadow:0 -1px 5px rgba(0,0,0,.06)!important;
}
.emgp-card-body{
  display:flex!important;flex-direction:column!important;flex:1!important;
  padding:11px 13px 12px!important;
}
.emgp-card-body h3{font-size:15px!important;line-height:1.25!important;margin:0 0 8px!important}
.emgp-card-body h3 a{color:#12233b!important;text-decoration:none!important}
.emgp-card-body h3 a:hover{color:#0878ed!important}
.emgp-card-location{
  display:flex!important;gap:10px!important;color:#43566d!important;font-size:11px!important;
  margin-bottom:8px!important;white-space:nowrap!important;overflow:hidden!important;
}
.emgp-card-location span{overflow:hidden!important;text-overflow:ellipsis!important}
.emgp-card-body p{
  font-size:12px!important;line-height:1.45!important;color:#45576d!important;
  min-height:35px!important;margin:0 0 8px!important;
}
.emgp-card-progress{
  display:flex!important;align-items:center!important;gap:7px!important;margin-top:auto!important;margin-bottom:10px!important;
}
.emgp-card-progress>div{height:9px!important;flex:1!important;background:#e7edf3!important;border-radius:10px!important;overflow:hidden!important}
.emgp-card-progress>div span{display:block!important;height:100%!important;background:#1683ef!important;border-radius:10px!important}
.emgp-card-progress strong{font-size:11px!important}
.emgp-card-actions{
  display:flex!important;align-items:center!important;gap:8px!important;
  font-size:10px!important;color:#26384d!important;white-space:nowrap!important;
}
.emgp-card-actions a{
  margin-left:auto!important;border:1px solid #0878ed!important;border-radius:6px!important;
  padding:6px 8px!important;color:#0878ed!important;text-decoration:none!important;
  font-weight:800!important;background:#fff!important;
}
.emgp-card-actions a:hover{background:#0878ed!important;color:#fff!important}

/* Footer / pagination */
.emgp-public-footer{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  gap:20px!important;color:#607086!important;font-size:12px!important;padding:18px 0 30px!important;
}
.emgp-pagination{display:flex!important;gap:5px!important}
.emgp-pagination span{
  width:32px!important;height:32px!important;border:1px solid #dce4ec!important;border-radius:6px!important;
  display:grid!important;place-items:center!important;background:#fff!important;
}
.emgp-pagination .active{background:#0878ed!important;border-color:#0878ed!important;color:#fff!important}
.emgp-empty{
  padding:45px!important;text-align:center!important;background:#f7f9fb!important;
  border:1px dashed #d3dde7!important;border-radius:10px!important;color:#65758a!important;
}

/* Detail */
.emgp-public-detail{
  width:100%!important;max-width:1000px!important;margin:35px auto!important;padding:28px!important;
  border:1px solid #dce4ec!important;border-radius:12px!important;background:#fff!important;
  box-shadow:0 5px 20px rgba(15,35,60,.07)!important;
}
.emgp-public-detail h1{font-size:30px!important;margin:6px 0 10px!important}
.emgp-public-detail .emgp-support{margin:25px 0!important;padding:17px!important;border-radius:9px!important;background:#f3f7fb!important}
.emgp-public-detail .emgp-support button{margin-left:15px!important;border:0!important;border-radius:7px!important;background:#0878ed!important;color:#fff!important;padding:10px 15px!important;font-weight:700!important;cursor:pointer!important}
.emgp-comments{margin-top:30px!important}
.emgp-comment{border-top:1px solid #e4eaf0!important;padding:15px 0!important}
.emgp-comment small{display:block!important;color:#77879a!important;margin-top:3px!important}
.emgp-comments .emgp-form{box-shadow:none!important;max-width:none!important;background:#f8fafc!important}

/* Responsive */
@media(max-width:1180px){
  .emgp-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .emgp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .emgp-public-filters{grid-template-columns:1.4fr 1fr 1fr!important}
  .emgp-public-filters button{grid-column:auto!important}
}
@media(max-width:760px){
  .emgp-public-hero{min-height:250px!important;padding:24px 18px 16px!important}
  .emgp-hero-inner{display:block!important}
  .emgp-public-hero h1{font-size:31px!important}
  .emgp-hero-slogan{display:none!important}
  .emgp-stat-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .emgp-stat{padding:9px!important}
  .emgp-stat-icon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:18px!important}
  .emgp-stat strong{font-size:18px!important}
  .emgp-public-shell{padding:0 12px!important}
  .emgp-public-filters{grid-template-columns:1fr 1fr!important}
  .emgp-search-field{grid-column:1/-1!important}
  .emgp-public-filters button{grid-column:1/-1!important}
  .emgp-public-grid{grid-template-columns:1fr!important}
  .emgp-public-heading{align-items:flex-start!important;flex-direction:column!important}
  .emgp-public-footer{justify-content:space-between!important;flex-wrap:wrap!important}
  .emgp-public-tools{align-self:stretch!important}
  .emgp-public-tools select{flex:1!important}
}

/* V0.6.5 */
.emgp-v065-list{width:100%!important;max-width:1400px!important;margin:0 auto!important}
.emgp-v065-list .emgp-public-shell{width:100%!important;max-width:1340px!important;margin:0 auto!important;padding:0 10px!important}
.emgp-v065-list .emgp-public-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important}
.emgp-v065-list .emgp-public-filters{display:grid!important;grid-template-columns:1.55fr 1fr 1fr 1fr .65fr!important;gap:10px!important;width:100%!important}
.emgp-v065-list .emgp-pagination{display:flex!important;justify-content:center!important;gap:6px!important;margin:26px 0 10px!important}
.emgp-v065-list .emgp-pagination a,.emgp-v065-list .emgp-pagination span{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border:1px solid #d8e1eb!important;border-radius:7px!important;text-decoration:none!important;background:#fff!important;color:#23354c!important}
.emgp-v065-list .emgp-pagination .active{background:#0878ed!important;border-color:#0878ed!important;color:#fff!important}
.emgp-v065-list .emgp-public-results-count{text-align:right!important;color:#607086!important;font-size:12px!important;margin:0 0 28px!important}
@media(max-width:1180px){
 .emgp-v065-list .emgp-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .emgp-v065-list .emgp-public-filters{grid-template-columns:1.4fr 1fr 1fr!important}
}
@media(max-width:760px){
 .emgp-v065-list .emgp-public-grid{grid-template-columns:1fr!important}
 .emgp-v065-list .emgp-public-filters{grid-template-columns:1fr!important}
 .emgp-v065-list .emgp-public-results-count{text-align:center!important}
}
