/* AYAN AIR panels v2 (AYAN_PANEL_V2=true): the light website (B2C v2 / flycham) look for the agency panel (B2B) and the staff panel.
   Small light Montserrat / Vazirmatn text, thin icons, white side menu, flat cards, navy buttons with a gold arrow.
   Design only: loaded last, every rule is scoped to the two panels; menus, pages, access and roles are unchanged. */
:is(.fi-panel-agency, .fi-panel-admin) {
    --v2-navy: #0A2240;
    --v2-navy2: #1B3A63;
    --v2-blue: #2A78B8;
    --v2-gold: #C9A55C;
    --v2-gold-soft: #F8F2E4;
    --v2-ink: #1A2B45;
    --v2-text: #3D4D66;
    --v2-muted: #75849B;
    --v2-line: #E8EDF3;
    --v2-line2: #F0F3F7;
    --v2-bg: #F6F8FB;
    --fz-navy: var(--v2-navy);
    --fz-line: var(--v2-line);
    --fz-muted: var(--v2-muted);
    --fz-bg: var(--v2-bg);
    --fz-shadow: none;
    --fz-radius: 12px;
    --sidebar-width: 16.5rem;
}

/* ---------- type: Montserrat (Latin) + Vazirmatn (Kurdish / Arabic), small and light ---------- */
:is(.fi-panel-agency, .fi-panel-admin).fi-body,
:is(.fi-panel-agency, .fi-panel-admin) :is(button, input, select, textarea) {
    font-family: "Montserrat", "Vazirmatn", system-ui, sans-serif;
}
[dir="rtl"] :is(.fi-panel-agency, .fi-panel-admin).fi-body,
[dir="rtl"] :is(.fi-panel-agency, .fi-panel-admin) :is(button, input, select, textarea) { font-family: "Vazirmatn", "Montserrat", system-ui, sans-serif; }
:is(.fi-panel-agency, .fi-panel-admin).fi-body { background: var(--v2-bg); color: var(--v2-text); font-size: 13.5px; font-weight: 400; word-spacing: 0; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-header-heading { font-size: 1.45rem; font-weight: 600; letter-spacing: 0; color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-header-subheading { font-size: .85rem; color: var(--v2-muted); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-main { padding-top: 1.5rem; }

/* thin icons everywhere (Heroicons outline: 1.5 → 1.25) */
:is(.fi-panel-agency, .fi-panel-admin) svg[stroke-width="1.5"], :is(.fi-panel-agency, .fi-panel-admin) .fi-icon[stroke] { stroke-width: 1.25; }

/* ---------- side menu: white, quiet, gold marker on the open page ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar { background: #fff !important; border-inline-end: 1px solid var(--v2-line); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-header { background: #fff; border-bottom: 1px solid var(--v2-line); min-height: 64px; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-nav { padding: 1rem .9rem; gap: 1.1rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-group-label { color: #9AA7BA; font-size: .64rem; font-weight: 600; letter-spacing: .14em; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-group-btn svg { color: #B4BFCE; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item-btn { border-radius: 6px; padding-block: .5rem; gap: .7rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item-label { color: var(--v2-text); font-weight: 500; font-size: .84rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item-icon { color: #8C9AAE !important; width: 1.15rem; height: 1.15rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item-btn:hover { background: var(--v2-bg) !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item-btn:hover .fi-sidebar-item-label { color: var(--v2-navy); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: #F1F4F8 !important; box-shadow: inset 2px 0 0 var(--v2-gold); }
[dir="rtl"] :is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { box-shadow: inset -2px 0 0 var(--v2-gold); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item.fi-active .fi-sidebar-item-label { color: var(--v2-navy); font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: var(--v2-gold) !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-item-grouped-border-part { background: var(--v2-line) !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar .fi-badge { background: var(--v2-gold-soft); color: #7A5A1E; font-size: .68rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-database-notifications-btn-label { color: var(--v2-text); }

/* logo corner (desktop): white, logo + small gold caption */
@media (min-width: 1024px) {
    :is(.fi-panel-agency, .fi-panel-admin) .fi-topbar-start { background: #fff !important; border-inline-end: 1px solid var(--v2-line); margin-inline-end: 1.25rem; padding-inline: 1.4rem; }
    :is(.fi-panel-agency, .fi-panel-admin) .fi-topbar-start::after { font-size: .58rem; font-weight: 600; letter-spacing: .2em; color: var(--v2-gold); }
    :is(.fi-panel-agency, .fi-panel-admin) .fi-topbar-start a:has(> .fi-logo), :is(.fi-panel-agency, .fi-panel-admin) .fi-topbar-start .fi-logo { padding: 0 !important; background: transparent !important; }
    :is(.fi-panel-agency, .fi-panel-admin) .fi-topbar-start .fi-logo { height: 1.6rem !important; }
}
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-header .fi-logo { background: transparent; padding: 0; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-sidebar-header-logo-ctn::after { font-size: .58rem; font-weight: 600; letter-spacing: .2em; color: var(--v2-gold); }

/* ---------- top bar ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar { min-height: 60px; background: #fff; border-bottom: 1px solid var(--v2-line); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar .fi-input-wrp { background: var(--v2-bg); border: 1px solid var(--v2-line); border-radius: 6px; box-shadow: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar .fi-input-wrp input { font-size: .82rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar .fz-balpill { background: #fff; border: 1px solid var(--v2-line); border-radius: 6px; padding: .4rem .8rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar .fz-balpill span { color: var(--v2-muted); font-size: .72rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar .fz-balpill b { color: #137A3B; font-weight: 600; font-size: .9rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-topbar .fz-balpill:has(b.neg) { background: #FFF7F7; border-color: #F5D0D0; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-user-avatar { background: var(--v2-navy); }

/* ---------- cards, sections, widgets ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fi-section:not(.fi-section-not-contained),
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-ctn,
:is(.fi-panel-agency, .fi-panel-admin) .fi-wi-stats-overview-stat { border-radius: 12px; border: 1px solid var(--v2-line); box-shadow: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-section-header-heading { font-size: .95rem; font-weight: 600; color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-section-header-description { font-size: .8rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-wi-stats-overview-stat-label { font-size: .78rem; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-wi-stats-overview-stat-value { font-size: 1.6rem; font-weight: 500; color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-modal-window { border-radius: 14px; }

/* ---------- buttons: smaller, flat; main actions navy with a gold arrow (website button style C) ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fi-btn { border-radius: 6px; font-weight: 600; font-size: .82rem; box-shadow: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-btn.fi-size-sm, :is(.fi-panel-agency, .fi-panel-admin) .fi-btn.fi-size-xs { font-size: .76rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-btn.fi-color-primary.fi-bg-color-400 { background: var(--v2-navy); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-btn.fi-color-gray { border: 1px solid var(--v2-line); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-gold {
    background: var(--v2-navy); color: #fff; border-radius: 6px; padding: .8rem 1.4rem; font-size: .88rem; font-weight: 600;
    box-shadow: none; transform: none;
}
:is(.fi-panel-agency, .fi-panel-admin) .fz-gold:hover { background: var(--v2-navy2); box-shadow: none; transform: none; color: #fff; }

/* ---------- inputs ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fi-input-wrp { border-radius: 6px; box-shadow: inset 0 0 0 1px #DCE2EA; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-input-wrp:focus-within { box-shadow: inset 0 0 0 1px var(--v2-navy), 0 0 0 3px rgba(42, 120, 184, .12); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-input, :is(.fi-panel-agency, .fi-panel-admin) .fi-select-input { font-size: .85rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-fo-field-label-content { font-size: .8rem; font-weight: 500; color: var(--v2-text); }

/* ---------- tables: fine header, light rows ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-header-cell { background: #FAFBFD; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-header-cell-label, :is(.fi-panel-agency, .fi-panel-admin) .fi-ta-header-cell-sort-btn {
    font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8794A8; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-text-item-label, :is(.fi-panel-agency, .fi-panel-admin) .fi-ta-text { font-size: .82rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-row > td { border-color: var(--v2-line2); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-row:nth-child(even) > td { background: #fff; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-row:hover > td, :is(.fi-panel-agency, .fi-panel-admin) .fi-ta-row:hover > td { background: #F7F9FC !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-row > td:first-child { box-shadow: inset 2px 0 0 var(--fz-row-c, #cbd5e1); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-badge { border-radius: 4px; font-weight: 600; font-size: .7rem; padding-block: .15rem; }

/* status tabs: underline style */
:is(.fi-panel-agency, .fi-panel-admin) .fi-tabs { gap: .25rem; border-bottom: 1px solid var(--v2-line); border-radius: 0; padding: 0; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-tabs-item { border: 0; border-radius: 0; background: transparent; padding: .6rem .9rem; box-shadow: inset 0 -2px 0 transparent; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-tabs-item-label { color: var(--v2-muted); font-weight: 500; font-size: .82rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-tabs-item.fi-active { background: transparent; box-shadow: inset 0 -2px 0 var(--v2-gold); }
:is(.fi-panel-agency, .fi-panel-admin) .fi-tabs-item.fi-active .fi-tabs-item-label { color: var(--v2-navy); font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-tabs-item .fi-badge, :is(.fi-panel-agency, .fi-panel-admin) .fi-tabs-item.fi-active .fi-badge { background: var(--v2-bg); color: var(--v2-text); }

/* ==================================================================
   Agency home (Book): photo hero kept, text lighter, search card finer
   ================================================================== */
.fi-panel-agency .fz-hero2 { border-radius: 14px; min-height: 290px; }
.fi-panel-agency .fz-hero2-txt { padding: 2.6rem clamp(1.4rem, 4vw, 3rem); }
.fi-panel-agency .fz-hero2 .hello { font-size: .78rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--v2-gold); opacity: 1; }
.fi-panel-agency .fz-hero2 h1 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); font-weight: 600; letter-spacing: 0; }
.fi-panel-agency .fz-hero2 h1 span { font-weight: 300; }
.fi-panel-agency .fz-book { border-radius: 12px; box-shadow: 0 10px 30px rgba(10, 34, 64, .08); border: 1px solid var(--v2-line); }
.fi-panel-agency .fz-btabs button { font-size: .85rem; font-weight: 500; padding: .85rem 1rem; }
.fi-panel-agency .fz-btabs button.on { font-weight: 600; border-bottom-width: 2px; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-trip button, :is(.fi-panel-agency, .fi-panel-admin) .fz-seg { font-size: .8rem; font-weight: 500; border-radius: 999px; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fields, :is(.fi-panel-agency, .fi-panel-admin) .fz-f { border-color: var(--v2-line) !important; border-radius: 8px; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-f .l, :is(.fi-panel-agency, .fi-panel-admin) .fz-f label { font-size: .72rem; font-weight: 500; color: var(--v2-muted); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-f .v, :is(.fi-panel-agency, .fi-panel-admin) .fz-f b { font-weight: 600; }
.fi-panel-agency .fz-alert { border-radius: 10px; background: var(--v2-gold-soft); border: 1px solid #EBDDBE; }
.fi-panel-agency .fz-alert b { font-weight: 600; }
.fi-panel-agency .fz-acct { border-radius: 12px; border: 1px solid var(--v2-line); box-shadow: none; }
.fi-panel-agency .fz-acct .v { font-weight: 500; letter-spacing: 0; }
.fi-panel-agency .fz-hd h3, .fi-panel-agency .fz-hd h2 { font-size: 1.05rem; font-weight: 600; }
.fi-panel-agency .fz-list { border-radius: 12px; border: 1px solid var(--v2-line); box-shadow: none; }
.fi-panel-agency .fz-li { font-size: .84rem; }
.fi-panel-agency .fz-li .pnr { font-weight: 600; letter-spacing: .04em; }
.fi-panel-agency .fz-dest, .fi-panel-agency .fz-d { border-radius: 12px; }
.fi-panel-agency .fz-d .code { font-weight: 600; }

/* ==================================================================
   Staff dashboard hero: light card instead of the dark photo banner
   ================================================================== */
.fi-panel-admin .fz-hero { background: #fff !important; color: var(--v2-ink); border: 1px solid var(--v2-line); border-radius: 14px; padding: 1.5rem 1.6rem; }
.fi-panel-admin .fz-hero::before, .fi-panel-admin .fz-hero::after, .fi-panel-admin .fz-hero .plane { display: none !important; }
.fi-panel-admin .fz-hero h2 { font-size: 1.35rem; font-weight: 600; color: var(--v2-ink); }
.fi-panel-admin .fz-hero .fz-sub { color: var(--v2-muted); opacity: 1; font-size: .85rem; }
.fi-panel-admin .fz-hero-stat { background: var(--v2-bg); border: 1px solid var(--v2-line); border-radius: 10px; backdrop-filter: none; }
.fi-panel-admin .fz-hero-stat .l { font-size: .74rem; color: var(--v2-muted); opacity: 1; }
.fi-panel-admin .fz-hero-stat .v { font-size: 1.45rem; font-weight: 500; color: var(--v2-ink); letter-spacing: 0; }
.fi-panel-admin .fz-hero-stat .v.y { color: #A7823A; }
.fi-panel-admin .fz-hero-stat .d { font-size: .74rem; color: var(--v2-muted); opacity: 1; }
.fi-panel-admin .fz-hero .fz-gold { padding: .6rem 1rem; font-size: .8rem; }
.fi-panel-admin .fz-hero .fz-cta, .fi-panel-admin .fz-hero .fz-ghost { color: var(--v2-navy); border: 1px solid var(--v2-line); background: #fff; border-radius: 6px; font-size: .8rem; font-weight: 600; padding: .6rem 1rem; }
.fi-panel-admin .fz-hero .fz-cta svg, .fi-panel-admin .fz-hero .fz-ghost svg { color: var(--v2-muted); }

/* ==================================================================
   New booking: the website's flow (summary bar, 7-day strip with prices, flight cards with Economy / Business boxes)
   ================================================================== */
/* overflow stays visible: the date calendar opens below the search box and must never be cut off by it (2026-10-09) */
:is(.fi-panel-agency, .fi-panel-admin) .fz-spage { border-radius: 12px; border: 1px solid var(--v2-line); box-shadow: none; overflow: visible; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-spage-hd { background: #fff !important; color: var(--v2-ink); border-bottom: 1px solid var(--v2-line); border-radius: 0 !important; border-top-left-radius: inherit !important; border-top-right-radius: inherit !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-spage-hd h2 { font-size: 1.05rem; font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-spage-hd p { color: var(--v2-muted) !important; font-size: .82rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cabpills .fz-seg.on, :is(.fi-panel-agency, .fi-panel-admin) .fz-trip .on { background: var(--v2-navy); color: #fff; }

/* summary bar: navy strip like the website, steps as a light arrow bar */
:is(.fi-panel-agency, .fi-panel-admin) .fz-band { border-radius: 12px; background: var(--v2-navy); padding: 0; overflow: hidden; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-top { padding: .85rem 1.2rem; gap: 1rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-route { font-size: .9rem; font-weight: 500; background: #fff; color: var(--v2-ink); border-radius: 999px; padding: .45rem 1rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-route b { font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-route .arr { color: var(--v2-gold); opacity: 1; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-meta { font-size: .8rem; color: #C9D5E6; opacity: 1; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-edit { background: var(--v2-gold); color: #06172E; border: 0; border-radius: 6px; font-size: .82rem; font-weight: 600; padding: .55rem 1rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-edit:hover { background: #B89148; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-band-edit.dark { background: #fff; color: var(--v2-navy); border: 1px solid var(--v2-line); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 { background: #EEF2F7; padding: 0; gap: 0; color: var(--v2-muted); font-size: .8rem; display: grid; grid-template-columns: 1fr 0 1fr 0 1fr; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 > span:not(.dash) { justify-content: center; padding: .7rem .5rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 .dash { display: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 i { border-color: #C5CFDC; background: #fff; color: var(--v2-text); width: 20px; height: 20px; font-size: .7rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 .on { background: var(--v2-navy); color: #fff; font-weight: 500; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 .on i { background: var(--v2-gold); border-color: var(--v2-gold); color: #06172E; font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 .done { color: var(--v2-navy); }

/* route head */
:is(.fi-panel-agency, .fi-panel-admin) .fz-rhead { margin-top: .25rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-rhead h2 { font-size: 1.5rem; font-weight: 500; color: var(--v2-ink); letter-spacing: 0; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-rhead span { font-size: .78rem; }

/* 7-day strip: grey day header, price under it (filled from the fare calendar) */
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates { background: #F1F4F8; border: 0; border-radius: 12px; padding: 8px; gap: 8px; grid-template-columns: 40px repeat(7, 1fr) 40px; overflow: visible; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button { border: 1px solid transparent !important; border-radius: 10px; background: #fff; padding: 0; overflow: hidden; display: flex; flex-direction: column; font-size: .72rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button.arr { justify-content: center; align-items: center; font-size: 1.1rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button:not(.arr) b { display: block; background: #E9EEF5; color: var(--v2-text); font-size: .74rem; font-weight: 500; padding: .45rem .3rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button:not(.arr) > span:not(.v2-dp) { display: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates .v2-dp { display: block; padding: .55rem .3rem .6rem; color: var(--v2-muted); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates .v2-dp small { display: block; font-size: .62rem; letter-spacing: .04em; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates .v2-dp em { font-style: normal; font-size: .95rem; font-weight: 500; color: #137A3B; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates .v2-dp.none em { color: #A9B4C4; font-size: .74rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button.on { background: #fff; border-color: var(--v2-navy) !important; box-shadow: 0 0 0 1px var(--v2-navy); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button.on b { background: var(--v2-navy); color: #fff; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-dates button[disabled]:not(.on) { opacity: .45; }

/* sort pills */
:is(.fi-panel-agency, .fi-panel-admin) .fz-sort button { font-size: .78rem; font-weight: 500; padding: .45rem .95rem; color: var(--v2-text); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-sort button.on { background: var(--v2-navy); color: #fff; box-shadow: none; }

/* flight card */
:is(.fi-panel-agency, .fi-panel-admin) .fz-card2 { border-radius: 14px; border: 1px solid var(--v2-line); box-shadow: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-card2-row { grid-template-columns: 1fr 168px 168px; gap: 10px; padding: 14px; padding-inline-start: 0; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl { padding: .4rem 1.4rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-jr-hd .nm { background: transparent; color: var(--v2-muted); padding: 0; font-size: .64rem; font-weight: 600; letter-spacing: .12em; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-jr-hd { font-size: .74rem; color: var(--v2-muted); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .tm { font-size: 1.7rem; font-weight: 400; color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .ap { font-size: .74rem; } :is(.fi-panel-agency, .fi-panel-admin) .fz-fl .ap b { font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .path { font-size: .72rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .line::before { border-top: 1px dashed #B9C4D3; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .line .p { width: 22px; height: 22px; border-radius: 50%; background: var(--v2-navy); color: #fff; font-size: .62rem; display: grid; place-items: center; padding: 0; top: -2px; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .direct, :is(.fi-panel-agency, .fi-panel-admin) .fz-fl .stop { font-weight: 500; font-size: .72rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fl .meta { font-size: .74rem; } :is(.fi-panel-agency, .fi-panel-admin) .fz-fl .meta b { font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-det { font-size: .74rem; font-weight: 600; color: var(--v2-navy); text-decoration: underline; text-underline-offset: 3px; }
/* Economy / Business boxes: coloured header + price, like the website */
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab { border: 1px solid var(--v2-line) !important; border-radius: 10px; padding: 0 0 .7rem; justify-content: flex-start; text-align: center; overflow: hidden; background: #fff !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab small { display: block; background: var(--v2-blue); color: #fff !important; font-size: .78rem; font-weight: 600; padding: .5rem; margin-bottom: .6rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab.business small { background: var(--v2-navy); color: var(--v2-gold) !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab .from { margin-top: 0; font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab b { font-size: 1.35rem; font-weight: 400; color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab b.sm { font-size: .8rem; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab .seats { font-size: .68rem; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab .chev { position: static; margin-top: .25rem; font-size: .6rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab:hover:not(.na) { border-color: #C9D3E0 !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab.sel { border-color: var(--v2-navy) !important; box-shadow: 0 0 0 1px var(--v2-navy); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab.sel .from, :is(.fi-panel-agency, .fi-panel-admin) .fz-cab.sel .chev { color: var(--v2-muted); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab.sel b { color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-cab.na small { background: #E9EEF5; color: var(--v2-muted) !important; }
/* fares of the opened cabin: compare-style columns */
:is(.fi-panel-agency, .fi-panel-admin) .fz-fares { background: #FAFBFD; padding: 1.1rem 1.4rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fares h4 { font-size: .9rem; font-weight: 600; color: var(--v2-ink); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fgrid { gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare { border: 1px solid var(--v2-line); border-radius: 12px; padding: 0 0 .9rem; overflow: hidden; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare-hd { background: #F4F6FA; padding: .7rem 1rem; border-bottom: 1px solid var(--v2-line); margin-bottom: .5rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare > :not(.fz-fare-hd):not(.tag) { margin-inline: 1rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .nm { font-weight: 600; font-size: .84rem; color: var(--v2-ink); } :is(.fi-panel-agency, .fi-panel-admin) .fz-fare .nm span { font-weight: 400; color: var(--v2-muted); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .cl { font-size: .7rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .pr { font-size: 1.3rem; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .pp { font-size: .7rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .sb { border-radius: 6px; font-weight: 600; font-size: .82rem; border: 1px solid var(--v2-navy); padding: .55rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare.best { border-color: var(--v2-gold); box-shadow: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare.best .fz-fare-hd { background: var(--v2-gold-soft); border-color: #EBDDBE; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare.best .sb { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare.best .sb::after { content: " →"; color: var(--v2-gold); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare.best .sb:hover { filter: none; background: var(--v2-navy2); color: #fff; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .tag { top: .7rem; left: auto; inset-inline-end: .8rem; font-size: .58rem; font-weight: 600; background: var(--v2-gold); color: #06172E; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-rbtn, :is(.fi-panel-agency, .fi-panel-admin) .fz-qc { font-size: .72rem; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fares .note { font-size: .74rem; }

/* passengers step */
:is(.fi-panel-agency, .fi-panel-admin) .fz-sum, :is(.fi-panel-agency, .fi-panel-admin) .fz-confirm { border-radius: 12px; border: 1px solid var(--v2-line); box-shadow: none; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-sum .tm { font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-confirm p { font-size: .82rem; }

/* ==================================================================
   Find reservation: same screen, same buttons, same order. Only finer: thin bars, lighter text, softer tabs.
   ================================================================== */
:is(.fi-panel-agency, .fi-panel-admin) .nrs { border-radius: 12px; border: 1px solid var(--v2-line); box-shadow: none; font-size: .8rem; color: var(--v2-text); }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-tabs { background: #fff; padding: 0 .75rem; gap: 0; border-bottom: 1px solid var(--v2-line); }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-tabs button { background: transparent; border: 0; border-radius: 0; color: var(--v2-muted); font-weight: 500; font-size: .8rem; min-width: 0; padding: .8rem 1rem; box-shadow: inset 0 -2px 0 transparent; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-tabs button:hover { color: var(--v2-navy); background: transparent; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-tabs button.on { background: transparent; color: var(--v2-navy); font-weight: 600; box-shadow: inset 0 -2px 0 var(--v2-gold); }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-tabs .credit { border-radius: 6px; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-top { background: var(--v2-navy); font-weight: 400; padding-block: .6rem; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-top .pnr b { font-weight: 600; letter-spacing: .08em; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-body { background: var(--v2-bg); }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-box { border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-bar { background: #fff; color: var(--v2-ink); border-bottom: 1px solid var(--v2-line); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-bar * { color: inherit; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs-bar button, :is(.fi-panel-agency, .fi-panel-admin) .nrs-bar a { color: var(--v2-navy); letter-spacing: 0; text-transform: none; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs th { background: #FAFBFD; color: #8794A8; font-size: .64rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs td { font-size: .8rem; border-color: var(--v2-line2); }
:is(.fi-panel-agency, .fi-panel-admin) .nrs td b, :is(.fi-panel-agency, .fi-panel-admin) .nrs strong { font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs .cell { border-color: var(--v2-line); border-radius: 6px; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs tr.total td { background: #F1F6FB; }
:is(.fi-panel-agency, .fi-panel-admin) .nrs tr.due td { background: var(--v2-gold-soft); }
:is(.fi-panel-agency, .fi-panel-admin) .nrs .btn, :is(.fi-panel-agency, .fi-panel-admin) .nrs button.act { border-radius: 6px; font-weight: 600; }

/* ---------- login: white form, navy side with a gold line ---------- */
:is(.fi-panel-agency, .fi-panel-admin) .fz-auth-copy h1 { font-weight: 600; letter-spacing: 0; font-size: clamp(1.7rem, 2.8vw, 2.4rem); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-auth-copy p { font-size: .95rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-simple-header-heading { font-weight: 600; font-size: 1.35rem; }

/* ==================================================================
   Polish (beats ayan-buttons.css, which uses !important)
   ================================================================== */
:is(.fi-panel-agency, .fi-panel-admin) .fi-btn { border-radius: 6px !important; font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-gold { background: var(--v2-navy) !important; color: #fff !important; border-radius: 6px !important; font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-gold:hover { background: var(--v2-navy2) !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-steps2 { grid-template-columns: repeat(3, 1fr); }
.fi-panel-agency .fz-hero2 h1 b, .fi-panel-agency .fz-hero2 h1 strong { font-weight: 600; }
.fi-panel-agency .fz-alert { margin-top: 1.25rem; padding: .8rem 1rem; }
.fi-panel-agency .fz-alert .ic { width: 32px; height: 32px; border-radius: 50%; font-weight: 600; font-size: .85rem; }
.fi-panel-agency .fz-alert span { font-size: .8rem; }
.fi-panel-agency .fz-alert a { font-weight: 600; font-size: .8rem; border-radius: 6px; padding: .55rem 1rem; }
.fi-panel-agency .fz-alert a::after { content: " →"; color: var(--v2-gold); }
.fi-panel-agency .fz-acct > * { border-radius: 12px !important; box-shadow: none !important; }
.fi-panel-agency .fz-acct .l, .fi-panel-agency .fz-acct .lb { font-size: .78rem; }
.fi-panel-agency .fz-acct .v { font-size: 1.7rem; }
.fi-panel-agency .fz-d { border-radius: 12px; min-height: 130px; }
.fi-panel-agency .fz-d .code { font-size: 2rem; font-weight: 600; letter-spacing: .02em; }
.fi-panel-agency .fz-d .city { font-weight: 500; font-size: .85rem; }
.fi-panel-agency .fz-d .bot b { font-size: 1rem; font-weight: 600; }
.fi-panel-admin .fz-hero .fz-cta { background: var(--v2-navy) !important; color: #fff !important; border-color: var(--v2-navy); box-shadow: none !important; }
.fi-panel-admin .fz-hero .fz-cta svg { color: var(--v2-gold); }
.fi-panel-admin .fz-hero .fz-cta::after { content: "→"; color: var(--v2-gold); }
.fi-panel-admin .fz-hero h2 { display: flex; align-items: center; gap: .4rem; }
.fi-panel-admin .fz-hero b[style] { color: #A7823A !important; font-weight: 600; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-header-cell-label { font-size: .66rem !important; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-wi-table .fi-ta-header-cell-label, :is(.fi-panel-agency, .fi-panel-admin) .fi-ta-text-item-label.fi-font-bold,
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-text-item-label.fi-font-semibold { font-weight: 600; }:is(.fi-panel-agency, .fi-panel-admin) th.fi-ta-header-cell { font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8794A8; padding-block: .7rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-cell { font-size: .82rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-cell .fi-ta-text-item-label { font-weight: 400; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-cell:first-child .fi-ta-text-item-label { font-weight: 600; letter-spacing: .02em; color: var(--v2-ink); }:is(.fi-panel-agency, .fi-panel-admin) .fz-fgrid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare.best .fz-fare-hd { padding-inline-end: 5.2rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-fare .tag { top: .8rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-more { font-size: .78rem; font-weight: 500; border-radius: 999px; }:is(.fi-panel-agency, .fi-panel-admin) .fz-feat { font-size: .76rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fz-feat .v { font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-ta-actions .fi-link, :is(.fi-panel-agency, .fi-panel-admin) .fi-ta-actions .fi-link-label { font-size: .78rem; font-weight: 500; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-pagination, :is(.fi-panel-agency, .fi-panel-admin) .fi-pagination-overview { font-size: .8rem; }
:is(.fi-panel-agency, .fi-panel-admin) .fi-breadcrumbs-item-label { font-size: .78rem; }

/* ==================================================================
   Agency login (v2): night photo on the left, navy sign-in panel on the right, gold button.
   Photo public/img/agency-login.jpg: "A passenger airplane taking off from a runway at night" by Josue Isai Ramos Figueroa,
   https://unsplash.com/photos/n2NBgIx3A28 (Unsplash License, free). No airline logo. Can be replaced by an official photo.
   ================================================================== */
.fi-panel-agency .fi-simple-layout { background: #0A2240; }
.fi-panel-agency .fz-auth-side {
    flex: 1 1 60%; position: relative; isolation: isolate; color: #fff;
    background: #06172E url("../img/agency-login.jpg") center 55% / cover no-repeat;
    padding: 3rem clamp(2rem, 5vw, 4.5rem);
}
.fi-panel-agency .fz-auth-side::before { content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(6,23,46,.5) 0%, rgba(6,23,46,0) 35%, rgba(6,23,46,.25) 60%, rgba(6,23,46,.92) 100%), linear-gradient(90deg, rgba(6,23,46,.55) 0%, rgba(6,23,46,0) 55%); }
.fi-panel-agency .fz-auth-brand span { color: #D8B872; font-weight: 600; letter-spacing: .22em; font-size: .68rem; }
.fi-panel-agency .fz-auth-copy h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 600; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.fi-panel-agency .fz-auth-copy p { color: #D6DEEA; font-size: .95rem; }
.fi-panel-agency .fz-auth-copy li { font-size: .88rem; font-weight: 500; }
.fi-panel-agency .fz-auth-foot { color: #9FB0C8; }
.fi-panel-agency .fi-simple-layout > .fi-simple-main-ctn { flex: 1 1 40%; background: #0A2240; position: relative; overflow: hidden; }
.fi-panel-agency .fi-simple-layout > .fi-simple-main-ctn::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 340px; height: 340px; pointer-events: none;
    background: radial-gradient(circle at center, rgba(201,165,92,.14), transparent 65%); }
.fi-panel-agency .fi-simple-main { position: relative; z-index: 1; max-width: 400px; width: 100%; }
.fi-panel-agency .fi-simple-header-heading { color: #fff; font-size: 1.9rem; font-weight: 600; text-align: start; }
.fi-panel-agency .fi-simple-header { align-items: flex-start; }
/* 2-step login (code step and set-up page): the words under the heading and "Sign out" readable on the navy side */
.fi-panel-agency .fi-simple-header-subheading { color: #C9D5E6; text-align: start; }
.fi-panel-agency .fi-simple-main .fi-ac-link-action.fi-link:not([class*="fi-color"]) { color: #C9D5E6; }
.fi-panel-agency .fi-simple-main .fi-sc-action > .fi-ac-link-action.fi-color-primary,
.fi-panel-agency .fi-simple-main .fi-sc-action > .fi-ac-link-action.fi-color-primary .fi-link-label { color: #D8B872; }   /* "Use a recovery code instead" */
/* a pop-up on these pages (setting up the phone app) is white: its labels dark again */
.fi-panel-agency .fi-simple-main .fi-modal .fi-fo-field-label-content { color: var(--v2-text); }
.fi-panel-agency .fi-simple-main .fi-fo-field-label-content { color: #C9D5E6; font-weight: 500; }
.fi-panel-agency .fi-simple-main .fi-fo-field-label-required-mark { color: #D8B872; }
.fi-panel-agency .fi-simple-main .fi-input-wrp { background: #fff; border-radius: 8px; box-shadow: none; min-height: 3rem; }
.fi-panel-agency .fi-simple-main .fi-input { font-size: .95rem; }
.fi-panel-agency .fi-simple-main .fi-checkbox-input { border-color: #6F86A6; background: transparent; }
.fi-panel-agency .fi-simple-main .fi-fo-checkbox-list-option-label, .fi-panel-agency .fi-simple-main label span { color: #C9D5E6; }
/* Sign in: gold with navy text in every state (style A's navy button rule must not reach the navy login panel) */
.fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary, .fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary:not(.fi-outlined),
.fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary:disabled, .fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary[disabled] {
    background: #C9A55C !important; color: #06172E !important; opacity: 1 !important; height: 3rem; font-size: .95rem; border-radius: 8px !important; }
.fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary:not(.fi-outlined):hover { background: #B89148 !important; }
.fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary:disabled, .fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary[disabled] { cursor: wait; }
.fi-panel-agency .fi-simple-main .fi-btn.fi-color-primary .fi-icon { color: #06172E !important; }
.fi-panel-agency .fi-simple-main .fi-fo-field-wrp-error-message { color: #FCA5A5; }
.fi-panel-agency .fi-simple-main .g-recaptcha { transform-origin: left top; }
@media (max-width: 900px) {
    .fi-panel-agency .fi-simple-layout { flex-direction: column; }
    .fi-panel-agency .fz-auth-side { display: flex; min-height: 220px; flex: none; padding: 1.5rem; justify-content: flex-end; }
    .fi-panel-agency .fz-auth-side .fz-auth-copy p, .fi-panel-agency .fz-auth-side .fz-auth-copy ul, .fi-panel-agency .fz-auth-foot { display: none; }
    .fi-panel-agency .fz-auth-copy h1 { font-size: 1.5rem; margin: 0; }
    .fi-panel-agency .fi-simple-header .fi-logo { display: none; }
    .fi-panel-agency .fi-simple-layout > .fi-simple-main-ctn { padding: 2rem 1.25rem 3rem; }
}.fi-panel-agency .fz-auth-side { justify-content: flex-start; gap: 1.5rem; background-position: 70% 50%; }
.fi-panel-agency .fz-auth-copy { margin-top: auto; }
/* "Remember me" on the navy panel: visible border, gold tick */
.fi-panel-agency .fi-simple-main .fi-checkbox-input { border: 1.5px solid rgba(255,255,255,.6) !important; background-color: transparent !important; width: 1.1rem; height: 1.1rem; border-radius: 4px; box-shadow: none !important; }
.fi-panel-agency .fi-simple-main .fi-checkbox-input:checked { background-color: #C9A55C !important; border-color: #C9A55C !important; }
.fi-panel-agency .fi-simple-main .fi-checkbox-input:focus-visible { outline: 2px solid #D8B872; outline-offset: 2px; }