@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css";
:root{--bg:#f5f7fb;--nav:#080d1a;--surface:#fff;--surface-soft:#edf2f8;--border:#d9e0ea;--ink:#07111f;--muted:#617089;--blue:#1f5bff;--blue-dark:#1748cc;--blue-soft:#e8efff;--green:#16a37b;--gold:#f4d271;--font-display:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;--font-body:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), sans-serif;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}main{min-height:100vh}.nav-bar{background:var(--nav);color:#fff;grid-template-columns:auto 1fr;align-items:center;gap:28px;min-height:50px;padding:0 20px;display:grid}.brand,.nav-links{align-items:center;display:flex}.brand{letter-spacing:0;gap:10px;min-width:0;font-weight:900}.brand-mark{flex:none;width:26px;height:26px;display:block}.nav-links{gap:4px;min-width:0;height:100%}.nav-links a{color:#c8d2e3;align-items:center;height:100%;padding:0 14px;font-size:.9rem;display:inline-flex}.nav-links a[aria-current=page]{color:#fff;border-bottom:3px solid var(--blue);background:#111b32}.home-top,.announcement-banner,.hotel-page-hero,.hotel-promo-section,.hotel-stay-section,.hotel-stay-featured,.hotel-stay-property-list,.inventory-section,.route-section,.announcement-section,.feedback-section,.site-footer{width:min(1400px,100% - 40px);margin:0 auto}.home-top{padding:24px 0 16px}.eyebrow{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:900}h1,h2,p{margin:0}h1,h2{font-family:var(--font-display), sans-serif;letter-spacing:0}h1{word-break:keep-all;font-size:clamp(2.4rem,4.2vw,4.2rem);line-height:1.04}h1 span{color:var(--blue)}.search-box{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:1fr 46px 1fr .9fr .78fr .55fr 130px;display:grid;overflow:hidden;box-shadow:0 10px 28px #0f172a0f}.mileage-scope-control{width:calc(100% - 28px);min-width:0;max-width:420px;box-sizing:border-box;border:1px solid var(--border);background:#f7f9fd;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:start;gap:4px;min-inline-size:0;margin:14px;padding:4px;display:inline-grid}.mileage-scope-control label{min-width:0;position:relative}.mileage-scope-control input{opacity:.01;cursor:pointer;position:absolute;inset:0}.mileage-scope-control span{color:#43516a;text-align:center;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-height:38px;font-size:.88rem;font-weight:900;line-height:1;transition:background-color .15s,box-shadow .15s,color .15s;display:flex;overflow:hidden}.mileage-scope-control input:checked+span{background:var(--blue);color:#fff;box-shadow:0 5px 14px #255bff38}.mileage-scope-control input:focus-visible+span{outline:2px solid var(--blue-dark);outline-offset:2px}.search-field{border-right:1px solid var(--border);text-align:center;align-content:center;justify-items:center;gap:8px;min-height:78px;padding:14px;display:grid}.search-field span{color:#728095;letter-spacing:0;font-size:.68rem;font-weight:900}.search-field strong,.search-field select,.search-field input,.airport-trigger{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:1.12rem;font-weight:900}.airport-trigger{text-align:center;cursor:pointer;padding:0}.search-field select,.search-field input{text-align:center;text-align-last:center}.airport-trigger:hover{color:var(--blue)}.swap-route-button{border:0;border-right:1px solid var(--border);min-height:78px;color:var(--blue);cursor:pointer;background:#f7f9fd;font-size:1.3rem;font-weight:900}.swap-route-button:hover{background:var(--blue-soft)}.search-field input{appearance:textfield}.search-field--compact input{max-width:64px;margin:0 auto}.search-button{background:var(--blue);color:#fff;cursor:pointer;border:0;font-weight:900}.search-button:hover{background:var(--blue-dark)}.airport-modal-backdrop{z-index:40;background:#07111f47;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.airport-modal{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);height:min(78vh,840px);max-height:min(78vh,840px);display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.airport-modal__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 22px;display:flex}.airport-modal__head h2{font-size:1.25rem}.airport-modal__head button{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:2rem;line-height:1}.airport-modal__body{min-height:0;padding:22px;overflow-y:auto}.airport-search{gap:8px;display:grid}.airport-search span{color:var(--muted);font-size:.84rem;font-weight:900}.airport-search input{border:1px solid var(--border);min-height:54px;color:var(--ink);border-radius:8px;padding:0 16px;font-size:1.02rem;font-weight:800}.airport-search input:focus{border-color:var(--blue);outline:3px solid var(--blue-soft)}.airport-tabs{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.airport-tabs button{color:#6b7280;cursor:pointer;background:#eef1f6;border:0;border-radius:999px;min-height:38px;padding:0 16px;font-weight:900}.airport-tabs button.is-active{background:var(--blue);color:#fff}.airport-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.airport-option,.airport-empty{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:72px;padding:12px}.airport-option{cursor:pointer;text-align:left;gap:4px;display:grid;position:relative}.airport-option:hover{background:#f8faff;border-color:#9bb3ff}.airport-option strong{color:var(--ink);align-items:baseline;gap:6px;font-size:1rem;display:flex}.airport-option strong span{color:var(--blue);font-size:.82rem}.airport-option small{color:var(--muted);font-size:.82rem}.airport-option__badges{flex-wrap:wrap;gap:4px;display:flex}.airport-option__badges em{background:var(--blue);color:#fff;border-radius:999px;padding:2px 6px;font-size:.66rem;font-style:normal;font-weight:900}.airport-option__badges em+em{background:var(--green)}.airport-option--all strong{color:var(--blue)}.airport-empty{color:var(--muted);align-items:center;display:flex}.inventory-section{padding:16px 0 36px}.route-section{padding:36px 0}.announcement-banner{background:#eef4ff;border:1px solid #b9c9ff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:grid}.announcement-label,.new-badge,.announcement-area{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.announcement-label{color:var(--blue);background:#dbe6ff;padding:6px 8px}.announcement-banner__copy{gap:3px;min-width:0;display:grid}.announcement-banner strong{color:var(--ink);font-size:.92rem}.announcement-banner p{color:#40516a;word-break:keep-all;font-size:.82rem;line-height:1.45}.announcement-banner a{color:var(--blue);font-size:.78rem;font-weight:900}.nav-link-with-badge,.skyteam-booking-button{gap:6px}.new-badge{color:var(--blue);background:#e8efff;min-height:18px;padding:4px 6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.announcement-section{padding:34px 0 0}.announcement-page-hero{width:min(1400px,100% - 40px);margin:0 auto;padding:46px 0 10px}.hotel-page-hero{padding:46px 0 10px}.announcement-page-hero h1{max-width:720px}.announcement-page-hero p:last-child,.hotel-page-hero p:last-child{color:#334155;word-break:keep-all;max-width:680px;margin-top:14px;font-size:1rem;line-height:1.6}.announcements-page .announcement-section{padding-bottom:56px}.hotel-promo-section{padding:26px 0 10px}.hotel-promo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hotel-promo-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:12px;min-width:0;padding:16px;display:grid}.hotel-promo-card--active{border-color:#9bb3ff;box-shadow:inset 0 0 0 1px #1f5bff24}.hotel-promo-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.hotel-promo-status{background:var(--surface-soft);color:#40516a;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.hotel-promo-offer{background:linear-gradient(#f8fbff 0%,#eef5ff 100%);border:1px solid #d9e5ff;border-radius:8px;gap:7px;padding:12px;display:grid}.hotel-promo-offer__label{color:var(--muted);font-size:.74rem;font-weight:900}.hotel-promo-card__value{color:var(--ink);font-size:1.72rem;line-height:1.05}.hotel-promo-offer__main{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.hotel-promo-offer__recommendation{color:#10251b;background:#f5fbf6;border:1px solid #cde5d3;border-radius:999px;padding:6px 9px;font-size:.86rem;font-weight:900}.hotel-promo-offer__basis{color:#4b6355;font-size:.74rem;font-weight:900}.hotel-promo-meta .hotel-promo-meta__period{background:#f4f7ff;border:1px solid #b8cdfc;border-radius:8px;grid-template-columns:1fr;gap:5px;padding:11px 12px;display:grid}.hotel-promo-meta__period dt{color:#31548f;font-size:.74rem;font-weight:900}.hotel-promo-meta__period dd{gap:3px;display:grid}.hotel-promo-meta__period strong{color:#0b3fb8;font-size:1.05rem;line-height:1.2}.hotel-promo-meta__period span{color:#263b61;font-size:.78rem;font-weight:900;line-height:1.45}.hotel-promo-meta{gap:8px;margin:0;display:grid}.hotel-promo-meta div{border-top:1px solid var(--border);grid-template-columns:104px minmax(0,1fr);gap:10px;padding-top:8px;display:grid}.hotel-promo-meta dt,.hotel-promo-meta dd{margin:0}.hotel-promo-meta dt{color:var(--muted);font-size:.72rem;font-weight:900}.hotel-promo-meta dd{color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.35}.hotel-empty-state{background:#f8fafc;border:1px dashed #b8c4d6;border-radius:8px;align-content:center;gap:8px;min-height:130px;padding:20px;display:grid}.hotel-empty-state strong{color:var(--ink);font-size:1rem}.hotel-empty-state span{color:#40516a;font-size:.88rem;line-height:1.5}.hotel-stay-section{padding:26px 0 56px}.hotel-stay-overview{width:min(1400px,100% - 40px);margin:0 auto;padding:16px 0 4px}.hotel-stay-overview dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;display:grid}.hotel-stay-overview div{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:6px;min-width:0;padding:14px;display:grid}.hotel-stay-overview dt,.hotel-stay-overview dd{margin:0}.hotel-stay-overview dt{color:var(--muted);font-size:.72rem;font-weight:900}.hotel-stay-overview dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:1.1rem;font-weight:900;line-height:1.25}.hotel-stay-freshness{border:1px solid var(--border);background:var(--surface);color:#40516a;white-space:nowrap;border-radius:8px;justify-self:end;padding:9px 12px;font-size:.82rem;font-weight:900}.hotel-stay-featured{gap:14px;padding:20px 0 4px;display:grid}.hotel-stay-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.hotel-stay-featured-card,.hotel-stay-property-card{border:1px solid var(--border);background:var(--surface);min-width:0;color:inherit;border-radius:8px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.hotel-stay-featured-card:hover,.hotel-stay-featured-card:focus-visible,.hotel-stay-property-card:hover,.hotel-stay-property-card:focus-visible{border-color:var(--blue);box-shadow:0 1px 3px #0f172a0f}.hotel-stay-card-image{aspect-ratio:16/10;background:#dbeafe;min-height:142px;position:relative;overflow:hidden}.hotel-stay-card-image:before{content:"";z-index:0;background:linear-gradient(135deg,#fff3,#0f172a14),linear-gradient(160deg,#e0f2fe 0%,#7dd3fc 48%,#0f766e 100%);position:absolute;inset:0}.hotel-stay-card-image img{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.hotel-stay-card-image:after{content:"";z-index:2;background:radial-gradient(at 30% 100%,#ffffff7a,#0000 52%),linear-gradient(#0000 0%,#0f172a61 100%);height:45%;position:absolute;inset:auto 0 0}.hotel-stay-card-image span{z-index:3;color:#fff;letter-spacing:.04em;text-shadow:0 1px 8px #0f172a6b;text-transform:uppercase;font-size:.75rem;font-weight:900;position:absolute;bottom:10px;left:12px}.hotel-stay-image--kyoto:before{background:linear-gradient(135deg,#ffffff29,#1e293b1a),linear-gradient(160deg,#f7f0df 0%,#a7c9a4 42%,#345c44 100%)}.hotel-stay-image--maldives:before,.hotel-stay-image--fari:before,.hotel-stay-image--bora:before{background:linear-gradient(135deg,#ffffff40,#0f172a0f),linear-gradient(160deg,#f8fafc 0%,#67e8f9 42%,#0e7490 100%)}.hotel-stay-image--bigsur:before{background:linear-gradient(135deg,#ffffff26,#0f172a1a),linear-gradient(160deg,#dbeafe 0%,#64748b 44%,#164e63 100%)}.hotel-stay-image--niseko:before{background:linear-gradient(135deg,#fff3,#0f172a14),linear-gradient(160deg,#f8fafc 0%,#bfdbfe 45%,#334155 100%)}.hotel-stay-image--desert:before{background:linear-gradient(135deg,#ffffff24,#0f172a14),linear-gradient(160deg,#fef3c7 0%,#f59e0b 44%,#7f1d1d 100%)}.hotel-stay-image--danang:before{background:linear-gradient(135deg,#fff3,#0f172a14),linear-gradient(160deg,#dcfce7 0%,#38bdf8 44%,#14532d 100%)}.hotel-stay-featured-card__body,.hotel-stay-property-card__body{gap:10px;padding:14px;display:grid}.hotel-stay-card-head{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;font-weight:900;line-height:1.3;display:flex}.hotel-stay-recommendation{letter-spacing:.04em;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:900}.hotel-stay-recommendation[data-level=HIGH]{color:#14532d;background:#e8f7ee}.hotel-stay-recommendation[data-level=MEDIUM]{color:#1d4ed8;background:#edf4ff}.hotel-stay-recommendation[data-level=LOW]{color:#475569;background:#f1f5f9}.hotel-stay-featured-card h3,.hotel-stay-property-card h3{color:var(--ink);margin:0;font-size:1.08rem;line-height:1.28}.hotel-stay-card-region{color:#40516a;margin:-4px 0 0;font-size:.82rem;font-weight:800}.hotel-stay-featured-card__deal,.hotel-stay-property-card__deal{background:#f8fbff;border:1px solid #d9e5ff;border-radius:8px;gap:4px;padding:10px;display:grid}.hotel-stay-featured-card__deal strong,.hotel-stay-property-card__deal strong{color:var(--ink);font-size:1.35rem;line-height:1.08}.hotel-stay-featured-card__deal span,.hotel-stay-property-card__deal span{color:#31548f;font-size:.78rem;font-weight:900}.hotel-stay-card-recommendation-copy{color:#10251b;margin:0;font-size:.86rem;font-weight:900}.hotel-stay-card-value-signal{color:#31548f;margin:-2px 0;font-size:.78rem;font-weight:900;line-height:1.35}.hotel-stay-reason-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hotel-stay-reason-list li{color:#294936;background:#f7fbf8;border:1px solid #d7e7dc;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;line-height:1.2}.hotel-stay-property-list{gap:12px;margin-top:18px;display:grid}.hotel-stay-list-section-title{color:var(--ink);letter-spacing:0;margin:0;font-size:1.15rem;font-weight:900}.hotel-stay-list-head{gap:10px;display:grid}.hotel-stay-list-head p{color:#40516a;margin:4px 0 0;font-size:.86rem;line-height:1.45}.hotel-stay-filter-chips{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.hotel-stay-filter-chips::-webkit-scrollbar{display:none}.hotel-stay-filter-chips a{scroll-snap-align:start;border:1px solid var(--border);background:var(--surface);color:#40516a;border-radius:999px;flex:none;align-items:center;min-height:34px;padding:0 12px;font-size:.8rem;font-weight:900;text-decoration:none;display:inline-flex}.hotel-stay-filter-chips a[aria-current=true]{color:#0b3fb8;background:#edf4ff;border-color:#1f5bff}.hotel-stay-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hotel-stay-property-card{grid-template-columns:150px minmax(0,1fr)}.hotel-stay-property-card .hotel-stay-card-image{aspect-ratio:auto;min-height:100%}.hotel-stay-property-card__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0;display:grid}.hotel-stay-property-card__stats div{border-top:1px solid var(--border);min-width:0;padding-top:8px}.hotel-stay-property-card__stats dt,.hotel-stay-property-card__stats dd{margin:0}.hotel-stay-property-card__stats dt{color:var(--muted);font-size:.68rem;font-weight:900}.hotel-stay-property-card__stats dd{color:var(--ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:.8rem;font-weight:900}.hotel-stay-property-page{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;padding:24px 16px 48px;display:flex}.hotel-stay-property-header{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;padding:24px 28px;display:grid}.hotel-stay-property-header__main h1{margin:6px 0 14px;font-size:28px;line-height:1.2}.hotel-stay-property-header__main .eyebrow{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:0;font-size:12px}.hotel-stay-property-header__main dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.hotel-stay-property-header__main dl>div{min-width:0}.hotel-stay-property-header__main dt{letter-spacing:.04em;color:var(--muted);font-size:11px}.hotel-stay-property-header__main dd{margin:4px 0 0;font-size:16px;font-weight:700}.hotel-stay-property-header__actions{flex-direction:column;place-self:start end;gap:10px;display:flex}.hotel-stay-property-header__actions a,.hotel-stay-property-header__actions button{border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.hotel-stay-property-header__actions a:hover,.hotel-stay-property-header__actions button:hover{border-color:var(--blue)}.hotel-stay-sticky-banner{z-index:2;background:var(--blue-soft);border:1px solid var(--blue);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:8px}.hotel-stay-sticky-banner__label{font-size:14px;font-weight:600}.hotel-stay-sticky-banner__action,.hotel-stay-sticky-banner__copy{border:1px solid var(--blue);background:var(--surface);color:inherit;cursor:pointer;border-radius:8px;align-items:center;padding:7px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.hotel-stay-sticky-banner__stale{color:#4b5563;font-size:14px;font-weight:600}.hotel-stay-best-window{background:#f8fbff;border:1px solid #d9e5ff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;display:grid}.hotel-stay-best-window .eyebrow{color:#1f5bff;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:900}.hotel-stay-best-window h2,.hotel-stay-best-window p{margin:0}.hotel-stay-best-window h2{color:var(--ink);font-size:1.08rem;line-height:1.25}.hotel-stay-best-window p{color:#31548f;margin-top:5px;font-size:.92rem;font-weight:900}.hotel-stay-best-window__meta{background:var(--surface);border:1px solid #d9e5ff;border-radius:8px;gap:3px;min-width:0;padding:10px 12px;display:grid}.hotel-stay-best-window__meta strong{color:var(--ink);white-space:nowrap;font-size:1rem;line-height:1.2}.hotel-stay-best-window__meta span{color:#31548f;white-space:nowrap;font-size:.82rem;font-weight:900}.hotel-stay-best-window__meta em{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hotel-stay-best-window>a{color:#fff;white-space:nowrap;background:#1f5bff;border:1px solid #1f5bff;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex}.hotel-stay-timeline{flex-direction:column;gap:24px;display:flex}.hotel-stay-timeline-month{flex-direction:column;display:flex}.hotel-stay-timeline-month__head{z-index:1;background:var(--bg);align-items:baseline;gap:10px;margin:0 0 6px;padding:8px 4px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.hotel-stay-timeline-month__head span{color:var(--muted);font-size:12px;font-weight:500;line-height:1.35}.hotel-stay-award-row{border-bottom:1px solid var(--border);color:inherit;cursor:pointer;grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:grid}.hotel-stay-award-row:hover,.hotel-stay-award-row:focus-visible{background:var(--surface-soft)}.hotel-stay-award-row.is-selected{background:var(--blue-soft);border-left:3px solid var(--blue);padding-left:11px}.hotel-stay-award-row__date{font-size:14px;font-weight:600}.hotel-stay-award-row__points{white-space:nowrap;font-size:15px;font-weight:700}.hotel-stay-award-row__room{color:var(--muted);text-align:right;overflow-wrap:anywhere;font-size:12px}.announcement-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.announcement-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:16px;display:grid}.announcement-card__meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.announcement-card time{color:var(--muted);font-size:.74rem;font-weight:800}.announcement-card h3{color:var(--ink);margin:0;font-size:1rem;line-height:1.35}.announcement-card p{color:#40516a;word-break:keep-all;font-size:.86rem;line-height:1.55}.announcement-area{background:var(--surface-soft);color:#40516a;justify-self:start;padding:6px 8px}.section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;min-height:34px;margin-bottom:14px;display:flex}.section-title h2{font-size:1.12rem}.section-title p,.section-title a{color:var(--muted);font-size:.84rem}.section-title a{color:var(--blue);font-weight:900}.section-title .hotel-promo-exchange-rate{text-align:right;justify-items:end;gap:3px;display:grid}.inventory-heading{flex:100%;width:100%;min-width:0;padding:0 16px}.inventory-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.hotel-promo-exchange-rate span{color:#263b61;font-weight:900}.hotel-promo-exchange-rate a{color:var(--muted);font-weight:800}.inventory-summary-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.inventory-summary{flex-wrap:wrap;gap:8px;margin:0;display:flex}.inventory-summary div{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:7px;min-height:28px;padding:5px 10px;display:inline-flex}.inventory-summary dt,.inventory-summary dd{white-space:nowrap;margin:0}.inventory-summary dt{color:var(--muted);font-size:.72rem;font-weight:800}.inventory-summary dd{color:var(--ink);font-size:.82rem;font-weight:900}.inventory-alert-row{justify-content:flex-start;align-items:flex-start;margin-top:10px;display:flex}.inventory-alert-row--top{margin-top:10px;margin-bottom:10px}.inventory-alert-row--bottom{margin-top:10px}.inventory-alert-row .alert-subscribe-panel{margin-top:0}.inventory-freshness{background:var(--blue-soft);color:#14346f;border:1px solid #a8bfff;border-radius:999px;justify-self:end;align-items:center;gap:7px;min-height:30px;margin:0;padding:5px 11px;font-size:.82rem;line-height:1.3;display:inline-flex}.inventory-freshness span{color:var(--blue);white-space:nowrap;font-size:.72rem;font-weight:900}.inventory-freshness strong{color:var(--ink);white-space:nowrap;font-weight:900}.alert-subscribe-panel{gap:8px;width:min(100%,680px);margin-top:10px;display:grid}.alert-subscribe-panel--top{border:1px solid var(--border);background:#ffffffc2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;width:100%;padding:10px 12px}.alert-subscribe-panel--empty{background:var(--blue-soft);border-color:#a8bfff}.alert-subscribe-panel--button-only{background:0 0;border:0;grid-template-columns:minmax(0,auto);padding:0}.alert-subscribe-panel__prompt{align-items:center;gap:9px;min-width:0;display:flex}.alert-subscribe-panel__prompt-icon{width:28px;height:28px;color:var(--blue);background:#fff;border:1px solid #a8bfff;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.alert-subscribe-panel__prompt-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.alert-subscribe-panel__prompt-copy{flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0;line-height:1.35;display:flex}.alert-subscribe-panel__prompt-copy strong{color:var(--ink);font-size:.9rem;font-weight:900}.alert-subscribe-panel__prompt-copy span{color:#40516a;font-size:.82rem;font-weight:800}.alert-subscribe-panel__toggle,.alert-subscribe-panel__submit{min-height:34px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #a8bfff;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:fit-content;padding:0 13px;font-size:.82rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__toggle-icon,.share-button__icon{flex:none;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.alert-subscribe-panel__toggle-icon svg,.share-button__icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.alert-subscribe-panel__toggle:hover,.alert-subscribe-panel__submit:hover{background:var(--blue-soft)}.alert-subscribe-panel__toggle:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-panel--top .alert-subscribe-panel__toggle{border-color:var(--blue);background:var(--blue);color:#fff;min-height:38px}.alert-subscribe-panel--top .alert-subscribe-panel__toggle:hover{background:var(--blue-dark)}.alert-subscribe-panel--top .alert-subscribe-panel__toggle:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}.alert-subscribe-panel__submit{background:var(--blue);color:#fff}.alert-subscribe-panel__submit:hover{background:var(--blue-dark)}.alert-subscribe-panel__submit:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-modal-backdrop{z-index:60;background:#07111f6b;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.alert-subscribe-modal{background:#fff;border:1px solid #c7d5e8;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(88dvh,720px);display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.alert-subscribe-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:14px 18px;display:flex}.alert-subscribe-modal__header h3{color:var(--ink);margin:0;font-size:1.04rem;font-weight:900;line-height:1.3}.alert-subscribe-modal__header p{color:#40516a;margin:3px 0 0;font-size:.78rem;font-weight:800;line-height:1.45}.alert-subscribe-modal__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:34px;height:34px;padding:0;font-size:1.24rem;font-weight:900;line-height:1}.alert-subscribe-modal__close:hover{background:var(--blue-soft)}.alert-subscribe-modal__close:disabled{color:var(--muted);cursor:not-allowed}.alert-subscribe-panel__form{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-height:0;padding:14px 18px 16px;display:grid;overflow-y:auto}.alert-subscribe-panel__form[hidden]{display:none}.alert-subscribe-panel--top .alert-subscribe-panel__form,.alert-subscribe-panel--top .alert-subscribe-panel__status{grid-column:1/-1}.alert-subscribe-panel__route{border:1px solid var(--border);min-height:42px;color:var(--ink);white-space:nowrap;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:0 12px;font-size:.94rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__route span{color:var(--muted)}.alert-subscribe-panel__email,.alert-subscribe-panel__compact-controls label{gap:5px;display:grid}.alert-subscribe-panel__email span,.alert-subscribe-panel__compact-controls span{color:var(--muted);font-size:.68rem;font-weight:900}.alert-subscribe-panel__email input,.alert-subscribe-panel__compact-controls input,.alert-subscribe-panel__compact-controls select{border:1px solid var(--border);min-height:36px;color:var(--ink);background:#fff;border-radius:7px;width:100%;padding:0 10px;font-size:.86rem;font-weight:800}.alert-subscribe-modal__period{border:0;gap:7px;margin:0;padding:0;display:grid}.alert-subscribe-modal__period legend{color:var(--muted);font-size:.68rem;font-weight:900}.alert-subscribe-modal__period-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.alert-subscribe-modal__period-mode{border:1px solid var(--border);color:#40516a;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;min-height:34px;padding:0 8px;font-size:.76rem;font-weight:900;line-height:1.2}.alert-subscribe-modal__period-mode:hover{background:var(--blue-soft)}.alert-subscribe-modal__period-mode[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}.alert-subscribe-modal__period-mode:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-modal__date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.alert-subscribe-modal__date-range[hidden]{display:none}.alert-subscribe-modal__date-range label{gap:5px;display:grid}.alert-subscribe-modal__date-range span{color:var(--muted);font-size:.68rem;font-weight:900}.alert-subscribe-modal__date-range input{border:1px solid var(--border);min-height:36px;color:var(--ink);background:#fff;border-radius:7px;width:100%;padding:0 10px;font-size:.86rem;font-weight:800}.alert-subscribe-panel__months{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.alert-subscribe-panel__months label{border:1px solid var(--border);color:#40516a;white-space:nowrap;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:.76rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__months input{width:14px;height:14px;accent-color:var(--blue)}.alert-subscribe-panel__compact-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.alert-subscribe-panel__compact-controls label{min-width:0}.alert-subscribe-panel__status{color:#40516a;margin:0;font-size:.8rem;font-weight:800;line-height:1.4}.alert-subscribe-panel__status--error{color:#b42318}.alert-subscribe-panel__resend{color:#2b5cff;cursor:pointer;background:#fff;border:1px solid #c8d4e6;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:34px;padding:0 14px;font-size:.78rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__resend:hover{background:var(--blue-soft);border-color:#9eb6ff}.alert-subscribe-panel__resend:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-modal__footer{border-top:1px solid var(--border);background:#fff;padding:12px 18px 14px;box-shadow:0 -12px 26px #07111f14}.alert-subscribe-modal__footer .alert-subscribe-panel__submit{width:100%;min-height:42px}.inventory-table{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:0;display:grid;overflow:visible}.inventory-head{background:var(--surface-soft);color:#59677d;letter-spacing:0;grid-template-columns:minmax(132px,.72fr) .88fr 1.18fr .54fr 1.02fr .4fr .72fr 1.08fr;align-items:center;gap:14px;min-height:36px;padding:0 14px;font-size:.68rem;font-weight:900;display:grid}.inventory-row{border-top:1px solid var(--border);background:var(--surface);min-height:56px;box-shadow:none;gap:0;font-size:.9rem;display:grid;position:relative}.inventory-card-desktop{grid-template-columns:minmax(132px,.72fr) .88fr 1.18fr .54fr 1.02fr .4fr .72fr 1.08fr;align-items:center;gap:14px;min-height:56px;padding:0 14px;display:grid}.inventory-card-mobile{display:none}.inventory-card-mobile__top{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.inventory-card-mobile__top .inventory-airline{flex:auto}.inventory-card-mobile__top .share-action{flex:none;justify-items:end}.inventory-card-mobile__top .share-button{border-radius:8px;min-height:32px;padding:0 10px}.inventory-cell{min-width:0}.inventory-cell--strong{font-weight:900}.inventory-card-desktop .inventory-seat-count strong{color:currentColor}.inventory-card-desktop .inventory-actions{justify-content:flex-start}.inventory-airline,.inventory-route-summary,.inventory-action-panel{min-width:0}.inventory-airline{justify-items:start;gap:6px;display:grid}.inventory-airline-brand{align-items:center;gap:7px;min-width:0;max-width:100%;display:flex}.airline-logo{color:#1748cc;letter-spacing:0;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;width:34px;height:24px;padding:0;font-size:.68rem;font-weight:950;line-height:1;display:inline-flex;overflow:visible}.airline-logo__image{object-fit:contain;width:100%;height:100%;display:block}.airline-logo--ke,.airline-logo--af,.airline-logo--dl,.airline-logo--lj{width:34px}.airline-logo--oz{width:40px}.airline-logo--kl{width:34px}.airline-logo--fallback{color:#1748cc;padding:0}.airline-logo__fallback{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.inventory-flight-number{color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.2}.inventory-route-summary{gap:4px;min-width:0;display:grid}.inventory-route-summary strong{color:var(--ink);overflow-wrap:anywhere;font-size:1.02rem;font-weight:950;line-height:1.35}.inventory-route-meta{flex-wrap:wrap;align-items:center;gap:5px 8px;display:flex}.inventory-route-meta span{color:#40516a;font-size:.78rem;font-weight:800;line-height:1.35}.inventory-action-panel{text-align:right;justify-self:end;justify-items:end;gap:8px;display:grid}.inventory-price-block .flight-cost{justify-items:end}.inventory-price-block .flight-cost>strong{color:#07111f;font-size:1.02rem}.inventory-primary-action{justify-self:end}.inventory-primary-action .booking-link{min-width:92px;min-height:36px}.inventory-action-availability{color:#40516a;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px 6px;max-width:228px;font-size:.72rem;font-weight:850;line-height:1.35;display:flex}.inventory-action-availability .cabin-badge,.inventory-action-availability .product-badge{letter-spacing:0;padding:3px 7px;font-size:.68rem}.inventory-seat-count{white-space:nowrap;align-items:center;gap:5px;width:fit-content;max-width:100%;display:inline-flex;position:relative}.inventory-seat-count__label{color:currentColor;opacity:.78;font-size:.68rem;font-weight:850}.inventory-seat-count strong{color:currentColor;font-weight:950}.inventory-seat-count--critical{color:#e11d48}.inventory-seat-count--limited{color:#ea580c}.inventory-seat-count--available{color:#1d4ed8}.inventory-availability-note{align-items:center;display:inline-flex;position:relative}.inventory-availability-note__trigger{color:#64748b;cursor:help;background:#fff;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:16px;height:16px;padding:0;font-size:.62rem;font-weight:900;line-height:1;display:inline-grid}.inventory-availability-note__trigger:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.inventory-availability-note__tooltip{z-index:5;color:#7c2d12;white-space:normal;background:#fffaf0;border:1px solid #d6b37b;border-radius:8px;width:218px;padding:9px 10px;font-size:.72rem;font-weight:800;line-height:1.42;display:none;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0f172a24}.inventory-availability-note__tooltip:after{content:"";background:#fffaf0;border-bottom:1px solid #d6b37b;border-right:1px solid #d6b37b;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.inventory-availability-note:hover .inventory-availability-note__tooltip,.inventory-availability-note:focus-within .inventory-availability-note__tooltip{display:block}.inventory-candidate-strip{border-top:1px solid var(--border);background:#fbfdff;gap:10px;padding:12px 16px;display:none}.inventory-candidate-strip__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.inventory-candidate-strip__head strong{color:#14346f;font-size:.86rem;font-weight:950;line-height:1.3}.inventory-candidate-strip__more{color:#59677d;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.76rem;font-weight:900;line-height:1.2}.inventory-candidate-strip__more:hover{color:var(--blue)}.inventory-candidate-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.inventory-candidate-card{color:#263850;text-align:center;background:#fff;border:1px solid #d8e1ef;border-radius:7px;align-content:center;place-items:center;gap:3px;min-height:54px;padding:6px 4px;display:grid}.inventory-candidate-card span{white-space:nowrap;font-size:.68rem;font-weight:850;line-height:1.2}.inventory-candidate-card strong{color:#14346f;font-size:.78rem;font-weight:950;line-height:1.2}.inventory-candidate-card--critical strong{color:#e11d48}.inventory-candidate-card--limited strong{color:#ea580c}.inventory-candidate-card--available strong{color:#1d4ed8}.inventory-candidate-empty{color:var(--muted);margin:0;font-size:.8rem;font-weight:800}.flight-cost{align-content:center;gap:2px;display:grid}.flight-cost__line{color:#07111f;flex-wrap:wrap;align-items:baseline;gap:0 4px;font-size:.98rem;font-weight:900;line-height:1.22;display:inline-flex}.flight-cost__line--stacked{gap:2px;font-size:.9rem;font-weight:600;line-height:1.3;display:grid}.flight-cost__primary{align-items:baseline;gap:4px;display:inline-flex}.flight-cost__line strong,.flight-cost__fee,.flight-cost__separator{color:inherit;font-size:inherit;font-weight:900;line-height:inherit}.flight-cost__line strong{align-items:baseline;justify-content:inherit;font-weight:950;display:inline-flex}.flight-cost__unit{color:#40516a;font-size:inherit;font-weight:900}.flight-cost__fee{color:#40516a}.flight-cost__line--stacked .flight-cost__primary,.flight-cost__line--stacked .flight-cost__unit{font-weight:900}.flight-cost__line--stacked .flight-cost__fee{font-size:.84rem;font-weight:600}.flight-cost small{color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.25}.provider-badge{color:#1848ad;overflow-wrap:anywhere;background:#eef4ff;border-radius:999px;width:fit-content;max-width:100%;padding:5px 9px;font-size:.74rem;font-weight:900}.product-badge{color:#075985;overflow-wrap:anywhere;letter-spacing:.04em;background:#dff3ff;border-radius:5px;width:fit-content;max-width:100%;padding:5px 8px;font-size:.74rem;font-weight:900}.product-badge--interactive{appearance:none;cursor:pointer;text-align:left;border:0;align-items:center;gap:5px;display:inline-flex}.product-badge--interactive:hover{color:#075985;background:#cdeeff}.product-badge--interactive:focus{outline:0;box-shadow:0 0 0 2px #1f5bff47}.product-badge__icon{color:#075985;background:#ffffffb3;border:1px solid #07598547;border-radius:999px;flex:none;place-items:center;width:14px;height:14px;font-size:.58rem;font-weight:950;line-height:1;display:inline-grid}.seat-product-popover{width:min(560px,100vw - 32px);max-height:min(88vh,760px);color:var(--ink);background:0 0;border:0;margin:auto;padding:0;inset:0;overflow:visible}.seat-product-popover::backdrop{background:#07111f61}.seat-product-card{width:100%;color:var(--ink);background:#fff;border:1px solid #c7d5e8;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 20px 50px #07111f2e}.seat-product-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 14px;display:flex}.seat-product-card__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:34px;height:34px;padding:0;font-size:1.3rem;font-weight:900;line-height:1}.seat-product-card__image{aspect-ratio:16/9;object-fit:cover;background:var(--surface-soft);width:100%;display:block}.seat-product-card__body{gap:12px;padding:14px;display:grid}.seat-product-card h3{color:#07111f;margin:0;font-size:1rem;line-height:1.35}.seat-product-card p{color:#40516a;font-size:.84rem;line-height:1.55}.seat-product-card ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;display:grid}.seat-product-card li{color:#263850;background:#f2f6fb;border-radius:5px;padding:7px 8px;font-size:.74rem;font-weight:800;line-height:1.35}.seat-product-card a{width:fit-content;color:var(--blue);text-underline-offset:3px;font-size:.78rem;font-weight:900;text-decoration:underline}.cabin-badge{border-radius:999px;width:fit-content;padding:5px 9px;font-size:.74rem;font-weight:900}.cabin-badge--business{color:#1748cc;background:#e8efff}.cabin-badge--first{color:#8a5a00;background:#fff3cf}.booking-link{background:var(--blue);color:#fff;text-align:center;border-radius:8px;justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:34px;padding:0 12px;font-size:.76rem;font-weight:900;line-height:1.2;text-decoration:none;display:inline-flex}.booking-link:hover{background:var(--blue-dark)}.booking-link--disabled{background:var(--surface-soft);color:var(--muted)}.booking-link--disabled:hover{background:var(--surface-soft)}.inventory-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.share-action{justify-items:end;gap:4px;display:inline-grid;position:relative}.share-button{color:#263850;cursor:pointer;min-height:34px;font:inherit;background:#fff;border:1px solid #c7d5e8;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:900;line-height:1.2;display:inline-flex}.share-button:hover{color:var(--blue);border-color:#9bb3ff}.share-button:disabled{cursor:wait;opacity:.72}.share-action__status{color:var(--muted);font-size:.68rem;font-weight:850}.share-action__manual-card{z-index:20;border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;width:min(320px,82vw);padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 34px #07111f24}.share-action__image-link{background:#eef4ff;border:1px solid #d8e1ef;border-radius:6px;display:block;overflow:hidden}.share-action__image{aspect-ratio:1200/630;object-fit:cover;width:100%;display:block}.share-action__manual-message{border:1px solid var(--border);color:#263850;resize:vertical;background:#fff;border-radius:6px;width:100%;min-height:84px;padding:8px 9px;font-size:.72rem;font-weight:750;line-height:1.45}.share-action__image-download{color:var(--blue);justify-self:end;font-size:.72rem;font-weight:900;line-height:1.2;text-decoration:none}.share-action__image-download:hover{text-decoration:underline}@media (max-width:640px){.share-action__manual-card{width:auto;max-height:calc(100vh - 24px);position:fixed;inset:auto 12px 12px;overflow:auto}}.skyteam-booking-button{cursor:pointer;border:0}.roundtrip-modal-backdrop{z-index:50;background:#07111f61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.roundtrip-modal{background:#fff;border:1px solid #c7d5e8;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(88dvh,840px);display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.roundtrip-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 18px;display:flex}.roundtrip-modal__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:36px;height:36px;padding:0;font-size:1.3rem;font-weight:900;line-height:1}.roundtrip-modal__body{overscroll-behavior:contain;gap:12px;min-height:0;padding:16px 18px 18px;display:grid;overflow-y:auto}.roundtrip-modal__footer{border-top:1px solid var(--border);background:#fff;gap:8px;padding:14px 18px 16px;display:grid;box-shadow:0 -12px 26px #07111f14}.roundtrip-panel__empty,.roundtrip-panel__note{color:#40516a;font-size:.84rem;line-height:1.5}.roundtrip-notice{background:#fbfdff;border:1px solid #d7e4f3;border-radius:8px;flex:auto;align-items:center;gap:8px;padding:8px 10px;display:flex}.roundtrip-notice__icon{color:#0f5d8f;background:#eef7ff;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:.86rem;font-weight:900;line-height:1;display:inline-grid}.roundtrip-list-heading h4{color:var(--ink);font-size:.96rem;line-height:1.35}.roundtrip-notice p{color:#334155;word-break:keep-all;margin:0;font-size:.9rem;font-weight:800;line-height:1.45}.roundtrip-list-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.roundtrip-list-heading span{color:#40516a;white-space:nowrap;background:#eef2f7;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.roundtrip-panel__note{color:#8a5a00;font-weight:800}.return-candidate-list{gap:8px;display:grid}.return-candidate{border:1px solid var(--border);min-width:0;min-height:78px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(110px,.85fr) minmax(150px,1.15fr) minmax(120px,.95fr) minmax(58px,.45fr) minmax(128px,.8fr);align-items:center;gap:14px;padding:12px 14px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.return-candidate:hover,.return-candidate[aria-pressed=true]{background:#f8faff;border-color:#9bb3ff}.return-candidate[aria-pressed=true]{box-shadow:inset 0 0 0 2px #1f5bff33}.return-candidate strong,.return-candidate span{overflow-wrap:anywhere;min-width:0}.return-candidate strong{color:var(--ink);font-size:.95rem;line-height:1.3}.return-candidate span{color:#40516a;font-size:.78rem;line-height:1.35}.return-candidate__airline,.return-candidate__schedule,.return-candidate__cost{justify-items:start;gap:4px;display:grid}.return-candidate__airline strong{font-size:.92rem}.return-candidate__airline span{color:#40516a;font-weight:800}.return-candidate__date{font-weight:900;color:var(--blue)!important}.return-candidate__time{background:#eaf5ff;border-radius:999px;flex:none;padding:3px 7px;font-weight:900;color:#0f5d8f!important}.return-candidate__route{font-size:.94rem}.return-candidate__seats{font-weight:900;color:var(--ink)!important}.return-candidate__cost{justify-items:end;font-weight:800;color:var(--ink)!important}.return-candidate__cost strong{font-size:.92rem}.return-candidate__cost small{color:#40516a;text-align:right;font-size:.72rem;font-weight:800;line-height:1.35}.roundtrip-selection{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.roundtrip-summary{gap:8px;display:grid}.roundtrip-summary__label{color:var(--ink);font-size:.78rem;font-weight:900}.roundtrip-summary__legs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.roundtrip-summary__legs div{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:2px;min-width:0;padding:8px 10px;display:grid}.roundtrip-summary__legs span{color:var(--blue);font-size:.68rem;font-weight:900}.roundtrip-summary__legs strong{color:var(--ink);font-size:.82rem;line-height:1.25}.roundtrip-summary__legs small,.roundtrip-summary--empty p{color:#40516a;overflow-wrap:normal;word-break:keep-all;font-size:.72rem;line-height:1.35}.roundtrip-summary--empty p{margin:0}.roundtrip-selection .booking-link{white-space:nowrap;place-self:end;min-width:96px;min-height:54px;padding:0 18px}.roundtrip-selection p{color:var(--ink);font-size:.86rem;font-weight:900}.empty-row{border-top:1px solid var(--border);text-align:center;align-content:center;place-items:center;gap:5px;min-height:88px;padding:18px;display:grid}.empty-row>span{color:var(--muted)}.empty-feedback-link{width:fit-content;min-height:32px;color:var(--blue);background:#fff;border:1px solid #a8bfff;border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:900;display:inline-flex}.pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.pagination a,.pagination span{border:1px solid var(--border);background:var(--surface);color:#14346f;border-radius:8px;justify-content:center;align-items:center;min-width:38px;min-height:38px;padding:0 12px;font-weight:900;display:inline-flex}.pagination a:hover{background:#f8faff;border-color:#9bb3ff}.pagination a[aria-current=page]{border-color:var(--blue);background:var(--blue);color:#fff}.pagination span{color:#9aa7b8}.flight-share-page{width:min(100% - 32px,980px);margin:0 auto;padding:32px 0 72px}.flight-share-hero{gap:16px;padding:22px 0;display:grid}.flight-share-status{border-radius:999px;width:fit-content;padding:7px 10px;font-size:.78rem;font-weight:900}.flight-share-status--current{color:#10775b;background:#e9f8f2}.flight-share-status--needs-confirmation{color:#8a5a00;background:#fff3cf}.flight-share-status--departed{color:#40516a;background:#eef2f7}.flight-share-hero h1{max-width:760px;color:var(--ink);margin:0;font-size:clamp(2rem,5vw,3.7rem);line-height:1.04}.flight-share-hero p{color:#40516a;max-width:760px;font-size:1rem;font-weight:800;line-height:1.55}.flight-share-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flight-share-secondary-link{color:#263850;text-align:center;background:#fff;border:1px solid #c7d5e8;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0f172a14}.flight-share-secondary-link:hover{color:var(--blue);background:#f8faff;border-color:#9bb3ff}.flight-share-booking-button{cursor:pointer;border:0}.flight-share-booking-modal-backdrop{z-index:55;background:#07111f61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.flight-share-booking-modal-backdrop[hidden]{display:none}.flight-share-booking-modal{background:#fff;border:1px solid #c7d5e8;border-radius:8px;width:min(440px,100%);max-width:100%;display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.flight-share-booking-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 18px;display:flex}.flight-share-booking-modal__header h2{color:var(--ink);font-size:1rem;line-height:1.35}.flight-share-booking-modal__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:36px;height:36px;padding:0;font-size:1.3rem;font-weight:900;line-height:1}.flight-share-booking-modal__body{padding:18px}.flight-share-booking-modal__body p{color:#263850;word-break:keep-all;margin:0;font-size:.96rem;font-weight:850;line-height:1.55}.flight-share-booking-modal__actions{border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 18px 16px;display:flex}.flight-share-modal-secondary-button{color:#263850;cursor:pointer;background:#fff;border:1px solid #c7d5e8;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-size:.84rem;font-weight:900;display:inline-flex}.flight-share-modal-secondary-button:hover{color:var(--blue);background:#f8faff;border-color:#9bb3ff}.flight-share-details{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.flight-share-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;display:grid}.flight-share-details div{border-top:1px solid var(--border);grid-template-columns:92px minmax(0,1fr);gap:10px;min-width:0;padding:12px 0;display:grid}.flight-share-details div:nth-child(-n+2){border-top:0}.flight-share-details dt,.flight-share-details dd{margin:0}.flight-share-details dt{color:var(--muted);font-size:.76rem;font-weight:900}.flight-share-details dd{color:var(--ink);overflow-wrap:anywhere;font-size:.92rem;font-weight:850;line-height:1.35}.route-chips{flex-wrap:wrap;gap:10px;display:flex}.route-chips a{border:1px solid var(--border);background:var(--surface);color:#14346f;border-radius:999px;padding:10px 14px;font-weight:900}.feedback-section{background:#eaf0ff;border:1px solid #bfd0ff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:56px;padding:22px;display:flex}.feedback-copy{gap:10px;display:grid}.feedback-copy p,.feedback-actions p{color:var(--muted);margin-top:6px;line-height:1.6}.feedback-actions{text-align:right;justify-items:end;gap:8px;display:grid}.open-chat-link{width:fit-content;min-height:36px;color:var(--blue);background:#fff;border:1px solid #a8bfff;border-radius:999px;align-items:center;padding:0 14px;font-size:.86rem;font-weight:900;display:inline-flex}.open-chat-link--disabled{color:var(--muted)}.site-footer{border-top:1px solid var(--border);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 32px;margin-top:36px;padding:26px 0 34px;display:grid}.footer-brand{gap:8px;display:grid}.brand--footer{width:fit-content;color:var(--ink);letter-spacing:.02em}.footer-brand p,.footer-note,.footer-copy{margin:0;font-size:.82rem;line-height:1.6}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.footer-links a{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--ink);border-radius:999px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.footer-note{max-width:760px}.footer-copy{white-space:nowrap;justify-self:end}@media (max-width:1100px){.search-box,.hotel-promo-grid,.hotel-stay-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-stay-featured-grid,.hotel-stay-property-grid{grid-template-columns:1fr}.search-button{min-height:58px}.swap-route-button{border-bottom:1px solid var(--border)}.alert-subscribe-panel__form,.return-candidate-list{grid-template-columns:1fr}.airport-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.nav-bar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:0 10px 0 12px}.brand{white-space:nowrap;gap:8px;min-height:54px;padding:0}.brand-mark{width:24px;height:24px}.nav-links{scrollbar-width:none;border-top:0;min-width:0;height:54px;padding:9px 0;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{background:#ffffff0f;border-radius:999px;flex:none;height:36px;padding:0 11px}.nav-links a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--blue);border-bottom:0}.home-top,.announcement-banner,.announcement-page-hero,.hotel-page-hero,.hotel-stay-overview,.hotel-stay-featured,.hotel-promo-section,.hotel-stay-section,.hotel-stay-property-list,.inventory-section,.route-section,.announcement-section,.feedback-section,.site-footer{width:min(100% - 24px,1400px)}.flight-alert-page{width:min(100% - 24px,920px);padding:18px 0 44px}.flight-alert-panel{padding:16px}.flight-alert-current-card__top{grid-template-columns:1fr auto}.flight-alert-current-card__airline{grid-column:1/-1}.flight-alert-current-card__details{grid-template-columns:1fr;gap:8px}.flight-alert-current-card__footer,.flight-alert-current-card__booking{width:100%}.home-top{padding-top:12px}h1{font-size:2.05rem}.search-box{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;overflow:visible}.mileage-scope-control{width:auto;inline-size:auto;min-inline-size:0;max-inline-size:none;grid-column:1/-1;justify-self:stretch;max-width:none;margin:0}.mileage-scope-control span{min-height:38px;padding:0 8px;font-size:.82rem}.hotel-promo-grid{grid-template-columns:1fr}.section-title{display:grid}.inventory-section .section-title{grid-template-columns:minmax(0,1fr)}.section-title .hotel-promo-exchange-rate{text-align:left;justify-items:start}.hotel-stay-overview{padding-top:12px}.hotel-stay-overview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hotel-stay-overview div{min-height:72px;padding:12px}.hotel-stay-overview div:last-child{grid-column:1/-1;min-height:66px}.hotel-stay-overview dd{font-size:1rem}.hotel-stay-freshness{white-space:normal;justify-self:start}.hotel-stay-property-card{grid-template-columns:1fr}.hotel-stay-property-card .hotel-stay-card-image{aspect-ratio:16/10}.hotel-stay-property-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-stay-featured-card__body,.hotel-stay-property-card__body{padding:13px}.hotel-stay-featured-card h3,.hotel-stay-property-card h3{font-size:1rem}.hotel-stay-featured-card__deal strong,.hotel-stay-property-card__deal strong{font-size:1.22rem}.hotel-stay-property-header{grid-template-columns:1fr;gap:16px;padding:18px}.hotel-stay-property-header__main dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-stay-property-header__actions{justify-self:stretch}.hotel-stay-sticky-banner{margin:0 -2px;position:sticky;top:auto;bottom:12px}.hotel-stay-best-window{grid-template-columns:1fr;gap:10px;padding:14px}.hotel-stay-best-window__meta strong,.hotel-stay-best-window__meta span{white-space:normal}.hotel-stay-best-window>a{width:100%}.hotel-stay-timeline-month__head{flex-direction:column;align-items:flex-start;gap:3px}.hotel-stay-award-row{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 12px}.hotel-stay-award-row__room{text-align:left;grid-column:1/-1}.feedback-section{flex-direction:column;align-items:flex-start}.feedback-actions{text-align:left;justify-items:start}.announcement-banner{grid-template-columns:1fr;align-items:start}.announcement-list{grid-template-columns:1fr}.search-field{border:1px solid var(--border);border-radius:8px;gap:4px;min-height:58px;padding:8px 10px}.airport-picker-field{text-align:center;justify-items:center;min-height:72px}.airport-trigger{text-align:center}.search-field span{letter-spacing:0}.swap-route-button{border:0;border-radius:8px;justify-self:center;width:48px;min-height:72px}.search-field--compact{grid-column:3}.search-button{border-radius:8px;grid-column:1/-1;min-height:44px}.inventory-title-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.inventory-title-row h2{white-space:nowrap;min-width:0;font-size:1rem}.inventory-freshness{justify-self:end;gap:4px;max-width:100%;min-height:28px;padding:4px 7px;font-size:.68rem}.inventory-freshness span{font-size:.6rem}.inventory-heading{padding:0 14px}.inventory-table{background:0 0;border:0;gap:12px;overflow:visible}.inventory-head{display:none}.inventory-row{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:0;box-shadow:0 8px 20px #07111f0d}.inventory-card-desktop{display:none}.inventory-card-mobile{gap:6px;padding:13px 14px;display:grid}.inventory-card-mobile .inventory-airline{flex-wrap:wrap;grid-area:auto/1;align-items:center;display:flex}.inventory-card-mobile .inventory-route-summary{grid-area:auto/1}.inventory-route-meta,.inventory-route-meta span{min-width:0}.inventory-action-panel--mobile{text-align:left;border-top:1px solid #e5ebf3;grid-area:auto/1;grid-template-columns:minmax(0,1fr);place-items:stretch stretch;gap:6px;width:100%;max-width:none;padding-top:6px;display:grid}.inventory-action-panel--mobile .inventory-action-availability{order:1}.inventory-action-panel--mobile .inventory-price-block{order:2}.inventory-action-panel--mobile .inventory-primary-action{order:3}.inventory-price-block{text-align:left;justify-self:start}.inventory-price-block .flight-cost{justify-items:start}.inventory-price-block .flight-cost__line{overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:.98rem;line-height:1.22}.inventory-primary-action{justify-self:stretch}.inventory-primary-action .booking-link{justify-content:center;width:100%;min-width:86px;min-height:46px;font-size:.95rem}.inventory-action-availability{grid-column:1/-1;justify-content:flex-start;gap:5px;max-width:100%;min-height:28px;font-size:.66rem}.inventory-action-availability .cabin-badge,.inventory-action-availability .product-badge{max-width:128px;padding:3px 7px;font-size:.62rem}.inventory-action-availability .inventory-seat-count{border-radius:999px;margin-left:0;padding:3px 8px}.inventory-action-availability .inventory-seat-count--critical{background:#fff1f2}.inventory-action-availability .inventory-seat-count--limited{background:#fff7ed}.inventory-action-availability .inventory-seat-count--available{background:#eff6ff}.inventory-candidate-strip{padding:11px 14px;display:grid}.inventory-candidate-list{gap:6px}.inventory-candidate-card{min-height:50px;padding:5px 3px}.alert-subscribe-panel{width:100%}.alert-subscribe-panel--top{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.alert-subscribe-panel__prompt{align-items:flex-start;gap:8px}.alert-subscribe-panel__prompt-copy{gap:2px;display:grid}.alert-subscribe-panel__prompt-copy strong{font-size:.84rem}.alert-subscribe-panel__prompt-copy span{font-size:.76rem}.alert-subscribe-panel__toggle,.alert-subscribe-panel__submit{justify-content:center;width:100%}.alert-subscribe-modal-backdrop{align-items:flex-end;padding:0 10px}.alert-subscribe-modal{border-radius:8px 8px 0 0;width:100%;max-height:calc(100dvh - 14px)}.alert-subscribe-modal__header{min-height:58px;padding:12px 14px}.alert-subscribe-modal__header h3{font-size:.98rem}.alert-subscribe-modal__header p{font-size:.74rem}.alert-subscribe-panel__form{gap:10px;padding:12px 14px 14px}.alert-subscribe-panel__route{justify-content:center;width:100%}.alert-subscribe-panel__months{grid-template-columns:repeat(3,minmax(0,1fr));max-height:160px;overflow:auto}.alert-subscribe-panel__compact-controls{grid-template-columns:1fr;display:grid}.alert-subscribe-panel__resend{width:100%}.alert-subscribe-modal__footer{padding:10px 14px 12px}.inventory-availability-note__tooltip{inset:calc(100% + 8px) 0 auto auto;transform:none}.inventory-availability-note__tooltip:after{border:0;border-top:1px solid #d6b37b;border-left:1px solid #d6b37b;inset:-6px 5px auto auto}.seat-product-card ul{grid-template-columns:1fr}.airport-modal-backdrop{padding:10px}.airport-modal{width:100%;height:min(86vh,720px);max-height:min(86vh,720px)}.airport-modal__body{padding:16px}.roundtrip-modal-backdrop{padding:10px}.roundtrip-modal{height:min(92dvh,760px);max-height:calc(100dvh - 20px)}.flight-share-booking-modal-backdrop{padding:12px}.flight-share-booking-modal__actions{flex-direction:column}.flight-share-booking-modal__actions .booking-link,.flight-share-booking-modal__actions .flight-share-secondary-link,.flight-share-modal-secondary-button{width:100%}.return-candidate{grid-template-columns:1fr;align-items:start}.return-candidate__cost{justify-items:start}.roundtrip-selection,.roundtrip-summary__legs{grid-template-columns:1fr}.roundtrip-selection .booking-link{width:100%}.flight-share-page{width:min(100% - 24px,980px);padding-top:20px}.flight-share-hero h1{font-size:2.05rem}.flight-share-actions,.flight-share-actions .booking-link,.flight-share-secondary-link{width:100%}.flight-share-details dl{grid-template-columns:1fr}.flight-share-details div:nth-child(2){border-top:1px solid var(--border)}.airport-list{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-option{min-height:76px}.site-footer{grid-template-columns:1fr;gap:16px}.footer-links{justify-content:flex-start}.footer-copy{justify-self:start}}@media (max-width:360px){.airport-list{grid-template-columns:1fr}}.admin-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--nav);color:#fff;flex-direction:column;gap:24px;padding:24px 16px;display:flex}.admin-brand{letter-spacing:.04em;font-size:18px;font-weight:700}.admin-sidebar nav ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-sidebar nav a{color:#ffffffb3;border-radius:6px;padding:8px 12px;text-decoration:none;display:block}.admin-sidebar nav a:hover{color:#fff;background:#ffffff14}.admin-sidebar nav a[aria-current=page]{background:var(--blue);color:#fff}.admin-logout{margin-top:auto}.admin-logout button{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;width:100%;padding:8px}.admin-main{background:var(--bg);padding:32px}.admin-login-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(360px,100%);padding:32px}.admin-login-card h1{margin:0 0 16px;font-size:20px}.admin-login-card form{flex-direction:column;gap:12px;display:flex}.admin-login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.admin-login-card input{border:1px solid var(--border);font:inherit;border-radius:6px;padding:8px 10px}.admin-login-card button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:10px;font-weight:600}.admin-banner{background:var(--blue-soft);color:var(--blue-dark);border-radius:6px;padding:8px 12px;font-size:14px}.admin-error{color:#b3261e;background:#fde7e9;border-radius:6px;padding:8px 12px;font-size:14px}.admin-notice{color:#166534;background:#ecfdf5;border-radius:6px;padding:8px 12px;font-size:14px}.admin-tabs ul{border-bottom:1px solid var(--border);gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.admin-tabs a{color:var(--muted);border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none;display:inline-block}.admin-tabs a:hover{color:var(--ink)}.admin-tabs a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.admin-filter-bar{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 16px;display:flex}.admin-filter-bar label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.admin-filter-bar select,.admin-filter-bar input[type=text]{border:1px solid var(--border);font:inherit;background:var(--surface);border-radius:6px;padding:6px 8px}.admin-filter-bar button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:8px 14px;font-weight:600}.admin-attempts-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 16px;display:flex}.admin-attempts-toolbar .admin-filter-bar{margin:0}.admin-inline-form{align-items:end;display:flex}.admin-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.admin-table th{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.admin-table tbody tr:hover{background:#00000008}.admin-table a{color:var(--blue);text-decoration:none}.admin-table a:hover{text-decoration:underline}.admin-empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:32px 12px}.admin-status-chip{color:var(--ink);background:#0000000f;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.admin-status-chip[data-status=succeeded]{color:#03543f;background:#def7ec}.admin-status-chip[data-status=failed]{color:#b3261e;background:#fde7e9}.admin-status-chip[data-status=partial]{color:#92400e;background:#fef3c7}.admin-status-chip[data-status=running]{color:#075985;background:#e0f2fe}.admin-pagination{flex-direction:column;gap:8px;margin-top:16px;display:flex}.admin-pagination-summary{color:var(--muted);margin:0;font-size:13px}.admin-pagination ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-pagination a,.admin-pagination span{text-align:center;border:1px solid var(--border);background:var(--surface);min-width:32px;color:var(--ink);border-radius:6px;padding:4px 8px;font-size:13px;text-decoration:none;display:inline-block}.admin-pagination a:hover{border-color:var(--blue);color:var(--blue)}.admin-pagination .current{background:var(--blue);color:#fff;border-color:var(--blue)}.admin-pagination .disabled{color:var(--muted);opacity:.6}.admin-detail-header{margin-bottom:16px}.admin-detail-header a{color:var(--blue);margin-bottom:4px;font-size:13px;text-decoration:none;display:inline-block}.admin-detail-header h1{margin:0;font-size:20px}.admin-detail-dl{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:200px 1fr;gap:8px 16px;padding:16px;display:grid}.admin-detail-dl dt{color:var(--muted);font-size:13px}.admin-detail-dl dd{word-break:break-all;margin:0;font-size:14px}.admin-detail-pre{white-space:pre-wrap;word-break:break-all;background:#0000000a;border-radius:6px;margin:0;padding:8px;font-size:12px}.admin-page-header{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px;display:flex}.admin-page-header h1{margin:0;font-size:1.4rem;font-weight:800}.admin-page-header a{color:var(--muted);font-size:.9rem}.admin-primary-button{background:var(--blue);color:#fff;border:1px solid var(--blue-dark);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.admin-primary-button:hover{background:var(--blue-dark)}.admin-secondary-button{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.admin-secondary-button:hover{background:var(--surface-soft)}.admin-danger-button{color:#fff;cursor:pointer;background:#c0392b;border:1px solid #962a1f;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.admin-danger-button:hover{background:#962a1f}.admin-danger-note{color:#962a1f;background:#fdecea;border-left:4px solid #c0392b;border-radius:4px;margin:16px 0;padding:12px 14px;font-size:.92rem}.admin-form{flex-direction:column;gap:12px;max-width:480px;margin:16px 0;display:flex}.admin-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.admin-form input[type=text],.admin-form input:not([type=checkbox]):not([type=hidden]),.admin-form select{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:4px;padding:8px 10px;font-weight:400}.admin-form-checkbox{color:var(--ink);align-items:center;gap:8px;flex-direction:row!important}.admin-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.admin-toggle{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:56px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.admin-toggle[data-on=true]{color:#1d6b3f;background:#d4f4e2;border-color:#1d6b3f}.admin-toggle[data-on=false]{color:#5a5a5a;background:#ececec;border-color:#b5b5b5}.flight-alert-page{gap:18px;width:min(920px,100% - 40px);margin:0 auto;padding:42px 0 72px;display:grid}.flight-alert-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;padding:24px;display:grid}.flight-alert-panel h1{font-size:clamp(2rem,4vw,3.1rem)}.flight-alert-panel h2{font-size:1.2rem}.flight-alert-copy,.flight-alert-empty{color:var(--muted);line-height:1.7}.flight-alert-notice{color:#0b6e51;background:#eaf8f2;border:1px solid #b8ddcf;border-radius:8px;padding:12px 14px;font-weight:800}.flight-alert-link-button,.flight-alert-actions button,.flight-alert-inline-form button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;width:fit-content;font-weight:900}.flight-alert-link-button,.flight-alert-actions button{padding:12px 16px}.flight-alert-inline-form button{padding:9px 12px}.flight-alert-link-button:hover,.flight-alert-actions button:hover,.flight-alert-inline-form button:hover{background:var(--blue-dark)}.flight-alert-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.flight-alert-list li{border:1px solid var(--border);border-radius:8px;gap:6px;padding:14px;display:grid}.flight-alert-list span{color:var(--muted)}.flight-alert-current-card{gap:14px}.flight-alert-current-card__top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.flight-alert-current-card__top strong{min-width:0;color:var(--ink);font-size:1rem;font-weight:900}.flight-alert-current-card__airline,.flight-alert-current-card__seats{border-radius:999px;width:fit-content;padding:8px 10px;font-size:.78rem;font-weight:900;line-height:1}.flight-alert-current-card__airline{color:#2451d8;background:#eef3ff}.flight-alert-current-card__seats{color:#d5364d;background:#fff1f3}.flight-alert-current-card__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.flight-alert-current-card__details div{background:#f8fbff;border:1px solid #dce5f0;border-radius:8px;min-width:0;padding:10px 12px}.flight-alert-current-card__details dt{color:#607089;margin-bottom:5px;font-size:.72rem;font-weight:900}.flight-alert-current-card__details dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.88rem;font-weight:900;line-height:1.35}.flight-alert-current-card__footer{justify-content:flex-end;display:flex}.flight-alert-current-card__booking{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:900;display:inline-flex}.flight-alert-current-card__booking:hover{background:var(--blue-dark)}.flight-alert-current-card__booking--disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}.flight-alert-current-card__booking--disabled:hover{background:var(--surface-soft)}.flight-alert-table-wrap{overflow-x:auto}.flight-alert-table{border-collapse:collapse;width:100%;min-width:680px}.flight-alert-table th,.flight-alert-table td{border-bottom:1px solid var(--border);text-align:left;padding:12px}.flight-alert-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.flight-alert-inline-form,.flight-alert-actions{margin:0}@media (max-width:720px){.flight-alert-page{width:min(100% - 24px,920px);padding:18px 0 44px}.flight-alert-panel{padding:16px}.flight-alert-current-card__top{grid-template-columns:1fr auto}.flight-alert-current-card__airline{grid-column:1/-1}.flight-alert-current-card__details{grid-template-columns:1fr;gap:8px}.flight-alert-current-card__footer,.flight-alert-current-card__booking{width:100%}}.community-shell{width:min(960px,100% - 32px);margin:0 auto;padding:24px 0 64px}.community-topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:min(960px,100% - 32px);margin:0 auto;padding:12px 0;display:flex}.community-topbar-home{color:var(--ink);font-weight:700}.community-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.community-topbar-nick{color:var(--muted);font-size:.9rem}.community-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.community-header h1{margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.community-crumb{color:var(--muted);font-size:.84rem;font-weight:800;text-decoration:none}.community-crumb:hover{color:var(--blue)}.board-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.board-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:12px;gap:8px;padding:20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.board-card:hover,.board-card:focus-visible{border-color:var(--blue);box-shadow:0 4px 14px #1f5bff1a}.board-card-name{color:var(--ink);font-size:1rem;font-weight:900;line-height:1.3}.board-card-desc{color:var(--muted);font-size:.84rem;line-height:1.5}.post-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.post-row{border-bottom:1px solid var(--border);color:inherit;gap:4px;padding:14px 18px;text-decoration:none;transition:background-color .12s;display:grid}.post-row:last-child{border-bottom:0}.post-row:hover{background:var(--surface-soft)}.post-row-title{color:var(--ink);font-size:.95rem;font-weight:700;line-height:1.4}.post-row-meta{color:var(--muted);font-size:.82rem;line-height:1.35}.post-sort{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.post-sort a{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--muted);border-radius:999px;align-items:center;padding:0 13px;font-size:.82rem;font-weight:900;text-decoration:none;transition:border-color .12s,color .12s;display:inline-flex}.post-sort a:hover{border-color:var(--blue);color:var(--blue)}.post-sort a[aria-current=true],.post-sort a.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.forum-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:24px;display:flex}.forum-pagination a,.forum-pagination span{border:1px solid var(--border);background:var(--surface);min-width:36px;min-height:36px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.86rem;font-weight:800;text-decoration:none;transition:border-color .12s,color .12s;display:inline-flex}.forum-pagination a:hover{border-color:var(--blue);color:var(--blue)}.forum-pagination .current,.forum-pagination [aria-current=page]{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:900}.forum-empty{border:1px dashed var(--border);background:var(--surface);min-height:120px;color:var(--muted);text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:24px;font-size:.9rem;line-height:1.6;display:flex}.post-detail{gap:24px;display:grid}.post-title{color:var(--ink);margin:0 0 8px;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:900;line-height:1.2}.post-meta{color:var(--muted);font-size:.84rem;line-height:1.45}.post-body{color:var(--ink);font-size:1rem;line-height:1.7}.post-body h2{color:var(--ink);margin:28px 0 10px;font-size:1.28rem;font-weight:900}.post-body h3{color:var(--ink);margin:22px 0 8px;font-size:1.1rem;font-weight:800}.post-body p{margin:0 0 14px;line-height:1.7}.post-body strong{font-weight:900}.post-body em{font-style:italic}.post-body a{color:var(--blue);text-decoration:underline}.post-body a:hover{color:var(--blue-dark)}.post-body ul,.post-body ol{margin:0 0 14px;padding-left:24px;line-height:1.7}.post-body li{margin-bottom:6px}.post-body blockquote{border-left:3px solid var(--border);color:var(--muted);background:var(--surface-soft);border-radius:0 6px 6px 0;margin:16px 0;padding:10px 16px;font-style:italic}.post-body img{border-radius:10px;max-width:100%;height:auto;margin:14px 0;display:block}.post-body .reference-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:10px;margin:14px 0;padding:14px 16px;text-decoration:none;transition:border-color .15s;display:block}.post-body .reference-card:hover{border-color:var(--blue)}.post-actionbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.btn{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.88rem;font-weight:800;text-decoration:none;transition:border-color .12s,background-color .12s;display:inline-flex}.btn:hover{border-color:var(--blue);background:var(--surface-soft)}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000;min-height:30px;padding:0 8px;font-size:.8rem}.btn-ghost:hover{border-color:var(--border);background:var(--surface-soft);color:var(--ink)}.like-btn{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.84rem;font-weight:800;transition:border-color .12s,background-color .12s,color .12s;display:inline-flex}.like-btn:hover{border-color:var(--blue);color:var(--blue)}.like-btn.is-liked{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.report-form{align-items:center;gap:6px;display:inline-flex}.report-form button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;text-decoration:underline}.report-form button:hover{color:var(--ink)}.forum-form{flex-direction:column;gap:14px;display:flex}.forum-input,.forum-textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);font-family:var(--font-body), sans-serif;border-radius:8px;padding:10px 12px;font-size:16px;line-height:1.5;transition:border-color .12s,box-shadow .12s}.forum-input:focus,.forum-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.forum-textarea{resize:vertical;min-height:120px}.comment-thread{gap:16px;margin:0;padding:0;list-style:none;display:grid}.comment{border-left:2px solid var(--border);margin-left:calc(var(--depth,0) * 16px);gap:6px;padding-left:12px;display:grid}.comment-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.comment-head strong{color:var(--ink);font-size:.88rem;font-weight:900}.comment-head time,.comment-head span{color:var(--muted);font-size:.78rem}.comment-body{color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.65}.comment-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.comment-tombstone{color:var(--muted);font-size:.84rem;font-style:italic}.comment-form{gap:8px;margin-top:8px;display:grid}.post-editor{border:1px solid var(--border);background:var(--surface);border-radius:10px;transition:border-color .12s;overflow:hidden}.post-editor:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface-soft);flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;display:flex}.editor-toolbar button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.82rem;font-weight:900;transition:background-color .1s,border-color .1s,color .1s;display:inline-flex}.editor-toolbar button:hover{background:var(--surface);border-color:var(--border);color:var(--ink)}.editor-toolbar button.is-active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.editor-content .ProseMirror{min-height:240px;color:var(--ink);font-size:1rem;line-height:1.7;font-family:var(--font-body), sans-serif;outline:none;padding:12px}.editor-content .ProseMirror p{margin:0 0 12px}.editor-content .ProseMirror h2{margin:20px 0 8px;font-size:1.2rem;font-weight:900}.editor-content .ProseMirror h3{margin:16px 0 6px;font-size:1.05rem;font-weight:800}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{margin:0 0 12px;padding-left:22px}.editor-content .ProseMirror blockquote{border-left:3px solid var(--border);color:var(--muted);background:var(--surface-soft);border-radius:0 4px 4px 0;margin:12px 0;padding:8px 14px}.editor-content .ProseMirror a{color:var(--blue);text-decoration:underline}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--muted);pointer-events:none;height:0}.notif-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.notif-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:14px 18px;font-size:.9rem;line-height:1.45;transition:background-color .12s;display:flex}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--surface-soft)}.notif-item.is-unread{background:var(--blue-soft);font-weight:800}.notif-item.is-unread:before{content:"";background:var(--blue);border-radius:999px;flex:none;width:8px;height:8px;margin-top:5px;display:block}.report-queue{gap:12px;display:grid}.report-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;padding:16px 18px;display:grid}.report-item__actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:720px){.community-header{flex-direction:column;align-items:flex-start;gap:10px}.board-grid{grid-template-columns:1fr}.post-actionbar{gap:8px}.comment{margin-left:calc(var(--depth,0) * 8px)}.community-shell{padding:16px 0 48px}.post-sort{gap:6px}.forum-pagination{gap:4px}}@media (max-width:640px){.community-header{gap:8px;margin-bottom:20px}.post-row{padding:12px 14px}.post-row-title{font-size:.9rem}.post-title{font-size:1.4rem}.post-detail{gap:18px}.editor-content .ProseMirror{min-height:180px;padding:10px}.notif-item{padding:12px 14px}.report-item{padding:14px}}
