body>header,.brand-sample-heading{background:var(--brand-primary);color:var(--brand-primary-text);border-bottom:4px solid var(--brand-accent)}
body>header a,body>header p{color:var(--brand-primary-text)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand span{margin-left:0}
.brand-name{overflow-wrap:anywhere;min-width:0}.brand-logo{display:inline-block;width:auto;max-width:160px;height:48px;object-fit:contain;background:white;border-radius:4px;padding:4px;vertical-align:middle;flex-shrink:0}
button:not(.secondary):not(.hot-button),.button:not(.secondary):not(.hot-button){background:var(--brand-accent);color:var(--brand-accent-text)}
button:not(.secondary):not(.hot-button):hover,.button:not(.secondary):not(.hot-button):hover{filter:brightness(.92)}
.brand-sample-heading{padding:20px}.brand-print-sample{margin-top:24px;border:1px solid #bbb;background:white;color:black;padding:20px}
.traveler-brand{display:flex;align-items:center;gap:12px;break-inside:avoid;margin-bottom:16px;color:black}
.tv-brand{display:flex;align-items:center;gap:12px;max-width:70vw}.tv-brand .brand-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tv-brand .brand-logo{height:40px;max-width:120px}
@media print{.traveler-brand .brand-logo{height:15mm;max-width:45mm}.traveler-brand{color:black;background:white}a{color:black}}
input[type=color]{height:56px;padding:6px;cursor:pointer}body>header{flex-wrap:wrap}.brand{max-width:100%}.identity{flex-wrap:wrap}.brand-sample-heading .brand-name{font-weight:750;margin-left:12px}

body>header nav a{background:var(--brand-primary);color:var(--brand-primary-text);border-color:var(--brand-primary-text)}

/* Keep customer branding separate from navigation and account controls. */
.app-header{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:18px 32px;width:100%;min-width:0}
.app-header>.brand{width:100%;min-height:44px;gap:12px;line-height:1.3}
.app-header .brand-logo{width:120px;height:44px;max-width:120px;object-fit:contain;flex:none}
.app-header .brand-name{font-size:18px;letter-spacing:0}
.app-header .primary-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 12px;min-width:0}
.app-header .primary-nav a,.app-header .account-nav>a{display:inline-flex;align-items:center;min-height:44px;padding:8px;border-radius:6px;text-decoration:none;white-space:nowrap}
.app-header a:hover{text-decoration:underline;text-underline-offset:4px}
.app-header .account-nav{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:8px 16px;min-width:0;padding-top:12px;border-top:1px solid currentColor}
.app-header .account-label{margin-right:auto;min-width:0;overflow-wrap:anywhere}
.app-header .account-nav form{margin:0;flex:none}
.app-header .account-nav button{white-space:nowrap}
@media(max-width:1000px){.app-header{grid-template-columns:minmax(0,1fr);gap:12px}.app-header>.brand{max-width:440px}.app-header .primary-nav{justify-content:flex-start}.app-header .account-nav{gap:4px 12px}.app-header .account-label{flex-basis:100%}}
@media(max-width:480px){.app-header .brand-logo{width:100px;max-width:100px;height:40px}.app-header .primary-nav{gap:4px}.app-header .primary-nav a,.app-header .account-nav>a{padding:8px 6px}}
