/* ==========================================================================
   SIM-SPMI v6.0.3 — Portal visual polish
   Scoped to the public SPMI/PPEPP areas so existing modules remain stable.
   ========================================================================== */

/* SPMI & AMI */
#spmi {
  background: linear-gradient(180deg,#f7fbff 0%,#f3f7fb 100%);
  border-top: 1px solid rgba(13,92,145,.05);
  border-bottom: 1px solid rgba(13,92,145,.05);
}
#spmi .section-head {
  margin-bottom: 34px;
}
#spmi .section-head h2 {
  letter-spacing: -.02em;
}
#spmi .spmi-grid {
  gap: 22px;
}
#spmi .spmi-card {
  position: relative;
  min-height: 286px;
  border-radius: 20px;
  border-color: #dce7f0;
  box-shadow: 0 10px 30px rgba(7,27,53,.055);
}
#spmi .spmi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg,#0b4167,#0d5c91,#f4c542);
}
#spmi .spmi-card:hover {
  transform: translateY(-6px);
  border-color: #cbddea;
  box-shadow: 0 20px 44px rgba(7,27,53,.12);
}
#spmi .spmi-icon {
  width: 58px;
  height: 58px;
  margin: 28px 26px 0;
  border-radius: 17px;
  background: linear-gradient(145deg,#edf6ff,#e5f2fb);
  box-shadow: inset 0 0 0 1px rgba(13,92,145,.06);
  font-size: 24px;
  font-weight: 900;
}
#spmi .spmi-icon-ppepp {
  background: linear-gradient(145deg,#eef9f5,#e5f5ef);
  color: #17775d;
}
#spmi .spmi-icon-ami {
  background: linear-gradient(145deg,#fff8e7,#fff2ca);
  color: #9a6d00;
}
#spmi .spmi-card-body {
  padding: 19px 26px 27px;
}
#spmi .spmi-card h3 {
  font-size: 20px;
  letter-spacing: -.01em;
}
#spmi .spmi-card p {
  max-width: 34rem;
}
#spmi .spmi-link {
  margin-top: 24px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f2f8fc;
  transition: background .18s ease,transform .18s ease,color .18s ease;
}
#spmi .spmi-link:hover {
  background: #e6f2fa;
  transform: translateX(2px);
}

/* Public PPEPP */
#ppepp-publik {
  background: #fff;
}
#ppepp-publik .section-head {
  margin-bottom: 30px;
}
#ppepp-publik .section-head > p {
  line-height: 1.75;
}
#ppepp-publik .ppepp-public-summary {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 24px;
}
#ppepp-publik .ppepp-public-stat {
  position: relative;
  overflow: hidden;
  min-height: 108px;
  padding: 20px 22px;
  border-radius: 18px;
  border-color: #dce7f0;
  box-shadow: 0 9px 26px rgba(7,27,53,.055);
}
#ppepp-publik .ppepp-public-stat::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  right: -30px;
  bottom: -35px;
  border-radius: 50%;
  background: rgba(13,92,145,.06);
}
#ppepp-publik .ppepp-public-stat strong {
  font-size: 30px;
}
#ppepp-publik .ppepp-public-toolbar {
  padding: 14px;
  margin-bottom: 22px;
  border: 1px solid #e1e9f0;
  border-radius: 16px;
  background: #f8fbfd;
}
#ppepp-publik .ppepp-public-search {
  width: min(560px,100%);
  height: 46px;
  border-radius: 11px;
}
#ppepp-publik .ppepp-filter {
  min-height: 42px;
  padding: 9px 13px;
  font-family: inherit;
}
#ppepp-publik .ppepp-public-grid {
  gap: 20px;
}
#ppepp-publik .ppepp-public-card {
  border-radius: 18px;
  border-color: #dce7f0;
}
#ppepp-publik .ppepp-public-card-top {
  min-height: 54px;
}
#ppepp-publik .ppepp-public-card-body {
  min-height: 190px;
}
#ppepp-publik .ppepp-public-actions .btn {
  min-height: 42px;
  font-size: 12px;
}

/* Preview modal — isolated and deliberately high contrast. */
#ppeppPublicModal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  padding: 22px !important;
  z-index: 10000 !important;
}
#ppeppPublicModal .ppepp-public-overlay {
  position: absolute !important;
  inset: 0 !important;
}
#ppeppPublicModal .ppepp-public-dialog {
  position: relative !important;
  z-index: 1 !important;
  width: min(1100px,calc(100vw - 44px)) !important;
  height: min(86vh,820px) !important;
  max-width: 1100px !important;
  margin: auto !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #fff !important;
}
#ppeppPublicModal .ppepp-public-modal-head {
  flex: 0 0 auto;
  min-height: 66px;
  background: #fff;
}
#ppeppPublicModal .ppepp-public-modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
#ppeppPublicModal .ppepp-public-modal-foot {
  flex: 0 0 auto;
  background: #fff;
}

@media (max-width: 1000px) {
  #ppepp-publik .ppepp-public-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  #spmi .spmi-grid { grid-template-columns: 1fr; }
  #ppepp-publik .ppepp-public-summary { grid-template-columns: 1fr; }
  #ppepp-publik .ppepp-public-toolbar { padding: 12px; }
  #ppepp-publik .ppepp-public-filter { width: 100%; }
  #ppepp-publik .ppepp-filter { flex: 1 1 0; }
}

@media (max-width: 520px) {
  #spmi .spmi-card { min-height: 0; }
  #spmi .spmi-icon { margin-left: 22px; margin-right: 22px; }
  #spmi .spmi-card-body { padding-left: 22px; padding-right: 22px; }
  #ppeppPublicModal { padding: 0 !important; }
  #ppeppPublicModal .ppepp-public-dialog {
    width: 100vw !important;
    height: 100vh !important;
    border-radius: 0 !important;
  }
  #ppeppPublicModal .ppepp-public-modal-head { padding: 13px 14px; }
  #ppeppPublicModal .ppepp-public-modal-foot { padding: 10px; }
}
