.ticket-card{border:1px solid var(--color-border-default);background:#fff;border-radius:28px;position:relative;overflow:hidden;box-shadow:0 25px 60px -20px #0e1b3d59}.ticket-header{background:var(--color-brand-navy);color:#fff;justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.brand-logotext{font-family:var(--font-family-display);color:#fff;letter-spacing:-.02em;font-size:1.3rem;font-weight:850;display:block}.brand-sub{color:var(--color-brand-accent);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700}.ticket-header__code{text-align:right}.code-label{color:#fff9;letter-spacing:.1em;font-size:.65rem;display:block}.code-num{color:var(--color-brand-accent);font-family:monospace;font-size:1.15rem}.ticket-destination{height:140px;position:relative}.ticket-destination__cover{background-position:50%;background-size:cover;position:absolute;inset:0}.ticket-destination__shade{background:linear-gradient(to top, var(--color-brand-navy) 0%, #0e1b3d4d 100%);position:absolute;inset:0}.ticket-destination__content{color:#fff;position:absolute;bottom:18px;left:28px;right:28px}.ticket-tag{color:var(--color-brand-accent);letter-spacing:.08em;font-size:.72rem;font-weight:800}.ticket-dest-name{font-family:var(--font-family-display);margin:4px 0 0;font-size:1.8rem;font-weight:850;line-height:1}.ticket-route{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:24px 28px 16px;display:grid}.airport-code{font-family:var(--font-family-display);color:var(--color-brand-navy);font-size:2.2rem;font-weight:850;line-height:1;display:block}.city-name{color:var(--color-text-secondary);font-size:.85rem;display:block}.time-clock{color:var(--color-brand-primary);font-size:.95rem;font-weight:800}.route-line{color:var(--color-brand-primary);align-items:center;gap:8px;display:flex}.line-dashes{border-top:2px dashed #2350a959;width:32px}.route-bus-icon{border-radius:var(--radius-full);background:var(--color-brand-accent);width:36px;height:36px;color:var(--color-brand-navy);place-items:center;display:grid}.ticket-details{grid-template-columns:1fr 1fr;gap:14px 20px;margin:0;padding:16px 28px;display:grid}.detail-item{flex-direction:column;gap:2px;display:flex}.detail-item.full-width{border-bottom:1px solid var(--color-border-subtle);grid-column:span 2;padding-bottom:8px}.detail-item dt{color:var(--color-text-muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.detail-item dd{color:var(--color-brand-navy);margin:0;font-size:.95rem;font-weight:750}.cpf-pill{color:var(--color-text-secondary);margin-left:8px;font-size:.78rem;font-weight:600}.seat-big{color:var(--color-brand-primary)!important;font-size:1.3rem!important;font-weight:850!important}.ticket-doc-status{color:#1b5e20;background:#e8f5e9;border-radius:14px;align-items:center;gap:12px;margin:10px 28px;padding:12px 16px;font-size:.86rem;display:flex}.ticket-doc-status p{color:#2e7d32;margin:0;font-size:.78rem}.ticket-cut-line{border-top:2px dashed #b0bec5;margin-block:20px;position:relative}.notch{border-radius:var(--radius-full);background:var(--ticket-notch,var(--color-bg-surface));width:24px;height:24px;position:absolute;top:-12px}.notch--left{left:-12px;box-shadow:inset -2px 0 3px #00000014}.notch--right{right:-12px;box-shadow:inset 2px 0 3px #00000014}.ticket-qr-section{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:0 28px 28px;display:flex}.qr-container{border:1px solid var(--color-border-default);background:#fff;border-radius:16px;padding:12px;display:inline-block;box-shadow:0 4px 16px #0000000f}.qr-label{color:var(--color-brand-navy);margin:6px 0 0;font-size:.85rem;font-weight:700}.qr-payload-text{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.qr-container--logo{position:relative}.qr-container--logo svg{display:block}.qr-logo{object-fit:contain;background:#fff;border-radius:6px;width:44px;height:32px;padding:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ticket-doc-status--pending{color:#7a4f01;background:#fff8e1}.ticket-doc-status--pending p{color:#8a5a00}.ticket-doc-status--rejected{color:#8c1d18;background:#fdecea}.ticket-doc-status--rejected p{color:#a12a22}@media (width<=560px){.ticket-route{text-align:center;grid-template-columns:1fr}.ticket-route .text-right{text-align:center}.route-line{justify-content:center;margin-block:8px}}
