:root{color:#102a43;font-synthesis:none;text-rendering:optimizelegibility;--ivory:#f7f2e8;--paper:#fffdf7;--navy:#102a43;--navy-soft:#334e68;--teal:#087f75;--teal-dark:#05655e;--teal-light:#d9eeea;--sand:#e7ddcb;--line:#d8cfbf;--muted:#627386;--danger:#9b3d32;--danger-bg:#f8e8e4;--approval-bg:#fff3d6;--success:#256b50;--shadow:0 16px 45px #102a4314;--radius:18px;background:#f7f2e8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--ivory);min-width:320px}body{background:radial-gradient(circle at 8% 8%, #087f750e, transparent 25rem), var(--ivory);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.62}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #16a89c}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);letter-spacing:-.025em}h1{margin-bottom:.5rem;font-size:clamp(2rem,5vw,3.35rem);line-height:1.04}h2{margin-bottom:.6rem;font-size:clamp(1.25rem,2vw,1.55rem)}h3{font-size:1rem}.skip-link{z-index:100;color:#fff;background:var(--navy);border-radius:8px;padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-frame{flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;background:var(--navy);border-bottom:3px solid var(--teal);justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:0 5vw;display:flex}.brand{color:inherit;letter-spacing:-.02em;align-items:center;gap:.72rem;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:32px;height:32px}.session-area{align-items:center;gap:1rem;display:flex}.member-label{color:#d9e2ec;text-overflow:ellipsis;white-space:nowrap;max-width:24ch;font-size:.875rem;overflow:hidden}.header-action{color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:8px;min-height:42px;padding:.55rem .85rem}.header-action:hover{background:#ffffff17}.page-shell{flex:1;width:min(1180px,100% - 2rem);margin:0 auto;padding:clamp(2.25rem,6vw,5rem) 0 5rem}.page-heading,.workspace-heading,.section-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.page-heading{align-items:flex-end;margin-bottom:1.75rem}.page-intro,.workspace-heading p{color:var(--navy-soft);margin-bottom:0;font-size:1.05rem}.eyebrow{color:var(--teal-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.55rem;font-size:.74rem;font-weight:800}.button{border:1px solid var(--teal);color:#fff;background:var(--teal);border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:.72rem 1.1rem;font-weight:750;line-height:1.15;display:inline-flex;box-shadow:0 5px 14px #087f7526}.button:hover:not(:disabled){border-color:var(--teal-dark);background:var(--teal-dark)}.button--secondary{color:var(--navy);box-shadow:none;background:0 0;border-color:#9fb3c8}.button--secondary:hover:not(:disabled){color:var(--navy);border-color:var(--navy-soft);background:#edf2f5}.button--danger{color:var(--danger);box-shadow:none;background:0 0;border-color:#d8aaa3}.button--danger:hover:not(:disabled){color:#fff;border-color:var(--danger);background:var(--danger)}.button--small{min-height:42px;padding:.6rem .9rem;font-size:.9rem}.text-button,.back-link,.card-link{min-height:42px;color:var(--teal-dark);text-underline-offset:.25rem;background:0 0;border:0;padding:.35rem 0;font-weight:750;-webkit-text-decoration:underline #05655e4d;text-decoration:underline #05655e4d}.text-button:hover,.back-link:hover,.card-link:hover{text-decoration-color:currentColor}.text-button--danger{color:var(--danger)}.view-switcher{border:1px solid var(--line);background:#fffdf7a6;border-radius:12px;gap:.35rem;width:fit-content;margin-bottom:1.5rem;padding:.3rem;display:flex}.view-switcher button{min-height:42px;color:var(--navy-soft);background:0 0;border:0;border-radius:8px;padding:.58rem 1rem;font-weight:720}.view-switcher button.is-active{color:#fff;background:var(--navy)}.trip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.trip-card,.form-card,.side-card,.state-card,.conflict-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.trip-card{min-width:0;padding:1.35rem;position:relative;overflow:hidden}.trip-card:before{content:"";background:var(--teal);width:100%;height:4px;position:absolute;top:0;left:0}.trip-card h2{overflow-wrap:anywhere;margin-top:1rem}.trip-card__topline{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.status-badge{min-height:26px;color:var(--teal-dark);background:var(--teal-light);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.status-badge--archived{color:var(--navy-soft);background:#e8edf1}.access-note{color:var(--muted);font-size:.78rem;font-weight:700}.destination{color:var(--navy-soft);margin-bottom:.25rem;font-weight:720}.dates{color:var(--muted);margin-bottom:1.2rem;font-size:.92rem}.card-link{align-items:center;gap:.45rem;display:inline-flex}.form-card{padding:clamp(1.25rem,3vw,2rem)}.create-card{margin-bottom:1.5rem}.section-heading{border-bottom:1px solid var(--sand);margin-bottom:1.25rem;padding-bottom:1rem}.section-heading h2{margin-bottom:0}.trip-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{min-width:0;color:var(--navy);flex-direction:column;gap:.42rem;font-size:.9rem;font-weight:730;display:flex}.field--wide{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;min-height:46px;color:var(--navy);background:#fff;border:1px solid #9fb3c8;border-radius:9px;padding:.72rem .8rem;font-weight:500}.field textarea{resize:vertical;min-height:110px;line-height:1.5}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--navy-soft)}.field small{color:var(--muted);font-weight:450;line-height:1.4}.form-actions{justify-content:flex-start;display:flex}.empty-state,.loading-state{text-align:center}.empty-state{border-radius:var(--radius);background:#fffdf77a;border:1px dashed #b8ab96;padding:clamp(2.5rem,8vw,5rem) 1rem}.empty-state p{max-width:38rem;color:var(--muted);margin:0 auto}.empty-symbol{width:54px;height:54px;color:var(--teal-dark);background:var(--teal-light);border-radius:50%;place-items:center;margin:0 auto 1rem;font-size:2rem;display:grid}.loading-state{min-height:150px;color:var(--navy-soft);justify-content:center;align-items:center;gap:.7rem;display:flex}.loading-state--compact{text-align:left;justify-content:flex-start;min-height:70px}.loading-dot{border:2px solid var(--teal);border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-card{max-width:720px;padding:clamp(1.5rem,4vw,2.25rem)}.state-card p:not(.eyebrow){color:var(--navy-soft);line-height:1.6}.state-card--error{border-left:5px solid var(--danger)}.state-card--approval{background:var(--approval-bg);border-left:5px solid #b87912}.inline-alert,.success-note,.compact-alert,.compact-success{border-radius:9px;padding:.85rem 1rem;line-height:1.45}.inline-alert,.compact-alert{color:#6f2c24;background:var(--danger-bg);border:1px solid #e7bbb4}.inline-alert{margin-top:1rem}.success-note,.compact-success{color:#174e39;background:#e3f2e9;border:1px solid #a9d4b9}.success-note{margin:0 0 1rem}.workspace{padding-top:clamp(1.5rem,4vw,3rem)}.back-link{align-items:center;gap:.45rem;margin-bottom:1.5rem;display:inline-flex}.workspace-heading{margin-bottom:1.5rem}.workspace-heading h1{overflow-wrap:anywhere;margin-top:.85rem}.workspace-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);align-items:start;gap:1rem;display:grid}.workspace-side{gap:1rem;display:grid}.side-card{padding:1.25rem}.side-copy,.muted{color:var(--muted);font-size:.9rem;line-height:1.5}.summary-list,.read-only-details,.server-values{margin:0}.summary-list>div,.server-values>div{border-bottom:1px solid var(--sand);justify-content:space-between;gap:1rem;padding:.7rem 0;display:flex}.summary-list>div:last-child,.server-values>div:last-child{border-bottom:0}.summary-list dt,.server-values dt,.read-only-details dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:750}.summary-list dd,.server-values dd,.read-only-details dd{color:var(--navy);overflow-wrap:anywhere;margin:0;font-weight:650}.server-values dd{text-align:right;max-width:65%}.read-only-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.read-only-details dd{margin-top:.35rem;font-size:1rem;line-height:1.55}.read-only-details__wide{grid-column:1/-1}.archive-area{border-top:1px solid var(--sand);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;display:flex}.archive-area h3{margin-bottom:.35rem}.archive-area p{max-width:48rem;color:var(--muted);margin-bottom:0;font-size:.9rem;line-height:1.5}.conflict-card{background:#fff8e8;border-left:5px solid #b87912;margin-bottom:1rem;padding:clamp(1.25rem,3vw,2rem)}.conflict-card>p:not(.eyebrow){color:var(--navy-soft)}.conflict-actions{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.share-form{gap:.7rem;display:grid}.access-list{border-top:1px solid var(--sand);margin-top:1.4rem;padding-top:1rem}.access-list h3{margin-bottom:.75rem}.access-list ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.access-list li{border-bottom:1px solid var(--sand);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.access-list li>span{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.access-list small{color:var(--muted)}.app-footer{color:var(--muted);text-align:center;padding:1.5rem 1rem;font-size:.78rem}.centered-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.centered-page .state-card{width:min(100%,640px)}.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:100vh;display:grid}.auth-intro,.sign-in-panel{flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,7rem);display:flex}.auth-intro{color:#fff;background:linear-gradient(145deg, #102a43f0, #102a43fb), var(--navy)}.brand--auth{width:fit-content;margin-bottom:clamp(4rem,10vh,8rem)}.auth-intro .eyebrow{color:#74d2c9}.auth-intro h1{color:#fff;max-width:13ch}.auth-copy{color:#d9e2ec;max-width:38rem;font-size:1.1rem;line-height:1.65}.privacy-note{color:#9fb3c8;border-top:1px solid #ffffff26;max-width:38rem;margin-top:1.5rem;padding-top:1.5rem;font-size:.86rem}.sign-in-panel{background:var(--paper);align-items:center}code{color:var(--navy);overflow-wrap:anywhere;background:#e8edf1;border-radius:5px;padding:.15rem .35rem;font-size:.9em}@media (width<=900px){.trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:1fr}.workspace-side{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:45vh}.brand--auth{margin-bottom:3rem}.sign-in-panel{min-height:55vh}}@media (width<=620px){.app-header{min-height:66px;padding:0 1rem}.brand span{max-width:14ch;font-size:.9rem;line-height:1.1}.brand-mark{width:28px;height:28px}.member-label{display:none}.page-shell{width:min(100% - 1rem,1180px);padding-bottom:3rem}.page-heading,.workspace-heading,.archive-area{flex-direction:column;align-items:stretch}.page-heading .button,.archive-area .button,.view-switcher{width:100%}.view-switcher button{flex:1;min-width:0;padding-inline:.45rem}.trip-grid,.trip-form,.workspace-side,.read-only-details{grid-template-columns:1fr}.field--wide,.read-only-details__wide{grid-column:auto}.form-actions .button,.conflict-actions .button{width:100%}.server-values>div{flex-direction:column;gap:.25rem}.server-values dd{text-align:left;max-width:none}.access-list li{flex-direction:column;align-items:flex-start}.auth-intro,.sign-in-panel{padding:2rem 1rem}.auth-intro{min-height:auto}.sign-in-panel{min-height:60vh;overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.trip-navigation a{min-height:42px;color:var(--navy-soft);border-radius:8px;padding:.58rem 1rem;font-weight:720;text-decoration:none}.trip-navigation a[aria-current=page]{color:#fff;background:var(--navy)}a[aria-disabled=true]{opacity:.6;cursor:wait}a.button{text-decoration:none}.itinerary-workspace{min-width:0}.itinerary-workspace .section-heading{flex-wrap:wrap}.itinerary-workspace .empty-state .button{margin-top:1.25rem}.agenda-day+.agenda-day{margin-top:2rem}.agenda-day>h3{color:var(--teal-dark);margin-bottom:1rem;font-size:1rem}.agenda-item{border-left:2px solid var(--teal);border-bottom:1px solid var(--sand);overflow-wrap:anywhere;grid-template-columns:minmax(100px,.65fr) minmax(0,2fr);gap:1.1rem;padding:1rem 0 1rem 1.1rem;display:grid}.agenda-time{color:var(--navy-soft);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.agenda-time small{color:var(--muted);font-size:.75rem}.agenda-content{min-width:0}.agenda-content h4{margin:0 0 .5rem;font-size:1.12rem}.agenda-content p{margin-bottom:.65rem}.itinerary-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.booking-state{color:var(--teal-dark);font-size:.82rem;font-weight:750}.booking-record{margin:0;font-size:.86rem}.booking-record>div{margin-bottom:.6rem}.booking-record dt{color:var(--muted)}.booking-record dd{overflow-wrap:anywhere;margin:.2rem 0 0}.booking-disclosure{border:1px solid var(--line);border-radius:10px;min-width:0;padding:1rem}.booking-disclosure summary{cursor:pointer;font-weight:750;line-height:1.5}.booking-disclosure[open] summary{margin-bottom:1rem}.itinerary-form .form-actions{flex-wrap:wrap;gap:.7rem}.itinerary-workspace .inline-alert{margin-bottom:1rem}@media (width<=620px){.agenda-item{grid-template-columns:1fr;gap:.75rem;padding-left:.85rem}.trip-navigation a{text-align:center;flex:1;padding-inline:.45rem}}.itinerary-workspace .conflict-actions{align-items:center}.itinerary-workspace .conflict-actions .back-link{margin:0}.primary-nav{align-items:center;gap:1.1rem;display:flex}.primary-nav a{color:inherit;white-space:nowrap;padding:.65rem 0;font-size:.9rem;text-decoration:none}.primary-nav a[aria-current=page]{border-bottom:2px solid var(--teal)}.primary-nav a:hover{text-decoration:underline}.wallet-workspace>.page-heading{margin-top:1.5rem}.wallet-guidance{color:var(--muted);max-width:65ch;margin:-.5rem 0 1.5rem}.wallet-card h2{overflow-wrap:anywhere}.wallet-card h2 a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}.wallet-card .destination,.wallet-facts dd{overflow-wrap:anywhere}.wallet-last-four{font-variant-numeric:tabular-nums;letter-spacing:.08em}.wallet-more{margin-top:1.5rem}.wallet-panel{max-width:850px}.wallet-panel .archive-area{margin-top:1.5rem}.wallet-panel .archive-area>div{max-width:55ch}.wallet-panel .archive-area>button{flex-shrink:0}.wallet-panel .conflict-card{margin-bottom:1.5rem}@media (width<=760px){.app-header{flex-wrap:wrap;padding-top:.8rem;padding-bottom:.6rem}.primary-nav{order:3;width:100%}.wallet-panel .archive-area{flex-direction:column;align-items:stretch}}.wallet-panel .form-actions{flex-wrap:wrap;gap:.7rem}.benefits-workspace{min-width:0}.benefits-workspace>.page-heading{margin-top:1.5rem}.benefits-actions,.benefits-panel .form-actions{flex-wrap:wrap;gap:.7rem;display:flex}.benefits-actions{justify-content:flex-end;max-width:24rem}.benefits-controls{grid-template-columns:minmax(9rem,12rem) minmax(12rem,18rem);align-items:start;gap:1rem;margin:1.25rem 0;display:grid}.benefits-controls input,.benefits-controls select{min-height:44px}.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.benefit-card{min-width:0}.benefit-card h3{overflow-wrap:anywhere;margin-top:1.25rem;font-size:1.22rem}.benefit-card h3 a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}.benefit-card .trip-card__topline{flex-wrap:wrap;gap:.65rem}.benefit-card .side-copy,.reward-row .side-copy{overflow-wrap:anywhere}.benefit-state{color:var(--navy-soft);background:var(--ivory);border-radius:5px;padding:.35rem .6rem;font-size:.75rem;font-weight:750;display:inline-flex}.benefit-state--available{color:var(--teal-dark);background:var(--teal-light)}.benefit-amount{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:-.03em;margin:1.25rem 0 .25rem;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:750}.benefit-amount-label{color:var(--muted);margin-bottom:1.25rem;font-size:.78rem}.benefit-card-facts{border-top:1px solid var(--sand);grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0 0 1.25rem;padding-top:1rem;display:grid}.benefit-card-facts dt{color:var(--muted);margin-bottom:.35rem;font-size:.76rem}.benefit-card-facts dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:.85rem;font-weight:650}.benefit-as-of{color:var(--muted);margin-bottom:0;font-size:.75rem}.rewards-section{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.75rem}.rewards-section .section-heading{flex-wrap:wrap}.rewards-list{gap:.75rem;display:grid}.reward-row{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.reward-row h3{overflow-wrap:anywhere}.reward-row p{margin-bottom:.3rem}.reward-value{text-align:right;min-width:0}.reward-balance{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.15rem;font-weight:750}.benefits-panel{max-width:850px}.benefits-panel .archive-area .button{margin-top:1rem}.benefits-panel .archive-area>button{flex-shrink:0}.benefits-facts{margin-bottom:1.5rem}.benefits-form .benefits-unknown-note{margin:0}.account-picker>.button,.benefits-overview .empty-state .button{margin-top:.75rem}@media (width<=760px){.benefits-actions{justify-content:flex-start;max-width:none}.benefit-grid{grid-template-columns:1fr}.benefits-panel .archive-area{flex-direction:column;align-items:stretch}}@media (width<=620px){.benefits-controls{grid-template-columns:1fr}.benefits-views{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reward-row{flex-direction:column;align-items:stretch;gap:.75rem}.reward-value{text-align:left}.benefit-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.benefits-actions{width:100%}.primary-nav{flex-wrap:wrap;gap:1rem}}
