.cna-panel { margin-top: .55rem; max-width: 38rem; }
.cna-pagination { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: .65rem; }
.cna-pagination[hidden] { display: none; }
.cna-toggle { border: 0; background: none; color: #2b6d83; cursor: pointer; padding: .2rem 0; text-decoration: underline; }
.cna-toggle::before { content: ''; display: inline-block; margin-right: .5em; border-top: .3em solid transparent; border-bottom: .3em solid transparent; border-left: .4em solid currentColor; vertical-align: middle; }
.cna-toggle[aria-expanded="true"]::before { transform: rotate(90deg); }
.cna-content { margin-top: .65rem; padding: .85rem; border: 1px solid #d5e0e3; border-radius: .3rem; background: #f8fbfc; }
.cna-content[hidden], .cna-preview[hidden], .cna-results[hidden] { display: none; }
.cna-label { display: block; margin-bottom: .35rem; font-weight: 600; }
.cna-row { display: flex; align-items: flex-start; gap: .5rem; }
.cna-field { flex: 1; min-width: 0; }
.cna-prefecture { display: block; margin-top: .5rem; }
/* Keep the native EC-CUBE select, aligned with the entry text input. */
.cna-panel .ec-select select { height: 40px; }
.cna-panel .ec-select:not(.error) select { background-color: var(--bs-body-bg, #fff); }
.cna-panel .ec-select:not(.error) select:focus { border-color: #3c8dbc; outline: 0; box-shadow: none; }
.cna-number-heading { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #d5e0e3; }
.cna-button { white-space: nowrap; cursor: pointer; padding: .45rem .8rem; border: 1px solid #2b6d83; border-radius: .2rem; color: #2b6d83; background: white; font: inherit; }
.cna-panel .cna-button { box-sizing: border-box; height: 40px; line-height: normal; }
.cna-button:hover { background: #e9f4f6; }
.cna-button:disabled { opacity: .55; cursor: wait; }
.cna-status { margin-top: .45rem; min-height: 1.3em; font-size: .9em; }
.cna-preview { margin-top: .55rem; padding: .7rem; background: white; border: 1px solid #d5e0e3; }
.cna-preview > div { margin-top: .25rem; }
.cna-results { margin-top: .55rem; border: 1px solid #d5e0e3; background: white; max-height: 20rem; overflow-y: auto; }
.cna-candidate { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .6rem; border-bottom: 1px solid #e5ecee; }
.cna-candidate:last-child { border-bottom: 0; }
.cna-candidate-details { min-width: 0; }
.cna-candidate-details span { display: block; margin-top: .2rem; font-size: .85em; overflow-wrap: anywhere; }
@media (max-width: 38rem) { .cna-candidate { align-items: flex-start; flex-direction: column; } }
.cna-apply { display: block; margin-top: .7rem; }
.cna-note { display: block; margin-top: .8rem; line-height: 1.4; color: #5b6669; }
