/* =========================================================
   DANA SOSIAL ENGINEERING — V7.4
   Pengajuan Viewer. Seluruh selector dibatasi .v74-* supaya
   desain, warna, dan halaman V7.3.2 tetap terkunci.
========================================================= */

.v74-page .page-banner { margin-bottom: 22px; }

.v74-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.v74-form-grid .form-group { margin: 0; }
.v74-span-2 { grid-column: 1 / -1; }

.v74-eligibility-card {
  margin-top: 16px;
  padding: 15px 16px;
  border: 1px solid rgba(6, 78, 59, .14);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(236, 253, 245, .92), rgba(255, 249, 223, .72));
}

.v74-eligibility-card.is-checking { border-color: rgba(202, 138, 4, .30); }
.v74-eligibility-card.is-blocked { border-color: rgba(220, 38, 38, .25); background: #fff3f3; }
.v74-eligibility-card.is-eligible { border-color: rgba(5, 150, 105, .30); background: #effbf5; }
.v74-eligibility-card.is-manual { border-color: rgba(212, 175, 55, .34); background: #fff9df; }

.v74-eligibility-card strong {
  display: block;
  color: #173a2d;
  font-size: 13px;
}

.v74-eligibility-card p,
.v74-eligibility-card small {
  display: block;
  margin: 5px 0 0;
  color: #667b72;
  font-size: 10px;
  line-height: 1.6;
}

.v74-nominal-preview {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 62px;
  padding: 13px 15px;
  border: 1px solid rgba(6, 78, 59, .12);
  border-radius: 14px;
  background: #fbfdfc;
}

.v74-nominal-preview span {
  color: #6b8077;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.v74-nominal-preview strong {
  color: var(--emerald-900, #064e3b);
  font-size: 18px;
  text-align: right;
}

.v74-upload-box {
  padding: 16px;
  border: 1px dashed rgba(6, 78, 59, .28);
  border-radius: 16px;
  background: rgba(248, 252, 250, .92);
}

.v74-upload-box input[type="file"] {
  width: 100%;
  color: #405c51;
  font-family: inherit;
  font-size: 11px;
}

.v74-file-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.v74-file-item {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border: 1px solid rgba(6, 78, 59, .10);
  border-radius: 12px;
  background: #fff;
}

.v74-file-item strong {
  min-width: 0;
  color: #173a2d;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.v74-file-item span {
  flex: 0 0 auto;
  color: #71847c;
  font-size: 9px;
}

.v74-progress {
  overflow: hidden;
  height: 9px;
  margin-top: 12px;
  border-radius: 999px;
  background: #e9f2ee;
}

.v74-progress > i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--emerald-700, #047857), #d4af37);
  transition: width .25s ease;
}

.v74-progress-label {
  display: block;
  margin-top: 7px;
  color: #6d8078;
  font-size: 9px;
}

.v74-request-card {
  overflow: hidden;
  border: 1px solid rgba(6, 78, 59, .14);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(6, 78, 59, .07);
}

.v74-request-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px 18px;
  background: linear-gradient(135deg, rgba(6, 78, 59, .06), rgba(212, 175, 55, .08));
}

.v74-request-head strong {
  display: block;
  color: var(--emerald-900, #064e3b);
  font-size: 14px;
}

.v74-request-head small {
  display: block;
  margin-top: 4px;
  color: #667b72;
  font-size: 10px;
}

.v74-request-body { padding: 18px; }

.v74-request-description {
  margin: 10px 0 0;
  color: #60766d;
  font-size: 10px;
  line-height: 1.65;
  white-space: pre-line;
}

.v74-evidence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.v74-evidence-link {
  display: grid;
  min-height: 74px;
  padding: 8px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(6, 78, 59, .12);
  border-radius: 12px;
  background: #f7fbf9;
  color: #31584a;
  font-size: 9px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.v74-evidence-link img {
  width: 100%;
  height: 70px;
  object-fit: cover;
  border-radius: 8px;
}

.v74-history {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}

.v74-history-item {
  padding: 9px 11px;
  border-left: 3px solid rgba(6, 78, 59, .25);
  border-radius: 0 10px 10px 0;
  background: #f8fbfa;
}

.v74-history-item strong {
  display: block;
  color: #294d40;
  font-size: 10px;
}

.v74-history-item small {
  display: block;
  margin-top: 3px;
  color: #74877f;
  font-size: 8px;
}

.v74-role-note {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 12px;
  background: #f0f8f4;
  color: #47675a;
  font-size: 10px;
  line-height: 1.55;
}

.v74-status-submitted,
.v74-status-waiting_chair,
.v74-status-waiting_treasurer,
.v74-status-approved {
  background: #fff4cf;
  color: #8a6200;
}

.v74-status-disbursed {
  background: #dff7ea;
  color: #087246;
}

.v74-status-rejected,
.v74-status-blocked {
  background: #ffe3e3;
  color: #b42318;
}

.v74-actions-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

@media (max-width: 760px) {
  .v74-form-grid { grid-template-columns: 1fr; }
  .v74-span-2 { grid-column: auto; }
  .v74-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v74-request-head { flex-direction: column; }
  .v74-nominal-preview { align-items: flex-start; flex-direction: column; }
  .v74-nominal-preview strong { text-align: left; }
}
