.dwpfd-card {
  max-width: 900px;
  margin: 20px auto;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.dwpfd-card h3 { margin-top: 0; }
.dwpfd-card .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 12px;
}
.dwpfd-card label { display: block; font-weight: 600; font-size: 14px; }
.dwpfd-card input, .dwpfd-card select, .dwpfd-card textarea {
  width: 100%; margin-top: 6px; padding: 10px; border-radius: 10px;
  border: 1px solid #dfe3e8; background: #fbfbfc;
}
.dwpfd-card .btn {
  display: inline-block; background: #0a7ccb; color: #fff; border: 0;
  padding: 12px 18px; border-radius: 10px; font-weight: 700; cursor: pointer;
}
.dwpfd-card .btn.small { padding: 8px 12px; font-weight: 600; }
.dwpfd-card .notice { margin-top: 14px; padding: 10px; border-radius: 8px; }
.dwpfd-card .notice.success { background:#e8fff0; border:1px solid #b7f0c2; }
.dwpfd-card .notice.error { background:#ffeaea; border:1px solid #ffbbbb; }

.dwpfd-table { width:100%; }
.dwpfd-table .row { display: grid; grid-template-columns: 1.4fr 1.6fr 1.6fr 1fr 1.2fr; gap: 12px; padding: 10px 6px; border-bottom:1px solid #f0f2f5; align-items:center; }
.dwpfd-table .row.head { font-weight:800; background:#fafafa; border-bottom:2px solid #eef1f5; }
.dwpfd-table .badge { display:inline-block; padding: 4px 8px; border-radius:999px; background:#eef4ff; color:#4154f1; font-size:12px; }
.dwpfd-card form.inline { display:flex; gap:8px; align-items:center; }
@media (max-width:600px){
  .dwpfd-table .row { grid-template-columns: 1fr; }
}
