.japan-submission { border-top: 1px solid #dce2ea; padding: 20px 0 0; margin: 20px 0; color: inherit; min-width: 0; }
.japan-submission, .japan-submission * { box-sizing: border-box; }
.japan-submission h3 { margin: 0 0 18px; font-size: 18px; }
.japan-submission label { display: flex; flex-direction: column; gap: 7px; margin: 10px 0; font-size: 14px; min-width: 0; }
.japan-submission input:not([type=checkbox]), .japan-submission select { width: 100%; min-width: 0; min-height: 42px; border: 1px solid #c9d2df; border-radius: 7px; padding: 9px 10px; color: inherit; background: #fff; font: inherit; }
.japan-submission input[type=file] { font-size: 12px; }
.japan-submission fieldset { min-width: 0; margin: 18px 0; padding: 14px; border: 1px solid #e1e6ee; border-radius: 8px; }
.japan-submission legend { max-width: 100%; padding: 0 5px; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.japan-submission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.japan-submission button { border: 1px solid #c9d2df; background: #f6f8fb; color: inherit; border-radius: 7px; padding: 10px 13px; font: inherit; font-size: 13px; cursor: pointer; white-space: normal; max-width: 100%; overflow-wrap: anywhere; }
.japan-submission button:disabled { opacity: .5; cursor: default; }
.japan-submission-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.japan-submission-note, .japan-submission-warning, .japan-submission [role=status] { font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.japan-submission-note { color: #66758a; }
.japan-submission-warning { padding: 12px; background: #fff8e8; border-radius: 7px; color: #6e5015; }
.japan-submission .japan-submission-check { flex-direction: row; align-items: flex-start; gap: 10px; line-height: 1.5; }
.japan-submission-check input { flex: 0 0 auto; margin-top: 3px; }
.japan-submission :focus-visible { outline: 2px solid var(--brand-emerald-hover); outline-offset: 2px; }
.japan-submission summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
.japan-submission .japan-submission-picker { margin-top: 20px; }
.japan-submission-person { margin: 0 0 24px; }
.japan-submission input[aria-invalid=true] { border-color: #dc2626; background: #fff8f8; }
.japan-submission-error { color: #b91c1c; font-size: 12px; line-height: 1.4; }
.japan-submission select:disabled { background: #f3f4f6; color: #66758a; }
@media (max-width: 560px) { .japan-submission-grid { grid-template-columns: minmax(0, 1fr); } .japan-submission fieldset { padding: 10px; } .japan-submission-actions > button { width: 100%; } }
/* Match the existing purpose selector and text fields, including native document selects. */
#japanVisaShell .japan-submission :is(select, input:not([type=checkbox])) { height: 46px; min-height: 46px; padding: 10px 12px; border-radius: 8px; font-size: 14px; line-height: 1.4; }
#japanVisaShell .japan-submission-picker { width: 100%; }
