                        #tpta-agente-viagem {
                            --tpta-brand: #0F4C81;
                            --tpta-brand-dark: #0C3A63;
                            --tpta-brand-light: #E7EFF6;
                            --tpta-sand: #F7EEDC;
                            --tpta-sand-deep: #E9D3AE;
                            --tpta-sand-line: #E7DAB9;
                            --tpta-gold: #D9A44A;
                            --tpta-ink: #26343E;
                            --tpta-muted: #5B6B73;
                            --tpta-white: #FFFFFF;
                            --tpta-font-display: 'Fraunces', Georgia, serif;
                            --tpta-font-body: 'Work Sans', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

                            background: linear-gradient(180deg, var(--tpta-brand-dark) 0%, var(--tpta-brand) 100%);
                            color: var(--tpta-white);
                            padding: 3.6rem 1.25rem 3.2rem;
                            font-family: var(--tpta-font-body);
                        }

                        #tpta-agente-viagem * {
                            box-sizing: border-box;
                        }

                        #tpta-agente-viagem .tpta-inner {
                            max-width: 1080px;
                            margin: 0 auto;
                        }

                        #tpta-agente-viagem .tpta-eyebrow {
                            display: flex;
                            align-items: center;
                            gap: 10px;
                            font-weight: 700;
                            letter-spacing: 0.14em;
                            text-transform: uppercase;
                            font-size: 0.72rem;
                            color: var(--tpta-gold);
                        }

                        #tpta-agente-viagem .tpta-eyebrow::before {
                            content: "";
                            width: 26px;
                            height: 1px;
                            background: var(--tpta-gold);
                        }

                        #tpta-agente-viagem h2 {
                            font-family: var(--tpta-font-display);
                            font-style: italic;
                            font-weight: 600;
                            font-size: clamp(1.9rem, 4vw, 2.7rem);
                            margin: 0.5rem 0 0.5rem;
                        }

                        #tpta-agente-viagem .tpta-sub {
                            max-width: 620px;
                            color: rgba(255, 255, 255, 0.85);
                            font-size: 1rem;
                            margin-bottom: 1.8rem;
                        }

                        #tpta-agente-viagem .tpta-disclaimer {
                            display: flex;
                            align-items: flex-start;
                            gap: 8px;
                            max-width: 620px;
                            background: rgba(255, 255, 255, 0.08);
                            border: 1px solid rgba(255, 255, 255, 0.22);
                            border-radius: 10px;
                            padding: 10px 14px;
                            font-size: 0.82rem;
                            line-height: 1.45;
                            color: rgba(255, 255, 255, 0.82);
                            margin-bottom: 1.6rem;
                        }

                        #tpta-agente-viagem .tpta-disclaimer i {
                            color: var(--tpta-gold);
                            font-size: 0.95rem;
                            margin-top: 2px;
                            flex: 0 0 auto;
                        }

                        /* ---------- SEARCH ---------- */
                        #tpta-agente-viagem .tpta-search {
                            display: flex;
                            gap: 10px;
                            flex-wrap: wrap;
                            background: var(--tpta-white);
                            padding: 8px;
                            border-radius: 14px;
                            box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
                            max-width: 640px;
                        }

                        #tpta-agente-viagem .tpta-search input {
                            flex: 1 1 220px;
                            border: none;
                            outline: none;
                            font-family: var(--tpta-font-body);
                            font-size: 1rem;
                            color: var(--tpta-ink);
                            padding: 12px 14px;
                            min-width: 0;
                            background: transparent;
                        }

                        #tpta-agente-viagem .tpta-search input::placeholder {
                            color: var(--tpta-muted);
                        }

                        #tpta-agente-viagem .tpta-search button {
                            display: inline-flex;
                            align-items: center;
                            gap: 8px;
                            justify-content: center;
                            border: none;
                            background: var(--tpta-brand);
                            color: var(--tpta-white);
                            font-weight: 600;
                            font-size: 0.95rem;
                            padding: 12px 20px;
                            border-radius: 9px;
                            cursor: pointer;
                            transition: background 0.2s ease;
                            white-space: nowrap;
                        }

                        #tpta-agente-viagem .tpta-search button:hover {
                            background: var(--tpta-brand-dark);
                        }

                        #tpta-agente-viagem .tpta-search button:disabled {
                            opacity: 0.6;
                            cursor: progress;
                        }

                        #tpta-agente-viagem .tpta-search input:focus-visible,
                        #tpta-agente-viagem .tpta-search button:focus-visible,
                        #tpta-agente-viagem .tpta-chip:focus-visible {
                            outline: 3px solid var(--tpta-gold);
                            outline-offset: 2px;
                        }

                        /* ---------- SUGGESTION CHIPS ---------- */
                        #tpta-agente-viagem .tpta-chips {
                            display: flex;
                            flex-wrap: wrap;
                            align-items: center;
                            gap: 8px;
                            margin-top: 1rem;
                        }

                        #tpta-agente-viagem .tpta-chip-label {
                            font-size: 0.82rem;
                            color: rgba(255, 255, 255, 0.65);
                            margin-right: 2px;
                        }

                        #tpta-agente-viagem .tpta-chip {
                            background: rgba(255, 255, 255, 0.1);
                            border: 1px solid rgba(255, 255, 255, 0.28);
                            color: var(--tpta-white);
                            font-size: 0.82rem;
                            font-weight: 500;
                            padding: 6px 13px;
                            border-radius: 999px;
                            cursor: pointer;
                            transition: background 0.2s ease;
                        }

                        #tpta-agente-viagem .tpta-chip:hover {
                            background: rgba(255, 255, 255, 0.22);
                        }

                        /* ---------- STATUS ---------- */
                        #tpta-agente-viagem .tpta-status {
                            margin-top: 1.6rem;
                            font-size: 0.95rem;
                            color: rgba(255, 255, 255, 0.9);
                            min-height: 1.4em;
                        }

                        #tpta-agente-viagem .tpta-status[data-state="error"] {
                            color: #FFD7C2;
                        }

                        #tpta-agente-viagem .tpta-spinner {
                            display: inline-block;
                            width: 14px;
                            height: 14px;
                            border: 2px solid rgba(255, 255, 255, 0.35);
                            border-top-color: var(--tpta-white);
                            border-radius: 50%;
                            margin-right: 8px;
                            vertical-align: -2px;
                            animation: tpta-spin 0.7s linear infinite;
                        }

                        @keyframes tpta-spin {
                            to {
                                transform: rotate(360deg);
                            }
                        }

                        /* ---------- RESULTS ---------- */
                        #tpta-agente-viagem .tpta-results {
                            margin-top: 2.2rem;
                            display: grid;
                            grid-template-columns: 1fr 1fr;
                            gap: 2rem;
                        }

                        @media (max-width: 820px) {
                            #tpta-agente-viagem .tpta-results {
                                grid-template-columns: 1fr;
                            }
                        }

                        #tpta-agente-viagem .tpta-col h3 {
                            font-family: var(--tpta-font-display);
                            font-style: italic;
                            font-weight: 600;
                            font-size: 1.3rem;
                            display: flex;
                            align-items: center;
                            gap: 9px;
                            margin-bottom: 1rem;
                            color: var(--tpta-white);
                        }

                        #tpta-agente-viagem .tpta-col h3 i {
                            color: var(--tpta-gold);
                            font-style: normal;
                        }

                        #tpta-agente-viagem .tpta-grid {
                            display: flex;
                            flex-direction: column;
                            gap: 12px;
                        }

                        #tpta-agente-viagem .tpta-empty {
                            color: rgba(255, 255, 255, 0.7);
                            font-size: 0.9rem;
                            background: rgba(255, 255, 255, 0.06);
                            border: 1px dashed rgba(255, 255, 255, 0.3);
                            border-radius: 10px;
                            padding: 14px 16px;
                        }

                        /* ---------- TICKET CARD (signature element) ---------- */
                        #tpta-agente-viagem .tpta-ticket {
                            display: flex;
                            background: var(--tpta-white);
                            color: var(--tpta-ink);
                            border-radius: 12px;
                            overflow: hidden;
                            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
                            animation: tpta-card-in 0.4s ease-out both;
                        }

                        @keyframes tpta-card-in {
                            from {
                                opacity: 0;
                                transform: translateY(8px);
                            }

                            to {
                                opacity: 1;
                                transform: translateY(0);
                            }
                        }

                        #tpta-agente-viagem .tpta-ticket-main {
                            flex: 1;
                            padding: 14px 16px;
                            min-width: 0;
                        }

                        #tpta-agente-viagem .tpta-ticket-cat {
                            display: inline-flex;
                            align-items: center;
                            gap: 6px;
                            font-size: 0.68rem;
                            font-weight: 700;
                            letter-spacing: 0.06em;
                            text-transform: uppercase;
                            color: var(--tpta-brand);
                            margin-bottom: 4px;
                        }

                        #tpta-agente-viagem .tpta-ticket h4 {
                            font-size: 1.02rem;
                            font-weight: 700;
                            color: var(--tpta-ink);
                            margin: 0 0 4px;
                            line-height: 1.25;
                        }

                        #tpta-agente-viagem .tpta-ticket p {
                            font-size: 0.87rem;
                            color: var(--tpta-muted);
                            margin: 0;
                        }

                        #tpta-agente-viagem .tpta-ticket-stub {
                            flex: 0 0 88px;
                            position: relative;
                            background: var(--tpta-sand);
                            border-left: 2px dashed var(--tpta-sand-line);
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            justify-content: center;
                            text-align: center;
                            padding: 8px;
                            gap: 6px;
                        }

                        #tpta-agente-viagem .tpta-ticket-stub::before,
                        #tpta-agente-viagem .tpta-ticket-stub::after {
                            content: "";
                            position: absolute;
                            left: -8px;
                            width: 16px;
                            height: 16px;
                            background: var(--tpta-brand-dark);
                            border-radius: 50%;
                        }

                        #tpta-agente-viagem .tpta-ticket-stub::before {
                            top: -8px;
                        }

                        #tpta-agente-viagem .tpta-ticket-stub::after {
                            bottom: -8px;
                        }

                        #tpta-agente-viagem .tpta-ticket-dist {
                            font-family: var(--tpta-font-display);
                            font-weight: 600;
                            font-size: 1.15rem;
                            color: var(--tpta-brand);
                            line-height: 1;
                        }

                        #tpta-agente-viagem .tpta-ticket-dist small {
                            display: block;
                            font-family: var(--tpta-font-body);
                            font-size: 0.62rem;
                            font-weight: 600;
                            color: var(--tpta-muted);
                            text-transform: uppercase;
                            letter-spacing: 0.04em;
                            margin-top: 2px;
                        }

                        #tpta-agente-viagem .tpta-ticket-map {
                            font-size: 0.72rem;
                            font-weight: 600;
                            color: var(--tpta-brand);
                            text-decoration: none;
                        }

                        #tpta-agente-viagem .tpta-ticket-map:hover {
                            text-decoration: underline;
                        }

                        #tpta-agente-viagem .tpta-credit {
                            margin-top: 2rem;
                            font-size: 0.76rem;
                            color: rgba(255, 255, 255, 0.55);
                        }

                        @media (prefers-reduced-motion: reduce) {
                            #tpta-agente-viagem * {
                                animation: none !important;
                                transition: none !important;
                            }
                        }