:root { font-family:var(--font-body); color:var(--text-primary); background:var(--surface-page); }
* { box-sizing:border-box; } body { min-width:320px; margin:0; background:radial-gradient(circle at 10% 5%,rgb(184 201 186 / 42%),transparent 25%),var(--surface-page); } a { color:inherit; text-decoration:none; } button,input { font:inherit; } button { cursor:pointer; } img { display:block; max-width:100%; }.skip-link { position:fixed; z-index:10; top:1rem; left:1rem; padding:.7rem 1rem; border-radius:999px; color:var(--surface-page); background:var(--surface-strong); transform:translateY(-200%); }.skip-link:focus { transform:translateY(0); }:focus-visible { outline:3px solid var(--inertial-focus-400); outline-offset:4px; }
.manage-header { display:flex; align-items:center; justify-content:space-between; width:min(calc(100% - 40px),1240px); min-height:72px; margin:20px auto 0; padding:6px 12px 6px 16px; border:1px solid var(--border-subtle); border-radius:999px; background:rgb(255 255 255 / 86%); box-shadow:inset 0 1px rgb(255 255 255 / 90%),0 12px 36px rgb(2 24 19 / 9%); backdrop-filter:var(--glass-blur); }.brand { display:grid; place-items:center; width:88px; height:58px; }.brand img { width:auto; height:58px; max-width:none; filter:drop-shadow(0 0 8px rgb(169 188 66 / 35%)); }.back-link { color:var(--inertial-forest-500); font-size:.8rem; font-weight:600; }
.manage-page { width:min(calc(100% - 44px),1240px); min-height:calc(100svh - 172px); margin:0 auto; padding:clamp(62px,10vh,126px) 0 clamp(52px,8vh,100px); }.eyebrow { margin:0 0 1rem; color:var(--inertial-forest-500); font:.66rem var(--font-utility); letter-spacing:.11em; text-transform:uppercase; } h1,h2 { margin:0; font-family:var(--font-display); font-weight:500; letter-spacing:-.055em; }.retrieve-view { display:grid; grid-template-columns:1fr minmax(330px,.78fr); gap:clamp(55px,12vw,180px); align-items:center; max-width:1060px; margin:0 auto; }.retrieve-copy h1,.booking-hero h1 { font-size:clamp(3.3rem,6vw,6.6rem); line-height:.9; }.retrieve-copy > p:last-child { max-width:385px; margin:1.6rem 0 0; color:var(--text-secondary); line-height:1.58; }.retrieve-card { padding:clamp(28px,4vw,50px); border:1px solid rgb(20 60 53 / 17%); border-radius:var(--radius-card); background:rgb(255 255 255 / 62%); box-shadow:var(--shadow-soft); }.field { display:grid; gap:.55rem; margin-top:20px; padding:0 3px 10px; border-bottom:1px solid rgb(20 60 53 / 28%); }.field span { color:var(--inertial-forest-500); font:.62rem var(--font-utility); letter-spacing:.08em; text-transform:uppercase; }.field input { width:100%; border:0; outline:0; color:var(--surface-strong); background:transparent; font-size:.94rem; }.form-error { min-height:1.1em; margin:14px 0 -6px; color:#9b3b30; font-size:.79rem; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; width:100%; min-height:48px; margin-top:27px; border:0; border-radius:999px; color:var(--surface-page); background:var(--surface-strong); font-size:.84rem; font-weight:600; }.button:hover { transform:translateY(-2px); }.retrieve-help { margin:18px 0 0; color:var(--text-secondary); font-size:.74rem; text-align:center; }.retrieve-help a { color:var(--surface-strong); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.booking-hero { display:flex; align-items:start; justify-content:space-between; gap:2rem; padding-bottom:clamp(42px,7vw,82px); }.booking-hero h1 { max-width:810px; }.booking-status { display:inline-flex; flex:none; gap:.45rem; align-items:center; margin-top:.5rem; padding:.55rem .75rem; border:1px solid rgb(91 123 78 / 32%); border-radius:999px; color:#42633e; background:rgb(213 231 197 / 58%); font:.62rem var(--font-utility); letter-spacing:.07em; text-transform:uppercase; }.booking-status i { width:7px; height:7px; border-radius:50%; background:#75a358; box-shadow:0 0 0 3px rgb(117 163 88 / 17%); }.booking-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1fr); gap:clamp(32px,6vw,92px); align-items:start; }.trip-card { position:sticky; top:22px; overflow:hidden; border-radius:var(--radius-card); color:var(--surface-page); background:var(--surface-strong); box-shadow:var(--shadow-soft); }.trip-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }.trip-card > div { padding:25px; }.trip-card .eyebrow { color:#c4d6c9; }.trip-card h2 { font-size:clamp(1.8rem,2.7vw,3rem); line-height:.94; }.trip-card p:last-child { margin:1.1rem 0 0; color:#cad9ce; font-size:.78rem; }.booking-details { display:grid; gap:1px; overflow:hidden; border:1px solid rgb(20 60 53 / 16%); border-radius:var(--radius-card); background:var(--border-subtle); }.detail-block { padding:clamp(24px,3.5vw,44px); background:rgb(255 255 255 / 63%); }.block-heading { display:flex; align-items:start; justify-content:space-between; gap:1rem; }.detail-block h2 { font-size:clamp(1.75rem,2.6vw,2.65rem); line-height:.95; }.edit-button { padding:0; border:0; color:var(--inertial-forest-500); background:transparent; font-size:.78rem; font-weight:600; text-decoration:underline; text-underline-offset:4px; }.detail-block dl { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:34px 0 0; }.detail-block dl > div { padding-top:14px; border-top:1px solid rgb(20 60 53 / 18%); }.detail-block dt { margin-bottom:.5rem; color:var(--inertial-forest-500); font:.61rem var(--font-utility); letter-spacing:.08em; text-transform:uppercase; }.detail-block dd { margin:0; color:var(--text-secondary); font-size:.79rem; line-height:1.55; }.detail-block dd strong { color:var(--surface-strong); font-weight:600; }.policy-note { margin:24px 0 0; color:var(--text-secondary); font-size:.75rem; line-height:1.5; }.detail-block--payment { display:flex; align-items:end; justify-content:space-between; gap:1rem; color:var(--surface-page); background:var(--surface-strong); }.detail-block--payment .eyebrow,.detail-block--payment p { color:#c6d6ca; }.detail-block--payment h2 { font-size:clamp(1.75rem,2.6vw,2.65rem); }.detail-block--payment p:last-child { max-width:330px; margin:1rem 0 0; font-size:.78rem; line-height:1.5; }.amount { flex:none; font:500 clamp(1.7rem,2.7vw,2.75rem)/.95 var(--font-display); letter-spacing:-.04em; text-align:right; }.amount span { color:#c6d6ca; font:.59rem var(--font-utility); letter-spacing:.07em; text-transform:uppercase; }.actions-section { margin-top:clamp(52px,8vw,100px); }.action-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:20px; overflow:hidden; border:1px solid rgb(20 60 53 / 18%); border-radius:var(--radius-card); background:var(--border-subtle); }.action-grid > * { display:flex; flex-direction:column; align-items:start; min-height:170px; padding:22px; border:0; color:var(--surface-strong); background:rgb(255 255 255 / 63%); text-align:left; }.action-grid > *:hover { background:rgb(231 238 232 / 75%); }.action-grid span { display:grid; place-items:center; width:34px; height:34px; margin-bottom:auto; border:1px solid rgb(20 60 53 / 25%); border-radius:50%; color:var(--inertial-forest-500); font-size:.9rem; }.action-grid strong { margin-top:20px; font-family:var(--font-display); font-size:1.2rem; font-weight:500; letter-spacing:-.025em; }.action-grid small { margin-top:.25rem; color:var(--text-secondary); font-size:.72rem; }.manage-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; width:min(calc(100% - 44px),1240px); margin:0 auto; padding:0 0 24px; color:var(--inertial-forest-500); font:.6rem var(--font-utility); letter-spacing:.06em; text-transform:uppercase; }
.manage-dialog { width:min(calc(100% - 30px),520px); padding:clamp(26px,5vw,48px); border:1px solid rgb(20 60 53 / 18%); border-radius:var(--radius-card); color:var(--surface-strong); background:var(--surface-page); box-shadow:0 30px 90px rgb(2 24 19 / 30%); }.manage-dialog::backdrop { background:rgb(2 24 19 / 46%); backdrop-filter:blur(5px); }.dialog-close { position:absolute; top:13px; right:13px; display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:50%; color:var(--surface-strong); background:rgb(20 60 53 / 8%); font-size:1.2rem; }.dialog-content h2 { font-size:2.3rem; line-height:.95; }.dialog-content > p { color:var(--text-secondary); line-height:1.55; }.dialog-content label { display:grid; gap:.55rem; margin-top:19px; color:var(--inertial-forest-500); font:.62rem var(--font-utility); letter-spacing:.08em; text-transform:uppercase; }.dialog-content input { width:100%; padding:.7rem 0; border:0; border-bottom:1px solid rgb(20 60 53 / 27%); outline:0; color:var(--surface-strong); background:transparent; font: .92rem var(--font-body); letter-spacing:normal; text-transform:none; }.dialog-content .button { width:auto; }.dialog-confirmation { margin-top:24px; padding:14px; border-radius:12px; color:#42633e; background:rgb(213 231 197 / 58%); font-size:.8rem; }
@media (max-width:760px) { .manage-header { width:calc(100% - 24px); min-height:62px; margin-top:12px; padding-left:12px; }.brand { width:76px; height:50px; }.brand img { height:50px; }.back-link { font-size:.75rem; }.manage-page { width:calc(100% - 24px); min-height:calc(100svh - 130px); padding:48px 0 36px; }.retrieve-view { grid-template-columns:1fr; gap:38px; }.retrieve-copy h1,.booking-hero h1 { font-size:clamp(3rem,13vw,4.4rem); }.booking-hero { display:block; }.booking-status { margin-top:24px; }.booking-layout { grid-template-columns:1fr; }.trip-card { position:relative; top:auto; }.detail-block dl { grid-template-columns:1fr; margin-top:26px; }.detail-block--payment { display:block; }.amount { display:block; margin-top:26px; text-align:left; }.action-grid { grid-template-columns:1fr; }.action-grid > * { min-height:128px; }.action-grid strong { margin-top:14px; }.manage-footer { width:calc(100% - 24px); padding-bottom:20px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
@media (prefers-reduced-transparency:reduce) { body,.manage-header,.retrieve-card,.detail-block { background:var(--surface-page); backdrop-filter:none; } }
.dialog-close { min-width:var(--control-height); min-height:var(--control-height); }
[hidden] { display:none!important; }
