/* ePuskesmas – Aduan Online (front) */
.epao{ max-width: 1080px; margin: 0 auto; --ep-primary:#0F9D58; }
.epao-head{ margin-bottom: 14px; }
.epao-title{ margin:0 0 4px; font-size:34px; font-weight:800; letter-spacing:-.2px; }
.epao-sub{ color:#94a3b8; font-size:15px; }

.epao-tabs{ display:flex; gap: 12px; margin: 14px 0 18px; }
.epao-tab{ display:inline-flex; align-items:center; justify-content:center; padding: 10px 18px; border-radius: 10px; background: rgba(15,157,88,.10); color: var(--ep-primary); font-weight:700; text-decoration:none; border:1px solid rgba(15,157,88,.20); }
.epao-tab:hover{ filter: brightness(.99); }
.epao-tab.is-active{ background: var(--ep-primary) !important; color:#fff !important; border-color: var(--ep-primary) !important; }

.epao-alert{ border-radius: 14px; padding: 12px 14px; margin: 0 0 16px; border:1px solid rgba(0,0,0,.06); }
.epao-alert.is-ok{ background: rgba(34,197,94,.10); color:#14532d; }
.epao-alert.is-err{ background: rgba(239,68,68,.10); color:#7f1d1d; }
.epao-alert-code{ margin-top: 6px; }

.epao-card{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.06); padding: 18px 18px 16px; }
.epao-card-title{ font-weight:900; letter-spacing:.6px; margin-bottom: 14px; font-size: 18px; }

.epao-form{ display:flex; flex-direction:column; gap: 12px; }
.epao-label{ font-weight:700; color:#0f172a; margin: 4px 0 -6px; }
.epao-help{ color:#94a3b8; font-size: 13px; margin-top: -6px; }
.req{ color:#ef4444; }

.epao-input, .epao-textarea{ width:100%; border:1px solid rgba(15,23,42,.14); border-radius: 12px; padding: 12px 14px; font-size: 15px; background:#fff; }
.epao-input:focus, .epao-textarea:focus{ outline:none; border-color: var(--ep-primary); box-shadow: 0 0 0 4px rgba(15,157,88,.18); }
.epao-textarea{ min-height: 120px; resize: vertical; }

.epao-row2{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 780px){ .epao-row2{ grid-template-columns: 1fr; } }

.epao-section{ background: rgba(15,157,88,.06); border-radius: 14px; padding: 14px 14px 10px; border: 1px solid rgba(15,157,88,.16); }
.epao-section-title{ font-weight:800; color:#334155; margin-bottom: 8px; }

.epao-radio{ display:flex; flex-direction:column; gap: 10px; padding: 6px 0; }
.epao-radio label{ display:flex; align-items:center; gap: 10px; color:#334155; font-weight:600; }
.epao-radio input[type="radio"]{ width: 18px; height: 18px; accent-color: var(--ep-primary); }

.epao-submit{ margin-top: 4px; display:inline-flex; align-items:center; justify-content:center; gap: 10px; width: 100%; border: none; border-radius: 12px; padding: 14px 16px; font-weight:800; font-size: 16px; background: #0F9D58 !important; color:#fff; cursor:pointer; }
.epao-submit:hover{ filter: brightness(.98); }
.epao-submit--small{ width:auto; padding: 12px 18px; }
.epao-ico{ font-size: 18px; }

.epao-foot{ color:#94a3b8; font-size: 13px; margin-top: -6px; }

.epao-grid2{ display:grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items:start; }
@media (max-width: 980px){ .epao-grid2{ grid-template-columns: 1fr; } }

.epao-inline{ display:flex; gap: 10px; align-items:center; }
.epao-inline .epao-input{ flex: 1 1 auto; }

.epao-muted{ color:#94a3b8; }

.epao-status{ margin-top: 6px; display:flex; flex-direction:column; gap: 10px; }
.epao-status-row{ display:flex; justify-content:space-between; gap: 12px; padding: 10px 12px; border:1px solid rgba(15,23,42,.06); border-radius: 12px; background: #fbfdff; }
.epao-status-row .k{ color:#64748b; font-weight:700; }
.epao-status-row .v{ color:#0f172a; font-weight:700; text-align:right; }

.epao-badge{ display:inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight:900; }
.epao-badge--baru{ background: rgba(15,157,88,.14); color: var(--ep-primary); }
.epao-badge--diproses{ background: rgba(234,179,8,.18); color:#854d0e; }
.epao-badge--selesai{ background: rgba(34,197,94,.14); color:#166534; }

.epao-reply{ margin-top: 14px; }
.epao-reply-title{ font-weight:900; margin-bottom: 8px; }
.epao-reply-body{ color:#0f172a; line-height:1.7; }