.dm-page { background: #f6f7f6; min-height: 100vh; }
.dm-wrap { padding: 16px 16px 24px; }
.dm-lead { margin: 0 0 14px; color: #5c6b66; font-size: 13px; line-height: 1.6; }
.dm-card { background: #fff; border-radius: 14px; padding: 14px; margin-bottom: 12px; }
.dm-card h2 { margin: 0 0 8px; font-size: 16px; color: #1a3c34; }
.dm-label { display: block; margin: 12px 0 6px; font-size: 13px; font-weight: 700; color: #3d4f49; }
.dm-label:first-child { margin-top: 0; }
.dm-input, .dm-select, .dm-area {
  width: 100%; box-sizing: border-box; border: 1px solid #e3e8e6; border-radius: 10px;
  padding: 12px; font-size: 15px; background: #fff; color: #1a1a1a;
}
.dm-area { min-height: 120px; resize: vertical; font-family: inherit; }
.dm-row { display: flex; gap: 10px; }
.dm-row > * { flex: 1; min-width: 0; }
.dm-submit {
  width: 100%; margin-top: 16px; border: none; border-radius: 12px; padding: 14px;
  background: #1a5c4a; color: #fff; font-size: 16px; font-weight: 700;
}
.dm-submit:disabled { opacity: 0.6; }
.dm-link { display: inline-block; margin-top: 8px; color: #1a5c4a; font-size: 14px; }
.dm-item { display: block; text-decoration: none; color: inherit; }
.dm-item b { font-size: 16px; }
.dm-meta { margin-top: 4px; color: #6b7280; font-size: 13px; }
.dm-status { display: inline-block; margin-top: 8px; padding: 2px 8px; border-radius: 999px; background: #e7f4ee; color: #1a6b5c; font-size: 12px; font-weight: 700; }
.dm-banner { background: #f4f7fb; color: #3d4f62; border-radius: 10px; padding: 10px 12px; font-size: 13px; line-height: 1.5; margin-bottom: 12px; }
.dm-banner strong { display: block; margin-bottom: 2px; }
.dm-official { background: #e7f4ee; }
.dm-text { white-space: pre-wrap; font-size: 14px; line-height: 1.7; color: #24312d; margin: 0; }
.dm-empty { color: #6b7280; font-size: 14px; text-align: center; padding: 28px 8px; }
.dm-note { border-top: 1px solid #eef1f0; padding-top: 8px; margin-top: 8px; }
.dm-note span { color: #9ca3af; font-size: 12px; }
.dm-toast {
  position: fixed; left: 50%; bottom: 88px; transform: translateX(-50%);
  background: #1a3c34; color: #fff; padding: 10px 14px; border-radius: 10px; font-size: 14px; z-index: 20;
}
