/* Penyelarasan kartu dan formulir agar semua modul memiliki ritme yang sama. */
.dashboard-grid{align-items:stretch}
.dashboard-grid .dash-card{display:flex;min-height:310px;flex-direction:column;padding:28px}
.dashboard-grid .dash-card h2{min-height:58px;margin:12px 0 8px;line-height:1.25}
.dashboard-grid .dash-card p{min-height:54px;margin:0 0 18px}
.dashboard-grid .dash-card .status{align-self:flex-start;margin-top:auto}
.dashboard-grid .dash-card .card-link{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.dashboard-grid .card-link-muted{color:var(--muted);font-weight:600}

.data-form fieldset{padding:28px 26px 26px;box-shadow:0 5px 18px rgba(26,60,90,.045)}
.data-form legend{background:var(--bg);border-radius:4px}
.form-grid{column-gap:22px;row-gap:20px}
.form-grid label{align-content:start}
.form-grid input,.form-grid select{min-height:46px}
.form-grid textarea{min-height:112px}

.upload-grid{gap:18px}
.upload-card{min-height:190px;padding:22px;border-top:4px solid #d6e7f3;align-content:start;box-shadow:0 5px 16px rgba(26,60,90,.045);transition:border-color .18s ease,box-shadow .18s ease}
.upload-card:focus-within{border-top-color:var(--green);box-shadow:0 8px 22px rgba(7,92,168,.1)}
.upload-title{font-size:1rem}
.upload-card input[type=file]{min-height:50px;padding:7px;background:#f7fafc;border:1px dashed #9eb3c4;color:var(--muted);font:inherit;font-size:.82rem}
.upload-card input[type=file]::file-selector-button{height:34px;margin-right:12px;padding:0 14px;border:0;border-radius:4px;background:var(--green);color:#fff;font-family:inherit;font-weight:700;cursor:pointer}
.upload-card input[type=file]::file-selector-button:hover{background:var(--navy)}
.upload-card small{margin-top:auto;line-height:1.45}
.file-status{margin:2px 0 4px}
.file-optional{background:#edf1f4;color:#52616d}
.photo-field{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center;margin-bottom:26px;padding:20px;background:#f4f8fb;border:1px solid #d9e5ed;border-radius:7px}.photo-preview{width:116px;aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:6px;background:#dfe8ee;color:#657581;box-shadow:0 3px 12px rgba(20,54,82,.12);font-size:.8rem;font-weight:800;text-transform:uppercase}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-field label{display:grid;gap:7px;color:#334353}.photo-field label>span,.photo-field small{color:var(--muted);font-size:.82rem}.photo-field input[type=file]{width:100%;padding:8px;border:1px dashed #9eb3c4;border-radius:5px;background:#fff}.photo-field input[type=file]::file-selector-button{height:34px;margin-right:12px;padding:0 14px;border:0;border-radius:4px;background:var(--green);color:#fff;font-family:inherit;font-weight:700;cursor:pointer}

@media(max-width:760px){
  .dashboard-grid .dash-card{min-height:0;padding:24px}
  .dashboard-grid .dash-card h2,.dashboard-grid .dash-card p{min-height:0}
  .data-form fieldset{padding:22px 18px 20px}
  .form-grid{gap:17px}
  .upload-card{min-height:0;padding:19px}
  .photo-field{grid-template-columns:92px 1fr;padding:16px;gap:15px}.photo-preview{width:82px}
}
