
.dmdo-wrap{max-width:980px;margin:24px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;}
.dmdo-card{background:#fff;border:1px solid #e6e6e6;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);padding:18px;}
.dmdo-title{margin:0 0 6px;font-size:22px;line-height:1.2}
.dmdo-subtitle{margin:0 0 14px;color:#666}
.dmdo-step{margin-top:16px;padding-top:14px;border-top:1px dashed #e6e6e6}
.dmdo-step h3{margin:0 0 10px;font-size:16px}
.dmdo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dmdo-grid label{display:block;font-size:13px;color:#222}
.dmdo-grid input,.dmdo-grid select,.dmdo-grid textarea{width:100%;margin-top:6px;padding:10px 10px;border:1px solid #d9d9d9;border-radius:12px;background:#fff;font-size:14px}
.dmdo-col2{grid-column:1 / -1}
.dmdo-help{font-size:12px;color:#666}
.dmdo-note{font-size:13px;color:#333;background:#f7f7f7;border:1px solid #eee;border-radius:12px;padding:10px}
.dmdo-checkbox{display:flex;gap:10px;align-items:flex-start}
.dmdo-checkbox input{width:auto;margin-top:10px}
.dmdo-actions{margin-top:14px}
.dmdo-btn{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border:none;border-radius:999px;padding:12px 18px;font-weight:600;cursor:pointer}
.dmdo-btn:hover{opacity:.92}
.dmdo-result{margin-top:14px;padding:12px;border-radius:12px}
.dmdo-result.ok{background:#f0fff4;border:1px solid #c6f6d5;color:#14532d}
.dmdo-result.err{background:#fff5f5;border:1px solid #fed7d7;color:#7f1d1d}
.dmdo-sign{background:#fafafa;border:1px solid #eaeaea;border-radius:16px;padding:12px}
/* Signature canvas (make it clearly visible) */
#dmdoSignature{width:100%;height:260px;border:2px dashed #bbb;border-radius:12px;background:#fff;touch-action:none;display:block}
.dmdo-sign .dmdo-row{margin-top:10px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.dmdo-link{color:#111;text-decoration:underline}

/* Captcha (modern, mobile-friendly) */
.dmdo-captcha{border:1px solid #d9d9d9;border-radius:16px;padding:12px;background:#fff}
.dmdo-captcha-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dmdo-captcha-q{display:flex;flex-direction:column;gap:2px}
.dmdo-captcha-label{font-size:12px;color:#444}
.dmdo-captcha-question{font-size:16px}
.dmdo-captcha-refresh{border:1px solid #d9d9d9;background:#f7f7f7;border-radius:12px;padding:8px 10px;cursor:pointer;line-height:1}
.dmdo-captcha-refresh:hover{opacity:.92}
.dmdo-captcha-row2{margin-top:10px;display:flex;align-items:flex-start;gap:10px}
.dmdo-captcha-row2 input{margin-top:0}
.dmdo-captcha-countdown{display:block;margin-top:8px;font-size:12px;color:#666}
.dmdo-captcha-hidden{display:none}
@media (max-width:720px){
  .dmdo-grid{grid-template-columns:1fr}
  #dmdoSignature{height:220px}
  .dmdo-captcha-row2{flex-direction:column}
}


/* Camera blocks */
.dmdo-camera{border:1px solid #e6e6e6;border-radius:14px;padding:12px;background:#fff}
.dmdo-camera-title{margin-bottom:8px}
.dmdo-camera-preview{border:1px dashed #ddd;border-radius:12px;padding:8px;min-height:120px;display:flex;align-items:center;justify-content:center;background:#fafafa}
.dmdo-camera-preview video{width:100%;max-height:220px;border-radius:10px}
.dmdo-camera-preview img{width:100%;max-height:220px;object-fit:contain;border-radius:10px;border:1px solid #ddd;background:#fff}
.dmdo-camera-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}


.dmdo-hint{display:block;margin-top:6px;font-size:12px;opacity:.75}

/* Status result table */
.dmdo-table-wrap{overflow:auto;border:1px solid #e6e6e6;border-radius:14px;background:#fff}
.dmdo-table{width:100%;border-collapse:collapse;font-size:14px}
.dmdo-table th,.dmdo-table td{padding:10px 12px;border-bottom:1px solid #eee;white-space:nowrap;text-align:left}
.dmdo-table thead th{background:#f8fafc;font-weight:600}
.dmdo-table tbody tr:last-child td{border-bottom:none}


/* Status filter */
.dmdo-status-filter{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.dmdo-status-filter label{font-size:12px;opacity:.8;display:block;margin-bottom:6px}
.dmdo-status-filter select{min-width:220px;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff}

/* Badge */
.dmdo-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(0,0,0,.15);background:rgba(0,0,0,.03)}


/* Status badges */
.dmdo-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid #e5e7eb;background:#f9fafb;color:#111827;}
.dmdo-badge--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46;}
.dmdo-badge--warning{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.dmdo-badge--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b;}
.dmdo-badge--neutral{background:#f3f4f6;border-color:#e5e7eb;color:#374151;}

.dmdo-btn-sm{padding:6px 10px;font-size:12px;border-radius:10px;}
.dmdo-status-detail-wrap{margin-top:14px;}
.dmdo-detail-card .dmdo-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.dmdo-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dmdo-detail-grid > div{padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;}
.dmdo-k{display:block;font-size:12px;color:#6b7280;margin-bottom:4px;}
.dmdo-v{display:block;font-size:14px;color:#111827;font-weight:600;}
@media(max-width:640px){
  .dmdo-detail-grid{grid-template-columns:1fr;}
}


.dmdo-consent{margin:14px 0 6px}
.dmdo-consent-label{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#1f1f1f;line-height:1.35}
.dmdo-consent-label input{margin-top:2px;transform:scale(1.05)}

.dmdo-card .dmdo-captcha{margin-top:2px}
