/* halaman pengaduan (form + daftar) */

/* form */
.form-card { background: #fff; border: 1px solid var(--sp-border); border-radius: calc(var(--sp-radius) * 1.15); box-shadow: var(--sp-shadow); }
.form-card-head { display: flex; gap: .9rem; align-items: center; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--sp-border); }
.form-card-head h2 { font-size: 1.15rem; margin: 0; }
.form-card-head p { margin: 0; font-size: .85rem; color: var(--sp-muted); }
.form-card-body { padding: 1.5rem; }
.form-section-label { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--sp-muted); margin-bottom: .75rem; display: flex; align-items: center; gap: .75rem; }
.form-section-label::after { content: ""; flex: 1; height: 1px; background: var(--sp-border); }
.form-card .form-control { background: var(--sp-surface); border-color: transparent; }
.form-card .form-control:focus { background: #fff; border-color: #86b0ee; }
.form-card .form-control.is-invalid { border-color: #dc3545; background-color: #fff; }
.form-card textarea { resize: vertical; min-height: 150px; }

.input-icon { position: relative; }
.input-icon > i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--sp-muted); pointer-events: none; }
.input-icon > .form-control { padding-left: 2.5rem; }

.dropzone {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem;
  padding: 1.4rem 1rem; border: 2px dashed #cbd6e6; border-radius: .9rem; background: var(--sp-surface);
  text-align: center; cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.dropzone:hover, .dropzone.is-drag { border-color: var(--sp-primary); background: rgba(11, 94, 215, .04); }
.dropzone.has-file { border-style: solid; border-color: #198754; background: rgba(25, 135, 84, .05); }
.dropzone.is-invalid { border-color: #dc3545; }
.dropzone > i { font-size: 1.75rem; color: var(--sp-primary); }
.dropzone.has-file > i { color: #198754; }
.dz-title { font-weight: 600; color: var(--sp-ink); font-size: .92rem; word-break: break-all; }
.dz-hint { font-size: .78rem; color: var(--sp-muted); }
.dropzone input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dropzone:focus-within { outline: 3px solid rgba(11, 94, 215, .3); outline-offset: 2px; }

/* kolom samping */
.side-card { background: #fff; border: 1px solid var(--sp-border); border-radius: calc(var(--sp-radius) * 1.15); box-shadow: var(--sp-shadow); padding: 1.35rem 1.4rem; }
.side-title { font-size: 1rem; margin-bottom: 1rem; }
.steps { list-style: none; padding: 0; margin: 0 0 1.25rem; position: relative; }
.steps li { display: flex; gap: .85rem; position: relative; padding-bottom: 1rem; }
.steps li:last-child { padding-bottom: 0; }
.steps li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 32px; bottom: 2px; width: 2px; background: var(--sp-border); }
.step-dot { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .85rem; background: rgba(11, 94, 215, .1); color: var(--sp-primary); }
.steps strong { display: block; color: var(--sp-ink); font-size: .92rem; }
.steps span:not(.step-dot) { font-size: .82rem; color: var(--sp-muted); }
.mini-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.mini-stats > div { background: var(--sp-surface); border-radius: .85rem; padding: .8rem .95rem; }
.mini-value { display: block; font-size: 1.4rem; font-weight: 800; color: var(--sp-ink); line-height: 1.1; }
.mini-label { font-size: .78rem; color: var(--sp-muted); }
.side-card-contact { display: flex; gap: .9rem; align-items: center; }
.side-card-contact strong { display: block; color: var(--sp-ink); font-size: .92rem; }
.side-card-contact span:not(.status-icon) { font-size: .85rem; color: var(--sp-muted); }

/* item pengaduan */
.cp-list { padding: 1.25rem; background: var(--sp-surface); display: grid; gap: 1rem; }
.cp-list > .empty-state { background: #fff; border-radius: var(--sp-radius); }
.cp-item { background: #fff; border: 1px solid var(--sp-border); border-radius: var(--sp-radius); overflow: hidden; }
.cp-item.is-compact { border-radius: .85rem; }
.cp-main { padding: 1.1rem 1.25rem; }
.cp-item.is-compact .cp-main { padding: .9rem 1rem; }
.cp-top { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: .55rem; }
.cp-avatar {
  flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #eef2f8; color: var(--sp-muted); font-size: 1rem;
}
.cp-avatar.tone-blue { background: var(--tone-soft); color: var(--tone); }
.cp-meta { font-size: .78rem; color: var(--sp-muted); display: flex; flex-wrap: wrap; align-items: center; }
.cp-subject { font-size: 1rem; font-weight: 700; color: var(--sp-ink); margin: .1rem 0 0; line-height: 1.35; }
.cp-item.is-compact .cp-subject { font-size: .92rem; }
.cp-text { margin: 0 0 0 calc(36px + .8rem); white-space: pre-line; color: #3a4a63; font-size: .92rem; line-height: 1.65; }
.cp-item.is-compact .cp-text { font-size: .85rem; white-space: normal; }
.cp-top .status-pill { flex: 0 0 auto; }
.cp-reply {
  display: flex; gap: .8rem; align-items: flex-start;
  padding: 1rem 1.25rem 1.1rem calc(1.25rem + 36px + .8rem);
  background: linear-gradient(180deg, #f3f8ff, #f8fbff); border-top: 1px solid #dfeafb;
  position: relative;
}
.cp-reply > .cp-avatar { position: absolute; left: 1.25rem; top: 1rem; }
.cp-reply p { white-space: pre-line; color: var(--sp-ink); font-size: .92rem; margin-top: .25rem; }

@media (max-width: 767.98px) {
  .form-card-head, .form-card-body { padding: 1.1rem; }
  .side-card { padding: 1.1rem; }
  .cp-list { padding: 1rem; }
  .cp-text { margin-left: 0; }
  .cp-reply { padding-left: 1.25rem; }
  .cp-reply > .cp-avatar { position: static; }
  .cp-top .status-pill { display: none; }
}
