/* Port public registration: shared Aqua/Maritime wizard system with Port identity. */
.tm-port-wizard {
  --navy: #062b52;
  --navy-2: #0b4775;
  --blue: #126a9b;
  --sky: #edf6fb;
  --orange: #ee5a13;
  --ink: #17344f;
}

.tm-port-wizard .tm-aqua-eyebrow { color: var(--blue); }
.tm-port-wizard .tm-aqua-progress span { background: linear-gradient(90deg, #062b52, #126a9b); }
.tm-port-wizard .tm-aqua-card-icon { color: #0b5f92; background: #e9f3fa; }
.tm-port-wizard .tm-aqua-choice:has(input:checked) { border-color: #126a9b; background: #edf6fb; box-shadow: inset 0 0 0 1px #126a9b; }
.tm-port-wizard .tm-aqua-choice input,
.tm-port-wizard .tm-consent-declaration input { accent-color: #126a9b; }
.tm-port-wizard .tm-aqua-button.submit { background: #ee5a13; box-shadow: 0 8px 18px rgba(238,90,19,.24); }

.tm-port-choice-block { display: grid; gap: 10px; }
.tm-port-choice-search { display: grid; gap: 6px; max-width: 560px; }
.tm-port-choice-search span { color: var(--ink); font-size: 13px; font-weight: 800; }
.tm-port-choice-search input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cdd8e3; border-radius: 7px; background: #fff; }
.tm-port-choice-search[hidden] { display: none!important; }
.tm-port-filter-options { max-height: 430px; padding-right: 4px; overflow: auto; }
.tm-port-filter-options[hidden] { display: none!important; }
.tm-port-filter-options .tm-aqua-choice[hidden] { display: none!important; }
.tm-port-wizard .tm-port-filter-options .tm-aqua-choice { position: relative; }
.tm-port-wizard .tm-aqua-choice.is-primary { border-color: #126a9b; background: #edf6fb; }
.tm-port-wizard .tm-aqua-help { margin: 0 0 10px; color: var(--muted); font-size: 13px; }
.tm-port-primary-picker { display: grid; gap: 12px; margin: 18px 0 24px; padding: 16px; border: 1px solid #c5d9e7; border-radius: 12px; background: #f7fbfe; }
.tm-port-primary-picker .tm-aqua-field { max-width: 560px; }
.tm-port-primary-picker .tm-aqua-help { margin: -4px 0 0; }
.tm-port-secondary-roles { display: grid; gap: 8px; }
.tm-port-secondary-roles > strong { color: var(--ink); font-size: 13px; }
.tm-port-role-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tm-port-role-chip { padding: 6px 10px; border: 1px solid #9dbacf; border-radius: 999px; background: #fff; color: #0b4775; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.tm-port-role-chip:hover,.tm-port-role-chip:focus-visible { border-color: #126a9b; background: #edf6fb; outline: 2px solid rgba(18,106,155,.2); outline-offset: 1px; }
.tm-port-reference-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:14px}.tm-port-reference-head h3{margin:0!important}
.tm-port-language-card,.tm-port-cv-final{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #d9e4ee}.tm-port-language-card>h3,.tm-port-cv-final>h3{margin-top:0}.tm-port-language-card>h3 small{margin-left:.45rem;color:#65788a;font-size:.75rem;font-weight:700}

.tm-port-course-widget { display: grid; gap: 14px; padding-top: 4px; }
.tm-port-add-action { display: flex; align-items: end; }
.tm-port-add-action .tm-aqua-button { width: 100%; }
.tm-port-reference-list { display: grid; gap: 14px; margin-top: 18px; }
.tm-port-reference-list .tm-aqua-nested-card { margin: 0; }
.tm-port-reference-list .tm-aqua-nested-card > h3 { margin: 0 0 14px; color: var(--navy); font-size: 15px; }
.tm-port-requirements-preview { margin-top: 22px; }
.tm-port-requirements-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tm-port-requirements-list li { display: grid; gap: 3px; padding: 11px 13px; border: 1px solid #d7e5e3; border-radius: 9px; background: #f8fcfb; }
.tm-port-requirements-list strong { color: var(--ink); font-size: 13px; }
.tm-port-requirements-list small { color: var(--muted); font-size: 11px; }

.tm-port-wizard .tm-port-cv-upload input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.tm-port-wizard .tm-port-cv-upload.has-file { border-color: #126a9b; background: #edf6fb; }

.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-card {
  padding: 22px;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(6,43,82,.07);
}
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-card .tm-form-card-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-card .tm-step { display: grid; place-items: center; min-width: 32px; height: 32px; border-radius: 9px; background: #e9f3fa; color: #126a9b; font-weight: 900; }
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-card h2 { margin: 0; font-size: 19px; }
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-card .tm-form-card-head p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-text { max-height: 220px; margin-bottom: 16px; padding: 14px; overflow: auto; border: 1px solid var(--line); border-radius: 9px; color: #425d73; font-size: 13px; }
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-declaration { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; font-size: 13px; }
.tm-port-wizard [data-port-wizard-step="6"] .field-help { color: var(--muted); font-size: 12px; }

.tm-port-wizard .tm-aqua-review-item dl { display: grid; grid-template-columns: minmax(120px,.65fr) minmax(0,1.35fr); gap: 7px 14px; margin: 0; }
.tm-port-wizard .tm-aqua-review-item dt { color: var(--muted); font-size: 12px; }
.tm-port-wizard .tm-aqua-review-item dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: 13px; font-weight: 700; }

.tm-port-ai-uploader,.tm-port-manual-entry,.tm-port-ai-documents{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #d9e4ee}
.tm-port-ai-uploader>div:first-child p,.tm-port-manual-entry>p{margin:.35rem 0 1rem;color:#53677a}
.tm-port-ai-dropzone{position:relative;margin-top:.85rem;cursor:pointer}.tm-port-ai-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.tm-port-ai-actions,.tm-port-document-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}
.tm-port-ai-documents>[data-port-ai-documents]{display:grid;gap:1rem;margin-top:.8rem}
.tm-port-document-card{border:1px solid #d7e2ec;border-radius:14px;padding:1rem;background:#fff;box-shadow:0 3px 10px rgba(11,43,66,.04)}
.tm-port-document-card.is-review{border-color:#efbf66;background:#fffdf7}.tm-port-document-card.is-confirmed{border-color:#9dd8ba}
.tm-port-document-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.tm-port-document-head h4{margin:0 0 .25rem}.tm-port-document-head small{color:#65788a}
.tm-port-document-status{display:inline-flex;align-items:center;padding:.32rem .65rem;border-radius:999px;background:#e8eef5;color:#29435c;font-weight:700;font-size:.78rem;white-space:nowrap}
.tm-port-document-status.is-clean,.tm-port-document-status.is-confirmed{background:#dff6e9;color:#0d6b3c}.tm-port-document-status.is-warning{background:#fff0d2;color:#945800}.tm-port-document-status.is-error{background:#fde3e3;color:#a12626}
.tm-port-ai-result{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e8ef}.tm-port-ai-result h5{margin:0 0 .75rem;font-size:1rem}
.tm-port-ai-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tm-port-ai-fields label{display:grid;gap:.3rem;font-size:.82rem;font-weight:700;color:#42586c}.tm-port-ai-fields input,.tm-port-ai-fields select{width:100%}
.tm-port-ai-warnings{margin:.75rem 0;padding:.7rem .85rem;border-radius:10px;background:#fff3d9;color:#805200;font-size:.88rem}
.tm-port-danger{border:1px solid #c93434!important;background:#fff!important;color:#b42323!important}.tm-port-danger:hover,.tm-port-danger:focus-visible{background:#b42323!important;color:#fff!important;outline:2px solid #f1a7a7;outline-offset:2px}
.tm-port-requirement-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.tm-port-requirement-heading>strong{font-size:1.2rem;color:#126a9b}
.tm-port-requirements-list li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.tm-port-requirements-list li>span{display:grid;gap:.2rem}.tm-port-requirements-list em{font-style:normal;font-weight:700;font-size:.8rem;color:#52677a}

@media (max-width: 820px) {
  .tm-port-filter-options { max-height: none; }
}

@media (max-width: 520px) {
  .tm-port-wizard .tm-aqua-personal-grid,
  .tm-port-wizard .tm-maritime-personal-fields,
  .tm-port-wizard .tm-maritime-contact-grid { grid-template-columns: 1fr; }
  .tm-port-wizard .tm-aqua-review-item dl { grid-template-columns: 1fr; gap: 3px; }
  .tm-port-wizard .tm-aqua-review-item dd { margin-bottom: 8px; }
  .tm-port-primary-picker { margin-bottom: 20px; padding: 14px; }
  .tm-port-role-chips { align-items: stretch; }
  .tm-port-role-chip { width: 100%; text-align: left; }
  .tm-port-ai-fields{grid-template-columns:1fr}.tm-port-document-head,.tm-port-requirement-heading,.tm-port-requirements-list li{flex-direction:column}.tm-port-ai-actions,.tm-port-document-actions{align-items:stretch}.tm-port-ai-actions .tm-aqua-button,.tm-port-document-actions .tm-aqua-button{width:100%}
}

/* Final Mariel visual alignment: presentation only; functional controls remain canonical. */
.tm-port-wizard { background: linear-gradient(180deg,#f4f8fb 0,#eef5f9 100%); }
.tm-port-wizard .tm-aqua-shell { max-width: 1440px; }
.tm-port-wizard .tm-aqua-intro {
  position: relative;
  overflow: hidden;
  padding: 28px 32px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(120deg,#062b52 0%,#0b4775 72%,#126a9b 100%);
  color: #fff;
  box-shadow: 0 14px 34px rgba(6,43,82,.18);
}
.tm-port-wizard .tm-aqua-intro::after { content: '⚓'; position: absolute; right: 34px; top: 12px; color: rgba(255,255,255,.07); font-size: 92px; }
.tm-port-wizard .tm-aqua-intro h1,.tm-port-wizard .tm-aqua-intro p { color: #fff; }
.tm-port-wizard .tm-aqua-intro .tm-aqua-eyebrow { color: #b9e1f4; }
.tm-port-wizard .tm-aqua-steps { position: relative; z-index: 1; }
.tm-port-wizard .tm-aqua-steps button { color: rgba(255,255,255,.75); }
.tm-port-wizard .tm-aqua-steps button span { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.1); color: #fff; }
.tm-port-wizard .tm-aqua-steps .is-active button,.tm-port-wizard .tm-aqua-steps .is-complete button { color: #fff; }
.tm-port-wizard .tm-aqua-steps .is-active button span { border-color: #f7a06e; background: #ee5a13; }
.tm-port-wizard .tm-aqua-steps .is-complete button span { border-color: #9ee0bd; background: #168654; }
.tm-port-wizard .tm-aqua-card { border-color: #d9e5ed; border-radius: 16px; box-shadow: 0 8px 24px rgba(6,43,82,.07); }
.tm-port-wizard .tm-aqua-main > .tm-aqua-step > .tm-aqua-card { border-top: 4px solid #0b4775; }
.tm-port-wizard .tm-aqua-main > .tm-aqua-step > .tm-aqua-card > header { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid #e3ebf1; }
.tm-port-wizard .tm-aqua-main > .tm-aqua-step > .tm-aqua-card > header h2 { color: #062b52; }
.tm-port-wizard .tm-aqua-field input,.tm-port-wizard .tm-aqua-field select,.tm-port-wizard .tm-aqua-field textarea { border-color: #bdcdd9; border-radius: 8px; }
.tm-port-wizard .tm-aqua-field input:focus,.tm-port-wizard .tm-aqua-field select:focus,.tm-port-wizard .tm-aqua-field textarea:focus,.tm-port-choice-search input:focus { border-color: #126a9b; outline: 3px solid rgba(18,106,155,.13); }
.tm-port-wizard .tm-aqua-button.primary { background: #ee5a13; border-color: #ee5a13; color: #fff; box-shadow: 0 7px 16px rgba(238,90,19,.2); }
.tm-port-wizard .tm-aqua-button.primary:hover,.tm-port-wizard .tm-aqua-button.primary:focus-visible,.tm-port-wizard .tm-aqua-button.submit:hover,.tm-port-wizard .tm-aqua-button.submit:focus-visible { background: #cf4405; border-color: #cf4405; outline: 3px solid rgba(238,90,19,.22); outline-offset: 2px; }
.tm-port-wizard .tm-aqua-button.secondary { border-color: #9db6c9; color: #0b4775; }
.tm-port-wizard .tm-aqua-button.secondary:hover,.tm-port-wizard .tm-aqua-button.secondary:focus-visible { border-color: #126a9b; background: #edf6fb; outline: 2px solid rgba(18,106,155,.18); }
.tm-port-wizard .tm-aqua-note,.tm-port-wizard .tm-aqua-privacy { border-left: 4px solid #126a9b; background: #edf6fb; }

/* Step 1 */
.tm-port-wizard [data-port-wizard-step="1"] .tm-aqua-personal-grid { gap: 28px; align-items: start; }
.tm-port-wizard [data-port-wizard-step="1"] .tm-aqua-avatar { padding: 22px 16px; border: 1px solid #d9e5ed; border-radius: 14px; background: #f8fbfd; }
.tm-port-wizard [data-port-wizard-step="1"] .tm-aqua-avatar-preview { border-color: #a8c2d3; background: #eaf3f8; }
.tm-port-wizard [data-port-wizard-step="1"] .tm-aqua-avatar-action { color: #0b4775; }

/* Step 2 */
.tm-port-current-role { position: relative; padding: 16px; border: 1px solid #b7d0df; border-left: 4px solid #126a9b; border-radius: 12px; background: #f3f9fc; }
.tm-port-wizard [data-port-wizard-step="2"] .tm-port-current-role { grid-column: 1 / -1; }
.tm-port-current-role input { background: #fff; }
.tm-port-priority-label { display: inline-flex; margin-bottom: 7px; padding: 4px 8px; border-radius: 999px; background: #dceef7; color: #0b5f92; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.tm-port-wizard [data-port-wizard-step="2"] .tm-aqua-subsection { padding: 18px; border: 1px solid #dce7ee; border-radius: 13px; background: #fbfdfe; }
.tm-port-wizard [data-port-wizard-step="2"] .tm-aqua-subsection h3 { margin-top: 0; color: #173f62; }
.tm-port-wizard [data-port-wizard-step="2"] .tm-port-filter-options { grid-template-columns: repeat(3,minmax(0,1fr)); max-height: 265px; }
.tm-port-wizard [data-port-wizard-step="2"] .tm-aqua-choice { min-height: 42px; padding: 9px 11px; }

/* Step 3 */
.tm-port-wizard [data-port-wizard-step="3"] .tm-maritime-choice-fieldset { max-width: 560px; margin-inline: auto; padding: 18px; text-align: center; border: 1px solid #d7e4ec; border-radius: 13px; background: #f8fbfd; }
.tm-port-wizard [data-port-wizard-step="3"] .tm-maritime-choice-fieldset .tm-aqua-choice-grid { grid-template-columns: repeat(2,1fr); }
.tm-port-reference-list .tm-aqua-nested-card { position: relative; padding: 20px; border-left: 4px solid #126a9b; background: #fff; }
.tm-port-reference-head h3::before { content: '●'; display: inline-grid; place-items: center; width: 26px; height: 26px; margin-right: 8px; border-radius: 50%; background: #e5f1f8; color: #126a9b; font-size: 10px; }
.tm-port-reference-head .tm-aqua-link-button { padding: 7px 10px; border: 1px solid #e0a3a3; border-radius: 7px; color: #a52626; text-decoration: none; }
.tm-port-reference-head .tm-aqua-link-button:hover,.tm-port-reference-head .tm-aqua-link-button:focus-visible { background: #fff0f0; outline: 2px solid rgba(181,43,43,.16); }

/* Step 4 */
.tm-port-wizard [data-port-wizard-step="4"] .tm-maritime-choice-fieldset { padding: 18px; border: 1px solid #d7e4ec; border-radius: 13px; background: #f8fbfd; }
.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-choice { border-radius: 10px; }
.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-grid.two { gap: 18px; }
.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-grid.two > .tm-aqua-field input,.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-grid.two > .tm-aqua-field select { width: 100%; }
.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-subsection { padding: 16px; border: 1px solid #dce7ee; border-radius: 12px; background: #fbfdfe; }
.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-subsection .tm-aqua-choice-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

/* Step 5: misma composición vertical del flujo Maritime. */
.tm-port-document-stack { display: grid; gap: 24px; margin-top: 22px; }
.tm-port-document-stack > .tm-maritime-ai-block { width: 100%; min-width: 0; margin: 0; }
.tm-port-ai-uploader { padding: 20px; border-top: 3px solid #126a9b; background: #f7fbfd; }
.tm-port-ai-callout { display: flex; align-items: flex-start; gap: 9px; margin: 11px 0 0!important; padding: 10px 12px; border: 1px solid #f5b284; border-left: 4px solid #ee5a13; border-radius: 9px; background: #fff3e9; color: #7b350e!important; font-size: 13px; font-weight: 700; line-height: 1.45; }
.tm-port-ai-callout::before { content: '!'; display: inline-grid; place-items: center; flex: 0 0 21px; width: 21px; height: 21px; margin-top: 1px; border-radius: 50%; background: #ee5a13; color: #fff; font-size: 13px; font-weight: 900; }
.tm-port-ai-dropzone { min-height: 175px; border: 2px dashed #7eafc9; background: #fff; }
.tm-port-ai-dropzone:hover,.tm-port-ai-dropzone:focus-within { border-color: #ee5a13; background: #fffaf6; }
.tm-port-selected-files { margin-top: 14px; padding: 13px 14px; border: 1px solid #cddde7; border-radius: 10px; background: #fff; }
.tm-port-selected-files h4 { margin: 0 0 9px; color: #173f62; font-size: 14px; }
.tm-port-selected-files ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.tm-port-selected-files li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 7px; border-top: 1px solid #e7eef3; }
.tm-port-selected-files li:first-child { padding-top: 0; border-top: 0; }
.tm-port-selected-files li > span { display: grid; min-width: 0; gap: 2px; }
.tm-port-selected-files strong { overflow-wrap: anywhere; color: #173f62; font-size: 13px; }
.tm-port-selected-files small { color: #60778a; font-size: 11px; }
.tm-port-selected-files em { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; background: #dff6e9; color: #0d6b3c; font-size: 11px; font-style: normal; font-weight: 800; }
.tm-port-selected-files em.is-error { background: #fde3e3; color: #a12626; }
.tm-port-ai-actions .tm-aqua-button:first-child { min-width: 190px; }
.tm-port-manual-entry { padding: 20px; background: #fff; }
.tm-port-ai-documents { padding: 20px; }
.tm-port-ai-documents > [data-port-ai-documents],.tm-port-manual-documents > [data-port-ai-manual-documents] { display: grid; gap: 16px; margin-top: 18px; }
.tm-port-document-card { padding: 13px 14px; border-radius: 11px; box-shadow: none; }
.tm-port-document-head h4 { overflow-wrap: anywhere; color: #173f62; font-size: 14px; }
.tm-port-document-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 9px; color: #60778a; font-size: 12px; }
.tm-port-document-meta span { display: inline-flex; gap: 4px; }
.tm-port-ai-result[hidden] { display: none!important; }
.tm-port-review-reasons { display: grid; gap: 6px; margin-top: 11px; padding: 10px 12px; border-left: 4px solid #d48610; border-radius: 8px; background: #fff6df; color: #714b07; }
.tm-port-review-reasons > strong { font-size: 12px; }
.tm-port-review-reasons ul { display: grid; gap: 4px; margin: 0; padding-left: 18px; font-size: 12px; line-height: 1.4; }
.tm-port-ai-result-summary { display: grid; grid-template-columns: minmax(120px,.55fr) minmax(0,1.45fr); gap: 5px 12px; margin: 0 0 13px; padding: 11px; border-radius: 8px; background: #f3f8fb; }
.tm-port-ai-result-summary dt { color: #60778a; font-size: 12px; }
.tm-port-ai-result-summary dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #173f62; font-size: 12px; font-weight: 800; }
.tm-port-review-toggle { min-width: 145px; }
.tm-port-requirements-preview,.tm-port-language-card { margin: 0; padding: 20px; background: #fff; }
.tm-port-language-card { border-top: 3px solid #126a9b; }
.tm-port-language-card .tm-aqua-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.tm-port-language-card .tm-aqua-field label { font-size: 13px; }
.tm-port-language-card .tm-aqua-button { width: auto; }
.tm-port-requirement-heading { align-items: center; }
.tm-port-requirement-heading > strong { margin-left: auto; color: #0b4775; font-size: 24px; }
.tm-port-requirement-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 18px 0; }
.tm-port-requirement-stats span { display: grid; gap: 2px; padding: 10px; border: 1px solid #dce7ee; border-radius: 9px; background: #f8fbfd; color: #60778a; font-size: 11px; }
.tm-port-requirement-stats b { color: #062b52; font-size: 19px; }
.tm-port-requirements-toggle { margin-top: 2px; }
.tm-port-requirements-details { margin-top: 14px; }
.tm-port-requirements-details[hidden] { display: none!important; }
.tm-port-requirements-list { max-height: none; overflow: visible; }
.tm-port-requirements-list li { padding: 9px 10px; border-radius: 8px; }
.tm-port-cv-final { padding: 20px; border-top: 3px solid #ee5a13; background: #fffaf7; }
.tm-port-cv-final .tm-port-cv-upload { margin-top: 18px; }

/* Step 6 */
.tm-port-wizard [data-port-review] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.tm-port-wizard .tm-aqua-review-item { padding: 17px; border: 1px solid #d8e5ed; border-top: 3px solid #126a9b; border-radius: 12px; background: #fff; }
.tm-port-wizard .tm-aqua-review-item.is-primary { border-top-color: #ee5a13; background: #fffaf7; }
.tm-port-wizard .tm-aqua-review-item.is-document { border-top-color: #168654; }
.tm-port-wizard .tm-aqua-review-item.is-completeness { border-top-color: #0b4775; background: #f5f9fc; }
.tm-port-wizard .tm-aqua-review-item.is-secondary { grid-column: span 1; border-top-width: 1px; box-shadow: none; }
.tm-port-wizard .tm-aqua-review-item > strong { display: block; margin-bottom: 13px; color: #062b52; font-size: 15px; }
.tm-port-wizard .tm-port-review-description { margin: -7px 0 13px; color: #60778a; font-size: 12px; line-height: 1.45; }
.tm-port-wizard .tm-aqua-review-item.is-completeness > strong::before { content: '✓'; display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 7px; border-radius: 50%; background: #dff4e9; color: #168654; }
.tm-port-wizard [data-port-wizard-step="6"] .tm-consent-registration-card { margin-top: 18px; border-top: 3px solid #0b4775; }
.tm-port-wizard .tm-aqua-form-actions { padding-top: 18px; border-top: 1px solid #dce6ed; }
.tm-port-wizard .tm-aqua-form-actions .submit { min-width: 170px; }

/* Validación guiada: ancla visible, mensaje inline y foco usable en móvil. */
.tm-port-wizard [data-port-filter-list].is-invalid,
.tm-port-wizard .tm-port-requirements-preview.is-invalid,
.tm-port-wizard .tm-port-cv-final.is-invalid,
.tm-port-wizard fieldset.is-invalid,
.tm-port-wizard .tm-aqua-field.is-invalid { border-color: #c94242!important; background: #fff7f7; box-shadow: 0 0 0 3px rgba(201,66,66,.11); }
.tm-port-wizard .field-error[data-port-validation-error] { display: block; margin-top: 8px; color: #a12626; font-size: 12px; font-weight: 800; line-height: 1.4; }
.tm-port-wizard [aria-invalid="true"]:focus { border-color: #c94242!important; outline: 3px solid rgba(201,66,66,.16)!important; outline-offset: 1px; }

/* Final protected state */
.tm-port-submission-complete { max-width: 900px; margin: 28px auto 0; }
.tm-port-submission-complete > .tm-aqua-card { padding: 34px; border-top: 4px solid #ee5a13; }
.tm-port-submission-complete h2 { color: #062b52; font-size: 28px; }
.tm-port-submission-complete h3 { margin: 26px 0 14px; color: #062b52; }
.tm-port-submission-complete ol { display: grid; gap: 14px; padding-left: 24px; }
.tm-port-submission-complete li p { margin: 4px 0 0; color: #526c83; }

@media (max-width: 1100px) {
  .tm-port-wizard [data-port-review] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-port-wizard .tm-aqua-review-item.is-primary { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .tm-port-wizard [data-port-wizard-step="2"] .tm-port-filter-options,.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-subsection .tm-aqua-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-port-wizard [data-port-review] { grid-template-columns: 1fr; }
  .tm-port-requirement-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-port-wizard .tm-aqua-review-item.is-primary { grid-column: auto; }
}

@media (max-width: 520px) {
  .tm-port-wizard .tm-aqua-intro { border-radius: 12px; }
  .tm-port-wizard .tm-aqua-intro::after { display: none; }
  .tm-port-wizard [data-port-wizard-step="2"] .tm-port-filter-options,.tm-port-wizard [data-port-wizard-step="4"] .tm-aqua-subsection .tm-aqua-choice-grid { grid-template-columns: 1fr; }
  .tm-port-reference-head { align-items: flex-start; flex-direction: column; }
  .tm-port-selected-files li { align-items: flex-start; flex-direction: column; }
  .tm-port-ai-result-summary { grid-template-columns: 1fr; gap: 2px; }
  .tm-port-ai-result-summary dd { margin-bottom: 6px; }
  .tm-port-document-stack { gap: 16px; }
  .tm-port-ai-uploader,.tm-port-requirements-preview,.tm-port-language-card,.tm-port-cv-final { padding: 14px; }
  .tm-port-language-card .tm-aqua-grid.two { grid-template-columns: 1fr; }
  .tm-port-requirement-stats { grid-template-columns: 1fr 1fr; }
  .tm-port-requirements-toggle { width: 100%; }
  .tm-port-submission-complete > .tm-aqua-card { padding: 19px; }
  .tm-port-submission-complete h2 { font-size: 23px; }
}
