.expo-wtc { max-width: 900px; margin: 2rem auto; color: #182d42; }
.expo-wtc-form { display: grid; gap: 1.3rem; padding: 2rem; background: #fff; border: 1px solid #d6e0e9; border-radius: 16px; box-shadow: 0 12px 36px rgba(13, 44, 71, .08); }
.expo-wtc-form h2 { margin: 0; color: #0c5488; }
.expo-wtc-existing { display: grid; gap: .65rem; max-width: 900px; margin: 0 auto 1.5rem; padding: 1.3rem 2rem; border-radius: 12px; background: #ebf5fc; }
.expo-wtc-existing h2, .expo-wtc-existing p { margin: 0; }
.expo-wtc-existing label { display: grid; gap: .35rem; font-weight: 600; }
.expo-wtc-existing input { box-sizing: border-box; width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid #9aafc0; border-radius: 7px; font: inherit; }
.expo-wtc-existing button { justify-self: start; padding: .8rem 1.3rem; border: 0; border-radius: 7px; background: #0c5488; color: white; font: inherit; font-weight: 700; cursor: pointer; }
.expo-wtc-form p { margin: 0; }
.expo-wtc-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 1.2rem 0 0; border: 0; border-top: 1px solid #d6e0e9; }
.expo-wtc-form legend { font-weight: 700; color: #0c5488; padding-right: .7rem; }
.expo-wtc-form label { display: grid; gap: .35rem; font-weight: 600; font-size: .95rem; }
.expo-wtc-form input, .expo-wtc-form select { box-sizing: border-box; width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid #9aafc0; border-radius: 7px; background: #fff; color: #182d42; font: inherit; }
.expo-wtc-form input:focus, .expo-wtc-form select:focus { outline: 2px solid #1177b8; outline-offset: 1px; }
.expo-wtc-form .expo-wtc-help { font-size: .82rem; font-weight: 400; line-height: 1.35; color: #476176; }
.expo-wtc-form .expo-wtc-field-error, .expo-wtc-form [data-wtc-postal-status][data-state="error"] { font-size: .82rem; font-weight: 700; line-height: 1.35; color: #b42318; }
.expo-wtc-form input[aria-invalid="true"] { border-color: #b42318; background: #fff7f6; }
.expo-wtc-form button, .expo-wtc-pass button, .expo-wtc-link { justify-self: start; display: inline-block; padding: .8rem 1.3rem; border: 0; border-radius: 7px; background: #0c5488; color: white !important; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.expo-wtc-notice { margin: 1rem 0; padding: 1rem; border-left: 4px solid #0c5488; background: #ebf5fc; }
.expo-wtc-error { border-color: #b42318; background: #fff2f0; }
.expo-wtc-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.expo-wtc-pass { box-sizing: border-box; width: min(100%, 860px); margin: 1.5rem auto; text-align: center; color: #10283e; }
.expo-wtc-pass-visual { position: relative; width: 100%; }
.expo-wtc-pass-visual[role="button"] { cursor: pointer; }
.expo-wtc-pass-visual[role="button"]:focus-visible { outline: 3px solid #0c5488; outline-offset: 3px; }
.expo-wtc-pass-visual > img { display: block; width: 100%; height: auto; }
.expo-wtc-pass-details { position: absolute; top: 16.6%; left: 2%; width: 46%; overflow: visible; text-align: center; font-family: Arial, sans-serif; font-size: clamp(9px, 1.5vw, 17px); line-height: 1.15; text-transform: capitalize; }
.expo-wtc-pass-name { display: block; min-height: 2.2em; margin: .15em 0 .2em; font-size: 1.1em; line-height: 1.1; overflow-wrap: anywhere; }
.expo-wtc-barcode { margin: .2em auto 0; min-height: 70px; }
.expo-wtc-print { margin: 1rem auto; }
@media (max-width: 640px) { .expo-wtc-form { padding: 1rem; } .expo-wtc-form fieldset { grid-template-columns: 1fr; } }
@media print { @page { size: letter portrait; margin: 0; } body { margin: 0 !important; } body * { visibility: hidden !important; } .expo-wtc > :not(.expo-wtc-pass) { display: none !important; } .expo-wtc-pass, .expo-wtc-pass * { visibility: visible !important; } .expo-wtc-pass { position: absolute; top: 0; left: 0; width: 98%; max-width: none; margin: 0; } .expo-wtc-print { display: none !important; } }
