.ncdt-form { max-width: 800px; margin: 20px auto; padding: 25px; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 8px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.ncdt-form .form-description { color: #555; font-size: 15px; line-height: 1.6; margin-bottom: 25px; text-align: center; }
.ncdt-form fieldset { border: 1px solid #ccc; border-radius: 5px; padding: 20px; margin-bottom: 20px; }
.ncdt-form legend { font-weight: bold; color: #005a9c; padding: 0 10px; font-size: 1.3em; margin-left: 10px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-weight: 600; margin-bottom: 8px; color: #444; }
.form-group .required { color: red; }
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="number"], .form-group select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
.form-group input.error { border-color: red; }
.form-row { display: flex; flex-wrap: wrap; gap: 20px; }
.form-row .form-group { flex: 1; min-width: 200px; }
.checkbox-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.checkbox-group label { display: flex; align-items: center; background: #fff; border: 1px solid #ddd; padding: 10px; border-radius: 4px; font-weight: 500; cursor: pointer; transition: border-color 0.2s; }
.checkbox-group label:hover { border-color: #0073aa; }
.checkbox-group input { margin-right: 10px; width: 18px; height: 18px; flex-shrink: 0; }
.form-footer { text-align: center; }
.form-footer button { background-color: #0073aa; color: white; padding: 15px 30px; border: none; border-radius: 5px; cursor: pointer; font-size: 1.2em; font-weight: bold; }
.form-footer button:disabled { background-color: #ccc; cursor: not-allowed; }
.form-result { padding: 20px; margin-top: 20px; border-radius: 5px; text-align: center; }
.error-msg { color: #D8000C; background-color: #FFD2D2; padding: 10px; border: 1px solid #D8000C; border-radius: 4px; }